1#[allow(
12 non_camel_case_types,
13 non_snake_case,
14 clippy::pub_underscore_fields,
15 clippy::style,
16 clippy::empty_structs_with_brackets
17)]
18pub mod IStakeRegistryTypes {
19 use super::*;
20 use alloy::sol_types as alloy_sol_types;
21 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
22 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
23 #[derive(Clone)]
24 pub struct StakeType(u8);
25 const _: () = {
26 use alloy::sol_types as alloy_sol_types;
27 #[automatically_derived]
28 impl alloy_sol_types::private::SolTypeValue<StakeType> for u8 {
29 #[inline]
30 fn stv_to_tokens(
31 &self,
32 ) -> <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::Token<'_>
33 {
34 alloy_sol_types::private::SolTypeValue::<
35 alloy::sol_types::sol_data::Uint<8>,
36 >::stv_to_tokens(self)
37 }
38 #[inline]
39 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
40 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(self).0
41 }
42 #[inline]
43 fn stv_abi_encode_packed_to(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
44 <alloy::sol_types::sol_data::Uint<
45 8,
46 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
47 }
48 #[inline]
49 fn stv_abi_packed_encoded_size(&self) -> usize {
50 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::abi_encoded_size(
51 self,
52 )
53 }
54 }
55 #[automatically_derived]
56 impl StakeType {
57 pub const NAME: &'static str = stringify!(@ name);
59 #[inline]
61 pub const fn from_underlying(value: u8) -> Self {
62 Self(value)
63 }
64 #[inline]
66 pub const fn into_underlying(self) -> u8 {
67 self.0
68 }
69 #[inline]
72 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
73 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
74 }
75 #[inline]
78 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
79 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
80 }
81 }
82 #[automatically_derived]
83 impl From<u8> for StakeType {
84 fn from(value: u8) -> Self {
85 Self::from_underlying(value)
86 }
87 }
88 #[automatically_derived]
89 impl From<StakeType> for u8 {
90 fn from(value: StakeType) -> Self {
91 value.into_underlying()
92 }
93 }
94 #[automatically_derived]
95 impl alloy_sol_types::SolType for StakeType {
96 type RustType = u8;
97 type Token<'a> =
98 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::Token<'a>;
99 const SOL_NAME: &'static str = Self::NAME;
100 const ENCODED_SIZE: Option<usize> =
101 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::ENCODED_SIZE;
102 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
103 8,
104 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
105 #[inline]
106 fn valid_token(token: &Self::Token<'_>) -> bool {
107 Self::type_check(token).is_ok()
108 }
109 #[inline]
110 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
111 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::type_check(token)
112 }
113 #[inline]
114 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
115 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::detokenize(token)
116 }
117 }
118 #[automatically_derived]
119 impl alloy_sol_types::EventTopic for StakeType {
120 #[inline]
121 fn topic_preimage_length(rust: &Self::RustType) -> usize {
122 <alloy::sol_types::sol_data::Uint<
123 8,
124 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
125 }
126 #[inline]
127 fn encode_topic_preimage(
128 rust: &Self::RustType,
129 out: &mut alloy_sol_types::private::Vec<u8>,
130 ) {
131 <alloy::sol_types::sol_data::Uint<
132 8,
133 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
134 }
135 #[inline]
136 fn encode_topic(rust: &Self::RustType) -> alloy_sol_types::abi::token::WordToken {
137 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::EventTopic>::encode_topic(
138 rust,
139 )
140 }
141 }
142 };
143 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
144 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
148 #[derive(Clone)]
149 pub struct StakeUpdate {
150 #[allow(missing_docs)]
151 pub updateBlockNumber: u32,
152 #[allow(missing_docs)]
153 pub nextUpdateBlockNumber: u32,
154 #[allow(missing_docs)]
155 pub stake: alloy::sol_types::private::primitives::aliases::U96,
156 }
157 #[allow(
158 non_camel_case_types,
159 non_snake_case,
160 clippy::pub_underscore_fields,
161 clippy::style
162 )]
163 const _: () = {
164 use alloy::sol_types as alloy_sol_types;
165 #[doc(hidden)]
166 type UnderlyingSolTuple<'a> = (
167 alloy::sol_types::sol_data::Uint<32>,
168 alloy::sol_types::sol_data::Uint<32>,
169 alloy::sol_types::sol_data::Uint<96>,
170 );
171 #[doc(hidden)]
172 type UnderlyingRustTuple<'a> = (
173 u32,
174 u32,
175 alloy::sol_types::private::primitives::aliases::U96,
176 );
177 #[cfg(test)]
178 #[allow(dead_code, unreachable_patterns)]
179 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
180 match _t {
181 alloy_sol_types::private::AssertTypeEq::<
182 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
183 >(_) => {}
184 }
185 }
186 #[automatically_derived]
187 #[doc(hidden)]
188 impl ::core::convert::From<StakeUpdate> for UnderlyingRustTuple<'_> {
189 fn from(value: StakeUpdate) -> Self {
190 (
191 value.updateBlockNumber,
192 value.nextUpdateBlockNumber,
193 value.stake,
194 )
195 }
196 }
197 #[automatically_derived]
198 #[doc(hidden)]
199 impl ::core::convert::From<UnderlyingRustTuple<'_>> for StakeUpdate {
200 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
201 Self {
202 updateBlockNumber: tuple.0,
203 nextUpdateBlockNumber: tuple.1,
204 stake: tuple.2,
205 }
206 }
207 }
208 #[automatically_derived]
209 impl alloy_sol_types::SolValue for StakeUpdate {
210 type SolType = Self;
211 }
212 #[automatically_derived]
213 impl alloy_sol_types::private::SolTypeValue<Self> for StakeUpdate {
214 #[inline]
215 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
216 (
217 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
218 &self.updateBlockNumber,
219 ),
220 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
221 &self.nextUpdateBlockNumber,
222 ),
223 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
224 &self.stake,
225 ),
226 )
227 }
228 #[inline]
229 fn stv_abi_encoded_size(&self) -> usize {
230 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
231 return size;
232 }
233 let tuple =
234 <UnderlyingRustTuple<'_> as ::core::convert::From<Self>>::from(self.clone());
235 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
236 }
237 #[inline]
238 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
239 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
240 }
241 #[inline]
242 fn stv_abi_encode_packed_to(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
243 let tuple =
244 <UnderlyingRustTuple<'_> as ::core::convert::From<Self>>::from(self.clone());
245 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::abi_encode_packed_to(
246 &tuple, out,
247 )
248 }
249 #[inline]
250 fn stv_abi_packed_encoded_size(&self) -> usize {
251 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
252 return size;
253 }
254 let tuple =
255 <UnderlyingRustTuple<'_> as ::core::convert::From<Self>>::from(self.clone());
256 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::abi_packed_encoded_size(
257 &tuple,
258 )
259 }
260 }
261 #[automatically_derived]
262 impl alloy_sol_types::SolType for StakeUpdate {
263 type RustType = Self;
264 type Token<'a> = <UnderlyingSolTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
265 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
266 const ENCODED_SIZE: Option<usize> =
267 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::ENCODED_SIZE;
268 const PACKED_ENCODED_SIZE: Option<usize> =
269 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
270 #[inline]
271 fn valid_token(token: &Self::Token<'_>) -> bool {
272 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
273 }
274 #[inline]
275 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
276 let tuple = <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::detokenize(token);
277 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
278 }
279 }
280 #[automatically_derived]
281 impl alloy_sol_types::SolStruct for StakeUpdate {
282 const NAME: &'static str = "StakeUpdate";
283 #[inline]
284 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
285 alloy_sol_types::private::Cow::Borrowed(
286 "StakeUpdate(uint32 updateBlockNumber,uint32 nextUpdateBlockNumber,uint96 stake)",
287 )
288 }
289 #[inline]
290 fn eip712_components(
291 ) -> alloy_sol_types::private::Vec<alloy_sol_types::private::Cow<'static, str>>
292 {
293 alloy_sol_types::private::Vec::new()
294 }
295 #[inline]
296 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
297 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
298 }
299 #[inline]
300 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
301 [
302 <alloy::sol_types::sol_data::Uint<
303 32,
304 > as alloy_sol_types::SolType>::eip712_data_word(
305 &self.updateBlockNumber,
306 )
307 .0,
308 <alloy::sol_types::sol_data::Uint<
309 32,
310 > as alloy_sol_types::SolType>::eip712_data_word(
311 &self.nextUpdateBlockNumber,
312 )
313 .0,
314 <alloy::sol_types::sol_data::Uint<
315 96,
316 > as alloy_sol_types::SolType>::eip712_data_word(&self.stake)
317 .0,
318 ]
319 .concat()
320 }
321 }
322 #[automatically_derived]
323 impl alloy_sol_types::EventTopic for StakeUpdate {
324 #[inline]
325 fn topic_preimage_length(rust: &Self::RustType) -> usize {
326 0usize
327 + <alloy::sol_types::sol_data::Uint<
328 32,
329 > as alloy_sol_types::EventTopic>::topic_preimage_length(
330 &rust.updateBlockNumber,
331 )
332 + <alloy::sol_types::sol_data::Uint<
333 32,
334 > as alloy_sol_types::EventTopic>::topic_preimage_length(
335 &rust.nextUpdateBlockNumber,
336 )
337 + <alloy::sol_types::sol_data::Uint<
338 96,
339 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.stake)
340 }
341 #[inline]
342 fn encode_topic_preimage(
343 rust: &Self::RustType,
344 out: &mut alloy_sol_types::private::Vec<u8>,
345 ) {
346 out.reserve(<Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust));
347 <alloy::sol_types::sol_data::Uint<
348 32,
349 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
350 &rust.updateBlockNumber,
351 out,
352 );
353 <alloy::sol_types::sol_data::Uint<
354 32,
355 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
356 &rust.nextUpdateBlockNumber,
357 out,
358 );
359 <alloy::sol_types::sol_data::Uint<
360 96,
361 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
362 &rust.stake,
363 out,
364 );
365 }
366 #[inline]
367 fn encode_topic(rust: &Self::RustType) -> alloy_sol_types::abi::token::WordToken {
368 let mut out = alloy_sol_types::private::Vec::new();
369 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, &mut out);
370 alloy_sol_types::abi::token::WordToken(alloy_sol_types::private::keccak256(out))
371 }
372 }
373 };
374 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
375 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
379 #[derive(Clone)]
380 pub struct StrategyParams {
381 #[allow(missing_docs)]
382 pub strategy: alloy::sol_types::private::Address,
383 #[allow(missing_docs)]
384 pub multiplier: alloy::sol_types::private::primitives::aliases::U96,
385 }
386 #[allow(
387 non_camel_case_types,
388 non_snake_case,
389 clippy::pub_underscore_fields,
390 clippy::style
391 )]
392 const _: () = {
393 use alloy::sol_types as alloy_sol_types;
394 #[doc(hidden)]
395 type UnderlyingSolTuple<'a> = (
396 alloy::sol_types::sol_data::Address,
397 alloy::sol_types::sol_data::Uint<96>,
398 );
399 #[doc(hidden)]
400 type UnderlyingRustTuple<'a> = (
401 alloy::sol_types::private::Address,
402 alloy::sol_types::private::primitives::aliases::U96,
403 );
404 #[cfg(test)]
405 #[allow(dead_code, unreachable_patterns)]
406 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
407 match _t {
408 alloy_sol_types::private::AssertTypeEq::<
409 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
410 >(_) => {}
411 }
412 }
413 #[automatically_derived]
414 #[doc(hidden)]
415 impl ::core::convert::From<StrategyParams> for UnderlyingRustTuple<'_> {
416 fn from(value: StrategyParams) -> Self {
417 (value.strategy, value.multiplier)
418 }
419 }
420 #[automatically_derived]
421 #[doc(hidden)]
422 impl ::core::convert::From<UnderlyingRustTuple<'_>> for StrategyParams {
423 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
424 Self {
425 strategy: tuple.0,
426 multiplier: tuple.1,
427 }
428 }
429 }
430 #[automatically_derived]
431 impl alloy_sol_types::SolValue for StrategyParams {
432 type SolType = Self;
433 }
434 #[automatically_derived]
435 impl alloy_sol_types::private::SolTypeValue<Self> for StrategyParams {
436 #[inline]
437 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
438 (
439 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
440 &self.strategy,
441 ),
442 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
443 &self.multiplier,
444 ),
445 )
446 }
447 #[inline]
448 fn stv_abi_encoded_size(&self) -> usize {
449 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
450 return size;
451 }
452 let tuple =
453 <UnderlyingRustTuple<'_> as ::core::convert::From<Self>>::from(self.clone());
454 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
455 }
456 #[inline]
457 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
458 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
459 }
460 #[inline]
461 fn stv_abi_encode_packed_to(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
462 let tuple =
463 <UnderlyingRustTuple<'_> as ::core::convert::From<Self>>::from(self.clone());
464 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::abi_encode_packed_to(
465 &tuple, out,
466 )
467 }
468 #[inline]
469 fn stv_abi_packed_encoded_size(&self) -> usize {
470 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
471 return size;
472 }
473 let tuple =
474 <UnderlyingRustTuple<'_> as ::core::convert::From<Self>>::from(self.clone());
475 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::abi_packed_encoded_size(
476 &tuple,
477 )
478 }
479 }
480 #[automatically_derived]
481 impl alloy_sol_types::SolType for StrategyParams {
482 type RustType = Self;
483 type Token<'a> = <UnderlyingSolTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
484 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
485 const ENCODED_SIZE: Option<usize> =
486 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::ENCODED_SIZE;
487 const PACKED_ENCODED_SIZE: Option<usize> =
488 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
489 #[inline]
490 fn valid_token(token: &Self::Token<'_>) -> bool {
491 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
492 }
493 #[inline]
494 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
495 let tuple = <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::detokenize(token);
496 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
497 }
498 }
499 #[automatically_derived]
500 impl alloy_sol_types::SolStruct for StrategyParams {
501 const NAME: &'static str = "StrategyParams";
502 #[inline]
503 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
504 alloy_sol_types::private::Cow::Borrowed(
505 "StrategyParams(address strategy,uint96 multiplier)",
506 )
507 }
508 #[inline]
509 fn eip712_components(
510 ) -> alloy_sol_types::private::Vec<alloy_sol_types::private::Cow<'static, str>>
511 {
512 alloy_sol_types::private::Vec::new()
513 }
514 #[inline]
515 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
516 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
517 }
518 #[inline]
519 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
520 [
521 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::eip712_data_word(
522 &self.strategy,
523 )
524 .0,
525 <alloy::sol_types::sol_data::Uint<
526 96,
527 > as alloy_sol_types::SolType>::eip712_data_word(&self.multiplier)
528 .0,
529 ]
530 .concat()
531 }
532 }
533 #[automatically_derived]
534 impl alloy_sol_types::EventTopic for StrategyParams {
535 #[inline]
536 fn topic_preimage_length(rust: &Self::RustType) -> usize {
537 0usize
538 + <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::topic_preimage_length(
539 &rust.strategy,
540 )
541 + <alloy::sol_types::sol_data::Uint<
542 96,
543 > as alloy_sol_types::EventTopic>::topic_preimage_length(
544 &rust.multiplier,
545 )
546 }
547 #[inline]
548 fn encode_topic_preimage(
549 rust: &Self::RustType,
550 out: &mut alloy_sol_types::private::Vec<u8>,
551 ) {
552 out.reserve(<Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust));
553 <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic_preimage(
554 &rust.strategy,
555 out,
556 );
557 <alloy::sol_types::sol_data::Uint<
558 96,
559 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
560 &rust.multiplier,
561 out,
562 );
563 }
564 #[inline]
565 fn encode_topic(rust: &Self::RustType) -> alloy_sol_types::abi::token::WordToken {
566 let mut out = alloy_sol_types::private::Vec::new();
567 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, &mut out);
568 alloy_sol_types::abi::token::WordToken(alloy_sol_types::private::keccak256(out))
569 }
570 }
571 };
572 use alloy::contract as alloy_contract;
573 #[inline]
577 pub const fn new<
578 P: alloy_contract::private::Provider<N>,
579 N: alloy_contract::private::Network,
580 >(
581 address: alloy_sol_types::private::Address,
582 provider: P,
583 ) -> IStakeRegistryTypesInstance<P, N> {
584 IStakeRegistryTypesInstance::<P, N>::new(address, provider)
585 }
586 #[derive(Clone)]
598 pub struct IStakeRegistryTypesInstance<P, N = alloy_contract::private::Ethereum> {
599 address: alloy_sol_types::private::Address,
600 provider: P,
601 _network: ::core::marker::PhantomData<N>,
602 }
603 #[automatically_derived]
604 impl<P, N> ::core::fmt::Debug for IStakeRegistryTypesInstance<P, N> {
605 #[inline]
606 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
607 f.debug_tuple("IStakeRegistryTypesInstance")
608 .field(&self.address)
609 .finish()
610 }
611 }
612 #[automatically_derived]
614 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
615 IStakeRegistryTypesInstance<P, N>
616 {
617 #[inline]
621 pub const fn new(address: alloy_sol_types::private::Address, provider: P) -> Self {
622 Self {
623 address,
624 provider,
625 _network: ::core::marker::PhantomData,
626 }
627 }
628 #[inline]
630 pub const fn address(&self) -> &alloy_sol_types::private::Address {
631 &self.address
632 }
633 #[inline]
635 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
636 self.address = address;
637 }
638 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
640 self.set_address(address);
641 self
642 }
643 #[inline]
645 pub const fn provider(&self) -> &P {
646 &self.provider
647 }
648 }
649 impl<P: ::core::clone::Clone, N> IStakeRegistryTypesInstance<&P, N> {
650 #[inline]
652 pub fn with_cloned_provider(self) -> IStakeRegistryTypesInstance<P, N> {
653 IStakeRegistryTypesInstance {
654 address: self.address,
655 provider: ::core::clone::Clone::clone(&self.provider),
656 _network: ::core::marker::PhantomData,
657 }
658 }
659 }
660 #[automatically_derived]
662 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
663 IStakeRegistryTypesInstance<P, N>
664 {
665 pub fn call_builder<C: alloy_sol_types::SolCall>(
670 &self,
671 call: &C,
672 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
673 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
674 }
675 }
676 #[automatically_derived]
678 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
679 IStakeRegistryTypesInstance<P, N>
680 {
681 pub fn event_filter<E: alloy_sol_types::SolEvent>(
686 &self,
687 ) -> alloy_contract::Event<&P, E, N> {
688 alloy_contract::Event::new_sol(&self.provider, &self.address)
689 }
690 }
691}
692#[allow(
1954 non_camel_case_types,
1955 non_snake_case,
1956 clippy::pub_underscore_fields,
1957 clippy::style,
1958 clippy::empty_structs_with_brackets
1959)]
1960pub mod StakeRegistry {
1961 use super::*;
1962 use alloy::sol_types as alloy_sol_types;
1963 #[rustfmt::skip]
1969 #[allow(clippy::all)]
1970 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
1971 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 E\x97\xEB \xB1\xBF\x16\xAB\xFE\x80k\xBCDK\x98\xF2r\x86wN\xE9dMo\xB8\x9D\xA0\x82\xB2\xC3\x15zdsolcC\0\x08\x1B\x003",
1972 );
1973 #[rustfmt::skip]
1979 #[allow(clippy::all)]
1980 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
1981 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 E\x97\xEB \xB1\xBF\x16\xAB\xFE\x80k\xBCDK\x98\xF2r\x86wN\xE9dMo\xB8\x9D\xA0\x82\xB2\xC3\x15zdsolcC\0\x08\x1B\x003",
1982 );
1983 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
1984 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1989 #[derive(Clone)]
1990 pub struct BelowMinimumStakeRequirement;
1991 #[allow(
1992 non_camel_case_types,
1993 non_snake_case,
1994 clippy::pub_underscore_fields,
1995 clippy::style
1996 )]
1997 const _: () = {
1998 use alloy::sol_types as alloy_sol_types;
1999 #[doc(hidden)]
2000 type UnderlyingSolTuple<'a> = ();
2001 #[doc(hidden)]
2002 type UnderlyingRustTuple<'a> = ();
2003 #[cfg(test)]
2004 #[allow(dead_code, unreachable_patterns)]
2005 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2006 match _t {
2007 alloy_sol_types::private::AssertTypeEq::<
2008 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2009 >(_) => {}
2010 }
2011 }
2012 #[automatically_derived]
2013 #[doc(hidden)]
2014 impl ::core::convert::From<BelowMinimumStakeRequirement> for UnderlyingRustTuple<'_> {
2015 fn from(value: BelowMinimumStakeRequirement) -> Self {
2016 ()
2017 }
2018 }
2019 #[automatically_derived]
2020 #[doc(hidden)]
2021 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BelowMinimumStakeRequirement {
2022 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2023 Self
2024 }
2025 }
2026 #[automatically_derived]
2027 impl alloy_sol_types::SolError for BelowMinimumStakeRequirement {
2028 type Parameters<'a> = UnderlyingSolTuple<'a>;
2029 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2030 const SIGNATURE: &'static str = "BelowMinimumStakeRequirement()";
2031 const SELECTOR: [u8; 4] = [64u8, 254u8, 39u8, 198u8];
2032 #[inline]
2033 fn new<'a>(
2034 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2035 ) -> Self {
2036 tuple.into()
2037 }
2038 #[inline]
2039 fn tokenize(&self) -> Self::Token<'_> {
2040 ()
2041 }
2042 #[inline]
2043 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2044 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2045 data,
2046 )
2047 .map(Self::new)
2048 }
2049 }
2050 };
2051 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2052 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2057 #[derive(Clone)]
2058 pub struct EmptyStakeHistory;
2059 #[allow(
2060 non_camel_case_types,
2061 non_snake_case,
2062 clippy::pub_underscore_fields,
2063 clippy::style
2064 )]
2065 const _: () = {
2066 use alloy::sol_types as alloy_sol_types;
2067 #[doc(hidden)]
2068 type UnderlyingSolTuple<'a> = ();
2069 #[doc(hidden)]
2070 type UnderlyingRustTuple<'a> = ();
2071 #[cfg(test)]
2072 #[allow(dead_code, unreachable_patterns)]
2073 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2074 match _t {
2075 alloy_sol_types::private::AssertTypeEq::<
2076 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2077 >(_) => {}
2078 }
2079 }
2080 #[automatically_derived]
2081 #[doc(hidden)]
2082 impl ::core::convert::From<EmptyStakeHistory> for UnderlyingRustTuple<'_> {
2083 fn from(value: EmptyStakeHistory) -> Self {
2084 ()
2085 }
2086 }
2087 #[automatically_derived]
2088 #[doc(hidden)]
2089 impl ::core::convert::From<UnderlyingRustTuple<'_>> for EmptyStakeHistory {
2090 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2091 Self
2092 }
2093 }
2094 #[automatically_derived]
2095 impl alloy_sol_types::SolError for EmptyStakeHistory {
2096 type Parameters<'a> = UnderlyingSolTuple<'a>;
2097 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2098 const SIGNATURE: &'static str = "EmptyStakeHistory()";
2099 const SELECTOR: [u8; 4] = [204u8, 100u8, 101u8, 115u8];
2100 #[inline]
2101 fn new<'a>(
2102 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2103 ) -> Self {
2104 tuple.into()
2105 }
2106 #[inline]
2107 fn tokenize(&self) -> Self::Token<'_> {
2108 ()
2109 }
2110 #[inline]
2111 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2112 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2113 data,
2114 )
2115 .map(Self::new)
2116 }
2117 }
2118 };
2119 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2120 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2125 #[derive(Clone)]
2126 pub struct InputArrayLengthMismatch;
2127 #[allow(
2128 non_camel_case_types,
2129 non_snake_case,
2130 clippy::pub_underscore_fields,
2131 clippy::style
2132 )]
2133 const _: () = {
2134 use alloy::sol_types as alloy_sol_types;
2135 #[doc(hidden)]
2136 type UnderlyingSolTuple<'a> = ();
2137 #[doc(hidden)]
2138 type UnderlyingRustTuple<'a> = ();
2139 #[cfg(test)]
2140 #[allow(dead_code, unreachable_patterns)]
2141 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2142 match _t {
2143 alloy_sol_types::private::AssertTypeEq::<
2144 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2145 >(_) => {}
2146 }
2147 }
2148 #[automatically_derived]
2149 #[doc(hidden)]
2150 impl ::core::convert::From<InputArrayLengthMismatch> for UnderlyingRustTuple<'_> {
2151 fn from(value: InputArrayLengthMismatch) -> Self {
2152 ()
2153 }
2154 }
2155 #[automatically_derived]
2156 #[doc(hidden)]
2157 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputArrayLengthMismatch {
2158 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2159 Self
2160 }
2161 }
2162 #[automatically_derived]
2163 impl alloy_sol_types::SolError for InputArrayLengthMismatch {
2164 type Parameters<'a> = UnderlyingSolTuple<'a>;
2165 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2166 const SIGNATURE: &'static str = "InputArrayLengthMismatch()";
2167 const SELECTOR: [u8; 4] = [67u8, 113u8, 74u8, 253u8];
2168 #[inline]
2169 fn new<'a>(
2170 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2171 ) -> Self {
2172 tuple.into()
2173 }
2174 #[inline]
2175 fn tokenize(&self) -> Self::Token<'_> {
2176 ()
2177 }
2178 #[inline]
2179 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2180 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2181 data,
2182 )
2183 .map(Self::new)
2184 }
2185 }
2186 };
2187 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2188 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2193 #[derive(Clone)]
2194 pub struct InputArrayLengthZero;
2195 #[allow(
2196 non_camel_case_types,
2197 non_snake_case,
2198 clippy::pub_underscore_fields,
2199 clippy::style
2200 )]
2201 const _: () = {
2202 use alloy::sol_types as alloy_sol_types;
2203 #[doc(hidden)]
2204 type UnderlyingSolTuple<'a> = ();
2205 #[doc(hidden)]
2206 type UnderlyingRustTuple<'a> = ();
2207 #[cfg(test)]
2208 #[allow(dead_code, unreachable_patterns)]
2209 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2210 match _t {
2211 alloy_sol_types::private::AssertTypeEq::<
2212 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2213 >(_) => {}
2214 }
2215 }
2216 #[automatically_derived]
2217 #[doc(hidden)]
2218 impl ::core::convert::From<InputArrayLengthZero> for UnderlyingRustTuple<'_> {
2219 fn from(value: InputArrayLengthZero) -> Self {
2220 ()
2221 }
2222 }
2223 #[automatically_derived]
2224 #[doc(hidden)]
2225 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputArrayLengthZero {
2226 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2227 Self
2228 }
2229 }
2230 #[automatically_derived]
2231 impl alloy_sol_types::SolError for InputArrayLengthZero {
2232 type Parameters<'a> = UnderlyingSolTuple<'a>;
2233 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2234 const SIGNATURE: &'static str = "InputArrayLengthZero()";
2235 const SELECTOR: [u8; 4] = [121u8, 108u8, 197u8, 37u8];
2236 #[inline]
2237 fn new<'a>(
2238 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2239 ) -> Self {
2240 tuple.into()
2241 }
2242 #[inline]
2243 fn tokenize(&self) -> Self::Token<'_> {
2244 ()
2245 }
2246 #[inline]
2247 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2248 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2249 data,
2250 )
2251 .map(Self::new)
2252 }
2253 }
2254 };
2255 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2256 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2261 #[derive(Clone)]
2262 pub struct InputDuplicateStrategy;
2263 #[allow(
2264 non_camel_case_types,
2265 non_snake_case,
2266 clippy::pub_underscore_fields,
2267 clippy::style
2268 )]
2269 const _: () = {
2270 use alloy::sol_types as alloy_sol_types;
2271 #[doc(hidden)]
2272 type UnderlyingSolTuple<'a> = ();
2273 #[doc(hidden)]
2274 type UnderlyingRustTuple<'a> = ();
2275 #[cfg(test)]
2276 #[allow(dead_code, unreachable_patterns)]
2277 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2278 match _t {
2279 alloy_sol_types::private::AssertTypeEq::<
2280 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2281 >(_) => {}
2282 }
2283 }
2284 #[automatically_derived]
2285 #[doc(hidden)]
2286 impl ::core::convert::From<InputDuplicateStrategy> for UnderlyingRustTuple<'_> {
2287 fn from(value: InputDuplicateStrategy) -> Self {
2288 ()
2289 }
2290 }
2291 #[automatically_derived]
2292 #[doc(hidden)]
2293 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputDuplicateStrategy {
2294 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2295 Self
2296 }
2297 }
2298 #[automatically_derived]
2299 impl alloy_sol_types::SolError for InputDuplicateStrategy {
2300 type Parameters<'a> = UnderlyingSolTuple<'a>;
2301 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2302 const SIGNATURE: &'static str = "InputDuplicateStrategy()";
2303 const SELECTOR: [u8; 4] = [123u8, 116u8, 52u8, 11u8];
2304 #[inline]
2305 fn new<'a>(
2306 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2307 ) -> Self {
2308 tuple.into()
2309 }
2310 #[inline]
2311 fn tokenize(&self) -> Self::Token<'_> {
2312 ()
2313 }
2314 #[inline]
2315 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2316 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2317 data,
2318 )
2319 .map(Self::new)
2320 }
2321 }
2322 };
2323 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2324 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2329 #[derive(Clone)]
2330 pub struct InputMultiplierZero;
2331 #[allow(
2332 non_camel_case_types,
2333 non_snake_case,
2334 clippy::pub_underscore_fields,
2335 clippy::style
2336 )]
2337 const _: () = {
2338 use alloy::sol_types as alloy_sol_types;
2339 #[doc(hidden)]
2340 type UnderlyingSolTuple<'a> = ();
2341 #[doc(hidden)]
2342 type UnderlyingRustTuple<'a> = ();
2343 #[cfg(test)]
2344 #[allow(dead_code, unreachable_patterns)]
2345 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2346 match _t {
2347 alloy_sol_types::private::AssertTypeEq::<
2348 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2349 >(_) => {}
2350 }
2351 }
2352 #[automatically_derived]
2353 #[doc(hidden)]
2354 impl ::core::convert::From<InputMultiplierZero> for UnderlyingRustTuple<'_> {
2355 fn from(value: InputMultiplierZero) -> Self {
2356 ()
2357 }
2358 }
2359 #[automatically_derived]
2360 #[doc(hidden)]
2361 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InputMultiplierZero {
2362 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2363 Self
2364 }
2365 }
2366 #[automatically_derived]
2367 impl alloy_sol_types::SolError for InputMultiplierZero {
2368 type Parameters<'a> = UnderlyingSolTuple<'a>;
2369 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2370 const SIGNATURE: &'static str = "InputMultiplierZero()";
2371 const SELECTOR: [u8; 4] = [114u8, 87u8, 18u8, 81u8];
2372 #[inline]
2373 fn new<'a>(
2374 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2375 ) -> Self {
2376 tuple.into()
2377 }
2378 #[inline]
2379 fn tokenize(&self) -> Self::Token<'_> {
2380 ()
2381 }
2382 #[inline]
2383 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2384 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2385 data,
2386 )
2387 .map(Self::new)
2388 }
2389 }
2390 };
2391 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2392 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2397 #[derive(Clone)]
2398 pub struct InvalidBlockNumber;
2399 #[allow(
2400 non_camel_case_types,
2401 non_snake_case,
2402 clippy::pub_underscore_fields,
2403 clippy::style
2404 )]
2405 const _: () = {
2406 use alloy::sol_types as alloy_sol_types;
2407 #[doc(hidden)]
2408 type UnderlyingSolTuple<'a> = ();
2409 #[doc(hidden)]
2410 type UnderlyingRustTuple<'a> = ();
2411 #[cfg(test)]
2412 #[allow(dead_code, unreachable_patterns)]
2413 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2414 match _t {
2415 alloy_sol_types::private::AssertTypeEq::<
2416 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2417 >(_) => {}
2418 }
2419 }
2420 #[automatically_derived]
2421 #[doc(hidden)]
2422 impl ::core::convert::From<InvalidBlockNumber> for UnderlyingRustTuple<'_> {
2423 fn from(value: InvalidBlockNumber) -> Self {
2424 ()
2425 }
2426 }
2427 #[automatically_derived]
2428 #[doc(hidden)]
2429 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidBlockNumber {
2430 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2431 Self
2432 }
2433 }
2434 #[automatically_derived]
2435 impl alloy_sol_types::SolError for InvalidBlockNumber {
2436 type Parameters<'a> = UnderlyingSolTuple<'a>;
2437 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2438 const SIGNATURE: &'static str = "InvalidBlockNumber()";
2439 const SELECTOR: [u8; 4] = [78u8, 71u8, 132u8, 108u8];
2440 #[inline]
2441 fn new<'a>(
2442 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2443 ) -> Self {
2444 tuple.into()
2445 }
2446 #[inline]
2447 fn tokenize(&self) -> Self::Token<'_> {
2448 ()
2449 }
2450 #[inline]
2451 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2452 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2453 data,
2454 )
2455 .map(Self::new)
2456 }
2457 }
2458 };
2459 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2460 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2465 #[derive(Clone)]
2466 pub struct LookAheadPeriodTooLong;
2467 #[allow(
2468 non_camel_case_types,
2469 non_snake_case,
2470 clippy::pub_underscore_fields,
2471 clippy::style
2472 )]
2473 const _: () = {
2474 use alloy::sol_types as alloy_sol_types;
2475 #[doc(hidden)]
2476 type UnderlyingSolTuple<'a> = ();
2477 #[doc(hidden)]
2478 type UnderlyingRustTuple<'a> = ();
2479 #[cfg(test)]
2480 #[allow(dead_code, unreachable_patterns)]
2481 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2482 match _t {
2483 alloy_sol_types::private::AssertTypeEq::<
2484 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2485 >(_) => {}
2486 }
2487 }
2488 #[automatically_derived]
2489 #[doc(hidden)]
2490 impl ::core::convert::From<LookAheadPeriodTooLong> for UnderlyingRustTuple<'_> {
2491 fn from(value: LookAheadPeriodTooLong) -> Self {
2492 ()
2493 }
2494 }
2495 #[automatically_derived]
2496 #[doc(hidden)]
2497 impl ::core::convert::From<UnderlyingRustTuple<'_>> for LookAheadPeriodTooLong {
2498 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2499 Self
2500 }
2501 }
2502 #[automatically_derived]
2503 impl alloy_sol_types::SolError for LookAheadPeriodTooLong {
2504 type Parameters<'a> = UnderlyingSolTuple<'a>;
2505 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2506 const SIGNATURE: &'static str = "LookAheadPeriodTooLong()";
2507 const SELECTOR: [u8; 4] = [47u8, 81u8, 6u8, 228u8];
2508 #[inline]
2509 fn new<'a>(
2510 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2511 ) -> Self {
2512 tuple.into()
2513 }
2514 #[inline]
2515 fn tokenize(&self) -> Self::Token<'_> {
2516 ()
2517 }
2518 #[inline]
2519 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2520 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2521 data,
2522 )
2523 .map(Self::new)
2524 }
2525 }
2526 };
2527 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2528 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2533 #[derive(Clone)]
2534 pub struct OnlySlashingRegistryCoordinator;
2535 #[allow(
2536 non_camel_case_types,
2537 non_snake_case,
2538 clippy::pub_underscore_fields,
2539 clippy::style
2540 )]
2541 const _: () = {
2542 use alloy::sol_types as alloy_sol_types;
2543 #[doc(hidden)]
2544 type UnderlyingSolTuple<'a> = ();
2545 #[doc(hidden)]
2546 type UnderlyingRustTuple<'a> = ();
2547 #[cfg(test)]
2548 #[allow(dead_code, unreachable_patterns)]
2549 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2550 match _t {
2551 alloy_sol_types::private::AssertTypeEq::<
2552 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2553 >(_) => {}
2554 }
2555 }
2556 #[automatically_derived]
2557 #[doc(hidden)]
2558 impl ::core::convert::From<OnlySlashingRegistryCoordinator> for UnderlyingRustTuple<'_> {
2559 fn from(value: OnlySlashingRegistryCoordinator) -> Self {
2560 ()
2561 }
2562 }
2563 #[automatically_derived]
2564 #[doc(hidden)]
2565 impl ::core::convert::From<UnderlyingRustTuple<'_>> for OnlySlashingRegistryCoordinator {
2566 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2567 Self
2568 }
2569 }
2570 #[automatically_derived]
2571 impl alloy_sol_types::SolError for OnlySlashingRegistryCoordinator {
2572 type Parameters<'a> = UnderlyingSolTuple<'a>;
2573 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2574 const SIGNATURE: &'static str = "OnlySlashingRegistryCoordinator()";
2575 const SELECTOR: [u8; 4] = [176u8, 6u8, 200u8, 20u8];
2576 #[inline]
2577 fn new<'a>(
2578 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2579 ) -> Self {
2580 tuple.into()
2581 }
2582 #[inline]
2583 fn tokenize(&self) -> Self::Token<'_> {
2584 ()
2585 }
2586 #[inline]
2587 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2588 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2589 data,
2590 )
2591 .map(Self::new)
2592 }
2593 }
2594 };
2595 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2596 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2601 #[derive(Clone)]
2602 pub struct OnlySlashingRegistryCoordinatorOwner;
2603 #[allow(
2604 non_camel_case_types,
2605 non_snake_case,
2606 clippy::pub_underscore_fields,
2607 clippy::style
2608 )]
2609 const _: () = {
2610 use alloy::sol_types as alloy_sol_types;
2611 #[doc(hidden)]
2612 type UnderlyingSolTuple<'a> = ();
2613 #[doc(hidden)]
2614 type UnderlyingRustTuple<'a> = ();
2615 #[cfg(test)]
2616 #[allow(dead_code, unreachable_patterns)]
2617 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2618 match _t {
2619 alloy_sol_types::private::AssertTypeEq::<
2620 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2621 >(_) => {}
2622 }
2623 }
2624 #[automatically_derived]
2625 #[doc(hidden)]
2626 impl ::core::convert::From<OnlySlashingRegistryCoordinatorOwner> for UnderlyingRustTuple<'_> {
2627 fn from(value: OnlySlashingRegistryCoordinatorOwner) -> Self {
2628 ()
2629 }
2630 }
2631 #[automatically_derived]
2632 #[doc(hidden)]
2633 impl ::core::convert::From<UnderlyingRustTuple<'_>> for OnlySlashingRegistryCoordinatorOwner {
2634 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2635 Self
2636 }
2637 }
2638 #[automatically_derived]
2639 impl alloy_sol_types::SolError for OnlySlashingRegistryCoordinatorOwner {
2640 type Parameters<'a> = UnderlyingSolTuple<'a>;
2641 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2642 const SIGNATURE: &'static str = "OnlySlashingRegistryCoordinatorOwner()";
2643 const SELECTOR: [u8; 4] = [206u8, 152u8, 194u8, 75u8];
2644 #[inline]
2645 fn new<'a>(
2646 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2647 ) -> Self {
2648 tuple.into()
2649 }
2650 #[inline]
2651 fn tokenize(&self) -> Self::Token<'_> {
2652 ()
2653 }
2654 #[inline]
2655 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2656 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2657 data,
2658 )
2659 .map(Self::new)
2660 }
2661 }
2662 };
2663 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2664 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2669 #[derive(Clone)]
2670 pub struct QuorumAlreadyExists;
2671 #[allow(
2672 non_camel_case_types,
2673 non_snake_case,
2674 clippy::pub_underscore_fields,
2675 clippy::style
2676 )]
2677 const _: () = {
2678 use alloy::sol_types as alloy_sol_types;
2679 #[doc(hidden)]
2680 type UnderlyingSolTuple<'a> = ();
2681 #[doc(hidden)]
2682 type UnderlyingRustTuple<'a> = ();
2683 #[cfg(test)]
2684 #[allow(dead_code, unreachable_patterns)]
2685 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2686 match _t {
2687 alloy_sol_types::private::AssertTypeEq::<
2688 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2689 >(_) => {}
2690 }
2691 }
2692 #[automatically_derived]
2693 #[doc(hidden)]
2694 impl ::core::convert::From<QuorumAlreadyExists> for UnderlyingRustTuple<'_> {
2695 fn from(value: QuorumAlreadyExists) -> Self {
2696 ()
2697 }
2698 }
2699 #[automatically_derived]
2700 #[doc(hidden)]
2701 impl ::core::convert::From<UnderlyingRustTuple<'_>> for QuorumAlreadyExists {
2702 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2703 Self
2704 }
2705 }
2706 #[automatically_derived]
2707 impl alloy_sol_types::SolError for QuorumAlreadyExists {
2708 type Parameters<'a> = UnderlyingSolTuple<'a>;
2709 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2710 const SIGNATURE: &'static str = "QuorumAlreadyExists()";
2711 const SELECTOR: [u8; 4] = [67u8, 54u8, 148u8, 92u8];
2712 #[inline]
2713 fn new<'a>(
2714 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2715 ) -> Self {
2716 tuple.into()
2717 }
2718 #[inline]
2719 fn tokenize(&self) -> Self::Token<'_> {
2720 ()
2721 }
2722 #[inline]
2723 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2724 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2725 data,
2726 )
2727 .map(Self::new)
2728 }
2729 }
2730 };
2731 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2732 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2737 #[derive(Clone)]
2738 pub struct QuorumDoesNotExist;
2739 #[allow(
2740 non_camel_case_types,
2741 non_snake_case,
2742 clippy::pub_underscore_fields,
2743 clippy::style
2744 )]
2745 const _: () = {
2746 use alloy::sol_types as alloy_sol_types;
2747 #[doc(hidden)]
2748 type UnderlyingSolTuple<'a> = ();
2749 #[doc(hidden)]
2750 type UnderlyingRustTuple<'a> = ();
2751 #[cfg(test)]
2752 #[allow(dead_code, unreachable_patterns)]
2753 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2754 match _t {
2755 alloy_sol_types::private::AssertTypeEq::<
2756 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2757 >(_) => {}
2758 }
2759 }
2760 #[automatically_derived]
2761 #[doc(hidden)]
2762 impl ::core::convert::From<QuorumDoesNotExist> for UnderlyingRustTuple<'_> {
2763 fn from(value: QuorumDoesNotExist) -> Self {
2764 ()
2765 }
2766 }
2767 #[automatically_derived]
2768 #[doc(hidden)]
2769 impl ::core::convert::From<UnderlyingRustTuple<'_>> for QuorumDoesNotExist {
2770 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2771 Self
2772 }
2773 }
2774 #[automatically_derived]
2775 impl alloy_sol_types::SolError for QuorumDoesNotExist {
2776 type Parameters<'a> = UnderlyingSolTuple<'a>;
2777 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2778 const SIGNATURE: &'static str = "QuorumDoesNotExist()";
2779 const SELECTOR: [u8; 4] = [230u8, 33u8, 159u8, 234u8];
2780 #[inline]
2781 fn new<'a>(
2782 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2783 ) -> Self {
2784 tuple.into()
2785 }
2786 #[inline]
2787 fn tokenize(&self) -> Self::Token<'_> {
2788 ()
2789 }
2790 #[inline]
2791 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2792 <Self::Parameters<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2793 data,
2794 )
2795 .map(Self::new)
2796 }
2797 }
2798 };
2799 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2800 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2805 #[derive(Clone)]
2806 pub struct QuorumNotSlashable;
2807 #[allow(
2808 non_camel_case_types,
2809 non_snake_case,
2810 clippy::pub_underscore_fields,
2811 clippy::style
2812 )]
2813 const _: () = {
2814 use alloy::sol_types as alloy_sol_types;
2815 #[doc(hidden)]
2816 type UnderlyingSolTuple<'a> = ();
2817 #[doc(hidden)]
2818 type UnderlyingRustTuple<'a> = ();
2819 #[cfg(test)]
2820 #[allow(dead_code, unreachable_patterns)]
2821 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
2822 match _t {
2823 alloy_sol_types::private::AssertTypeEq::<
2824 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2825 >(_) => {}
2826 }
2827 }
2828 #[automatically_derived]
2829 #[doc(hidden)]
2830 impl ::core::convert::From<QuorumNotSlashable> for UnderlyingRustTuple<'_> {
2831 fn from(value: QuorumNotSlashable) -> Self {
2832 ()
2833 }
2834 }
2835 #[automatically_derived]
2836 #[doc(hidden)]
2837 impl ::core::convert::From<UnderlyingRustTuple<'_>> for QuorumNotSlashable {
2838 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2839 Self
2840 }
2841 }
2842 #[automatically_derived]
2843 impl alloy_sol_types::SolError for QuorumNotSlashable {
2844 type Parameters<'a> = UnderlyingSolTuple<'a>;
2845 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
2846 const SIGNATURE: &'static str = "QuorumNotSlashable()";
2847 const SELECTOR: [u8; 4] = [163u8, 190u8, 37u8, 131u8];
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<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
2861 data,
2862 )
2863 .map(Self::new)
2864 }
2865 }
2866 };
2867 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2868 #[allow(
2873 non_camel_case_types,
2874 non_snake_case,
2875 clippy::pub_underscore_fields,
2876 clippy::style
2877 )]
2878 #[derive(Clone)]
2879 pub struct LookAheadPeriodChanged {
2880 #[allow(missing_docs)]
2881 pub oldLookAheadBlocks: u32,
2882 #[allow(missing_docs)]
2883 pub newLookAheadBlocks: u32,
2884 }
2885 #[allow(
2886 non_camel_case_types,
2887 non_snake_case,
2888 clippy::pub_underscore_fields,
2889 clippy::style
2890 )]
2891 const _: () = {
2892 use alloy::sol_types as alloy_sol_types;
2893 #[automatically_derived]
2894 impl alloy_sol_types::SolEvent for LookAheadPeriodChanged {
2895 type DataTuple<'a> = (
2896 alloy::sol_types::sol_data::Uint<32>,
2897 alloy::sol_types::sol_data::Uint<32>,
2898 );
2899 type DataToken<'a> = <Self::DataTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
2900 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
2901 const SIGNATURE: &'static str = "LookAheadPeriodChanged(uint32,uint32)";
2902 const SIGNATURE_HASH: alloy_sol_types::private::B256 =
2903 alloy_sol_types::private::B256::new([
2904 40u8, 215u8, 53u8, 139u8, 121u8, 240u8, 45u8, 33u8, 184u8, 183u8, 225u8, 122u8,
2905 239u8, 196u8, 24u8, 90u8, 100u8, 48u8, 138u8, 163u8, 116u8, 6u8, 250u8, 91u8,
2906 239u8, 192u8, 91u8, 145u8, 147u8, 44u8, 57u8, 199u8,
2907 ]);
2908 const ANONYMOUS: bool = false;
2909 #[allow(unused_variables)]
2910 #[inline]
2911 fn new(
2912 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
2913 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
2914 ) -> Self {
2915 Self {
2916 oldLookAheadBlocks: data.0,
2917 newLookAheadBlocks: data.1,
2918 }
2919 }
2920 #[inline]
2921 fn check_signature(
2922 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
2923 ) -> alloy_sol_types::Result<()> {
2924 if topics.0 != Self::SIGNATURE_HASH {
2925 return Err(alloy_sol_types::Error::invalid_event_signature_hash(
2926 Self::SIGNATURE,
2927 topics.0,
2928 Self::SIGNATURE_HASH,
2929 ));
2930 }
2931 Ok(())
2932 }
2933 #[inline]
2934 fn tokenize_body(&self) -> Self::DataToken<'_> {
2935 (
2936 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
2937 &self.oldLookAheadBlocks,
2938 ),
2939 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
2940 &self.newLookAheadBlocks,
2941 ),
2942 )
2943 }
2944 #[inline]
2945 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
2946 (Self::SIGNATURE_HASH.into(),)
2947 }
2948 #[inline]
2949 fn encode_topics_raw(
2950 &self,
2951 out: &mut [alloy_sol_types::abi::token::WordToken],
2952 ) -> alloy_sol_types::Result<()> {
2953 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
2954 return Err(alloy_sol_types::Error::Overrun);
2955 }
2956 out[0usize] = alloy_sol_types::abi::token::WordToken(Self::SIGNATURE_HASH);
2957 Ok(())
2958 }
2959 }
2960 #[automatically_derived]
2961 impl alloy_sol_types::private::IntoLogData for LookAheadPeriodChanged {
2962 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
2963 From::from(self)
2964 }
2965 fn into_log_data(self) -> alloy_sol_types::private::LogData {
2966 From::from(&self)
2967 }
2968 }
2969 #[automatically_derived]
2970 impl From<&LookAheadPeriodChanged> for alloy_sol_types::private::LogData {
2971 #[inline]
2972 fn from(this: &LookAheadPeriodChanged) -> alloy_sol_types::private::LogData {
2973 alloy_sol_types::SolEvent::encode_log_data(this)
2974 }
2975 }
2976 };
2977 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
2978 #[allow(
2983 non_camel_case_types,
2984 non_snake_case,
2985 clippy::pub_underscore_fields,
2986 clippy::style
2987 )]
2988 #[derive(Clone)]
2989 pub struct MinimumStakeForQuorumUpdated {
2990 #[allow(missing_docs)]
2991 pub quorumNumber: u8,
2992 #[allow(missing_docs)]
2993 pub minimumStake: alloy::sol_types::private::primitives::aliases::U96,
2994 }
2995 #[allow(
2996 non_camel_case_types,
2997 non_snake_case,
2998 clippy::pub_underscore_fields,
2999 clippy::style
3000 )]
3001 const _: () = {
3002 use alloy::sol_types as alloy_sol_types;
3003 #[automatically_derived]
3004 impl alloy_sol_types::SolEvent for MinimumStakeForQuorumUpdated {
3005 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
3006 type DataToken<'a> = <Self::DataTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
3007 type TopicList = (
3008 alloy_sol_types::sol_data::FixedBytes<32>,
3009 alloy::sol_types::sol_data::Uint<8>,
3010 );
3011 const SIGNATURE: &'static str = "MinimumStakeForQuorumUpdated(uint8,uint96)";
3012 const SIGNATURE_HASH: alloy_sol_types::private::B256 =
3013 alloy_sol_types::private::B256::new([
3014 38u8, 238u8, 207u8, 242u8, 183u8, 11u8, 10u8, 113u8, 16u8, 79u8, 244u8, 217u8,
3015 64u8, 186u8, 113u8, 98u8, 210u8, 58u8, 149u8, 194u8, 72u8, 119u8, 31u8, 196u8,
3016 135u8, 167u8, 190u8, 23u8, 165u8, 150u8, 179u8, 207u8,
3017 ]);
3018 const ANONYMOUS: bool = false;
3019 #[allow(unused_variables)]
3020 #[inline]
3021 fn new(
3022 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3023 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3024 ) -> Self {
3025 Self {
3026 quorumNumber: topics.1,
3027 minimumStake: data.0,
3028 }
3029 }
3030 #[inline]
3031 fn check_signature(
3032 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3033 ) -> alloy_sol_types::Result<()> {
3034 if topics.0 != Self::SIGNATURE_HASH {
3035 return Err(alloy_sol_types::Error::invalid_event_signature_hash(
3036 Self::SIGNATURE,
3037 topics.0,
3038 Self::SIGNATURE_HASH,
3039 ));
3040 }
3041 Ok(())
3042 }
3043 #[inline]
3044 fn tokenize_body(&self) -> Self::DataToken<'_> {
3045 (
3046 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
3047 &self.minimumStake,
3048 ),
3049 )
3050 }
3051 #[inline]
3052 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3053 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3054 }
3055 #[inline]
3056 fn encode_topics_raw(
3057 &self,
3058 out: &mut [alloy_sol_types::abi::token::WordToken],
3059 ) -> alloy_sol_types::Result<()> {
3060 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3061 return Err(alloy_sol_types::Error::Overrun);
3062 }
3063 out[0usize] = alloy_sol_types::abi::token::WordToken(Self::SIGNATURE_HASH);
3064 out[1usize] = <alloy::sol_types::sol_data::Uint<
3065 8,
3066 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3067 Ok(())
3068 }
3069 }
3070 #[automatically_derived]
3071 impl alloy_sol_types::private::IntoLogData for MinimumStakeForQuorumUpdated {
3072 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3073 From::from(self)
3074 }
3075 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3076 From::from(&self)
3077 }
3078 }
3079 #[automatically_derived]
3080 impl From<&MinimumStakeForQuorumUpdated> for alloy_sol_types::private::LogData {
3081 #[inline]
3082 fn from(this: &MinimumStakeForQuorumUpdated) -> alloy_sol_types::private::LogData {
3083 alloy_sol_types::SolEvent::encode_log_data(this)
3084 }
3085 }
3086 };
3087 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3088 #[allow(
3093 non_camel_case_types,
3094 non_snake_case,
3095 clippy::pub_underscore_fields,
3096 clippy::style
3097 )]
3098 #[derive(Clone)]
3099 pub struct OperatorStakeUpdate {
3100 #[allow(missing_docs)]
3101 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
3102 #[allow(missing_docs)]
3103 pub quorumNumber: u8,
3104 #[allow(missing_docs)]
3105 pub stake: alloy::sol_types::private::primitives::aliases::U96,
3106 }
3107 #[allow(
3108 non_camel_case_types,
3109 non_snake_case,
3110 clippy::pub_underscore_fields,
3111 clippy::style
3112 )]
3113 const _: () = {
3114 use alloy::sol_types as alloy_sol_types;
3115 #[automatically_derived]
3116 impl alloy_sol_types::SolEvent for OperatorStakeUpdate {
3117 type DataTuple<'a> = (
3118 alloy::sol_types::sol_data::Uint<8>,
3119 alloy::sol_types::sol_data::Uint<96>,
3120 );
3121 type DataToken<'a> = <Self::DataTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
3122 type TopicList = (
3123 alloy_sol_types::sol_data::FixedBytes<32>,
3124 alloy::sol_types::sol_data::FixedBytes<32>,
3125 );
3126 const SIGNATURE: &'static str = "OperatorStakeUpdate(bytes32,uint8,uint96)";
3127 const SIGNATURE_HASH: alloy_sol_types::private::B256 =
3128 alloy_sol_types::private::B256::new([
3129 47u8, 82u8, 125u8, 82u8, 126u8, 149u8, 216u8, 254u8, 64u8, 174u8, 197u8, 83u8,
3130 119u8, 116u8, 59u8, 183u8, 121u8, 8u8, 125u8, 163u8, 246u8, 208u8, 208u8,
3131 143u8, 18u8, 227u8, 100u8, 68u8, 218u8, 98u8, 50u8, 125u8,
3132 ]);
3133 const ANONYMOUS: bool = false;
3134 #[allow(unused_variables)]
3135 #[inline]
3136 fn new(
3137 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3138 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3139 ) -> Self {
3140 Self {
3141 operatorId: topics.1,
3142 quorumNumber: data.0,
3143 stake: data.1,
3144 }
3145 }
3146 #[inline]
3147 fn check_signature(
3148 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3149 ) -> alloy_sol_types::Result<()> {
3150 if topics.0 != Self::SIGNATURE_HASH {
3151 return Err(alloy_sol_types::Error::invalid_event_signature_hash(
3152 Self::SIGNATURE,
3153 topics.0,
3154 Self::SIGNATURE_HASH,
3155 ));
3156 }
3157 Ok(())
3158 }
3159 #[inline]
3160 fn tokenize_body(&self) -> Self::DataToken<'_> {
3161 (
3162 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
3163 &self.quorumNumber,
3164 ),
3165 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
3166 &self.stake,
3167 ),
3168 )
3169 }
3170 #[inline]
3171 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3172 (Self::SIGNATURE_HASH.into(), self.operatorId.clone())
3173 }
3174 #[inline]
3175 fn encode_topics_raw(
3176 &self,
3177 out: &mut [alloy_sol_types::abi::token::WordToken],
3178 ) -> alloy_sol_types::Result<()> {
3179 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3180 return Err(alloy_sol_types::Error::Overrun);
3181 }
3182 out[0usize] = alloy_sol_types::abi::token::WordToken(Self::SIGNATURE_HASH);
3183 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
3184 32,
3185 > as alloy_sol_types::EventTopic>::encode_topic(&self.operatorId);
3186 Ok(())
3187 }
3188 }
3189 #[automatically_derived]
3190 impl alloy_sol_types::private::IntoLogData for OperatorStakeUpdate {
3191 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3192 From::from(self)
3193 }
3194 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3195 From::from(&self)
3196 }
3197 }
3198 #[automatically_derived]
3199 impl From<&OperatorStakeUpdate> for alloy_sol_types::private::LogData {
3200 #[inline]
3201 fn from(this: &OperatorStakeUpdate) -> alloy_sol_types::private::LogData {
3202 alloy_sol_types::SolEvent::encode_log_data(this)
3203 }
3204 }
3205 };
3206 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3207 #[allow(
3212 non_camel_case_types,
3213 non_snake_case,
3214 clippy::pub_underscore_fields,
3215 clippy::style
3216 )]
3217 #[derive(Clone)]
3218 pub struct QuorumCreated {
3219 #[allow(missing_docs)]
3220 pub quorumNumber: u8,
3221 }
3222 #[allow(
3223 non_camel_case_types,
3224 non_snake_case,
3225 clippy::pub_underscore_fields,
3226 clippy::style
3227 )]
3228 const _: () = {
3229 use alloy::sol_types as alloy_sol_types;
3230 #[automatically_derived]
3231 impl alloy_sol_types::SolEvent for QuorumCreated {
3232 type DataTuple<'a> = ();
3233 type DataToken<'a> = <Self::DataTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
3234 type TopicList = (
3235 alloy_sol_types::sol_data::FixedBytes<32>,
3236 alloy::sol_types::sol_data::Uint<8>,
3237 );
3238 const SIGNATURE: &'static str = "QuorumCreated(uint8)";
3239 const SIGNATURE_HASH: alloy_sol_types::private::B256 =
3240 alloy_sol_types::private::B256::new([
3241 131u8, 26u8, 156u8, 134u8, 196u8, 91u8, 179u8, 3u8, 202u8, 243u8, 240u8, 100u8,
3242 190u8, 43u8, 194u8, 185u8, 253u8, 78u8, 207u8, 25u8, 228u8, 124u8, 74u8, 192u8,
3243 42u8, 97u8, 231u8, 93u8, 171u8, 254u8, 85u8, 180u8,
3244 ]);
3245 const ANONYMOUS: bool = false;
3246 #[allow(unused_variables)]
3247 #[inline]
3248 fn new(
3249 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3250 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3251 ) -> Self {
3252 Self {
3253 quorumNumber: topics.1,
3254 }
3255 }
3256 #[inline]
3257 fn check_signature(
3258 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3259 ) -> alloy_sol_types::Result<()> {
3260 if topics.0 != Self::SIGNATURE_HASH {
3261 return Err(alloy_sol_types::Error::invalid_event_signature_hash(
3262 Self::SIGNATURE,
3263 topics.0,
3264 Self::SIGNATURE_HASH,
3265 ));
3266 }
3267 Ok(())
3268 }
3269 #[inline]
3270 fn tokenize_body(&self) -> Self::DataToken<'_> {
3271 ()
3272 }
3273 #[inline]
3274 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3275 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3276 }
3277 #[inline]
3278 fn encode_topics_raw(
3279 &self,
3280 out: &mut [alloy_sol_types::abi::token::WordToken],
3281 ) -> alloy_sol_types::Result<()> {
3282 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3283 return Err(alloy_sol_types::Error::Overrun);
3284 }
3285 out[0usize] = alloy_sol_types::abi::token::WordToken(Self::SIGNATURE_HASH);
3286 out[1usize] = <alloy::sol_types::sol_data::Uint<
3287 8,
3288 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3289 Ok(())
3290 }
3291 }
3292 #[automatically_derived]
3293 impl alloy_sol_types::private::IntoLogData for QuorumCreated {
3294 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3295 From::from(self)
3296 }
3297 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3298 From::from(&self)
3299 }
3300 }
3301 #[automatically_derived]
3302 impl From<&QuorumCreated> for alloy_sol_types::private::LogData {
3303 #[inline]
3304 fn from(this: &QuorumCreated) -> alloy_sol_types::private::LogData {
3305 alloy_sol_types::SolEvent::encode_log_data(this)
3306 }
3307 }
3308 };
3309 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3310 #[allow(
3315 non_camel_case_types,
3316 non_snake_case,
3317 clippy::pub_underscore_fields,
3318 clippy::style
3319 )]
3320 #[derive(Clone)]
3321 pub struct StakeTypeSet {
3322 #[allow(missing_docs)]
3323 pub newStakeType: <IStakeRegistryTypes::StakeType as alloy::sol_types::SolType>::RustType,
3324 }
3325 #[allow(
3326 non_camel_case_types,
3327 non_snake_case,
3328 clippy::pub_underscore_fields,
3329 clippy::style
3330 )]
3331 const _: () = {
3332 use alloy::sol_types as alloy_sol_types;
3333 #[automatically_derived]
3334 impl alloy_sol_types::SolEvent for StakeTypeSet {
3335 type DataTuple<'a> = (IStakeRegistryTypes::StakeType,);
3336 type DataToken<'a> = <Self::DataTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
3337 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
3338 const SIGNATURE: &'static str = "StakeTypeSet(uint8)";
3339 const SIGNATURE_HASH: alloy_sol_types::private::B256 =
3340 alloy_sol_types::private::B256::new([
3341 124u8, 17u8, 46u8, 134u8, 60u8, 207u8, 0u8, 120u8, 98u8, 226u8, 201u8, 226u8,
3342 88u8, 25u8, 201u8, 51u8, 254u8, 219u8, 201u8, 53u8, 10u8, 100u8, 67u8, 66u8,
3343 59u8, 74u8, 133u8, 153u8, 194u8, 232u8, 165u8, 45u8,
3344 ]);
3345 const ANONYMOUS: bool = false;
3346 #[allow(unused_variables)]
3347 #[inline]
3348 fn new(
3349 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3350 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3351 ) -> Self {
3352 Self {
3353 newStakeType: data.0,
3354 }
3355 }
3356 #[inline]
3357 fn check_signature(
3358 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3359 ) -> alloy_sol_types::Result<()> {
3360 if topics.0 != Self::SIGNATURE_HASH {
3361 return Err(alloy_sol_types::Error::invalid_event_signature_hash(
3362 Self::SIGNATURE,
3363 topics.0,
3364 Self::SIGNATURE_HASH,
3365 ));
3366 }
3367 Ok(())
3368 }
3369 #[inline]
3370 fn tokenize_body(&self) -> Self::DataToken<'_> {
3371 (
3372 <IStakeRegistryTypes::StakeType as alloy_sol_types::SolType>::tokenize(
3373 &self.newStakeType,
3374 ),
3375 )
3376 }
3377 #[inline]
3378 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3379 (Self::SIGNATURE_HASH.into(),)
3380 }
3381 #[inline]
3382 fn encode_topics_raw(
3383 &self,
3384 out: &mut [alloy_sol_types::abi::token::WordToken],
3385 ) -> alloy_sol_types::Result<()> {
3386 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3387 return Err(alloy_sol_types::Error::Overrun);
3388 }
3389 out[0usize] = alloy_sol_types::abi::token::WordToken(Self::SIGNATURE_HASH);
3390 Ok(())
3391 }
3392 }
3393 #[automatically_derived]
3394 impl alloy_sol_types::private::IntoLogData for StakeTypeSet {
3395 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3396 From::from(self)
3397 }
3398 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3399 From::from(&self)
3400 }
3401 }
3402 #[automatically_derived]
3403 impl From<&StakeTypeSet> for alloy_sol_types::private::LogData {
3404 #[inline]
3405 fn from(this: &StakeTypeSet) -> alloy_sol_types::private::LogData {
3406 alloy_sol_types::SolEvent::encode_log_data(this)
3407 }
3408 }
3409 };
3410 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3411 #[allow(
3416 non_camel_case_types,
3417 non_snake_case,
3418 clippy::pub_underscore_fields,
3419 clippy::style
3420 )]
3421 #[derive(Clone)]
3422 pub struct StrategyAddedToQuorum {
3423 #[allow(missing_docs)]
3424 pub quorumNumber: u8,
3425 #[allow(missing_docs)]
3426 pub strategy: alloy::sol_types::private::Address,
3427 }
3428 #[allow(
3429 non_camel_case_types,
3430 non_snake_case,
3431 clippy::pub_underscore_fields,
3432 clippy::style
3433 )]
3434 const _: () = {
3435 use alloy::sol_types as alloy_sol_types;
3436 #[automatically_derived]
3437 impl alloy_sol_types::SolEvent for StrategyAddedToQuorum {
3438 type DataTuple<'a> = (alloy::sol_types::sol_data::Address,);
3439 type DataToken<'a> = <Self::DataTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
3440 type TopicList = (
3441 alloy_sol_types::sol_data::FixedBytes<32>,
3442 alloy::sol_types::sol_data::Uint<8>,
3443 );
3444 const SIGNATURE: &'static str = "StrategyAddedToQuorum(uint8,address)";
3445 const SIGNATURE_HASH: alloy_sol_types::private::B256 =
3446 alloy_sol_types::private::B256::new([
3447 16u8, 86u8, 94u8, 86u8, 202u8, 203u8, 243u8, 46u8, 202u8, 38u8, 121u8, 69u8,
3448 240u8, 84u8, 254u8, 192u8, 46u8, 89u8, 117u8, 0u8, 50u8, 209u8, 19u8, 211u8,
3449 48u8, 33u8, 130u8, 173u8, 150u8, 127u8, 84u8, 4u8,
3450 ]);
3451 const ANONYMOUS: bool = false;
3452 #[allow(unused_variables)]
3453 #[inline]
3454 fn new(
3455 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3456 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3457 ) -> Self {
3458 Self {
3459 quorumNumber: topics.1,
3460 strategy: data.0,
3461 }
3462 }
3463 #[inline]
3464 fn check_signature(
3465 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3466 ) -> alloy_sol_types::Result<()> {
3467 if topics.0 != Self::SIGNATURE_HASH {
3468 return Err(alloy_sol_types::Error::invalid_event_signature_hash(
3469 Self::SIGNATURE,
3470 topics.0,
3471 Self::SIGNATURE_HASH,
3472 ));
3473 }
3474 Ok(())
3475 }
3476 #[inline]
3477 fn tokenize_body(&self) -> Self::DataToken<'_> {
3478 (
3479 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3480 &self.strategy,
3481 ),
3482 )
3483 }
3484 #[inline]
3485 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3486 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3487 }
3488 #[inline]
3489 fn encode_topics_raw(
3490 &self,
3491 out: &mut [alloy_sol_types::abi::token::WordToken],
3492 ) -> alloy_sol_types::Result<()> {
3493 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3494 return Err(alloy_sol_types::Error::Overrun);
3495 }
3496 out[0usize] = alloy_sol_types::abi::token::WordToken(Self::SIGNATURE_HASH);
3497 out[1usize] = <alloy::sol_types::sol_data::Uint<
3498 8,
3499 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3500 Ok(())
3501 }
3502 }
3503 #[automatically_derived]
3504 impl alloy_sol_types::private::IntoLogData for StrategyAddedToQuorum {
3505 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3506 From::from(self)
3507 }
3508 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3509 From::from(&self)
3510 }
3511 }
3512 #[automatically_derived]
3513 impl From<&StrategyAddedToQuorum> for alloy_sol_types::private::LogData {
3514 #[inline]
3515 fn from(this: &StrategyAddedToQuorum) -> alloy_sol_types::private::LogData {
3516 alloy_sol_types::SolEvent::encode_log_data(this)
3517 }
3518 }
3519 };
3520 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3521 #[allow(
3526 non_camel_case_types,
3527 non_snake_case,
3528 clippy::pub_underscore_fields,
3529 clippy::style
3530 )]
3531 #[derive(Clone)]
3532 pub struct StrategyMultiplierUpdated {
3533 #[allow(missing_docs)]
3534 pub quorumNumber: u8,
3535 #[allow(missing_docs)]
3536 pub strategy: alloy::sol_types::private::Address,
3537 #[allow(missing_docs)]
3538 pub multiplier: alloy::sol_types::private::primitives::aliases::U256,
3539 }
3540 #[allow(
3541 non_camel_case_types,
3542 non_snake_case,
3543 clippy::pub_underscore_fields,
3544 clippy::style
3545 )]
3546 const _: () = {
3547 use alloy::sol_types as alloy_sol_types;
3548 #[automatically_derived]
3549 impl alloy_sol_types::SolEvent for StrategyMultiplierUpdated {
3550 type DataTuple<'a> = (
3551 alloy::sol_types::sol_data::Address,
3552 alloy::sol_types::sol_data::Uint<256>,
3553 );
3554 type DataToken<'a> = <Self::DataTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
3555 type TopicList = (
3556 alloy_sol_types::sol_data::FixedBytes<32>,
3557 alloy::sol_types::sol_data::Uint<8>,
3558 );
3559 const SIGNATURE: &'static str = "StrategyMultiplierUpdated(uint8,address,uint256)";
3560 const SIGNATURE_HASH: alloy_sol_types::private::B256 =
3561 alloy_sol_types::private::B256::new([
3562 17u8, 165u8, 100u8, 19u8, 34u8, 218u8, 29u8, 255u8, 86u8, 164u8, 182u8, 110u8,
3563 170u8, 195u8, 31u8, 250u8, 70u8, 82u8, 149u8, 236u8, 233u8, 7u8, 205u8, 22u8,
3564 52u8, 55u8, 121u8, 59u8, 77u8, 0u8, 154u8, 117u8,
3565 ]);
3566 const ANONYMOUS: bool = false;
3567 #[allow(unused_variables)]
3568 #[inline]
3569 fn new(
3570 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3571 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3572 ) -> Self {
3573 Self {
3574 quorumNumber: topics.1,
3575 strategy: data.0,
3576 multiplier: data.1,
3577 }
3578 }
3579 #[inline]
3580 fn check_signature(
3581 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3582 ) -> alloy_sol_types::Result<()> {
3583 if topics.0 != Self::SIGNATURE_HASH {
3584 return Err(alloy_sol_types::Error::invalid_event_signature_hash(
3585 Self::SIGNATURE,
3586 topics.0,
3587 Self::SIGNATURE_HASH,
3588 ));
3589 }
3590 Ok(())
3591 }
3592 #[inline]
3593 fn tokenize_body(&self) -> Self::DataToken<'_> {
3594 (
3595 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3596 &self.strategy,
3597 ),
3598 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
3599 &self.multiplier,
3600 ),
3601 )
3602 }
3603 #[inline]
3604 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3605 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3606 }
3607 #[inline]
3608 fn encode_topics_raw(
3609 &self,
3610 out: &mut [alloy_sol_types::abi::token::WordToken],
3611 ) -> alloy_sol_types::Result<()> {
3612 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3613 return Err(alloy_sol_types::Error::Overrun);
3614 }
3615 out[0usize] = alloy_sol_types::abi::token::WordToken(Self::SIGNATURE_HASH);
3616 out[1usize] = <alloy::sol_types::sol_data::Uint<
3617 8,
3618 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3619 Ok(())
3620 }
3621 }
3622 #[automatically_derived]
3623 impl alloy_sol_types::private::IntoLogData for StrategyMultiplierUpdated {
3624 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3625 From::from(self)
3626 }
3627 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3628 From::from(&self)
3629 }
3630 }
3631 #[automatically_derived]
3632 impl From<&StrategyMultiplierUpdated> for alloy_sol_types::private::LogData {
3633 #[inline]
3634 fn from(this: &StrategyMultiplierUpdated) -> alloy_sol_types::private::LogData {
3635 alloy_sol_types::SolEvent::encode_log_data(this)
3636 }
3637 }
3638 };
3639 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3640 #[allow(
3645 non_camel_case_types,
3646 non_snake_case,
3647 clippy::pub_underscore_fields,
3648 clippy::style
3649 )]
3650 #[derive(Clone)]
3651 pub struct StrategyRemovedFromQuorum {
3652 #[allow(missing_docs)]
3653 pub quorumNumber: u8,
3654 #[allow(missing_docs)]
3655 pub strategy: alloy::sol_types::private::Address,
3656 }
3657 #[allow(
3658 non_camel_case_types,
3659 non_snake_case,
3660 clippy::pub_underscore_fields,
3661 clippy::style
3662 )]
3663 const _: () = {
3664 use alloy::sol_types as alloy_sol_types;
3665 #[automatically_derived]
3666 impl alloy_sol_types::SolEvent for StrategyRemovedFromQuorum {
3667 type DataTuple<'a> = (alloy::sol_types::sol_data::Address,);
3668 type DataToken<'a> = <Self::DataTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
3669 type TopicList = (
3670 alloy_sol_types::sol_data::FixedBytes<32>,
3671 alloy::sol_types::sol_data::Uint<8>,
3672 );
3673 const SIGNATURE: &'static str = "StrategyRemovedFromQuorum(uint8,address)";
3674 const SIGNATURE_HASH: alloy_sol_types::private::B256 =
3675 alloy_sol_types::private::B256::new([
3676 49u8, 250u8, 46u8, 44u8, 210u8, 128u8, 201u8, 55u8, 94u8, 19u8, 255u8, 207u8,
3677 61u8, 129u8, 226u8, 55u8, 129u8, 0u8, 24u8, 110u8, 64u8, 88u8, 248u8, 211u8,
3678 221u8, 182u8, 144u8, 184u8, 45u8, 205u8, 49u8, 247u8,
3679 ]);
3680 const ANONYMOUS: bool = false;
3681 #[allow(unused_variables)]
3682 #[inline]
3683 fn new(
3684 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3685 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3686 ) -> Self {
3687 Self {
3688 quorumNumber: topics.1,
3689 strategy: data.0,
3690 }
3691 }
3692 #[inline]
3693 fn check_signature(
3694 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3695 ) -> alloy_sol_types::Result<()> {
3696 if topics.0 != Self::SIGNATURE_HASH {
3697 return Err(alloy_sol_types::Error::invalid_event_signature_hash(
3698 Self::SIGNATURE,
3699 topics.0,
3700 Self::SIGNATURE_HASH,
3701 ));
3702 }
3703 Ok(())
3704 }
3705 #[inline]
3706 fn tokenize_body(&self) -> Self::DataToken<'_> {
3707 (
3708 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3709 &self.strategy,
3710 ),
3711 )
3712 }
3713 #[inline]
3714 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3715 (Self::SIGNATURE_HASH.into(), self.quorumNumber.clone())
3716 }
3717 #[inline]
3718 fn encode_topics_raw(
3719 &self,
3720 out: &mut [alloy_sol_types::abi::token::WordToken],
3721 ) -> alloy_sol_types::Result<()> {
3722 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3723 return Err(alloy_sol_types::Error::Overrun);
3724 }
3725 out[0usize] = alloy_sol_types::abi::token::WordToken(Self::SIGNATURE_HASH);
3726 out[1usize] = <alloy::sol_types::sol_data::Uint<
3727 8,
3728 > as alloy_sol_types::EventTopic>::encode_topic(&self.quorumNumber);
3729 Ok(())
3730 }
3731 }
3732 #[automatically_derived]
3733 impl alloy_sol_types::private::IntoLogData for StrategyRemovedFromQuorum {
3734 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3735 From::from(self)
3736 }
3737 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3738 From::from(&self)
3739 }
3740 }
3741 #[automatically_derived]
3742 impl From<&StrategyRemovedFromQuorum> for alloy_sol_types::private::LogData {
3743 #[inline]
3744 fn from(this: &StrategyRemovedFromQuorum) -> alloy_sol_types::private::LogData {
3745 alloy_sol_types::SolEvent::encode_log_data(this)
3746 }
3747 }
3748 };
3749 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3754 #[derive(Clone)]
3755 pub struct constructorCall {
3756 #[allow(missing_docs)]
3757 pub _slashingRegistryCoordinator: alloy::sol_types::private::Address,
3758 #[allow(missing_docs)]
3759 pub _delegationManager: alloy::sol_types::private::Address,
3760 #[allow(missing_docs)]
3761 pub _avsDirectory: alloy::sol_types::private::Address,
3762 #[allow(missing_docs)]
3763 pub _allocationManager: alloy::sol_types::private::Address,
3764 }
3765 const _: () = {
3766 use alloy::sol_types as alloy_sol_types;
3767 {
3768 #[doc(hidden)]
3769 type UnderlyingSolTuple<'a> = (
3770 alloy::sol_types::sol_data::Address,
3771 alloy::sol_types::sol_data::Address,
3772 alloy::sol_types::sol_data::Address,
3773 alloy::sol_types::sol_data::Address,
3774 );
3775 #[doc(hidden)]
3776 type UnderlyingRustTuple<'a> = (
3777 alloy::sol_types::private::Address,
3778 alloy::sol_types::private::Address,
3779 alloy::sol_types::private::Address,
3780 alloy::sol_types::private::Address,
3781 );
3782 #[cfg(test)]
3783 #[allow(dead_code, unreachable_patterns)]
3784 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
3785 match _t {
3786 alloy_sol_types::private::AssertTypeEq::<
3787 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3788 >(_) => {}
3789 }
3790 }
3791 #[automatically_derived]
3792 #[doc(hidden)]
3793 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
3794 fn from(value: constructorCall) -> Self {
3795 (
3796 value._slashingRegistryCoordinator,
3797 value._delegationManager,
3798 value._avsDirectory,
3799 value._allocationManager,
3800 )
3801 }
3802 }
3803 #[automatically_derived]
3804 #[doc(hidden)]
3805 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
3806 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3807 Self {
3808 _slashingRegistryCoordinator: tuple.0,
3809 _delegationManager: tuple.1,
3810 _avsDirectory: tuple.2,
3811 _allocationManager: tuple.3,
3812 }
3813 }
3814 }
3815 }
3816 #[automatically_derived]
3817 impl alloy_sol_types::SolConstructor for constructorCall {
3818 type Parameters<'a> = (
3819 alloy::sol_types::sol_data::Address,
3820 alloy::sol_types::sol_data::Address,
3821 alloy::sol_types::sol_data::Address,
3822 alloy::sol_types::sol_data::Address,
3823 );
3824 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
3825 #[inline]
3826 fn new<'a>(
3827 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3828 ) -> Self {
3829 tuple.into()
3830 }
3831 #[inline]
3832 fn tokenize(&self) -> Self::Token<'_> {
3833 (
3834 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3835 &self._slashingRegistryCoordinator,
3836 ),
3837 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3838 &self._delegationManager,
3839 ),
3840 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3841 &self._avsDirectory,
3842 ),
3843 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3844 &self._allocationManager,
3845 ),
3846 )
3847 }
3848 }
3849 };
3850 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3851 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3856 #[derive(Clone)]
3857 pub struct MAX_WEIGHING_FUNCTION_LENGTHCall;
3858 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3859 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3861 #[derive(Clone)]
3862 pub struct MAX_WEIGHING_FUNCTION_LENGTHReturn {
3863 #[allow(missing_docs)]
3864 pub _0: u8,
3865 }
3866 #[allow(
3867 non_camel_case_types,
3868 non_snake_case,
3869 clippy::pub_underscore_fields,
3870 clippy::style
3871 )]
3872 const _: () = {
3873 use alloy::sol_types as alloy_sol_types;
3874 {
3875 #[doc(hidden)]
3876 type UnderlyingSolTuple<'a> = ();
3877 #[doc(hidden)]
3878 type UnderlyingRustTuple<'a> = ();
3879 #[cfg(test)]
3880 #[allow(dead_code, unreachable_patterns)]
3881 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
3882 match _t {
3883 alloy_sol_types::private::AssertTypeEq::<
3884 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3885 >(_) => {}
3886 }
3887 }
3888 #[automatically_derived]
3889 #[doc(hidden)]
3890 impl ::core::convert::From<MAX_WEIGHING_FUNCTION_LENGTHCall> for UnderlyingRustTuple<'_> {
3891 fn from(value: MAX_WEIGHING_FUNCTION_LENGTHCall) -> Self {
3892 ()
3893 }
3894 }
3895 #[automatically_derived]
3896 #[doc(hidden)]
3897 impl ::core::convert::From<UnderlyingRustTuple<'_>> for MAX_WEIGHING_FUNCTION_LENGTHCall {
3898 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3899 Self
3900 }
3901 }
3902 }
3903 {
3904 #[doc(hidden)]
3905 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
3906 #[doc(hidden)]
3907 type UnderlyingRustTuple<'a> = (u8,);
3908 #[cfg(test)]
3909 #[allow(dead_code, unreachable_patterns)]
3910 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
3911 match _t {
3912 alloy_sol_types::private::AssertTypeEq::<
3913 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3914 >(_) => {}
3915 }
3916 }
3917 #[automatically_derived]
3918 #[doc(hidden)]
3919 impl ::core::convert::From<MAX_WEIGHING_FUNCTION_LENGTHReturn> for UnderlyingRustTuple<'_> {
3920 fn from(value: MAX_WEIGHING_FUNCTION_LENGTHReturn) -> Self {
3921 (value._0,)
3922 }
3923 }
3924 #[automatically_derived]
3925 #[doc(hidden)]
3926 impl ::core::convert::From<UnderlyingRustTuple<'_>> for MAX_WEIGHING_FUNCTION_LENGTHReturn {
3927 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3928 Self { _0: tuple.0 }
3929 }
3930 }
3931 }
3932 #[automatically_derived]
3933 impl alloy_sol_types::SolCall for MAX_WEIGHING_FUNCTION_LENGTHCall {
3934 type Parameters<'a> = ();
3935 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
3936 type Return = u8;
3937 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
3938 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
3939 const SIGNATURE: &'static str = "MAX_WEIGHING_FUNCTION_LENGTH()";
3940 const SELECTOR: [u8; 4] = [124u8, 23u8, 35u8, 71u8];
3941 #[inline]
3942 fn new<'a>(
3943 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3944 ) -> Self {
3945 tuple.into()
3946 }
3947 #[inline]
3948 fn tokenize(&self) -> Self::Token<'_> {
3949 ()
3950 }
3951 #[inline]
3952 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3953 (
3954 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
3955 ret,
3956 ),
3957 )
3958 }
3959 #[inline]
3960 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3961 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
3962 |r| {
3963 let r: MAX_WEIGHING_FUNCTION_LENGTHReturn = r.into();
3964 r._0
3965 },
3966 )
3967 }
3968 #[inline]
3969 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3970 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
3971 data,
3972 )
3973 .map(|r| {
3974 let r: MAX_WEIGHING_FUNCTION_LENGTHReturn = r.into();
3975 r._0
3976 })
3977 }
3978 }
3979 };
3980 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3981 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3986 #[derive(Clone)]
3987 pub struct WEIGHTING_DIVISORCall;
3988 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
3989 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3991 #[derive(Clone)]
3992 pub struct WEIGHTING_DIVISORReturn {
3993 #[allow(missing_docs)]
3994 pub _0: alloy::sol_types::private::primitives::aliases::U256,
3995 }
3996 #[allow(
3997 non_camel_case_types,
3998 non_snake_case,
3999 clippy::pub_underscore_fields,
4000 clippy::style
4001 )]
4002 const _: () = {
4003 use alloy::sol_types as alloy_sol_types;
4004 {
4005 #[doc(hidden)]
4006 type UnderlyingSolTuple<'a> = ();
4007 #[doc(hidden)]
4008 type UnderlyingRustTuple<'a> = ();
4009 #[cfg(test)]
4010 #[allow(dead_code, unreachable_patterns)]
4011 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4012 match _t {
4013 alloy_sol_types::private::AssertTypeEq::<
4014 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4015 >(_) => {}
4016 }
4017 }
4018 #[automatically_derived]
4019 #[doc(hidden)]
4020 impl ::core::convert::From<WEIGHTING_DIVISORCall> for UnderlyingRustTuple<'_> {
4021 fn from(value: WEIGHTING_DIVISORCall) -> Self {
4022 ()
4023 }
4024 }
4025 #[automatically_derived]
4026 #[doc(hidden)]
4027 impl ::core::convert::From<UnderlyingRustTuple<'_>> for WEIGHTING_DIVISORCall {
4028 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4029 Self
4030 }
4031 }
4032 }
4033 {
4034 #[doc(hidden)]
4035 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4036 #[doc(hidden)]
4037 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U256,);
4038 #[cfg(test)]
4039 #[allow(dead_code, unreachable_patterns)]
4040 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4041 match _t {
4042 alloy_sol_types::private::AssertTypeEq::<
4043 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4044 >(_) => {}
4045 }
4046 }
4047 #[automatically_derived]
4048 #[doc(hidden)]
4049 impl ::core::convert::From<WEIGHTING_DIVISORReturn> for UnderlyingRustTuple<'_> {
4050 fn from(value: WEIGHTING_DIVISORReturn) -> Self {
4051 (value._0,)
4052 }
4053 }
4054 #[automatically_derived]
4055 #[doc(hidden)]
4056 impl ::core::convert::From<UnderlyingRustTuple<'_>> for WEIGHTING_DIVISORReturn {
4057 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4058 Self { _0: tuple.0 }
4059 }
4060 }
4061 }
4062 #[automatically_derived]
4063 impl alloy_sol_types::SolCall for WEIGHTING_DIVISORCall {
4064 type Parameters<'a> = ();
4065 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
4066 type Return = alloy::sol_types::private::primitives::aliases::U256;
4067 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4068 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
4069 const SIGNATURE: &'static str = "WEIGHTING_DIVISOR()";
4070 const SELECTOR: [u8; 4] = [94u8, 90u8, 103u8, 117u8];
4071 #[inline]
4072 fn new<'a>(
4073 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4074 ) -> Self {
4075 tuple.into()
4076 }
4077 #[inline]
4078 fn tokenize(&self) -> Self::Token<'_> {
4079 ()
4080 }
4081 #[inline]
4082 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4083 (
4084 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
4085 ret,
4086 ),
4087 )
4088 }
4089 #[inline]
4090 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4091 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
4092 |r| {
4093 let r: WEIGHTING_DIVISORReturn = r.into();
4094 r._0
4095 },
4096 )
4097 }
4098 #[inline]
4099 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4100 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
4101 data,
4102 )
4103 .map(|r| {
4104 let r: WEIGHTING_DIVISORReturn = r.into();
4105 r._0
4106 })
4107 }
4108 }
4109 };
4110 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4111 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4116 #[derive(Clone)]
4117 pub struct addStrategiesCall {
4118 #[allow(missing_docs)]
4119 pub quorumNumber: u8,
4120 #[allow(missing_docs)]
4121 pub _strategyParams: alloy::sol_types::private::Vec<
4122 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
4123 >,
4124 }
4125 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4127 #[derive(Clone)]
4128 pub struct addStrategiesReturn {}
4129 #[allow(
4130 non_camel_case_types,
4131 non_snake_case,
4132 clippy::pub_underscore_fields,
4133 clippy::style
4134 )]
4135 const _: () = {
4136 use alloy::sol_types as alloy_sol_types;
4137 {
4138 #[doc(hidden)]
4139 type UnderlyingSolTuple<'a> = (
4140 alloy::sol_types::sol_data::Uint<8>,
4141 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
4142 );
4143 #[doc(hidden)]
4144 type UnderlyingRustTuple<'a> = (
4145 u8,
4146 alloy::sol_types::private::Vec<
4147 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
4148 >,
4149 );
4150 #[cfg(test)]
4151 #[allow(dead_code, unreachable_patterns)]
4152 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4153 match _t {
4154 alloy_sol_types::private::AssertTypeEq::<
4155 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4156 >(_) => {}
4157 }
4158 }
4159 #[automatically_derived]
4160 #[doc(hidden)]
4161 impl ::core::convert::From<addStrategiesCall> for UnderlyingRustTuple<'_> {
4162 fn from(value: addStrategiesCall) -> Self {
4163 (value.quorumNumber, value._strategyParams)
4164 }
4165 }
4166 #[automatically_derived]
4167 #[doc(hidden)]
4168 impl ::core::convert::From<UnderlyingRustTuple<'_>> for addStrategiesCall {
4169 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4170 Self {
4171 quorumNumber: tuple.0,
4172 _strategyParams: tuple.1,
4173 }
4174 }
4175 }
4176 }
4177 {
4178 #[doc(hidden)]
4179 type UnderlyingSolTuple<'a> = ();
4180 #[doc(hidden)]
4181 type UnderlyingRustTuple<'a> = ();
4182 #[cfg(test)]
4183 #[allow(dead_code, unreachable_patterns)]
4184 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4185 match _t {
4186 alloy_sol_types::private::AssertTypeEq::<
4187 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4188 >(_) => {}
4189 }
4190 }
4191 #[automatically_derived]
4192 #[doc(hidden)]
4193 impl ::core::convert::From<addStrategiesReturn> for UnderlyingRustTuple<'_> {
4194 fn from(value: addStrategiesReturn) -> Self {
4195 ()
4196 }
4197 }
4198 #[automatically_derived]
4199 #[doc(hidden)]
4200 impl ::core::convert::From<UnderlyingRustTuple<'_>> for addStrategiesReturn {
4201 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4202 Self {}
4203 }
4204 }
4205 }
4206 impl addStrategiesReturn {
4207 fn _tokenize(
4208 &self,
4209 ) -> <addStrategiesCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
4210 ()
4211 }
4212 }
4213 #[automatically_derived]
4214 impl alloy_sol_types::SolCall for addStrategiesCall {
4215 type Parameters<'a> = (
4216 alloy::sol_types::sol_data::Uint<8>,
4217 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
4218 );
4219 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
4220 type Return = addStrategiesReturn;
4221 type ReturnTuple<'a> = ();
4222 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
4223 const SIGNATURE: &'static str = "addStrategies(uint8,(address,uint96)[])";
4224 const SELECTOR: [u8; 4] = [198u8, 1u8, 82u8, 125u8];
4225 #[inline]
4226 fn new<'a>(
4227 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4228 ) -> Self {
4229 tuple.into()
4230 }
4231 #[inline]
4232 fn tokenize(&self) -> Self::Token<'_> {
4233 (
4234 <alloy::sol_types::sol_data::Uint<
4235 8,
4236 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
4237 <alloy::sol_types::sol_data::Array<
4238 IStakeRegistryTypes::StrategyParams,
4239 > as alloy_sol_types::SolType>::tokenize(&self._strategyParams),
4240 )
4241 }
4242 #[inline]
4243 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4244 addStrategiesReturn::_tokenize(ret)
4245 }
4246 #[inline]
4247 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4248 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
4249 .map(Into::into)
4250 }
4251 #[inline]
4252 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4253 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
4254 data,
4255 )
4256 .map(Into::into)
4257 }
4258 }
4259 };
4260 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4261 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4266 #[derive(Clone)]
4267 pub struct allocationManagerCall;
4268 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4269 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4271 #[derive(Clone)]
4272 pub struct allocationManagerReturn {
4273 #[allow(missing_docs)]
4274 pub _0: alloy::sol_types::private::Address,
4275 }
4276 #[allow(
4277 non_camel_case_types,
4278 non_snake_case,
4279 clippy::pub_underscore_fields,
4280 clippy::style
4281 )]
4282 const _: () = {
4283 use alloy::sol_types as alloy_sol_types;
4284 {
4285 #[doc(hidden)]
4286 type UnderlyingSolTuple<'a> = ();
4287 #[doc(hidden)]
4288 type UnderlyingRustTuple<'a> = ();
4289 #[cfg(test)]
4290 #[allow(dead_code, unreachable_patterns)]
4291 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4292 match _t {
4293 alloy_sol_types::private::AssertTypeEq::<
4294 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4295 >(_) => {}
4296 }
4297 }
4298 #[automatically_derived]
4299 #[doc(hidden)]
4300 impl ::core::convert::From<allocationManagerCall> for UnderlyingRustTuple<'_> {
4301 fn from(value: allocationManagerCall) -> Self {
4302 ()
4303 }
4304 }
4305 #[automatically_derived]
4306 #[doc(hidden)]
4307 impl ::core::convert::From<UnderlyingRustTuple<'_>> for allocationManagerCall {
4308 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4309 Self
4310 }
4311 }
4312 }
4313 {
4314 #[doc(hidden)]
4315 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4316 #[doc(hidden)]
4317 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4318 #[cfg(test)]
4319 #[allow(dead_code, unreachable_patterns)]
4320 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4321 match _t {
4322 alloy_sol_types::private::AssertTypeEq::<
4323 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4324 >(_) => {}
4325 }
4326 }
4327 #[automatically_derived]
4328 #[doc(hidden)]
4329 impl ::core::convert::From<allocationManagerReturn> for UnderlyingRustTuple<'_> {
4330 fn from(value: allocationManagerReturn) -> Self {
4331 (value._0,)
4332 }
4333 }
4334 #[automatically_derived]
4335 #[doc(hidden)]
4336 impl ::core::convert::From<UnderlyingRustTuple<'_>> for allocationManagerReturn {
4337 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4338 Self { _0: tuple.0 }
4339 }
4340 }
4341 }
4342 #[automatically_derived]
4343 impl alloy_sol_types::SolCall for allocationManagerCall {
4344 type Parameters<'a> = ();
4345 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
4346 type Return = alloy::sol_types::private::Address;
4347 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
4348 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
4349 const SIGNATURE: &'static str = "allocationManager()";
4350 const SELECTOR: [u8; 4] = [202u8, 138u8, 167u8, 199u8];
4351 #[inline]
4352 fn new<'a>(
4353 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4354 ) -> Self {
4355 tuple.into()
4356 }
4357 #[inline]
4358 fn tokenize(&self) -> Self::Token<'_> {
4359 ()
4360 }
4361 #[inline]
4362 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4363 (
4364 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4365 ret,
4366 ),
4367 )
4368 }
4369 #[inline]
4370 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4371 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
4372 |r| {
4373 let r: allocationManagerReturn = r.into();
4374 r._0
4375 },
4376 )
4377 }
4378 #[inline]
4379 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4380 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
4381 data,
4382 )
4383 .map(|r| {
4384 let r: allocationManagerReturn = r.into();
4385 r._0
4386 })
4387 }
4388 }
4389 };
4390 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4391 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4396 #[derive(Clone)]
4397 pub struct avsDirectoryCall;
4398 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4399 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4401 #[derive(Clone)]
4402 pub struct avsDirectoryReturn {
4403 #[allow(missing_docs)]
4404 pub _0: alloy::sol_types::private::Address,
4405 }
4406 #[allow(
4407 non_camel_case_types,
4408 non_snake_case,
4409 clippy::pub_underscore_fields,
4410 clippy::style
4411 )]
4412 const _: () = {
4413 use alloy::sol_types as alloy_sol_types;
4414 {
4415 #[doc(hidden)]
4416 type UnderlyingSolTuple<'a> = ();
4417 #[doc(hidden)]
4418 type UnderlyingRustTuple<'a> = ();
4419 #[cfg(test)]
4420 #[allow(dead_code, unreachable_patterns)]
4421 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4422 match _t {
4423 alloy_sol_types::private::AssertTypeEq::<
4424 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4425 >(_) => {}
4426 }
4427 }
4428 #[automatically_derived]
4429 #[doc(hidden)]
4430 impl ::core::convert::From<avsDirectoryCall> for UnderlyingRustTuple<'_> {
4431 fn from(value: avsDirectoryCall) -> Self {
4432 ()
4433 }
4434 }
4435 #[automatically_derived]
4436 #[doc(hidden)]
4437 impl ::core::convert::From<UnderlyingRustTuple<'_>> for avsDirectoryCall {
4438 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4439 Self
4440 }
4441 }
4442 }
4443 {
4444 #[doc(hidden)]
4445 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4446 #[doc(hidden)]
4447 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4448 #[cfg(test)]
4449 #[allow(dead_code, unreachable_patterns)]
4450 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4451 match _t {
4452 alloy_sol_types::private::AssertTypeEq::<
4453 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4454 >(_) => {}
4455 }
4456 }
4457 #[automatically_derived]
4458 #[doc(hidden)]
4459 impl ::core::convert::From<avsDirectoryReturn> for UnderlyingRustTuple<'_> {
4460 fn from(value: avsDirectoryReturn) -> Self {
4461 (value._0,)
4462 }
4463 }
4464 #[automatically_derived]
4465 #[doc(hidden)]
4466 impl ::core::convert::From<UnderlyingRustTuple<'_>> for avsDirectoryReturn {
4467 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4468 Self { _0: tuple.0 }
4469 }
4470 }
4471 }
4472 #[automatically_derived]
4473 impl alloy_sol_types::SolCall for avsDirectoryCall {
4474 type Parameters<'a> = ();
4475 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
4476 type Return = alloy::sol_types::private::Address;
4477 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
4478 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
4479 const SIGNATURE: &'static str = "avsDirectory()";
4480 const SELECTOR: [u8; 4] = [107u8, 58u8, 167u8, 46u8];
4481 #[inline]
4482 fn new<'a>(
4483 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4484 ) -> Self {
4485 tuple.into()
4486 }
4487 #[inline]
4488 fn tokenize(&self) -> Self::Token<'_> {
4489 ()
4490 }
4491 #[inline]
4492 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4493 (
4494 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4495 ret,
4496 ),
4497 )
4498 }
4499 #[inline]
4500 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4501 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
4502 |r| {
4503 let r: avsDirectoryReturn = r.into();
4504 r._0
4505 },
4506 )
4507 }
4508 #[inline]
4509 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4510 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
4511 data,
4512 )
4513 .map(|r| {
4514 let r: avsDirectoryReturn = r.into();
4515 r._0
4516 })
4517 }
4518 }
4519 };
4520 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4521 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4526 #[derive(Clone)]
4527 pub struct delegationCall;
4528 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4529 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4531 #[derive(Clone)]
4532 pub struct delegationReturn {
4533 #[allow(missing_docs)]
4534 pub _0: alloy::sol_types::private::Address,
4535 }
4536 #[allow(
4537 non_camel_case_types,
4538 non_snake_case,
4539 clippy::pub_underscore_fields,
4540 clippy::style
4541 )]
4542 const _: () = {
4543 use alloy::sol_types as alloy_sol_types;
4544 {
4545 #[doc(hidden)]
4546 type UnderlyingSolTuple<'a> = ();
4547 #[doc(hidden)]
4548 type UnderlyingRustTuple<'a> = ();
4549 #[cfg(test)]
4550 #[allow(dead_code, unreachable_patterns)]
4551 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4552 match _t {
4553 alloy_sol_types::private::AssertTypeEq::<
4554 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4555 >(_) => {}
4556 }
4557 }
4558 #[automatically_derived]
4559 #[doc(hidden)]
4560 impl ::core::convert::From<delegationCall> for UnderlyingRustTuple<'_> {
4561 fn from(value: delegationCall) -> Self {
4562 ()
4563 }
4564 }
4565 #[automatically_derived]
4566 #[doc(hidden)]
4567 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegationCall {
4568 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4569 Self
4570 }
4571 }
4572 }
4573 {
4574 #[doc(hidden)]
4575 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4576 #[doc(hidden)]
4577 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4578 #[cfg(test)]
4579 #[allow(dead_code, unreachable_patterns)]
4580 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4581 match _t {
4582 alloy_sol_types::private::AssertTypeEq::<
4583 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4584 >(_) => {}
4585 }
4586 }
4587 #[automatically_derived]
4588 #[doc(hidden)]
4589 impl ::core::convert::From<delegationReturn> for UnderlyingRustTuple<'_> {
4590 fn from(value: delegationReturn) -> Self {
4591 (value._0,)
4592 }
4593 }
4594 #[automatically_derived]
4595 #[doc(hidden)]
4596 impl ::core::convert::From<UnderlyingRustTuple<'_>> for delegationReturn {
4597 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4598 Self { _0: tuple.0 }
4599 }
4600 }
4601 }
4602 #[automatically_derived]
4603 impl alloy_sol_types::SolCall for delegationCall {
4604 type Parameters<'a> = ();
4605 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
4606 type Return = alloy::sol_types::private::Address;
4607 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
4608 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
4609 const SIGNATURE: &'static str = "delegation()";
4610 const SELECTOR: [u8; 4] = [223u8, 92u8, 247u8, 35u8];
4611 #[inline]
4612 fn new<'a>(
4613 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4614 ) -> Self {
4615 tuple.into()
4616 }
4617 #[inline]
4618 fn tokenize(&self) -> Self::Token<'_> {
4619 ()
4620 }
4621 #[inline]
4622 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4623 (
4624 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4625 ret,
4626 ),
4627 )
4628 }
4629 #[inline]
4630 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4631 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
4632 |r| {
4633 let r: delegationReturn = r.into();
4634 r._0
4635 },
4636 )
4637 }
4638 #[inline]
4639 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4640 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
4641 data,
4642 )
4643 .map(|r| {
4644 let r: delegationReturn = r.into();
4645 r._0
4646 })
4647 }
4648 }
4649 };
4650 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4651 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4656 #[derive(Clone)]
4657 pub struct deregisterOperatorCall {
4658 #[allow(missing_docs)]
4659 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
4660 #[allow(missing_docs)]
4661 pub quorumNumbers: alloy::sol_types::private::Bytes,
4662 }
4663 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4665 #[derive(Clone)]
4666 pub struct deregisterOperatorReturn {}
4667 #[allow(
4668 non_camel_case_types,
4669 non_snake_case,
4670 clippy::pub_underscore_fields,
4671 clippy::style
4672 )]
4673 const _: () = {
4674 use alloy::sol_types as alloy_sol_types;
4675 {
4676 #[doc(hidden)]
4677 type UnderlyingSolTuple<'a> = (
4678 alloy::sol_types::sol_data::FixedBytes<32>,
4679 alloy::sol_types::sol_data::Bytes,
4680 );
4681 #[doc(hidden)]
4682 type UnderlyingRustTuple<'a> = (
4683 alloy::sol_types::private::FixedBytes<32>,
4684 alloy::sol_types::private::Bytes,
4685 );
4686 #[cfg(test)]
4687 #[allow(dead_code, unreachable_patterns)]
4688 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4689 match _t {
4690 alloy_sol_types::private::AssertTypeEq::<
4691 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4692 >(_) => {}
4693 }
4694 }
4695 #[automatically_derived]
4696 #[doc(hidden)]
4697 impl ::core::convert::From<deregisterOperatorCall> for UnderlyingRustTuple<'_> {
4698 fn from(value: deregisterOperatorCall) -> Self {
4699 (value.operatorId, value.quorumNumbers)
4700 }
4701 }
4702 #[automatically_derived]
4703 #[doc(hidden)]
4704 impl ::core::convert::From<UnderlyingRustTuple<'_>> for deregisterOperatorCall {
4705 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4706 Self {
4707 operatorId: tuple.0,
4708 quorumNumbers: tuple.1,
4709 }
4710 }
4711 }
4712 }
4713 {
4714 #[doc(hidden)]
4715 type UnderlyingSolTuple<'a> = ();
4716 #[doc(hidden)]
4717 type UnderlyingRustTuple<'a> = ();
4718 #[cfg(test)]
4719 #[allow(dead_code, unreachable_patterns)]
4720 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4721 match _t {
4722 alloy_sol_types::private::AssertTypeEq::<
4723 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4724 >(_) => {}
4725 }
4726 }
4727 #[automatically_derived]
4728 #[doc(hidden)]
4729 impl ::core::convert::From<deregisterOperatorReturn> for UnderlyingRustTuple<'_> {
4730 fn from(value: deregisterOperatorReturn) -> Self {
4731 ()
4732 }
4733 }
4734 #[automatically_derived]
4735 #[doc(hidden)]
4736 impl ::core::convert::From<UnderlyingRustTuple<'_>> for deregisterOperatorReturn {
4737 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4738 Self {}
4739 }
4740 }
4741 }
4742 impl deregisterOperatorReturn {
4743 fn _tokenize(
4744 &self,
4745 ) -> <deregisterOperatorCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
4746 ()
4747 }
4748 }
4749 #[automatically_derived]
4750 impl alloy_sol_types::SolCall for deregisterOperatorCall {
4751 type Parameters<'a> = (
4752 alloy::sol_types::sol_data::FixedBytes<32>,
4753 alloy::sol_types::sol_data::Bytes,
4754 );
4755 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
4756 type Return = deregisterOperatorReturn;
4757 type ReturnTuple<'a> = ();
4758 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
4759 const SIGNATURE: &'static str = "deregisterOperator(bytes32,bytes)";
4760 const SELECTOR: [u8; 4] = [189u8, 41u8, 184u8, 205u8];
4761 #[inline]
4762 fn new<'a>(
4763 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4764 ) -> Self {
4765 tuple.into()
4766 }
4767 #[inline]
4768 fn tokenize(&self) -> Self::Token<'_> {
4769 (
4770 <alloy::sol_types::sol_data::FixedBytes<
4771 32,
4772 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
4773 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
4774 &self.quorumNumbers,
4775 ),
4776 )
4777 }
4778 #[inline]
4779 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4780 deregisterOperatorReturn::_tokenize(ret)
4781 }
4782 #[inline]
4783 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4784 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
4785 .map(Into::into)
4786 }
4787 #[inline]
4788 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4789 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
4790 data,
4791 )
4792 .map(Into::into)
4793 }
4794 }
4795 };
4796 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4797 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4802 #[derive(Clone)]
4803 pub struct getCurrentStakeCall {
4804 #[allow(missing_docs)]
4805 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
4806 #[allow(missing_docs)]
4807 pub quorumNumber: u8,
4808 }
4809 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4810 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4812 #[derive(Clone)]
4813 pub struct getCurrentStakeReturn {
4814 #[allow(missing_docs)]
4815 pub _0: alloy::sol_types::private::primitives::aliases::U96,
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 alloy::sol_types::sol_data::FixedBytes<32>,
4829 alloy::sol_types::sol_data::Uint<8>,
4830 );
4831 #[doc(hidden)]
4832 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>, u8);
4833 #[cfg(test)]
4834 #[allow(dead_code, unreachable_patterns)]
4835 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4836 match _t {
4837 alloy_sol_types::private::AssertTypeEq::<
4838 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4839 >(_) => {}
4840 }
4841 }
4842 #[automatically_derived]
4843 #[doc(hidden)]
4844 impl ::core::convert::From<getCurrentStakeCall> for UnderlyingRustTuple<'_> {
4845 fn from(value: getCurrentStakeCall) -> Self {
4846 (value.operatorId, value.quorumNumber)
4847 }
4848 }
4849 #[automatically_derived]
4850 #[doc(hidden)]
4851 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getCurrentStakeCall {
4852 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4853 Self {
4854 operatorId: tuple.0,
4855 quorumNumber: tuple.1,
4856 }
4857 }
4858 }
4859 }
4860 {
4861 #[doc(hidden)]
4862 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
4863 #[doc(hidden)]
4864 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U96,);
4865 #[cfg(test)]
4866 #[allow(dead_code, unreachable_patterns)]
4867 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4868 match _t {
4869 alloy_sol_types::private::AssertTypeEq::<
4870 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4871 >(_) => {}
4872 }
4873 }
4874 #[automatically_derived]
4875 #[doc(hidden)]
4876 impl ::core::convert::From<getCurrentStakeReturn> for UnderlyingRustTuple<'_> {
4877 fn from(value: getCurrentStakeReturn) -> Self {
4878 (value._0,)
4879 }
4880 }
4881 #[automatically_derived]
4882 #[doc(hidden)]
4883 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getCurrentStakeReturn {
4884 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4885 Self { _0: tuple.0 }
4886 }
4887 }
4888 }
4889 #[automatically_derived]
4890 impl alloy_sol_types::SolCall for getCurrentStakeCall {
4891 type Parameters<'a> = (
4892 alloy::sol_types::sol_data::FixedBytes<32>,
4893 alloy::sol_types::sol_data::Uint<8>,
4894 );
4895 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
4896 type Return = alloy::sol_types::private::primitives::aliases::U96;
4897 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
4898 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
4899 const SIGNATURE: &'static str = "getCurrentStake(bytes32,uint8)";
4900 const SELECTOR: [u8; 4] = [84u8, 1u8, 237u8, 39u8];
4901 #[inline]
4902 fn new<'a>(
4903 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4904 ) -> Self {
4905 tuple.into()
4906 }
4907 #[inline]
4908 fn tokenize(&self) -> Self::Token<'_> {
4909 (
4910 <alloy::sol_types::sol_data::FixedBytes<
4911 32,
4912 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
4913 <alloy::sol_types::sol_data::Uint<
4914 8,
4915 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
4916 )
4917 }
4918 #[inline]
4919 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4920 (
4921 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
4922 ret,
4923 ),
4924 )
4925 }
4926 #[inline]
4927 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4928 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
4929 |r| {
4930 let r: getCurrentStakeReturn = r.into();
4931 r._0
4932 },
4933 )
4934 }
4935 #[inline]
4936 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4937 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
4938 data,
4939 )
4940 .map(|r| {
4941 let r: getCurrentStakeReturn = r.into();
4942 r._0
4943 })
4944 }
4945 }
4946 };
4947 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4948 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4953 #[derive(Clone)]
4954 pub struct getCurrentTotalStakeCall {
4955 #[allow(missing_docs)]
4956 pub quorumNumber: u8,
4957 }
4958 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
4959 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4961 #[derive(Clone)]
4962 pub struct getCurrentTotalStakeReturn {
4963 #[allow(missing_docs)]
4964 pub _0: alloy::sol_types::private::primitives::aliases::U96,
4965 }
4966 #[allow(
4967 non_camel_case_types,
4968 non_snake_case,
4969 clippy::pub_underscore_fields,
4970 clippy::style
4971 )]
4972 const _: () = {
4973 use alloy::sol_types as alloy_sol_types;
4974 {
4975 #[doc(hidden)]
4976 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
4977 #[doc(hidden)]
4978 type UnderlyingRustTuple<'a> = (u8,);
4979 #[cfg(test)]
4980 #[allow(dead_code, unreachable_patterns)]
4981 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
4982 match _t {
4983 alloy_sol_types::private::AssertTypeEq::<
4984 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4985 >(_) => {}
4986 }
4987 }
4988 #[automatically_derived]
4989 #[doc(hidden)]
4990 impl ::core::convert::From<getCurrentTotalStakeCall> for UnderlyingRustTuple<'_> {
4991 fn from(value: getCurrentTotalStakeCall) -> Self {
4992 (value.quorumNumber,)
4993 }
4994 }
4995 #[automatically_derived]
4996 #[doc(hidden)]
4997 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getCurrentTotalStakeCall {
4998 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4999 Self {
5000 quorumNumber: tuple.0,
5001 }
5002 }
5003 }
5004 }
5005 {
5006 #[doc(hidden)]
5007 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5008 #[doc(hidden)]
5009 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U96,);
5010 #[cfg(test)]
5011 #[allow(dead_code, unreachable_patterns)]
5012 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5013 match _t {
5014 alloy_sol_types::private::AssertTypeEq::<
5015 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5016 >(_) => {}
5017 }
5018 }
5019 #[automatically_derived]
5020 #[doc(hidden)]
5021 impl ::core::convert::From<getCurrentTotalStakeReturn> for UnderlyingRustTuple<'_> {
5022 fn from(value: getCurrentTotalStakeReturn) -> Self {
5023 (value._0,)
5024 }
5025 }
5026 #[automatically_derived]
5027 #[doc(hidden)]
5028 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getCurrentTotalStakeReturn {
5029 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5030 Self { _0: tuple.0 }
5031 }
5032 }
5033 }
5034 #[automatically_derived]
5035 impl alloy_sol_types::SolCall for getCurrentTotalStakeCall {
5036 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
5037 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
5038 type Return = alloy::sol_types::private::primitives::aliases::U96;
5039 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5040 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
5041 const SIGNATURE: &'static str = "getCurrentTotalStake(uint8)";
5042 const SELECTOR: [u8; 4] = [213u8, 236u8, 204u8, 5u8];
5043 #[inline]
5044 fn new<'a>(
5045 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5046 ) -> Self {
5047 tuple.into()
5048 }
5049 #[inline]
5050 fn tokenize(&self) -> Self::Token<'_> {
5051 (
5052 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
5053 &self.quorumNumber,
5054 ),
5055 )
5056 }
5057 #[inline]
5058 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5059 (
5060 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
5061 ret,
5062 ),
5063 )
5064 }
5065 #[inline]
5066 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5067 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
5068 |r| {
5069 let r: getCurrentTotalStakeReturn = r.into();
5070 r._0
5071 },
5072 )
5073 }
5074 #[inline]
5075 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5076 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
5077 data,
5078 )
5079 .map(|r| {
5080 let r: getCurrentTotalStakeReturn = r.into();
5081 r._0
5082 })
5083 }
5084 }
5085 };
5086 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5087 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5092 #[derive(Clone)]
5093 pub struct getLatestStakeUpdateCall {
5094 #[allow(missing_docs)]
5095 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5096 #[allow(missing_docs)]
5097 pub quorumNumber: u8,
5098 }
5099 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5100 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5102 #[derive(Clone)]
5103 pub struct getLatestStakeUpdateReturn {
5104 #[allow(missing_docs)]
5105 pub _0: <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
5106 }
5107 #[allow(
5108 non_camel_case_types,
5109 non_snake_case,
5110 clippy::pub_underscore_fields,
5111 clippy::style
5112 )]
5113 const _: () = {
5114 use alloy::sol_types as alloy_sol_types;
5115 {
5116 #[doc(hidden)]
5117 type UnderlyingSolTuple<'a> = (
5118 alloy::sol_types::sol_data::FixedBytes<32>,
5119 alloy::sol_types::sol_data::Uint<8>,
5120 );
5121 #[doc(hidden)]
5122 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>, u8);
5123 #[cfg(test)]
5124 #[allow(dead_code, unreachable_patterns)]
5125 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5126 match _t {
5127 alloy_sol_types::private::AssertTypeEq::<
5128 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5129 >(_) => {}
5130 }
5131 }
5132 #[automatically_derived]
5133 #[doc(hidden)]
5134 impl ::core::convert::From<getLatestStakeUpdateCall> for UnderlyingRustTuple<'_> {
5135 fn from(value: getLatestStakeUpdateCall) -> Self {
5136 (value.operatorId, value.quorumNumber)
5137 }
5138 }
5139 #[automatically_derived]
5140 #[doc(hidden)]
5141 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getLatestStakeUpdateCall {
5142 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5143 Self {
5144 operatorId: tuple.0,
5145 quorumNumber: tuple.1,
5146 }
5147 }
5148 }
5149 }
5150 {
5151 #[doc(hidden)]
5152 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
5153 #[doc(hidden)]
5154 type UnderlyingRustTuple<'a> =
5155 (<IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,);
5156 #[cfg(test)]
5157 #[allow(dead_code, unreachable_patterns)]
5158 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5159 match _t {
5160 alloy_sol_types::private::AssertTypeEq::<
5161 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5162 >(_) => {}
5163 }
5164 }
5165 #[automatically_derived]
5166 #[doc(hidden)]
5167 impl ::core::convert::From<getLatestStakeUpdateReturn> for UnderlyingRustTuple<'_> {
5168 fn from(value: getLatestStakeUpdateReturn) -> Self {
5169 (value._0,)
5170 }
5171 }
5172 #[automatically_derived]
5173 #[doc(hidden)]
5174 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getLatestStakeUpdateReturn {
5175 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5176 Self { _0: tuple.0 }
5177 }
5178 }
5179 }
5180 #[automatically_derived]
5181 impl alloy_sol_types::SolCall for getLatestStakeUpdateCall {
5182 type Parameters<'a> = (
5183 alloy::sol_types::sol_data::FixedBytes<32>,
5184 alloy::sol_types::sol_data::Uint<8>,
5185 );
5186 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
5187 type Return = <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType;
5188 type ReturnTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
5189 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
5190 const SIGNATURE: &'static str = "getLatestStakeUpdate(bytes32,uint8)";
5191 const SELECTOR: [u8; 4] = [248u8, 81u8, 225u8, 152u8];
5192 #[inline]
5193 fn new<'a>(
5194 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5195 ) -> Self {
5196 tuple.into()
5197 }
5198 #[inline]
5199 fn tokenize(&self) -> Self::Token<'_> {
5200 (
5201 <alloy::sol_types::sol_data::FixedBytes<
5202 32,
5203 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5204 <alloy::sol_types::sol_data::Uint<
5205 8,
5206 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5207 )
5208 }
5209 #[inline]
5210 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5211 (<IStakeRegistryTypes::StakeUpdate as alloy_sol_types::SolType>::tokenize(ret),)
5212 }
5213 #[inline]
5214 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5215 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
5216 |r| {
5217 let r: getLatestStakeUpdateReturn = r.into();
5218 r._0
5219 },
5220 )
5221 }
5222 #[inline]
5223 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5224 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
5225 data,
5226 )
5227 .map(|r| {
5228 let r: getLatestStakeUpdateReturn = r.into();
5229 r._0
5230 })
5231 }
5232 }
5233 };
5234 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5235 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5240 #[derive(Clone)]
5241 pub struct getStakeAtBlockNumberCall {
5242 #[allow(missing_docs)]
5243 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5244 #[allow(missing_docs)]
5245 pub quorumNumber: u8,
5246 #[allow(missing_docs)]
5247 pub blockNumber: u32,
5248 }
5249 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5250 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5252 #[derive(Clone)]
5253 pub struct getStakeAtBlockNumberReturn {
5254 #[allow(missing_docs)]
5255 pub _0: alloy::sol_types::private::primitives::aliases::U96,
5256 }
5257 #[allow(
5258 non_camel_case_types,
5259 non_snake_case,
5260 clippy::pub_underscore_fields,
5261 clippy::style
5262 )]
5263 const _: () = {
5264 use alloy::sol_types as alloy_sol_types;
5265 {
5266 #[doc(hidden)]
5267 type UnderlyingSolTuple<'a> = (
5268 alloy::sol_types::sol_data::FixedBytes<32>,
5269 alloy::sol_types::sol_data::Uint<8>,
5270 alloy::sol_types::sol_data::Uint<32>,
5271 );
5272 #[doc(hidden)]
5273 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>, u8, u32);
5274 #[cfg(test)]
5275 #[allow(dead_code, unreachable_patterns)]
5276 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5277 match _t {
5278 alloy_sol_types::private::AssertTypeEq::<
5279 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5280 >(_) => {}
5281 }
5282 }
5283 #[automatically_derived]
5284 #[doc(hidden)]
5285 impl ::core::convert::From<getStakeAtBlockNumberCall> for UnderlyingRustTuple<'_> {
5286 fn from(value: getStakeAtBlockNumberCall) -> Self {
5287 (value.operatorId, value.quorumNumber, value.blockNumber)
5288 }
5289 }
5290 #[automatically_derived]
5291 #[doc(hidden)]
5292 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeAtBlockNumberCall {
5293 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5294 Self {
5295 operatorId: tuple.0,
5296 quorumNumber: tuple.1,
5297 blockNumber: tuple.2,
5298 }
5299 }
5300 }
5301 }
5302 {
5303 #[doc(hidden)]
5304 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5305 #[doc(hidden)]
5306 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U96,);
5307 #[cfg(test)]
5308 #[allow(dead_code, unreachable_patterns)]
5309 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5310 match _t {
5311 alloy_sol_types::private::AssertTypeEq::<
5312 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5313 >(_) => {}
5314 }
5315 }
5316 #[automatically_derived]
5317 #[doc(hidden)]
5318 impl ::core::convert::From<getStakeAtBlockNumberReturn> for UnderlyingRustTuple<'_> {
5319 fn from(value: getStakeAtBlockNumberReturn) -> Self {
5320 (value._0,)
5321 }
5322 }
5323 #[automatically_derived]
5324 #[doc(hidden)]
5325 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeAtBlockNumberReturn {
5326 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5327 Self { _0: tuple.0 }
5328 }
5329 }
5330 }
5331 #[automatically_derived]
5332 impl alloy_sol_types::SolCall for getStakeAtBlockNumberCall {
5333 type Parameters<'a> = (
5334 alloy::sol_types::sol_data::FixedBytes<32>,
5335 alloy::sol_types::sol_data::Uint<8>,
5336 alloy::sol_types::sol_data::Uint<32>,
5337 );
5338 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
5339 type Return = alloy::sol_types::private::primitives::aliases::U96;
5340 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5341 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
5342 const SIGNATURE: &'static str = "getStakeAtBlockNumber(bytes32,uint8,uint32)";
5343 const SELECTOR: [u8; 4] = [250u8, 40u8, 198u8, 39u8];
5344 #[inline]
5345 fn new<'a>(
5346 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5347 ) -> Self {
5348 tuple.into()
5349 }
5350 #[inline]
5351 fn tokenize(&self) -> Self::Token<'_> {
5352 (
5353 <alloy::sol_types::sol_data::FixedBytes<
5354 32,
5355 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5356 <alloy::sol_types::sol_data::Uint<
5357 8,
5358 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5359 <alloy::sol_types::sol_data::Uint<
5360 32,
5361 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
5362 )
5363 }
5364 #[inline]
5365 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5366 (
5367 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
5368 ret,
5369 ),
5370 )
5371 }
5372 #[inline]
5373 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5374 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
5375 |r| {
5376 let r: getStakeAtBlockNumberReturn = r.into();
5377 r._0
5378 },
5379 )
5380 }
5381 #[inline]
5382 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5383 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
5384 data,
5385 )
5386 .map(|r| {
5387 let r: getStakeAtBlockNumberReturn = r.into();
5388 r._0
5389 })
5390 }
5391 }
5392 };
5393 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5394 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5399 #[derive(Clone)]
5400 pub struct getStakeAtBlockNumberAndIndexCall {
5401 #[allow(missing_docs)]
5402 pub quorumNumber: u8,
5403 #[allow(missing_docs)]
5404 pub blockNumber: u32,
5405 #[allow(missing_docs)]
5406 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5407 #[allow(missing_docs)]
5408 pub index: alloy::sol_types::private::primitives::aliases::U256,
5409 }
5410 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5411 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5413 #[derive(Clone)]
5414 pub struct getStakeAtBlockNumberAndIndexReturn {
5415 #[allow(missing_docs)]
5416 pub _0: alloy::sol_types::private::primitives::aliases::U96,
5417 }
5418 #[allow(
5419 non_camel_case_types,
5420 non_snake_case,
5421 clippy::pub_underscore_fields,
5422 clippy::style
5423 )]
5424 const _: () = {
5425 use alloy::sol_types as alloy_sol_types;
5426 {
5427 #[doc(hidden)]
5428 type UnderlyingSolTuple<'a> = (
5429 alloy::sol_types::sol_data::Uint<8>,
5430 alloy::sol_types::sol_data::Uint<32>,
5431 alloy::sol_types::sol_data::FixedBytes<32>,
5432 alloy::sol_types::sol_data::Uint<256>,
5433 );
5434 #[doc(hidden)]
5435 type UnderlyingRustTuple<'a> = (
5436 u8,
5437 u32,
5438 alloy::sol_types::private::FixedBytes<32>,
5439 alloy::sol_types::private::primitives::aliases::U256,
5440 );
5441 #[cfg(test)]
5442 #[allow(dead_code, unreachable_patterns)]
5443 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5444 match _t {
5445 alloy_sol_types::private::AssertTypeEq::<
5446 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5447 >(_) => {}
5448 }
5449 }
5450 #[automatically_derived]
5451 #[doc(hidden)]
5452 impl ::core::convert::From<getStakeAtBlockNumberAndIndexCall> for UnderlyingRustTuple<'_> {
5453 fn from(value: getStakeAtBlockNumberAndIndexCall) -> Self {
5454 (
5455 value.quorumNumber,
5456 value.blockNumber,
5457 value.operatorId,
5458 value.index,
5459 )
5460 }
5461 }
5462 #[automatically_derived]
5463 #[doc(hidden)]
5464 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeAtBlockNumberAndIndexCall {
5465 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5466 Self {
5467 quorumNumber: tuple.0,
5468 blockNumber: tuple.1,
5469 operatorId: tuple.2,
5470 index: tuple.3,
5471 }
5472 }
5473 }
5474 }
5475 {
5476 #[doc(hidden)]
5477 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5478 #[doc(hidden)]
5479 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U96,);
5480 #[cfg(test)]
5481 #[allow(dead_code, unreachable_patterns)]
5482 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5483 match _t {
5484 alloy_sol_types::private::AssertTypeEq::<
5485 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5486 >(_) => {}
5487 }
5488 }
5489 #[automatically_derived]
5490 #[doc(hidden)]
5491 impl ::core::convert::From<getStakeAtBlockNumberAndIndexReturn> for UnderlyingRustTuple<'_> {
5492 fn from(value: getStakeAtBlockNumberAndIndexReturn) -> Self {
5493 (value._0,)
5494 }
5495 }
5496 #[automatically_derived]
5497 #[doc(hidden)]
5498 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeAtBlockNumberAndIndexReturn {
5499 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5500 Self { _0: tuple.0 }
5501 }
5502 }
5503 }
5504 #[automatically_derived]
5505 impl alloy_sol_types::SolCall for getStakeAtBlockNumberAndIndexCall {
5506 type Parameters<'a> = (
5507 alloy::sol_types::sol_data::Uint<8>,
5508 alloy::sol_types::sol_data::Uint<32>,
5509 alloy::sol_types::sol_data::FixedBytes<32>,
5510 alloy::sol_types::sol_data::Uint<256>,
5511 );
5512 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
5513 type Return = alloy::sol_types::private::primitives::aliases::U96;
5514 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
5515 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
5516 const SIGNATURE: &'static str =
5517 "getStakeAtBlockNumberAndIndex(uint8,uint32,bytes32,uint256)";
5518 const SELECTOR: [u8; 4] = [242u8, 190u8, 148u8, 174u8];
5519 #[inline]
5520 fn new<'a>(
5521 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5522 ) -> Self {
5523 tuple.into()
5524 }
5525 #[inline]
5526 fn tokenize(&self) -> Self::Token<'_> {
5527 (
5528 <alloy::sol_types::sol_data::Uint<
5529 8,
5530 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5531 <alloy::sol_types::sol_data::Uint<
5532 32,
5533 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
5534 <alloy::sol_types::sol_data::FixedBytes<
5535 32,
5536 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5537 <alloy::sol_types::sol_data::Uint<
5538 256,
5539 > as alloy_sol_types::SolType>::tokenize(&self.index),
5540 )
5541 }
5542 #[inline]
5543 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5544 (
5545 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
5546 ret,
5547 ),
5548 )
5549 }
5550 #[inline]
5551 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5552 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
5553 |r| {
5554 let r: getStakeAtBlockNumberAndIndexReturn = r.into();
5555 r._0
5556 },
5557 )
5558 }
5559 #[inline]
5560 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5561 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
5562 data,
5563 )
5564 .map(|r| {
5565 let r: getStakeAtBlockNumberAndIndexReturn = r.into();
5566 r._0
5567 })
5568 }
5569 }
5570 };
5571 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5572 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5577 #[derive(Clone)]
5578 pub struct getStakeHistoryCall {
5579 #[allow(missing_docs)]
5580 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5581 #[allow(missing_docs)]
5582 pub quorumNumber: u8,
5583 }
5584 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5585 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5587 #[derive(Clone)]
5588 pub struct getStakeHistoryReturn {
5589 #[allow(missing_docs)]
5590 pub _0: alloy::sol_types::private::Vec<
5591 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
5592 >,
5593 }
5594 #[allow(
5595 non_camel_case_types,
5596 non_snake_case,
5597 clippy::pub_underscore_fields,
5598 clippy::style
5599 )]
5600 const _: () = {
5601 use alloy::sol_types as alloy_sol_types;
5602 {
5603 #[doc(hidden)]
5604 type UnderlyingSolTuple<'a> = (
5605 alloy::sol_types::sol_data::FixedBytes<32>,
5606 alloy::sol_types::sol_data::Uint<8>,
5607 );
5608 #[doc(hidden)]
5609 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>, u8);
5610 #[cfg(test)]
5611 #[allow(dead_code, unreachable_patterns)]
5612 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5613 match _t {
5614 alloy_sol_types::private::AssertTypeEq::<
5615 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5616 >(_) => {}
5617 }
5618 }
5619 #[automatically_derived]
5620 #[doc(hidden)]
5621 impl ::core::convert::From<getStakeHistoryCall> for UnderlyingRustTuple<'_> {
5622 fn from(value: getStakeHistoryCall) -> Self {
5623 (value.operatorId, value.quorumNumber)
5624 }
5625 }
5626 #[automatically_derived]
5627 #[doc(hidden)]
5628 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeHistoryCall {
5629 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5630 Self {
5631 operatorId: tuple.0,
5632 quorumNumber: tuple.1,
5633 }
5634 }
5635 }
5636 }
5637 {
5638 #[doc(hidden)]
5639 type UnderlyingSolTuple<'a> =
5640 (alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StakeUpdate>,);
5641 #[doc(hidden)]
5642 type UnderlyingRustTuple<'a> = (
5643 alloy::sol_types::private::Vec<
5644 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
5645 >,
5646 );
5647 #[cfg(test)]
5648 #[allow(dead_code, unreachable_patterns)]
5649 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5650 match _t {
5651 alloy_sol_types::private::AssertTypeEq::<
5652 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5653 >(_) => {}
5654 }
5655 }
5656 #[automatically_derived]
5657 #[doc(hidden)]
5658 impl ::core::convert::From<getStakeHistoryReturn> for UnderlyingRustTuple<'_> {
5659 fn from(value: getStakeHistoryReturn) -> Self {
5660 (value._0,)
5661 }
5662 }
5663 #[automatically_derived]
5664 #[doc(hidden)]
5665 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeHistoryReturn {
5666 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5667 Self { _0: tuple.0 }
5668 }
5669 }
5670 }
5671 #[automatically_derived]
5672 impl alloy_sol_types::SolCall for getStakeHistoryCall {
5673 type Parameters<'a> = (
5674 alloy::sol_types::sol_data::FixedBytes<32>,
5675 alloy::sol_types::sol_data::Uint<8>,
5676 );
5677 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
5678 type Return = alloy::sol_types::private::Vec<
5679 <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
5680 >;
5681 type ReturnTuple<'a> =
5682 (alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StakeUpdate>,);
5683 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
5684 const SIGNATURE: &'static str = "getStakeHistory(bytes32,uint8)";
5685 const SELECTOR: [u8; 4] = [44u8, 217u8, 89u8, 64u8];
5686 #[inline]
5687 fn new<'a>(
5688 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5689 ) -> Self {
5690 tuple.into()
5691 }
5692 #[inline]
5693 fn tokenize(&self) -> Self::Token<'_> {
5694 (
5695 <alloy::sol_types::sol_data::FixedBytes<
5696 32,
5697 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5698 <alloy::sol_types::sol_data::Uint<
5699 8,
5700 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5701 )
5702 }
5703 #[inline]
5704 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5705 (<alloy::sol_types::sol_data::Array<
5706 IStakeRegistryTypes::StakeUpdate,
5707 > as alloy_sol_types::SolType>::tokenize(ret),)
5708 }
5709 #[inline]
5710 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5711 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
5712 |r| {
5713 let r: getStakeHistoryReturn = r.into();
5714 r._0
5715 },
5716 )
5717 }
5718 #[inline]
5719 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5720 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
5721 data,
5722 )
5723 .map(|r| {
5724 let r: getStakeHistoryReturn = r.into();
5725 r._0
5726 })
5727 }
5728 }
5729 };
5730 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5731 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5736 #[derive(Clone)]
5737 pub struct getStakeHistoryLengthCall {
5738 #[allow(missing_docs)]
5739 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5740 #[allow(missing_docs)]
5741 pub quorumNumber: u8,
5742 }
5743 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5744 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5746 #[derive(Clone)]
5747 pub struct getStakeHistoryLengthReturn {
5748 #[allow(missing_docs)]
5749 pub _0: alloy::sol_types::private::primitives::aliases::U256,
5750 }
5751 #[allow(
5752 non_camel_case_types,
5753 non_snake_case,
5754 clippy::pub_underscore_fields,
5755 clippy::style
5756 )]
5757 const _: () = {
5758 use alloy::sol_types as alloy_sol_types;
5759 {
5760 #[doc(hidden)]
5761 type UnderlyingSolTuple<'a> = (
5762 alloy::sol_types::sol_data::FixedBytes<32>,
5763 alloy::sol_types::sol_data::Uint<8>,
5764 );
5765 #[doc(hidden)]
5766 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>, u8);
5767 #[cfg(test)]
5768 #[allow(dead_code, unreachable_patterns)]
5769 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5770 match _t {
5771 alloy_sol_types::private::AssertTypeEq::<
5772 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5773 >(_) => {}
5774 }
5775 }
5776 #[automatically_derived]
5777 #[doc(hidden)]
5778 impl ::core::convert::From<getStakeHistoryLengthCall> for UnderlyingRustTuple<'_> {
5779 fn from(value: getStakeHistoryLengthCall) -> Self {
5780 (value.operatorId, value.quorumNumber)
5781 }
5782 }
5783 #[automatically_derived]
5784 #[doc(hidden)]
5785 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeHistoryLengthCall {
5786 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5787 Self {
5788 operatorId: tuple.0,
5789 quorumNumber: tuple.1,
5790 }
5791 }
5792 }
5793 }
5794 {
5795 #[doc(hidden)]
5796 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5797 #[doc(hidden)]
5798 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U256,);
5799 #[cfg(test)]
5800 #[allow(dead_code, unreachable_patterns)]
5801 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5802 match _t {
5803 alloy_sol_types::private::AssertTypeEq::<
5804 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5805 >(_) => {}
5806 }
5807 }
5808 #[automatically_derived]
5809 #[doc(hidden)]
5810 impl ::core::convert::From<getStakeHistoryLengthReturn> for UnderlyingRustTuple<'_> {
5811 fn from(value: getStakeHistoryLengthReturn) -> Self {
5812 (value._0,)
5813 }
5814 }
5815 #[automatically_derived]
5816 #[doc(hidden)]
5817 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeHistoryLengthReturn {
5818 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5819 Self { _0: tuple.0 }
5820 }
5821 }
5822 }
5823 #[automatically_derived]
5824 impl alloy_sol_types::SolCall for getStakeHistoryLengthCall {
5825 type Parameters<'a> = (
5826 alloy::sol_types::sol_data::FixedBytes<32>,
5827 alloy::sol_types::sol_data::Uint<8>,
5828 );
5829 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
5830 type Return = alloy::sol_types::private::primitives::aliases::U256;
5831 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5832 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
5833 const SIGNATURE: &'static str = "getStakeHistoryLength(bytes32,uint8)";
5834 const SELECTOR: [u8; 4] = [75u8, 210u8, 110u8, 9u8];
5835 #[inline]
5836 fn new<'a>(
5837 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5838 ) -> Self {
5839 tuple.into()
5840 }
5841 #[inline]
5842 fn tokenize(&self) -> Self::Token<'_> {
5843 (
5844 <alloy::sol_types::sol_data::FixedBytes<
5845 32,
5846 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
5847 <alloy::sol_types::sol_data::Uint<
5848 8,
5849 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
5850 )
5851 }
5852 #[inline]
5853 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5854 (
5855 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
5856 ret,
5857 ),
5858 )
5859 }
5860 #[inline]
5861 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5862 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
5863 |r| {
5864 let r: getStakeHistoryLengthReturn = r.into();
5865 r._0
5866 },
5867 )
5868 }
5869 #[inline]
5870 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5871 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
5872 data,
5873 )
5874 .map(|r| {
5875 let r: getStakeHistoryLengthReturn = r.into();
5876 r._0
5877 })
5878 }
5879 }
5880 };
5881 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5882 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5887 #[derive(Clone)]
5888 pub struct getStakeUpdateAtIndexCall {
5889 #[allow(missing_docs)]
5890 pub quorumNumber: u8,
5891 #[allow(missing_docs)]
5892 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
5893 #[allow(missing_docs)]
5894 pub index: alloy::sol_types::private::primitives::aliases::U256,
5895 }
5896 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
5897 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5899 #[derive(Clone)]
5900 pub struct getStakeUpdateAtIndexReturn {
5901 #[allow(missing_docs)]
5902 pub _0: <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
5903 }
5904 #[allow(
5905 non_camel_case_types,
5906 non_snake_case,
5907 clippy::pub_underscore_fields,
5908 clippy::style
5909 )]
5910 const _: () = {
5911 use alloy::sol_types as alloy_sol_types;
5912 {
5913 #[doc(hidden)]
5914 type UnderlyingSolTuple<'a> = (
5915 alloy::sol_types::sol_data::Uint<8>,
5916 alloy::sol_types::sol_data::FixedBytes<32>,
5917 alloy::sol_types::sol_data::Uint<256>,
5918 );
5919 #[doc(hidden)]
5920 type UnderlyingRustTuple<'a> = (
5921 u8,
5922 alloy::sol_types::private::FixedBytes<32>,
5923 alloy::sol_types::private::primitives::aliases::U256,
5924 );
5925 #[cfg(test)]
5926 #[allow(dead_code, unreachable_patterns)]
5927 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5928 match _t {
5929 alloy_sol_types::private::AssertTypeEq::<
5930 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5931 >(_) => {}
5932 }
5933 }
5934 #[automatically_derived]
5935 #[doc(hidden)]
5936 impl ::core::convert::From<getStakeUpdateAtIndexCall> for UnderlyingRustTuple<'_> {
5937 fn from(value: getStakeUpdateAtIndexCall) -> Self {
5938 (value.quorumNumber, value.operatorId, value.index)
5939 }
5940 }
5941 #[automatically_derived]
5942 #[doc(hidden)]
5943 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeUpdateAtIndexCall {
5944 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5945 Self {
5946 quorumNumber: tuple.0,
5947 operatorId: tuple.1,
5948 index: tuple.2,
5949 }
5950 }
5951 }
5952 }
5953 {
5954 #[doc(hidden)]
5955 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
5956 #[doc(hidden)]
5957 type UnderlyingRustTuple<'a> =
5958 (<IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,);
5959 #[cfg(test)]
5960 #[allow(dead_code, unreachable_patterns)]
5961 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
5962 match _t {
5963 alloy_sol_types::private::AssertTypeEq::<
5964 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5965 >(_) => {}
5966 }
5967 }
5968 #[automatically_derived]
5969 #[doc(hidden)]
5970 impl ::core::convert::From<getStakeUpdateAtIndexReturn> for UnderlyingRustTuple<'_> {
5971 fn from(value: getStakeUpdateAtIndexReturn) -> Self {
5972 (value._0,)
5973 }
5974 }
5975 #[automatically_derived]
5976 #[doc(hidden)]
5977 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeUpdateAtIndexReturn {
5978 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5979 Self { _0: tuple.0 }
5980 }
5981 }
5982 }
5983 #[automatically_derived]
5984 impl alloy_sol_types::SolCall for getStakeUpdateAtIndexCall {
5985 type Parameters<'a> = (
5986 alloy::sol_types::sol_data::Uint<8>,
5987 alloy::sol_types::sol_data::FixedBytes<32>,
5988 alloy::sol_types::sol_data::Uint<256>,
5989 );
5990 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
5991 type Return = <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType;
5992 type ReturnTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
5993 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
5994 const SIGNATURE: &'static str = "getStakeUpdateAtIndex(uint8,bytes32,uint256)";
5995 const SELECTOR: [u8; 4] = [172u8, 107u8, 251u8, 3u8];
5996 #[inline]
5997 fn new<'a>(
5998 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5999 ) -> Self {
6000 tuple.into()
6001 }
6002 #[inline]
6003 fn tokenize(&self) -> Self::Token<'_> {
6004 (
6005 <alloy::sol_types::sol_data::Uint<
6006 8,
6007 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
6008 <alloy::sol_types::sol_data::FixedBytes<
6009 32,
6010 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
6011 <alloy::sol_types::sol_data::Uint<
6012 256,
6013 > as alloy_sol_types::SolType>::tokenize(&self.index),
6014 )
6015 }
6016 #[inline]
6017 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6018 (<IStakeRegistryTypes::StakeUpdate as alloy_sol_types::SolType>::tokenize(ret),)
6019 }
6020 #[inline]
6021 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6022 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
6023 |r| {
6024 let r: getStakeUpdateAtIndexReturn = r.into();
6025 r._0
6026 },
6027 )
6028 }
6029 #[inline]
6030 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6031 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
6032 data,
6033 )
6034 .map(|r| {
6035 let r: getStakeUpdateAtIndexReturn = r.into();
6036 r._0
6037 })
6038 }
6039 }
6040 };
6041 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6042 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6047 #[derive(Clone)]
6048 pub struct getStakeUpdateIndexAtBlockNumberCall {
6049 #[allow(missing_docs)]
6050 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
6051 #[allow(missing_docs)]
6052 pub quorumNumber: u8,
6053 #[allow(missing_docs)]
6054 pub blockNumber: u32,
6055 }
6056 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6057 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6059 #[derive(Clone)]
6060 pub struct getStakeUpdateIndexAtBlockNumberReturn {
6061 #[allow(missing_docs)]
6062 pub _0: u32,
6063 }
6064 #[allow(
6065 non_camel_case_types,
6066 non_snake_case,
6067 clippy::pub_underscore_fields,
6068 clippy::style
6069 )]
6070 const _: () = {
6071 use alloy::sol_types as alloy_sol_types;
6072 {
6073 #[doc(hidden)]
6074 type UnderlyingSolTuple<'a> = (
6075 alloy::sol_types::sol_data::FixedBytes<32>,
6076 alloy::sol_types::sol_data::Uint<8>,
6077 alloy::sol_types::sol_data::Uint<32>,
6078 );
6079 #[doc(hidden)]
6080 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>, u8, u32);
6081 #[cfg(test)]
6082 #[allow(dead_code, unreachable_patterns)]
6083 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6084 match _t {
6085 alloy_sol_types::private::AssertTypeEq::<
6086 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6087 >(_) => {}
6088 }
6089 }
6090 #[automatically_derived]
6091 #[doc(hidden)]
6092 impl ::core::convert::From<getStakeUpdateIndexAtBlockNumberCall> for UnderlyingRustTuple<'_> {
6093 fn from(value: getStakeUpdateIndexAtBlockNumberCall) -> Self {
6094 (value.operatorId, value.quorumNumber, value.blockNumber)
6095 }
6096 }
6097 #[automatically_derived]
6098 #[doc(hidden)]
6099 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeUpdateIndexAtBlockNumberCall {
6100 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6101 Self {
6102 operatorId: tuple.0,
6103 quorumNumber: tuple.1,
6104 blockNumber: tuple.2,
6105 }
6106 }
6107 }
6108 }
6109 {
6110 #[doc(hidden)]
6111 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<32>,);
6112 #[doc(hidden)]
6113 type UnderlyingRustTuple<'a> = (u32,);
6114 #[cfg(test)]
6115 #[allow(dead_code, unreachable_patterns)]
6116 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6117 match _t {
6118 alloy_sol_types::private::AssertTypeEq::<
6119 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6120 >(_) => {}
6121 }
6122 }
6123 #[automatically_derived]
6124 #[doc(hidden)]
6125 impl ::core::convert::From<getStakeUpdateIndexAtBlockNumberReturn> for UnderlyingRustTuple<'_> {
6126 fn from(value: getStakeUpdateIndexAtBlockNumberReturn) -> Self {
6127 (value._0,)
6128 }
6129 }
6130 #[automatically_derived]
6131 #[doc(hidden)]
6132 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getStakeUpdateIndexAtBlockNumberReturn {
6133 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6134 Self { _0: tuple.0 }
6135 }
6136 }
6137 }
6138 #[automatically_derived]
6139 impl alloy_sol_types::SolCall for getStakeUpdateIndexAtBlockNumberCall {
6140 type Parameters<'a> = (
6141 alloy::sol_types::sol_data::FixedBytes<32>,
6142 alloy::sol_types::sol_data::Uint<8>,
6143 alloy::sol_types::sol_data::Uint<32>,
6144 );
6145 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
6146 type Return = u32;
6147 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<32>,);
6148 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
6149 const SIGNATURE: &'static str =
6150 "getStakeUpdateIndexAtBlockNumber(bytes32,uint8,uint32)";
6151 const SELECTOR: [u8; 4] = [221u8, 152u8, 70u8, 185u8];
6152 #[inline]
6153 fn new<'a>(
6154 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6155 ) -> Self {
6156 tuple.into()
6157 }
6158 #[inline]
6159 fn tokenize(&self) -> Self::Token<'_> {
6160 (
6161 <alloy::sol_types::sol_data::FixedBytes<
6162 32,
6163 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
6164 <alloy::sol_types::sol_data::Uint<
6165 8,
6166 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
6167 <alloy::sol_types::sol_data::Uint<
6168 32,
6169 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
6170 )
6171 }
6172 #[inline]
6173 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6174 (
6175 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
6176 ret,
6177 ),
6178 )
6179 }
6180 #[inline]
6181 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6182 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
6183 |r| {
6184 let r: getStakeUpdateIndexAtBlockNumberReturn = r.into();
6185 r._0
6186 },
6187 )
6188 }
6189 #[inline]
6190 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6191 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
6192 data,
6193 )
6194 .map(|r| {
6195 let r: getStakeUpdateIndexAtBlockNumberReturn = r.into();
6196 r._0
6197 })
6198 }
6199 }
6200 };
6201 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6202 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6207 #[derive(Clone)]
6208 pub struct getTotalStakeAtBlockNumberFromIndexCall {
6209 #[allow(missing_docs)]
6210 pub quorumNumber: u8,
6211 #[allow(missing_docs)]
6212 pub blockNumber: u32,
6213 #[allow(missing_docs)]
6214 pub index: alloy::sol_types::private::primitives::aliases::U256,
6215 }
6216 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6217 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6219 #[derive(Clone)]
6220 pub struct getTotalStakeAtBlockNumberFromIndexReturn {
6221 #[allow(missing_docs)]
6222 pub _0: alloy::sol_types::private::primitives::aliases::U96,
6223 }
6224 #[allow(
6225 non_camel_case_types,
6226 non_snake_case,
6227 clippy::pub_underscore_fields,
6228 clippy::style
6229 )]
6230 const _: () = {
6231 use alloy::sol_types as alloy_sol_types;
6232 {
6233 #[doc(hidden)]
6234 type UnderlyingSolTuple<'a> = (
6235 alloy::sol_types::sol_data::Uint<8>,
6236 alloy::sol_types::sol_data::Uint<32>,
6237 alloy::sol_types::sol_data::Uint<256>,
6238 );
6239 #[doc(hidden)]
6240 type UnderlyingRustTuple<'a> = (
6241 u8,
6242 u32,
6243 alloy::sol_types::private::primitives::aliases::U256,
6244 );
6245 #[cfg(test)]
6246 #[allow(dead_code, unreachable_patterns)]
6247 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6248 match _t {
6249 alloy_sol_types::private::AssertTypeEq::<
6250 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6251 >(_) => {}
6252 }
6253 }
6254 #[automatically_derived]
6255 #[doc(hidden)]
6256 impl ::core::convert::From<getTotalStakeAtBlockNumberFromIndexCall> for UnderlyingRustTuple<'_> {
6257 fn from(value: getTotalStakeAtBlockNumberFromIndexCall) -> Self {
6258 (value.quorumNumber, value.blockNumber, value.index)
6259 }
6260 }
6261 #[automatically_derived]
6262 #[doc(hidden)]
6263 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTotalStakeAtBlockNumberFromIndexCall {
6264 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6265 Self {
6266 quorumNumber: tuple.0,
6267 blockNumber: tuple.1,
6268 index: tuple.2,
6269 }
6270 }
6271 }
6272 }
6273 {
6274 #[doc(hidden)]
6275 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
6276 #[doc(hidden)]
6277 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U96,);
6278 #[cfg(test)]
6279 #[allow(dead_code, unreachable_patterns)]
6280 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6281 match _t {
6282 alloy_sol_types::private::AssertTypeEq::<
6283 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6284 >(_) => {}
6285 }
6286 }
6287 #[automatically_derived]
6288 #[doc(hidden)]
6289 impl ::core::convert::From<getTotalStakeAtBlockNumberFromIndexReturn> for UnderlyingRustTuple<'_> {
6290 fn from(value: getTotalStakeAtBlockNumberFromIndexReturn) -> Self {
6291 (value._0,)
6292 }
6293 }
6294 #[automatically_derived]
6295 #[doc(hidden)]
6296 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTotalStakeAtBlockNumberFromIndexReturn {
6297 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6298 Self { _0: tuple.0 }
6299 }
6300 }
6301 }
6302 #[automatically_derived]
6303 impl alloy_sol_types::SolCall for getTotalStakeAtBlockNumberFromIndexCall {
6304 type Parameters<'a> = (
6305 alloy::sol_types::sol_data::Uint<8>,
6306 alloy::sol_types::sol_data::Uint<32>,
6307 alloy::sol_types::sol_data::Uint<256>,
6308 );
6309 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
6310 type Return = alloy::sol_types::private::primitives::aliases::U96;
6311 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
6312 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
6313 const SIGNATURE: &'static str =
6314 "getTotalStakeAtBlockNumberFromIndex(uint8,uint32,uint256)";
6315 const SELECTOR: [u8; 4] = [200u8, 41u8, 76u8, 86u8];
6316 #[inline]
6317 fn new<'a>(
6318 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6319 ) -> Self {
6320 tuple.into()
6321 }
6322 #[inline]
6323 fn tokenize(&self) -> Self::Token<'_> {
6324 (
6325 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
6326 &self.quorumNumber,
6327 ),
6328 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
6329 &self.blockNumber,
6330 ),
6331 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
6332 &self.index,
6333 ),
6334 )
6335 }
6336 #[inline]
6337 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6338 (
6339 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
6340 ret,
6341 ),
6342 )
6343 }
6344 #[inline]
6345 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6346 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
6347 |r| {
6348 let r: getTotalStakeAtBlockNumberFromIndexReturn = r.into();
6349 r._0
6350 },
6351 )
6352 }
6353 #[inline]
6354 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6355 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
6356 data,
6357 )
6358 .map(|r| {
6359 let r: getTotalStakeAtBlockNumberFromIndexReturn = r.into();
6360 r._0
6361 })
6362 }
6363 }
6364 };
6365 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6366 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6371 #[derive(Clone)]
6372 pub struct getTotalStakeHistoryLengthCall {
6373 #[allow(missing_docs)]
6374 pub quorumNumber: u8,
6375 }
6376 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6377 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6379 #[derive(Clone)]
6380 pub struct getTotalStakeHistoryLengthReturn {
6381 #[allow(missing_docs)]
6382 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6383 }
6384 #[allow(
6385 non_camel_case_types,
6386 non_snake_case,
6387 clippy::pub_underscore_fields,
6388 clippy::style
6389 )]
6390 const _: () = {
6391 use alloy::sol_types as alloy_sol_types;
6392 {
6393 #[doc(hidden)]
6394 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
6395 #[doc(hidden)]
6396 type UnderlyingRustTuple<'a> = (u8,);
6397 #[cfg(test)]
6398 #[allow(dead_code, unreachable_patterns)]
6399 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6400 match _t {
6401 alloy_sol_types::private::AssertTypeEq::<
6402 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6403 >(_) => {}
6404 }
6405 }
6406 #[automatically_derived]
6407 #[doc(hidden)]
6408 impl ::core::convert::From<getTotalStakeHistoryLengthCall> for UnderlyingRustTuple<'_> {
6409 fn from(value: getTotalStakeHistoryLengthCall) -> Self {
6410 (value.quorumNumber,)
6411 }
6412 }
6413 #[automatically_derived]
6414 #[doc(hidden)]
6415 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTotalStakeHistoryLengthCall {
6416 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6417 Self {
6418 quorumNumber: tuple.0,
6419 }
6420 }
6421 }
6422 }
6423 {
6424 #[doc(hidden)]
6425 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6426 #[doc(hidden)]
6427 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U256,);
6428 #[cfg(test)]
6429 #[allow(dead_code, unreachable_patterns)]
6430 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6431 match _t {
6432 alloy_sol_types::private::AssertTypeEq::<
6433 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6434 >(_) => {}
6435 }
6436 }
6437 #[automatically_derived]
6438 #[doc(hidden)]
6439 impl ::core::convert::From<getTotalStakeHistoryLengthReturn> for UnderlyingRustTuple<'_> {
6440 fn from(value: getTotalStakeHistoryLengthReturn) -> Self {
6441 (value._0,)
6442 }
6443 }
6444 #[automatically_derived]
6445 #[doc(hidden)]
6446 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTotalStakeHistoryLengthReturn {
6447 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6448 Self { _0: tuple.0 }
6449 }
6450 }
6451 }
6452 #[automatically_derived]
6453 impl alloy_sol_types::SolCall for getTotalStakeHistoryLengthCall {
6454 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
6455 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
6456 type Return = alloy::sol_types::private::primitives::aliases::U256;
6457 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6458 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
6459 const SIGNATURE: &'static str = "getTotalStakeHistoryLength(uint8)";
6460 const SELECTOR: [u8; 4] = [4u8, 145u8, 180u8, 28u8];
6461 #[inline]
6462 fn new<'a>(
6463 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6464 ) -> Self {
6465 tuple.into()
6466 }
6467 #[inline]
6468 fn tokenize(&self) -> Self::Token<'_> {
6469 (
6470 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
6471 &self.quorumNumber,
6472 ),
6473 )
6474 }
6475 #[inline]
6476 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6477 (
6478 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
6479 ret,
6480 ),
6481 )
6482 }
6483 #[inline]
6484 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6485 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
6486 |r| {
6487 let r: getTotalStakeHistoryLengthReturn = r.into();
6488 r._0
6489 },
6490 )
6491 }
6492 #[inline]
6493 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6494 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
6495 data,
6496 )
6497 .map(|r| {
6498 let r: getTotalStakeHistoryLengthReturn = r.into();
6499 r._0
6500 })
6501 }
6502 }
6503 };
6504 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6505 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6510 #[derive(Clone)]
6511 pub struct getTotalStakeIndicesAtBlockNumberCall {
6512 #[allow(missing_docs)]
6513 pub blockNumber: u32,
6514 #[allow(missing_docs)]
6515 pub quorumNumbers: alloy::sol_types::private::Bytes,
6516 }
6517 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6518 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6520 #[derive(Clone)]
6521 pub struct getTotalStakeIndicesAtBlockNumberReturn {
6522 #[allow(missing_docs)]
6523 pub _0: alloy::sol_types::private::Vec<u32>,
6524 }
6525 #[allow(
6526 non_camel_case_types,
6527 non_snake_case,
6528 clippy::pub_underscore_fields,
6529 clippy::style
6530 )]
6531 const _: () = {
6532 use alloy::sol_types as alloy_sol_types;
6533 {
6534 #[doc(hidden)]
6535 type UnderlyingSolTuple<'a> = (
6536 alloy::sol_types::sol_data::Uint<32>,
6537 alloy::sol_types::sol_data::Bytes,
6538 );
6539 #[doc(hidden)]
6540 type UnderlyingRustTuple<'a> = (u32, alloy::sol_types::private::Bytes);
6541 #[cfg(test)]
6542 #[allow(dead_code, unreachable_patterns)]
6543 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6544 match _t {
6545 alloy_sol_types::private::AssertTypeEq::<
6546 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6547 >(_) => {}
6548 }
6549 }
6550 #[automatically_derived]
6551 #[doc(hidden)]
6552 impl ::core::convert::From<getTotalStakeIndicesAtBlockNumberCall> for UnderlyingRustTuple<'_> {
6553 fn from(value: getTotalStakeIndicesAtBlockNumberCall) -> Self {
6554 (value.blockNumber, value.quorumNumbers)
6555 }
6556 }
6557 #[automatically_derived]
6558 #[doc(hidden)]
6559 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTotalStakeIndicesAtBlockNumberCall {
6560 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6561 Self {
6562 blockNumber: tuple.0,
6563 quorumNumbers: tuple.1,
6564 }
6565 }
6566 }
6567 }
6568 {
6569 #[doc(hidden)]
6570 type UnderlyingSolTuple<'a> =
6571 (alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<32>>,);
6572 #[doc(hidden)]
6573 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Vec<u32>,);
6574 #[cfg(test)]
6575 #[allow(dead_code, unreachable_patterns)]
6576 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6577 match _t {
6578 alloy_sol_types::private::AssertTypeEq::<
6579 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6580 >(_) => {}
6581 }
6582 }
6583 #[automatically_derived]
6584 #[doc(hidden)]
6585 impl ::core::convert::From<getTotalStakeIndicesAtBlockNumberReturn> for UnderlyingRustTuple<'_> {
6586 fn from(value: getTotalStakeIndicesAtBlockNumberReturn) -> Self {
6587 (value._0,)
6588 }
6589 }
6590 #[automatically_derived]
6591 #[doc(hidden)]
6592 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTotalStakeIndicesAtBlockNumberReturn {
6593 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6594 Self { _0: tuple.0 }
6595 }
6596 }
6597 }
6598 #[automatically_derived]
6599 impl alloy_sol_types::SolCall for getTotalStakeIndicesAtBlockNumberCall {
6600 type Parameters<'a> = (
6601 alloy::sol_types::sol_data::Uint<32>,
6602 alloy::sol_types::sol_data::Bytes,
6603 );
6604 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
6605 type Return = alloy::sol_types::private::Vec<u32>;
6606 type ReturnTuple<'a> =
6607 (alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<32>>,);
6608 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
6609 const SIGNATURE: &'static str = "getTotalStakeIndicesAtBlockNumber(uint32,bytes)";
6610 const SELECTOR: [u8; 4] = [129u8, 192u8, 117u8, 2u8];
6611 #[inline]
6612 fn new<'a>(
6613 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6614 ) -> Self {
6615 tuple.into()
6616 }
6617 #[inline]
6618 fn tokenize(&self) -> Self::Token<'_> {
6619 (
6620 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
6621 &self.blockNumber,
6622 ),
6623 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
6624 &self.quorumNumbers,
6625 ),
6626 )
6627 }
6628 #[inline]
6629 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6630 (<alloy::sol_types::sol_data::Array<
6631 alloy::sol_types::sol_data::Uint<32>,
6632 > as alloy_sol_types::SolType>::tokenize(ret),)
6633 }
6634 #[inline]
6635 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6636 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
6637 |r| {
6638 let r: getTotalStakeIndicesAtBlockNumberReturn = r.into();
6639 r._0
6640 },
6641 )
6642 }
6643 #[inline]
6644 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6645 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
6646 data,
6647 )
6648 .map(|r| {
6649 let r: getTotalStakeIndicesAtBlockNumberReturn = r.into();
6650 r._0
6651 })
6652 }
6653 }
6654 };
6655 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6656 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6661 #[derive(Clone)]
6662 pub struct getTotalStakeUpdateAtIndexCall {
6663 #[allow(missing_docs)]
6664 pub quorumNumber: u8,
6665 #[allow(missing_docs)]
6666 pub index: alloy::sol_types::private::primitives::aliases::U256,
6667 }
6668 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6669 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6671 #[derive(Clone)]
6672 pub struct getTotalStakeUpdateAtIndexReturn {
6673 #[allow(missing_docs)]
6674 pub _0: <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,
6675 }
6676 #[allow(
6677 non_camel_case_types,
6678 non_snake_case,
6679 clippy::pub_underscore_fields,
6680 clippy::style
6681 )]
6682 const _: () = {
6683 use alloy::sol_types as alloy_sol_types;
6684 {
6685 #[doc(hidden)]
6686 type UnderlyingSolTuple<'a> = (
6687 alloy::sol_types::sol_data::Uint<8>,
6688 alloy::sol_types::sol_data::Uint<256>,
6689 );
6690 #[doc(hidden)]
6691 type UnderlyingRustTuple<'a> =
6692 (u8, alloy::sol_types::private::primitives::aliases::U256);
6693 #[cfg(test)]
6694 #[allow(dead_code, unreachable_patterns)]
6695 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6696 match _t {
6697 alloy_sol_types::private::AssertTypeEq::<
6698 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6699 >(_) => {}
6700 }
6701 }
6702 #[automatically_derived]
6703 #[doc(hidden)]
6704 impl ::core::convert::From<getTotalStakeUpdateAtIndexCall> for UnderlyingRustTuple<'_> {
6705 fn from(value: getTotalStakeUpdateAtIndexCall) -> Self {
6706 (value.quorumNumber, value.index)
6707 }
6708 }
6709 #[automatically_derived]
6710 #[doc(hidden)]
6711 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTotalStakeUpdateAtIndexCall {
6712 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6713 Self {
6714 quorumNumber: tuple.0,
6715 index: tuple.1,
6716 }
6717 }
6718 }
6719 }
6720 {
6721 #[doc(hidden)]
6722 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
6723 #[doc(hidden)]
6724 type UnderlyingRustTuple<'a> =
6725 (<IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType,);
6726 #[cfg(test)]
6727 #[allow(dead_code, unreachable_patterns)]
6728 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6729 match _t {
6730 alloy_sol_types::private::AssertTypeEq::<
6731 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6732 >(_) => {}
6733 }
6734 }
6735 #[automatically_derived]
6736 #[doc(hidden)]
6737 impl ::core::convert::From<getTotalStakeUpdateAtIndexReturn> for UnderlyingRustTuple<'_> {
6738 fn from(value: getTotalStakeUpdateAtIndexReturn) -> Self {
6739 (value._0,)
6740 }
6741 }
6742 #[automatically_derived]
6743 #[doc(hidden)]
6744 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTotalStakeUpdateAtIndexReturn {
6745 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6746 Self { _0: tuple.0 }
6747 }
6748 }
6749 }
6750 #[automatically_derived]
6751 impl alloy_sol_types::SolCall for getTotalStakeUpdateAtIndexCall {
6752 type Parameters<'a> = (
6753 alloy::sol_types::sol_data::Uint<8>,
6754 alloy::sol_types::sol_data::Uint<256>,
6755 );
6756 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
6757 type Return = <IStakeRegistryTypes::StakeUpdate as alloy::sol_types::SolType>::RustType;
6758 type ReturnTuple<'a> = (IStakeRegistryTypes::StakeUpdate,);
6759 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
6760 const SIGNATURE: &'static str = "getTotalStakeUpdateAtIndex(uint8,uint256)";
6761 const SELECTOR: [u8; 4] = [182u8, 144u8, 75u8, 120u8];
6762 #[inline]
6763 fn new<'a>(
6764 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6765 ) -> Self {
6766 tuple.into()
6767 }
6768 #[inline]
6769 fn tokenize(&self) -> Self::Token<'_> {
6770 (
6771 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
6772 &self.quorumNumber,
6773 ),
6774 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
6775 &self.index,
6776 ),
6777 )
6778 }
6779 #[inline]
6780 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6781 (<IStakeRegistryTypes::StakeUpdate as alloy_sol_types::SolType>::tokenize(ret),)
6782 }
6783 #[inline]
6784 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6785 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
6786 |r| {
6787 let r: getTotalStakeUpdateAtIndexReturn = r.into();
6788 r._0
6789 },
6790 )
6791 }
6792 #[inline]
6793 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6794 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
6795 data,
6796 )
6797 .map(|r| {
6798 let r: getTotalStakeUpdateAtIndexReturn = r.into();
6799 r._0
6800 })
6801 }
6802 }
6803 };
6804 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6805 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6810 #[derive(Clone)]
6811 pub struct initializeDelegatedStakeQuorumCall {
6812 #[allow(missing_docs)]
6813 pub quorumNumber: u8,
6814 #[allow(missing_docs)]
6815 pub minimumStake: alloy::sol_types::private::primitives::aliases::U96,
6816 #[allow(missing_docs)]
6817 pub _strategyParams: alloy::sol_types::private::Vec<
6818 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
6819 >,
6820 }
6821 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6823 #[derive(Clone)]
6824 pub struct initializeDelegatedStakeQuorumReturn {}
6825 #[allow(
6826 non_camel_case_types,
6827 non_snake_case,
6828 clippy::pub_underscore_fields,
6829 clippy::style
6830 )]
6831 const _: () = {
6832 use alloy::sol_types as alloy_sol_types;
6833 {
6834 #[doc(hidden)]
6835 type UnderlyingSolTuple<'a> = (
6836 alloy::sol_types::sol_data::Uint<8>,
6837 alloy::sol_types::sol_data::Uint<96>,
6838 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
6839 );
6840 #[doc(hidden)]
6841 type UnderlyingRustTuple<'a> = (
6842 u8,
6843 alloy::sol_types::private::primitives::aliases::U96,
6844 alloy::sol_types::private::Vec<
6845 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
6846 >,
6847 );
6848 #[cfg(test)]
6849 #[allow(dead_code, unreachable_patterns)]
6850 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6851 match _t {
6852 alloy_sol_types::private::AssertTypeEq::<
6853 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6854 >(_) => {}
6855 }
6856 }
6857 #[automatically_derived]
6858 #[doc(hidden)]
6859 impl ::core::convert::From<initializeDelegatedStakeQuorumCall> for UnderlyingRustTuple<'_> {
6860 fn from(value: initializeDelegatedStakeQuorumCall) -> Self {
6861 (
6862 value.quorumNumber,
6863 value.minimumStake,
6864 value._strategyParams,
6865 )
6866 }
6867 }
6868 #[automatically_derived]
6869 #[doc(hidden)]
6870 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeDelegatedStakeQuorumCall {
6871 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6872 Self {
6873 quorumNumber: tuple.0,
6874 minimumStake: tuple.1,
6875 _strategyParams: tuple.2,
6876 }
6877 }
6878 }
6879 }
6880 {
6881 #[doc(hidden)]
6882 type UnderlyingSolTuple<'a> = ();
6883 #[doc(hidden)]
6884 type UnderlyingRustTuple<'a> = ();
6885 #[cfg(test)]
6886 #[allow(dead_code, unreachable_patterns)]
6887 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
6888 match _t {
6889 alloy_sol_types::private::AssertTypeEq::<
6890 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6891 >(_) => {}
6892 }
6893 }
6894 #[automatically_derived]
6895 #[doc(hidden)]
6896 impl ::core::convert::From<initializeDelegatedStakeQuorumReturn> for UnderlyingRustTuple<'_> {
6897 fn from(value: initializeDelegatedStakeQuorumReturn) -> Self {
6898 ()
6899 }
6900 }
6901 #[automatically_derived]
6902 #[doc(hidden)]
6903 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeDelegatedStakeQuorumReturn {
6904 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6905 Self {}
6906 }
6907 }
6908 }
6909 impl initializeDelegatedStakeQuorumReturn {
6910 fn _tokenize(
6911 &self,
6912 ) -> <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::ReturnToken<'_>
6913 {
6914 ()
6915 }
6916 }
6917 #[automatically_derived]
6918 impl alloy_sol_types::SolCall for initializeDelegatedStakeQuorumCall {
6919 type Parameters<'a> = (
6920 alloy::sol_types::sol_data::Uint<8>,
6921 alloy::sol_types::sol_data::Uint<96>,
6922 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
6923 );
6924 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
6925 type Return = initializeDelegatedStakeQuorumReturn;
6926 type ReturnTuple<'a> = ();
6927 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
6928 const SIGNATURE: &'static str =
6929 "initializeDelegatedStakeQuorum(uint8,uint96,(address,uint96)[])";
6930 const SELECTOR: [u8; 4] = [117u8, 212u8, 23u8, 58u8];
6931 #[inline]
6932 fn new<'a>(
6933 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6934 ) -> Self {
6935 tuple.into()
6936 }
6937 #[inline]
6938 fn tokenize(&self) -> Self::Token<'_> {
6939 (
6940 <alloy::sol_types::sol_data::Uint<
6941 8,
6942 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
6943 <alloy::sol_types::sol_data::Uint<
6944 96,
6945 > as alloy_sol_types::SolType>::tokenize(&self.minimumStake),
6946 <alloy::sol_types::sol_data::Array<
6947 IStakeRegistryTypes::StrategyParams,
6948 > as alloy_sol_types::SolType>::tokenize(&self._strategyParams),
6949 )
6950 }
6951 #[inline]
6952 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6953 initializeDelegatedStakeQuorumReturn::_tokenize(ret)
6954 }
6955 #[inline]
6956 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6957 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
6958 .map(Into::into)
6959 }
6960 #[inline]
6961 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6962 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
6963 data,
6964 )
6965 .map(Into::into)
6966 }
6967 }
6968 };
6969 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
6970 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6975 #[derive(Clone)]
6976 pub struct initializeSlashableStakeQuorumCall {
6977 #[allow(missing_docs)]
6978 pub quorumNumber: u8,
6979 #[allow(missing_docs)]
6980 pub minimumStake: alloy::sol_types::private::primitives::aliases::U96,
6981 #[allow(missing_docs)]
6982 pub lookAheadPeriod: u32,
6983 #[allow(missing_docs)]
6984 pub _strategyParams: alloy::sol_types::private::Vec<
6985 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
6986 >,
6987 }
6988 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6990 #[derive(Clone)]
6991 pub struct initializeSlashableStakeQuorumReturn {}
6992 #[allow(
6993 non_camel_case_types,
6994 non_snake_case,
6995 clippy::pub_underscore_fields,
6996 clippy::style
6997 )]
6998 const _: () = {
6999 use alloy::sol_types as alloy_sol_types;
7000 {
7001 #[doc(hidden)]
7002 type UnderlyingSolTuple<'a> = (
7003 alloy::sol_types::sol_data::Uint<8>,
7004 alloy::sol_types::sol_data::Uint<96>,
7005 alloy::sol_types::sol_data::Uint<32>,
7006 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
7007 );
7008 #[doc(hidden)]
7009 type UnderlyingRustTuple<'a> = (
7010 u8,
7011 alloy::sol_types::private::primitives::aliases::U96,
7012 u32,
7013 alloy::sol_types::private::Vec<
7014 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
7015 >,
7016 );
7017 #[cfg(test)]
7018 #[allow(dead_code, unreachable_patterns)]
7019 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7020 match _t {
7021 alloy_sol_types::private::AssertTypeEq::<
7022 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7023 >(_) => {}
7024 }
7025 }
7026 #[automatically_derived]
7027 #[doc(hidden)]
7028 impl ::core::convert::From<initializeSlashableStakeQuorumCall> for UnderlyingRustTuple<'_> {
7029 fn from(value: initializeSlashableStakeQuorumCall) -> Self {
7030 (
7031 value.quorumNumber,
7032 value.minimumStake,
7033 value.lookAheadPeriod,
7034 value._strategyParams,
7035 )
7036 }
7037 }
7038 #[automatically_derived]
7039 #[doc(hidden)]
7040 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeSlashableStakeQuorumCall {
7041 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7042 Self {
7043 quorumNumber: tuple.0,
7044 minimumStake: tuple.1,
7045 lookAheadPeriod: tuple.2,
7046 _strategyParams: tuple.3,
7047 }
7048 }
7049 }
7050 }
7051 {
7052 #[doc(hidden)]
7053 type UnderlyingSolTuple<'a> = ();
7054 #[doc(hidden)]
7055 type UnderlyingRustTuple<'a> = ();
7056 #[cfg(test)]
7057 #[allow(dead_code, unreachable_patterns)]
7058 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7059 match _t {
7060 alloy_sol_types::private::AssertTypeEq::<
7061 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7062 >(_) => {}
7063 }
7064 }
7065 #[automatically_derived]
7066 #[doc(hidden)]
7067 impl ::core::convert::From<initializeSlashableStakeQuorumReturn> for UnderlyingRustTuple<'_> {
7068 fn from(value: initializeSlashableStakeQuorumReturn) -> Self {
7069 ()
7070 }
7071 }
7072 #[automatically_derived]
7073 #[doc(hidden)]
7074 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeSlashableStakeQuorumReturn {
7075 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7076 Self {}
7077 }
7078 }
7079 }
7080 impl initializeSlashableStakeQuorumReturn {
7081 fn _tokenize(
7082 &self,
7083 ) -> <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::ReturnToken<'_>
7084 {
7085 ()
7086 }
7087 }
7088 #[automatically_derived]
7089 impl alloy_sol_types::SolCall for initializeSlashableStakeQuorumCall {
7090 type Parameters<'a> = (
7091 alloy::sol_types::sol_data::Uint<8>,
7092 alloy::sol_types::sol_data::Uint<96>,
7093 alloy::sol_types::sol_data::Uint<32>,
7094 alloy::sol_types::sol_data::Array<IStakeRegistryTypes::StrategyParams>,
7095 );
7096 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
7097 type Return = initializeSlashableStakeQuorumReturn;
7098 type ReturnTuple<'a> = ();
7099 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
7100 const SIGNATURE: &'static str =
7101 "initializeSlashableStakeQuorum(uint8,uint96,uint32,(address,uint96)[])";
7102 const SELECTOR: [u8; 4] = [204u8, 90u8, 124u8, 32u8];
7103 #[inline]
7104 fn new<'a>(
7105 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7106 ) -> Self {
7107 tuple.into()
7108 }
7109 #[inline]
7110 fn tokenize(&self) -> Self::Token<'_> {
7111 (
7112 <alloy::sol_types::sol_data::Uint<
7113 8,
7114 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
7115 <alloy::sol_types::sol_data::Uint<
7116 96,
7117 > as alloy_sol_types::SolType>::tokenize(&self.minimumStake),
7118 <alloy::sol_types::sol_data::Uint<
7119 32,
7120 > as alloy_sol_types::SolType>::tokenize(&self.lookAheadPeriod),
7121 <alloy::sol_types::sol_data::Array<
7122 IStakeRegistryTypes::StrategyParams,
7123 > as alloy_sol_types::SolType>::tokenize(&self._strategyParams),
7124 )
7125 }
7126 #[inline]
7127 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7128 initializeSlashableStakeQuorumReturn::_tokenize(ret)
7129 }
7130 #[inline]
7131 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7132 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
7133 .map(Into::into)
7134 }
7135 #[inline]
7136 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7137 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
7138 data,
7139 )
7140 .map(Into::into)
7141 }
7142 }
7143 };
7144 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7145 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7150 #[derive(Clone)]
7151 pub struct minimumStakeForQuorumCall(pub u8);
7152 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7153 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7155 #[derive(Clone)]
7156 pub struct minimumStakeForQuorumReturn {
7157 #[allow(missing_docs)]
7158 pub _0: alloy::sol_types::private::primitives::aliases::U96,
7159 }
7160 #[allow(
7161 non_camel_case_types,
7162 non_snake_case,
7163 clippy::pub_underscore_fields,
7164 clippy::style
7165 )]
7166 const _: () = {
7167 use alloy::sol_types as alloy_sol_types;
7168 {
7169 #[doc(hidden)]
7170 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
7171 #[doc(hidden)]
7172 type UnderlyingRustTuple<'a> = (u8,);
7173 #[cfg(test)]
7174 #[allow(dead_code, unreachable_patterns)]
7175 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7176 match _t {
7177 alloy_sol_types::private::AssertTypeEq::<
7178 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7179 >(_) => {}
7180 }
7181 }
7182 #[automatically_derived]
7183 #[doc(hidden)]
7184 impl ::core::convert::From<minimumStakeForQuorumCall> for UnderlyingRustTuple<'_> {
7185 fn from(value: minimumStakeForQuorumCall) -> Self {
7186 (value.0,)
7187 }
7188 }
7189 #[automatically_derived]
7190 #[doc(hidden)]
7191 impl ::core::convert::From<UnderlyingRustTuple<'_>> for minimumStakeForQuorumCall {
7192 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7193 Self(tuple.0)
7194 }
7195 }
7196 }
7197 {
7198 #[doc(hidden)]
7199 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
7200 #[doc(hidden)]
7201 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U96,);
7202 #[cfg(test)]
7203 #[allow(dead_code, unreachable_patterns)]
7204 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7205 match _t {
7206 alloy_sol_types::private::AssertTypeEq::<
7207 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7208 >(_) => {}
7209 }
7210 }
7211 #[automatically_derived]
7212 #[doc(hidden)]
7213 impl ::core::convert::From<minimumStakeForQuorumReturn> for UnderlyingRustTuple<'_> {
7214 fn from(value: minimumStakeForQuorumReturn) -> Self {
7215 (value._0,)
7216 }
7217 }
7218 #[automatically_derived]
7219 #[doc(hidden)]
7220 impl ::core::convert::From<UnderlyingRustTuple<'_>> for minimumStakeForQuorumReturn {
7221 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7222 Self { _0: tuple.0 }
7223 }
7224 }
7225 }
7226 #[automatically_derived]
7227 impl alloy_sol_types::SolCall for minimumStakeForQuorumCall {
7228 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
7229 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
7230 type Return = alloy::sol_types::private::primitives::aliases::U96;
7231 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
7232 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
7233 const SIGNATURE: &'static str = "minimumStakeForQuorum(uint8)";
7234 const SELECTOR: [u8; 4] = [196u8, 103u8, 120u8, 165u8];
7235 #[inline]
7236 fn new<'a>(
7237 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7238 ) -> Self {
7239 tuple.into()
7240 }
7241 #[inline]
7242 fn tokenize(&self) -> Self::Token<'_> {
7243 (
7244 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
7245 &self.0,
7246 ),
7247 )
7248 }
7249 #[inline]
7250 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7251 (
7252 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
7253 ret,
7254 ),
7255 )
7256 }
7257 #[inline]
7258 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7259 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
7260 |r| {
7261 let r: minimumStakeForQuorumReturn = r.into();
7262 r._0
7263 },
7264 )
7265 }
7266 #[inline]
7267 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7268 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
7269 data,
7270 )
7271 .map(|r| {
7272 let r: minimumStakeForQuorumReturn = r.into();
7273 r._0
7274 })
7275 }
7276 }
7277 };
7278 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7279 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7284 #[derive(Clone)]
7285 pub struct modifyStrategyParamsCall {
7286 #[allow(missing_docs)]
7287 pub quorumNumber: u8,
7288 #[allow(missing_docs)]
7289 pub strategyIndices:
7290 alloy::sol_types::private::Vec<alloy::sol_types::private::primitives::aliases::U256>,
7291 #[allow(missing_docs)]
7292 pub newMultipliers:
7293 alloy::sol_types::private::Vec<alloy::sol_types::private::primitives::aliases::U96>,
7294 }
7295 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7297 #[derive(Clone)]
7298 pub struct modifyStrategyParamsReturn {}
7299 #[allow(
7300 non_camel_case_types,
7301 non_snake_case,
7302 clippy::pub_underscore_fields,
7303 clippy::style
7304 )]
7305 const _: () = {
7306 use alloy::sol_types as alloy_sol_types;
7307 {
7308 #[doc(hidden)]
7309 type UnderlyingSolTuple<'a> = (
7310 alloy::sol_types::sol_data::Uint<8>,
7311 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
7312 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
7313 );
7314 #[doc(hidden)]
7315 type UnderlyingRustTuple<'a> = (
7316 u8,
7317 alloy::sol_types::private::Vec<
7318 alloy::sol_types::private::primitives::aliases::U256,
7319 >,
7320 alloy::sol_types::private::Vec<alloy::sol_types::private::primitives::aliases::U96>,
7321 );
7322 #[cfg(test)]
7323 #[allow(dead_code, unreachable_patterns)]
7324 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7325 match _t {
7326 alloy_sol_types::private::AssertTypeEq::<
7327 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7328 >(_) => {}
7329 }
7330 }
7331 #[automatically_derived]
7332 #[doc(hidden)]
7333 impl ::core::convert::From<modifyStrategyParamsCall> for UnderlyingRustTuple<'_> {
7334 fn from(value: modifyStrategyParamsCall) -> Self {
7335 (
7336 value.quorumNumber,
7337 value.strategyIndices,
7338 value.newMultipliers,
7339 )
7340 }
7341 }
7342 #[automatically_derived]
7343 #[doc(hidden)]
7344 impl ::core::convert::From<UnderlyingRustTuple<'_>> for modifyStrategyParamsCall {
7345 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7346 Self {
7347 quorumNumber: tuple.0,
7348 strategyIndices: tuple.1,
7349 newMultipliers: tuple.2,
7350 }
7351 }
7352 }
7353 }
7354 {
7355 #[doc(hidden)]
7356 type UnderlyingSolTuple<'a> = ();
7357 #[doc(hidden)]
7358 type UnderlyingRustTuple<'a> = ();
7359 #[cfg(test)]
7360 #[allow(dead_code, unreachable_patterns)]
7361 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7362 match _t {
7363 alloy_sol_types::private::AssertTypeEq::<
7364 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7365 >(_) => {}
7366 }
7367 }
7368 #[automatically_derived]
7369 #[doc(hidden)]
7370 impl ::core::convert::From<modifyStrategyParamsReturn> for UnderlyingRustTuple<'_> {
7371 fn from(value: modifyStrategyParamsReturn) -> Self {
7372 ()
7373 }
7374 }
7375 #[automatically_derived]
7376 #[doc(hidden)]
7377 impl ::core::convert::From<UnderlyingRustTuple<'_>> for modifyStrategyParamsReturn {
7378 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7379 Self {}
7380 }
7381 }
7382 }
7383 impl modifyStrategyParamsReturn {
7384 fn _tokenize(
7385 &self,
7386 ) -> <modifyStrategyParamsCall as alloy_sol_types::SolCall>::ReturnToken<'_>
7387 {
7388 ()
7389 }
7390 }
7391 #[automatically_derived]
7392 impl alloy_sol_types::SolCall for modifyStrategyParamsCall {
7393 type Parameters<'a> = (
7394 alloy::sol_types::sol_data::Uint<8>,
7395 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
7396 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
7397 );
7398 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
7399 type Return = modifyStrategyParamsReturn;
7400 type ReturnTuple<'a> = ();
7401 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
7402 const SIGNATURE: &'static str = "modifyStrategyParams(uint8,uint256[],uint96[])";
7403 const SELECTOR: [u8; 4] = [32u8, 182u8, 98u8, 152u8];
7404 #[inline]
7405 fn new<'a>(
7406 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7407 ) -> Self {
7408 tuple.into()
7409 }
7410 #[inline]
7411 fn tokenize(&self) -> Self::Token<'_> {
7412 (
7413 <alloy::sol_types::sol_data::Uint<
7414 8,
7415 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
7416 <alloy::sol_types::sol_data::Array<
7417 alloy::sol_types::sol_data::Uint<256>,
7418 > as alloy_sol_types::SolType>::tokenize(&self.strategyIndices),
7419 <alloy::sol_types::sol_data::Array<
7420 alloy::sol_types::sol_data::Uint<96>,
7421 > as alloy_sol_types::SolType>::tokenize(&self.newMultipliers),
7422 )
7423 }
7424 #[inline]
7425 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7426 modifyStrategyParamsReturn::_tokenize(ret)
7427 }
7428 #[inline]
7429 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7430 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
7431 .map(Into::into)
7432 }
7433 #[inline]
7434 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7435 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
7436 data,
7437 )
7438 .map(Into::into)
7439 }
7440 }
7441 };
7442 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7443 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7448 #[derive(Clone)]
7449 pub struct registerOperatorCall {
7450 #[allow(missing_docs)]
7451 pub operator: alloy::sol_types::private::Address,
7452 #[allow(missing_docs)]
7453 pub operatorId: alloy::sol_types::private::FixedBytes<32>,
7454 #[allow(missing_docs)]
7455 pub quorumNumbers: alloy::sol_types::private::Bytes,
7456 }
7457 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7458 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7460 #[derive(Clone)]
7461 pub struct registerOperatorReturn {
7462 #[allow(missing_docs)]
7463 pub _0: alloy::sol_types::private::Vec<alloy::sol_types::private::primitives::aliases::U96>,
7464 #[allow(missing_docs)]
7465 pub _1: alloy::sol_types::private::Vec<alloy::sol_types::private::primitives::aliases::U96>,
7466 }
7467 #[allow(
7468 non_camel_case_types,
7469 non_snake_case,
7470 clippy::pub_underscore_fields,
7471 clippy::style
7472 )]
7473 const _: () = {
7474 use alloy::sol_types as alloy_sol_types;
7475 {
7476 #[doc(hidden)]
7477 type UnderlyingSolTuple<'a> = (
7478 alloy::sol_types::sol_data::Address,
7479 alloy::sol_types::sol_data::FixedBytes<32>,
7480 alloy::sol_types::sol_data::Bytes,
7481 );
7482 #[doc(hidden)]
7483 type UnderlyingRustTuple<'a> = (
7484 alloy::sol_types::private::Address,
7485 alloy::sol_types::private::FixedBytes<32>,
7486 alloy::sol_types::private::Bytes,
7487 );
7488 #[cfg(test)]
7489 #[allow(dead_code, unreachable_patterns)]
7490 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7491 match _t {
7492 alloy_sol_types::private::AssertTypeEq::<
7493 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7494 >(_) => {}
7495 }
7496 }
7497 #[automatically_derived]
7498 #[doc(hidden)]
7499 impl ::core::convert::From<registerOperatorCall> for UnderlyingRustTuple<'_> {
7500 fn from(value: registerOperatorCall) -> Self {
7501 (value.operator, value.operatorId, value.quorumNumbers)
7502 }
7503 }
7504 #[automatically_derived]
7505 #[doc(hidden)]
7506 impl ::core::convert::From<UnderlyingRustTuple<'_>> for registerOperatorCall {
7507 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7508 Self {
7509 operator: tuple.0,
7510 operatorId: tuple.1,
7511 quorumNumbers: tuple.2,
7512 }
7513 }
7514 }
7515 }
7516 {
7517 #[doc(hidden)]
7518 type UnderlyingSolTuple<'a> = (
7519 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
7520 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
7521 );
7522 #[doc(hidden)]
7523 type UnderlyingRustTuple<'a> = (
7524 alloy::sol_types::private::Vec<alloy::sol_types::private::primitives::aliases::U96>,
7525 alloy::sol_types::private::Vec<alloy::sol_types::private::primitives::aliases::U96>,
7526 );
7527 #[cfg(test)]
7528 #[allow(dead_code, unreachable_patterns)]
7529 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7530 match _t {
7531 alloy_sol_types::private::AssertTypeEq::<
7532 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7533 >(_) => {}
7534 }
7535 }
7536 #[automatically_derived]
7537 #[doc(hidden)]
7538 impl ::core::convert::From<registerOperatorReturn> for UnderlyingRustTuple<'_> {
7539 fn from(value: registerOperatorReturn) -> Self {
7540 (value._0, value._1)
7541 }
7542 }
7543 #[automatically_derived]
7544 #[doc(hidden)]
7545 impl ::core::convert::From<UnderlyingRustTuple<'_>> for registerOperatorReturn {
7546 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7547 Self {
7548 _0: tuple.0,
7549 _1: tuple.1,
7550 }
7551 }
7552 }
7553 }
7554 impl registerOperatorReturn {
7555 fn _tokenize(
7556 &self,
7557 ) -> <registerOperatorCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
7558 (
7559 <alloy::sol_types::sol_data::Array<
7560 alloy::sol_types::sol_data::Uint<96>,
7561 > as alloy_sol_types::SolType>::tokenize(&self._0),
7562 <alloy::sol_types::sol_data::Array<
7563 alloy::sol_types::sol_data::Uint<96>,
7564 > as alloy_sol_types::SolType>::tokenize(&self._1),
7565 )
7566 }
7567 }
7568 #[automatically_derived]
7569 impl alloy_sol_types::SolCall for registerOperatorCall {
7570 type Parameters<'a> = (
7571 alloy::sol_types::sol_data::Address,
7572 alloy::sol_types::sol_data::FixedBytes<32>,
7573 alloy::sol_types::sol_data::Bytes,
7574 );
7575 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
7576 type Return = registerOperatorReturn;
7577 type ReturnTuple<'a> = (
7578 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
7579 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<96>>,
7580 );
7581 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
7582 const SIGNATURE: &'static str = "registerOperator(address,bytes32,bytes)";
7583 const SELECTOR: [u8; 4] = [37u8, 80u8, 71u8, 119u8];
7584 #[inline]
7585 fn new<'a>(
7586 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7587 ) -> Self {
7588 tuple.into()
7589 }
7590 #[inline]
7591 fn tokenize(&self) -> Self::Token<'_> {
7592 (
7593 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7594 &self.operator,
7595 ),
7596 <alloy::sol_types::sol_data::FixedBytes<
7597 32,
7598 > as alloy_sol_types::SolType>::tokenize(&self.operatorId),
7599 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
7600 &self.quorumNumbers,
7601 ),
7602 )
7603 }
7604 #[inline]
7605 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7606 registerOperatorReturn::_tokenize(ret)
7607 }
7608 #[inline]
7609 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7610 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
7611 .map(Into::into)
7612 }
7613 #[inline]
7614 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7615 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
7616 data,
7617 )
7618 .map(Into::into)
7619 }
7620 }
7621 };
7622 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7623 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7628 #[derive(Clone)]
7629 pub struct registryCoordinatorCall;
7630 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7631 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7633 #[derive(Clone)]
7634 pub struct registryCoordinatorReturn {
7635 #[allow(missing_docs)]
7636 pub _0: alloy::sol_types::private::Address,
7637 }
7638 #[allow(
7639 non_camel_case_types,
7640 non_snake_case,
7641 clippy::pub_underscore_fields,
7642 clippy::style
7643 )]
7644 const _: () = {
7645 use alloy::sol_types as alloy_sol_types;
7646 {
7647 #[doc(hidden)]
7648 type UnderlyingSolTuple<'a> = ();
7649 #[doc(hidden)]
7650 type UnderlyingRustTuple<'a> = ();
7651 #[cfg(test)]
7652 #[allow(dead_code, unreachable_patterns)]
7653 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7654 match _t {
7655 alloy_sol_types::private::AssertTypeEq::<
7656 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7657 >(_) => {}
7658 }
7659 }
7660 #[automatically_derived]
7661 #[doc(hidden)]
7662 impl ::core::convert::From<registryCoordinatorCall> for UnderlyingRustTuple<'_> {
7663 fn from(value: registryCoordinatorCall) -> Self {
7664 ()
7665 }
7666 }
7667 #[automatically_derived]
7668 #[doc(hidden)]
7669 impl ::core::convert::From<UnderlyingRustTuple<'_>> for registryCoordinatorCall {
7670 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7671 Self
7672 }
7673 }
7674 }
7675 {
7676 #[doc(hidden)]
7677 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7678 #[doc(hidden)]
7679 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7680 #[cfg(test)]
7681 #[allow(dead_code, unreachable_patterns)]
7682 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7683 match _t {
7684 alloy_sol_types::private::AssertTypeEq::<
7685 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7686 >(_) => {}
7687 }
7688 }
7689 #[automatically_derived]
7690 #[doc(hidden)]
7691 impl ::core::convert::From<registryCoordinatorReturn> for UnderlyingRustTuple<'_> {
7692 fn from(value: registryCoordinatorReturn) -> Self {
7693 (value._0,)
7694 }
7695 }
7696 #[automatically_derived]
7697 #[doc(hidden)]
7698 impl ::core::convert::From<UnderlyingRustTuple<'_>> for registryCoordinatorReturn {
7699 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7700 Self { _0: tuple.0 }
7701 }
7702 }
7703 }
7704 #[automatically_derived]
7705 impl alloy_sol_types::SolCall for registryCoordinatorCall {
7706 type Parameters<'a> = ();
7707 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
7708 type Return = alloy::sol_types::private::Address;
7709 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
7710 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
7711 const SIGNATURE: &'static str = "registryCoordinator()";
7712 const SELECTOR: [u8; 4] = [109u8, 20u8, 169u8, 135u8];
7713 #[inline]
7714 fn new<'a>(
7715 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7716 ) -> Self {
7717 tuple.into()
7718 }
7719 #[inline]
7720 fn tokenize(&self) -> Self::Token<'_> {
7721 ()
7722 }
7723 #[inline]
7724 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7725 (
7726 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7727 ret,
7728 ),
7729 )
7730 }
7731 #[inline]
7732 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7733 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
7734 |r| {
7735 let r: registryCoordinatorReturn = r.into();
7736 r._0
7737 },
7738 )
7739 }
7740 #[inline]
7741 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7742 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
7743 data,
7744 )
7745 .map(|r| {
7746 let r: registryCoordinatorReturn = r.into();
7747 r._0
7748 })
7749 }
7750 }
7751 };
7752 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7753 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7758 #[derive(Clone)]
7759 pub struct removeStrategiesCall {
7760 #[allow(missing_docs)]
7761 pub quorumNumber: u8,
7762 #[allow(missing_docs)]
7763 pub indicesToRemove:
7764 alloy::sol_types::private::Vec<alloy::sol_types::private::primitives::aliases::U256>,
7765 }
7766 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7768 #[derive(Clone)]
7769 pub struct removeStrategiesReturn {}
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> = (
7781 alloy::sol_types::sol_data::Uint<8>,
7782 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
7783 );
7784 #[doc(hidden)]
7785 type UnderlyingRustTuple<'a> = (
7786 u8,
7787 alloy::sol_types::private::Vec<
7788 alloy::sol_types::private::primitives::aliases::U256,
7789 >,
7790 );
7791 #[cfg(test)]
7792 #[allow(dead_code, unreachable_patterns)]
7793 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7794 match _t {
7795 alloy_sol_types::private::AssertTypeEq::<
7796 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7797 >(_) => {}
7798 }
7799 }
7800 #[automatically_derived]
7801 #[doc(hidden)]
7802 impl ::core::convert::From<removeStrategiesCall> for UnderlyingRustTuple<'_> {
7803 fn from(value: removeStrategiesCall) -> Self {
7804 (value.quorumNumber, value.indicesToRemove)
7805 }
7806 }
7807 #[automatically_derived]
7808 #[doc(hidden)]
7809 impl ::core::convert::From<UnderlyingRustTuple<'_>> for removeStrategiesCall {
7810 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7811 Self {
7812 quorumNumber: tuple.0,
7813 indicesToRemove: tuple.1,
7814 }
7815 }
7816 }
7817 }
7818 {
7819 #[doc(hidden)]
7820 type UnderlyingSolTuple<'a> = ();
7821 #[doc(hidden)]
7822 type UnderlyingRustTuple<'a> = ();
7823 #[cfg(test)]
7824 #[allow(dead_code, unreachable_patterns)]
7825 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7826 match _t {
7827 alloy_sol_types::private::AssertTypeEq::<
7828 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7829 >(_) => {}
7830 }
7831 }
7832 #[automatically_derived]
7833 #[doc(hidden)]
7834 impl ::core::convert::From<removeStrategiesReturn> for UnderlyingRustTuple<'_> {
7835 fn from(value: removeStrategiesReturn) -> Self {
7836 ()
7837 }
7838 }
7839 #[automatically_derived]
7840 #[doc(hidden)]
7841 impl ::core::convert::From<UnderlyingRustTuple<'_>> for removeStrategiesReturn {
7842 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7843 Self {}
7844 }
7845 }
7846 }
7847 impl removeStrategiesReturn {
7848 fn _tokenize(
7849 &self,
7850 ) -> <removeStrategiesCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
7851 ()
7852 }
7853 }
7854 #[automatically_derived]
7855 impl alloy_sol_types::SolCall for removeStrategiesCall {
7856 type Parameters<'a> = (
7857 alloy::sol_types::sol_data::Uint<8>,
7858 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
7859 );
7860 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
7861 type Return = removeStrategiesReturn;
7862 type ReturnTuple<'a> = ();
7863 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
7864 const SIGNATURE: &'static str = "removeStrategies(uint8,uint256[])";
7865 const SELECTOR: [u8; 4] = [95u8, 31u8, 45u8, 119u8];
7866 #[inline]
7867 fn new<'a>(
7868 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7869 ) -> Self {
7870 tuple.into()
7871 }
7872 #[inline]
7873 fn tokenize(&self) -> Self::Token<'_> {
7874 (
7875 <alloy::sol_types::sol_data::Uint<
7876 8,
7877 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
7878 <alloy::sol_types::sol_data::Array<
7879 alloy::sol_types::sol_data::Uint<256>,
7880 > as alloy_sol_types::SolType>::tokenize(&self.indicesToRemove),
7881 )
7882 }
7883 #[inline]
7884 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7885 removeStrategiesReturn::_tokenize(ret)
7886 }
7887 #[inline]
7888 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7889 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
7890 .map(Into::into)
7891 }
7892 #[inline]
7893 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7894 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
7895 data,
7896 )
7897 .map(Into::into)
7898 }
7899 }
7900 };
7901 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
7902 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7907 #[derive(Clone)]
7908 pub struct setMinimumStakeForQuorumCall {
7909 #[allow(missing_docs)]
7910 pub quorumNumber: u8,
7911 #[allow(missing_docs)]
7912 pub minimumStake: alloy::sol_types::private::primitives::aliases::U96,
7913 }
7914 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7916 #[derive(Clone)]
7917 pub struct setMinimumStakeForQuorumReturn {}
7918 #[allow(
7919 non_camel_case_types,
7920 non_snake_case,
7921 clippy::pub_underscore_fields,
7922 clippy::style
7923 )]
7924 const _: () = {
7925 use alloy::sol_types as alloy_sol_types;
7926 {
7927 #[doc(hidden)]
7928 type UnderlyingSolTuple<'a> = (
7929 alloy::sol_types::sol_data::Uint<8>,
7930 alloy::sol_types::sol_data::Uint<96>,
7931 );
7932 #[doc(hidden)]
7933 type UnderlyingRustTuple<'a> =
7934 (u8, alloy::sol_types::private::primitives::aliases::U96);
7935 #[cfg(test)]
7936 #[allow(dead_code, unreachable_patterns)]
7937 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7938 match _t {
7939 alloy_sol_types::private::AssertTypeEq::<
7940 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7941 >(_) => {}
7942 }
7943 }
7944 #[automatically_derived]
7945 #[doc(hidden)]
7946 impl ::core::convert::From<setMinimumStakeForQuorumCall> for UnderlyingRustTuple<'_> {
7947 fn from(value: setMinimumStakeForQuorumCall) -> Self {
7948 (value.quorumNumber, value.minimumStake)
7949 }
7950 }
7951 #[automatically_derived]
7952 #[doc(hidden)]
7953 impl ::core::convert::From<UnderlyingRustTuple<'_>> for setMinimumStakeForQuorumCall {
7954 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7955 Self {
7956 quorumNumber: tuple.0,
7957 minimumStake: tuple.1,
7958 }
7959 }
7960 }
7961 }
7962 {
7963 #[doc(hidden)]
7964 type UnderlyingSolTuple<'a> = ();
7965 #[doc(hidden)]
7966 type UnderlyingRustTuple<'a> = ();
7967 #[cfg(test)]
7968 #[allow(dead_code, unreachable_patterns)]
7969 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
7970 match _t {
7971 alloy_sol_types::private::AssertTypeEq::<
7972 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7973 >(_) => {}
7974 }
7975 }
7976 #[automatically_derived]
7977 #[doc(hidden)]
7978 impl ::core::convert::From<setMinimumStakeForQuorumReturn> for UnderlyingRustTuple<'_> {
7979 fn from(value: setMinimumStakeForQuorumReturn) -> Self {
7980 ()
7981 }
7982 }
7983 #[automatically_derived]
7984 #[doc(hidden)]
7985 impl ::core::convert::From<UnderlyingRustTuple<'_>> for setMinimumStakeForQuorumReturn {
7986 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7987 Self {}
7988 }
7989 }
7990 }
7991 impl setMinimumStakeForQuorumReturn {
7992 fn _tokenize(
7993 &self,
7994 ) -> <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::ReturnToken<'_>
7995 {
7996 ()
7997 }
7998 }
7999 #[automatically_derived]
8000 impl alloy_sol_types::SolCall for setMinimumStakeForQuorumCall {
8001 type Parameters<'a> = (
8002 alloy::sol_types::sol_data::Uint<8>,
8003 alloy::sol_types::sol_data::Uint<96>,
8004 );
8005 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
8006 type Return = setMinimumStakeForQuorumReturn;
8007 type ReturnTuple<'a> = ();
8008 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
8009 const SIGNATURE: &'static str = "setMinimumStakeForQuorum(uint8,uint96)";
8010 const SELECTOR: [u8; 4] = [188u8, 154u8, 64u8, 195u8];
8011 #[inline]
8012 fn new<'a>(
8013 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8014 ) -> Self {
8015 tuple.into()
8016 }
8017 #[inline]
8018 fn tokenize(&self) -> Self::Token<'_> {
8019 (
8020 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
8021 &self.quorumNumber,
8022 ),
8023 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
8024 &self.minimumStake,
8025 ),
8026 )
8027 }
8028 #[inline]
8029 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8030 setMinimumStakeForQuorumReturn::_tokenize(ret)
8031 }
8032 #[inline]
8033 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8034 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
8035 .map(Into::into)
8036 }
8037 #[inline]
8038 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8039 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
8040 data,
8041 )
8042 .map(Into::into)
8043 }
8044 }
8045 };
8046 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8047 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8052 #[derive(Clone)]
8053 pub struct setSlashableStakeLookaheadCall {
8054 #[allow(missing_docs)]
8055 pub quorumNumber: u8,
8056 #[allow(missing_docs)]
8057 pub _lookAheadBlocks: u32,
8058 }
8059 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8061 #[derive(Clone)]
8062 pub struct setSlashableStakeLookaheadReturn {}
8063 #[allow(
8064 non_camel_case_types,
8065 non_snake_case,
8066 clippy::pub_underscore_fields,
8067 clippy::style
8068 )]
8069 const _: () = {
8070 use alloy::sol_types as alloy_sol_types;
8071 {
8072 #[doc(hidden)]
8073 type UnderlyingSolTuple<'a> = (
8074 alloy::sol_types::sol_data::Uint<8>,
8075 alloy::sol_types::sol_data::Uint<32>,
8076 );
8077 #[doc(hidden)]
8078 type UnderlyingRustTuple<'a> = (u8, u32);
8079 #[cfg(test)]
8080 #[allow(dead_code, unreachable_patterns)]
8081 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8082 match _t {
8083 alloy_sol_types::private::AssertTypeEq::<
8084 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8085 >(_) => {}
8086 }
8087 }
8088 #[automatically_derived]
8089 #[doc(hidden)]
8090 impl ::core::convert::From<setSlashableStakeLookaheadCall> for UnderlyingRustTuple<'_> {
8091 fn from(value: setSlashableStakeLookaheadCall) -> Self {
8092 (value.quorumNumber, value._lookAheadBlocks)
8093 }
8094 }
8095 #[automatically_derived]
8096 #[doc(hidden)]
8097 impl ::core::convert::From<UnderlyingRustTuple<'_>> for setSlashableStakeLookaheadCall {
8098 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8099 Self {
8100 quorumNumber: tuple.0,
8101 _lookAheadBlocks: tuple.1,
8102 }
8103 }
8104 }
8105 }
8106 {
8107 #[doc(hidden)]
8108 type UnderlyingSolTuple<'a> = ();
8109 #[doc(hidden)]
8110 type UnderlyingRustTuple<'a> = ();
8111 #[cfg(test)]
8112 #[allow(dead_code, unreachable_patterns)]
8113 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8114 match _t {
8115 alloy_sol_types::private::AssertTypeEq::<
8116 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8117 >(_) => {}
8118 }
8119 }
8120 #[automatically_derived]
8121 #[doc(hidden)]
8122 impl ::core::convert::From<setSlashableStakeLookaheadReturn> for UnderlyingRustTuple<'_> {
8123 fn from(value: setSlashableStakeLookaheadReturn) -> Self {
8124 ()
8125 }
8126 }
8127 #[automatically_derived]
8128 #[doc(hidden)]
8129 impl ::core::convert::From<UnderlyingRustTuple<'_>> for setSlashableStakeLookaheadReturn {
8130 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8131 Self {}
8132 }
8133 }
8134 }
8135 impl setSlashableStakeLookaheadReturn {
8136 fn _tokenize(
8137 &self,
8138 ) -> <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::ReturnToken<'_>
8139 {
8140 ()
8141 }
8142 }
8143 #[automatically_derived]
8144 impl alloy_sol_types::SolCall for setSlashableStakeLookaheadCall {
8145 type Parameters<'a> = (
8146 alloy::sol_types::sol_data::Uint<8>,
8147 alloy::sol_types::sol_data::Uint<32>,
8148 );
8149 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
8150 type Return = setSlashableStakeLookaheadReturn;
8151 type ReturnTuple<'a> = ();
8152 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
8153 const SIGNATURE: &'static str = "setSlashableStakeLookahead(uint8,uint32)";
8154 const SELECTOR: [u8; 4] = [224u8, 134u8, 173u8, 179u8];
8155 #[inline]
8156 fn new<'a>(
8157 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8158 ) -> Self {
8159 tuple.into()
8160 }
8161 #[inline]
8162 fn tokenize(&self) -> Self::Token<'_> {
8163 (
8164 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
8165 &self.quorumNumber,
8166 ),
8167 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
8168 &self._lookAheadBlocks,
8169 ),
8170 )
8171 }
8172 #[inline]
8173 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8174 setSlashableStakeLookaheadReturn::_tokenize(ret)
8175 }
8176 #[inline]
8177 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8178 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
8179 .map(Into::into)
8180 }
8181 #[inline]
8182 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8183 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
8184 data,
8185 )
8186 .map(Into::into)
8187 }
8188 }
8189 };
8190 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8191 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8196 #[derive(Clone)]
8197 pub struct slashableStakeLookAheadPerQuorumCall {
8198 #[allow(missing_docs)]
8199 pub quorumNumber: u8,
8200 }
8201 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8202 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8204 #[derive(Clone)]
8205 pub struct slashableStakeLookAheadPerQuorumReturn {
8206 #[allow(missing_docs)]
8207 pub _0: u32,
8208 }
8209 #[allow(
8210 non_camel_case_types,
8211 non_snake_case,
8212 clippy::pub_underscore_fields,
8213 clippy::style
8214 )]
8215 const _: () = {
8216 use alloy::sol_types as alloy_sol_types;
8217 {
8218 #[doc(hidden)]
8219 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
8220 #[doc(hidden)]
8221 type UnderlyingRustTuple<'a> = (u8,);
8222 #[cfg(test)]
8223 #[allow(dead_code, unreachable_patterns)]
8224 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8225 match _t {
8226 alloy_sol_types::private::AssertTypeEq::<
8227 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8228 >(_) => {}
8229 }
8230 }
8231 #[automatically_derived]
8232 #[doc(hidden)]
8233 impl ::core::convert::From<slashableStakeLookAheadPerQuorumCall> for UnderlyingRustTuple<'_> {
8234 fn from(value: slashableStakeLookAheadPerQuorumCall) -> Self {
8235 (value.quorumNumber,)
8236 }
8237 }
8238 #[automatically_derived]
8239 #[doc(hidden)]
8240 impl ::core::convert::From<UnderlyingRustTuple<'_>> for slashableStakeLookAheadPerQuorumCall {
8241 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8242 Self {
8243 quorumNumber: tuple.0,
8244 }
8245 }
8246 }
8247 }
8248 {
8249 #[doc(hidden)]
8250 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<32>,);
8251 #[doc(hidden)]
8252 type UnderlyingRustTuple<'a> = (u32,);
8253 #[cfg(test)]
8254 #[allow(dead_code, unreachable_patterns)]
8255 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8256 match _t {
8257 alloy_sol_types::private::AssertTypeEq::<
8258 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8259 >(_) => {}
8260 }
8261 }
8262 #[automatically_derived]
8263 #[doc(hidden)]
8264 impl ::core::convert::From<slashableStakeLookAheadPerQuorumReturn> for UnderlyingRustTuple<'_> {
8265 fn from(value: slashableStakeLookAheadPerQuorumReturn) -> Self {
8266 (value._0,)
8267 }
8268 }
8269 #[automatically_derived]
8270 #[doc(hidden)]
8271 impl ::core::convert::From<UnderlyingRustTuple<'_>> for slashableStakeLookAheadPerQuorumReturn {
8272 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8273 Self { _0: tuple.0 }
8274 }
8275 }
8276 }
8277 #[automatically_derived]
8278 impl alloy_sol_types::SolCall for slashableStakeLookAheadPerQuorumCall {
8279 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
8280 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
8281 type Return = u32;
8282 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<32>,);
8283 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
8284 const SIGNATURE: &'static str = "slashableStakeLookAheadPerQuorum(uint8)";
8285 const SELECTOR: [u8; 4] = [154u8, 180u8, 214u8, 255u8];
8286 #[inline]
8287 fn new<'a>(
8288 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8289 ) -> Self {
8290 tuple.into()
8291 }
8292 #[inline]
8293 fn tokenize(&self) -> Self::Token<'_> {
8294 (
8295 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
8296 &self.quorumNumber,
8297 ),
8298 )
8299 }
8300 #[inline]
8301 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8302 (
8303 <alloy::sol_types::sol_data::Uint<32> as alloy_sol_types::SolType>::tokenize(
8304 ret,
8305 ),
8306 )
8307 }
8308 #[inline]
8309 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8310 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
8311 |r| {
8312 let r: slashableStakeLookAheadPerQuorumReturn = r.into();
8313 r._0
8314 },
8315 )
8316 }
8317 #[inline]
8318 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8319 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
8320 data,
8321 )
8322 .map(|r| {
8323 let r: slashableStakeLookAheadPerQuorumReturn = r.into();
8324 r._0
8325 })
8326 }
8327 }
8328 };
8329 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8330 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8335 #[derive(Clone)]
8336 pub struct stakeTypePerQuorumCall {
8337 #[allow(missing_docs)]
8338 pub quorumNumber: u8,
8339 }
8340 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8341 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8343 #[derive(Clone)]
8344 pub struct stakeTypePerQuorumReturn {
8345 #[allow(missing_docs)]
8346 pub _0: <IStakeRegistryTypes::StakeType as alloy::sol_types::SolType>::RustType,
8347 }
8348 #[allow(
8349 non_camel_case_types,
8350 non_snake_case,
8351 clippy::pub_underscore_fields,
8352 clippy::style
8353 )]
8354 const _: () = {
8355 use alloy::sol_types as alloy_sol_types;
8356 {
8357 #[doc(hidden)]
8358 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
8359 #[doc(hidden)]
8360 type UnderlyingRustTuple<'a> = (u8,);
8361 #[cfg(test)]
8362 #[allow(dead_code, unreachable_patterns)]
8363 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8364 match _t {
8365 alloy_sol_types::private::AssertTypeEq::<
8366 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8367 >(_) => {}
8368 }
8369 }
8370 #[automatically_derived]
8371 #[doc(hidden)]
8372 impl ::core::convert::From<stakeTypePerQuorumCall> for UnderlyingRustTuple<'_> {
8373 fn from(value: stakeTypePerQuorumCall) -> Self {
8374 (value.quorumNumber,)
8375 }
8376 }
8377 #[automatically_derived]
8378 #[doc(hidden)]
8379 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeTypePerQuorumCall {
8380 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8381 Self {
8382 quorumNumber: tuple.0,
8383 }
8384 }
8385 }
8386 }
8387 {
8388 #[doc(hidden)]
8389 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StakeType,);
8390 #[doc(hidden)]
8391 type UnderlyingRustTuple<'a> =
8392 (<IStakeRegistryTypes::StakeType as alloy::sol_types::SolType>::RustType,);
8393 #[cfg(test)]
8394 #[allow(dead_code, unreachable_patterns)]
8395 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8396 match _t {
8397 alloy_sol_types::private::AssertTypeEq::<
8398 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8399 >(_) => {}
8400 }
8401 }
8402 #[automatically_derived]
8403 #[doc(hidden)]
8404 impl ::core::convert::From<stakeTypePerQuorumReturn> for UnderlyingRustTuple<'_> {
8405 fn from(value: stakeTypePerQuorumReturn) -> Self {
8406 (value._0,)
8407 }
8408 }
8409 #[automatically_derived]
8410 #[doc(hidden)]
8411 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeTypePerQuorumReturn {
8412 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8413 Self { _0: tuple.0 }
8414 }
8415 }
8416 }
8417 #[automatically_derived]
8418 impl alloy_sol_types::SolCall for stakeTypePerQuorumCall {
8419 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
8420 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
8421 type Return = <IStakeRegistryTypes::StakeType as alloy::sol_types::SolType>::RustType;
8422 type ReturnTuple<'a> = (IStakeRegistryTypes::StakeType,);
8423 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
8424 const SIGNATURE: &'static str = "stakeTypePerQuorum(uint8)";
8425 const SELECTOR: [u8; 4] = [105u8, 127u8, 189u8, 147u8];
8426 #[inline]
8427 fn new<'a>(
8428 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8429 ) -> Self {
8430 tuple.into()
8431 }
8432 #[inline]
8433 fn tokenize(&self) -> Self::Token<'_> {
8434 (
8435 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
8436 &self.quorumNumber,
8437 ),
8438 )
8439 }
8440 #[inline]
8441 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8442 (<IStakeRegistryTypes::StakeType as alloy_sol_types::SolType>::tokenize(ret),)
8443 }
8444 #[inline]
8445 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8446 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
8447 |r| {
8448 let r: stakeTypePerQuorumReturn = r.into();
8449 r._0
8450 },
8451 )
8452 }
8453 #[inline]
8454 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8455 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
8456 data,
8457 )
8458 .map(|r| {
8459 let r: stakeTypePerQuorumReturn = r.into();
8460 r._0
8461 })
8462 }
8463 }
8464 };
8465 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8466 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8471 #[derive(Clone)]
8472 pub struct strategiesPerQuorumCall {
8473 #[allow(missing_docs)]
8474 pub quorumNumber: u8,
8475 #[allow(missing_docs)]
8476 pub _1: alloy::sol_types::private::primitives::aliases::U256,
8477 }
8478 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8479 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8481 #[derive(Clone)]
8482 pub struct strategiesPerQuorumReturn {
8483 #[allow(missing_docs)]
8484 pub _0: alloy::sol_types::private::Address,
8485 }
8486 #[allow(
8487 non_camel_case_types,
8488 non_snake_case,
8489 clippy::pub_underscore_fields,
8490 clippy::style
8491 )]
8492 const _: () = {
8493 use alloy::sol_types as alloy_sol_types;
8494 {
8495 #[doc(hidden)]
8496 type UnderlyingSolTuple<'a> = (
8497 alloy::sol_types::sol_data::Uint<8>,
8498 alloy::sol_types::sol_data::Uint<256>,
8499 );
8500 #[doc(hidden)]
8501 type UnderlyingRustTuple<'a> =
8502 (u8, alloy::sol_types::private::primitives::aliases::U256);
8503 #[cfg(test)]
8504 #[allow(dead_code, unreachable_patterns)]
8505 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8506 match _t {
8507 alloy_sol_types::private::AssertTypeEq::<
8508 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8509 >(_) => {}
8510 }
8511 }
8512 #[automatically_derived]
8513 #[doc(hidden)]
8514 impl ::core::convert::From<strategiesPerQuorumCall> for UnderlyingRustTuple<'_> {
8515 fn from(value: strategiesPerQuorumCall) -> Self {
8516 (value.quorumNumber, value._1)
8517 }
8518 }
8519 #[automatically_derived]
8520 #[doc(hidden)]
8521 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategiesPerQuorumCall {
8522 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8523 Self {
8524 quorumNumber: tuple.0,
8525 _1: tuple.1,
8526 }
8527 }
8528 }
8529 }
8530 {
8531 #[doc(hidden)]
8532 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8533 #[doc(hidden)]
8534 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8535 #[cfg(test)]
8536 #[allow(dead_code, unreachable_patterns)]
8537 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8538 match _t {
8539 alloy_sol_types::private::AssertTypeEq::<
8540 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8541 >(_) => {}
8542 }
8543 }
8544 #[automatically_derived]
8545 #[doc(hidden)]
8546 impl ::core::convert::From<strategiesPerQuorumReturn> for UnderlyingRustTuple<'_> {
8547 fn from(value: strategiesPerQuorumReturn) -> Self {
8548 (value._0,)
8549 }
8550 }
8551 #[automatically_derived]
8552 #[doc(hidden)]
8553 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategiesPerQuorumReturn {
8554 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8555 Self { _0: tuple.0 }
8556 }
8557 }
8558 }
8559 #[automatically_derived]
8560 impl alloy_sol_types::SolCall for strategiesPerQuorumCall {
8561 type Parameters<'a> = (
8562 alloy::sol_types::sol_data::Uint<8>,
8563 alloy::sol_types::sol_data::Uint<256>,
8564 );
8565 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
8566 type Return = alloy::sol_types::private::Address;
8567 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
8568 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
8569 const SIGNATURE: &'static str = "strategiesPerQuorum(uint8,uint256)";
8570 const SELECTOR: [u8; 4] = [159u8, 60u8, 207u8, 101u8];
8571 #[inline]
8572 fn new<'a>(
8573 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8574 ) -> Self {
8575 tuple.into()
8576 }
8577 #[inline]
8578 fn tokenize(&self) -> Self::Token<'_> {
8579 (
8580 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
8581 &self.quorumNumber,
8582 ),
8583 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
8584 &self._1,
8585 ),
8586 )
8587 }
8588 #[inline]
8589 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8590 (
8591 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8592 ret,
8593 ),
8594 )
8595 }
8596 #[inline]
8597 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8598 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
8599 |r| {
8600 let r: strategiesPerQuorumReturn = r.into();
8601 r._0
8602 },
8603 )
8604 }
8605 #[inline]
8606 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8607 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
8608 data,
8609 )
8610 .map(|r| {
8611 let r: strategiesPerQuorumReturn = r.into();
8612 r._0
8613 })
8614 }
8615 }
8616 };
8617 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8618 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8623 #[derive(Clone)]
8624 pub struct strategyParamsCall {
8625 #[allow(missing_docs)]
8626 pub quorumNumber: u8,
8627 #[allow(missing_docs)]
8628 pub _1: alloy::sol_types::private::primitives::aliases::U256,
8629 }
8630 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8631 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8633 #[derive(Clone)]
8634 pub struct strategyParamsReturn {
8635 #[allow(missing_docs)]
8636 pub strategy: alloy::sol_types::private::Address,
8637 #[allow(missing_docs)]
8638 pub multiplier: alloy::sol_types::private::primitives::aliases::U96,
8639 }
8640 #[allow(
8641 non_camel_case_types,
8642 non_snake_case,
8643 clippy::pub_underscore_fields,
8644 clippy::style
8645 )]
8646 const _: () = {
8647 use alloy::sol_types as alloy_sol_types;
8648 {
8649 #[doc(hidden)]
8650 type UnderlyingSolTuple<'a> = (
8651 alloy::sol_types::sol_data::Uint<8>,
8652 alloy::sol_types::sol_data::Uint<256>,
8653 );
8654 #[doc(hidden)]
8655 type UnderlyingRustTuple<'a> =
8656 (u8, alloy::sol_types::private::primitives::aliases::U256);
8657 #[cfg(test)]
8658 #[allow(dead_code, unreachable_patterns)]
8659 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8660 match _t {
8661 alloy_sol_types::private::AssertTypeEq::<
8662 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8663 >(_) => {}
8664 }
8665 }
8666 #[automatically_derived]
8667 #[doc(hidden)]
8668 impl ::core::convert::From<strategyParamsCall> for UnderlyingRustTuple<'_> {
8669 fn from(value: strategyParamsCall) -> Self {
8670 (value.quorumNumber, value._1)
8671 }
8672 }
8673 #[automatically_derived]
8674 #[doc(hidden)]
8675 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategyParamsCall {
8676 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8677 Self {
8678 quorumNumber: tuple.0,
8679 _1: tuple.1,
8680 }
8681 }
8682 }
8683 }
8684 {
8685 #[doc(hidden)]
8686 type UnderlyingSolTuple<'a> = (
8687 alloy::sol_types::sol_data::Address,
8688 alloy::sol_types::sol_data::Uint<96>,
8689 );
8690 #[doc(hidden)]
8691 type UnderlyingRustTuple<'a> = (
8692 alloy::sol_types::private::Address,
8693 alloy::sol_types::private::primitives::aliases::U96,
8694 );
8695 #[cfg(test)]
8696 #[allow(dead_code, unreachable_patterns)]
8697 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8698 match _t {
8699 alloy_sol_types::private::AssertTypeEq::<
8700 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8701 >(_) => {}
8702 }
8703 }
8704 #[automatically_derived]
8705 #[doc(hidden)]
8706 impl ::core::convert::From<strategyParamsReturn> for UnderlyingRustTuple<'_> {
8707 fn from(value: strategyParamsReturn) -> Self {
8708 (value.strategy, value.multiplier)
8709 }
8710 }
8711 #[automatically_derived]
8712 #[doc(hidden)]
8713 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategyParamsReturn {
8714 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8715 Self {
8716 strategy: tuple.0,
8717 multiplier: tuple.1,
8718 }
8719 }
8720 }
8721 }
8722 impl strategyParamsReturn {
8723 fn _tokenize(
8724 &self,
8725 ) -> <strategyParamsCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8726 (
8727 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8728 &self.strategy,
8729 ),
8730 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
8731 &self.multiplier,
8732 ),
8733 )
8734 }
8735 }
8736 #[automatically_derived]
8737 impl alloy_sol_types::SolCall for strategyParamsCall {
8738 type Parameters<'a> = (
8739 alloy::sol_types::sol_data::Uint<8>,
8740 alloy::sol_types::sol_data::Uint<256>,
8741 );
8742 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
8743 type Return = strategyParamsReturn;
8744 type ReturnTuple<'a> = (
8745 alloy::sol_types::sol_data::Address,
8746 alloy::sol_types::sol_data::Uint<96>,
8747 );
8748 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
8749 const SIGNATURE: &'static str = "strategyParams(uint8,uint256)";
8750 const SELECTOR: [u8; 4] = [8u8, 115u8, 36u8, 97u8];
8751 #[inline]
8752 fn new<'a>(
8753 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8754 ) -> Self {
8755 tuple.into()
8756 }
8757 #[inline]
8758 fn tokenize(&self) -> Self::Token<'_> {
8759 (
8760 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
8761 &self.quorumNumber,
8762 ),
8763 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
8764 &self._1,
8765 ),
8766 )
8767 }
8768 #[inline]
8769 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8770 strategyParamsReturn::_tokenize(ret)
8771 }
8772 #[inline]
8773 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8774 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
8775 .map(Into::into)
8776 }
8777 #[inline]
8778 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8779 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
8780 data,
8781 )
8782 .map(Into::into)
8783 }
8784 }
8785 };
8786 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8787 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8792 #[derive(Clone)]
8793 pub struct strategyParamsByIndexCall {
8794 #[allow(missing_docs)]
8795 pub quorumNumber: u8,
8796 #[allow(missing_docs)]
8797 pub index: alloy::sol_types::private::primitives::aliases::U256,
8798 }
8799 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8800 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8802 #[derive(Clone)]
8803 pub struct strategyParamsByIndexReturn {
8804 #[allow(missing_docs)]
8805 pub _0: <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
8806 }
8807 #[allow(
8808 non_camel_case_types,
8809 non_snake_case,
8810 clippy::pub_underscore_fields,
8811 clippy::style
8812 )]
8813 const _: () = {
8814 use alloy::sol_types as alloy_sol_types;
8815 {
8816 #[doc(hidden)]
8817 type UnderlyingSolTuple<'a> = (
8818 alloy::sol_types::sol_data::Uint<8>,
8819 alloy::sol_types::sol_data::Uint<256>,
8820 );
8821 #[doc(hidden)]
8822 type UnderlyingRustTuple<'a> =
8823 (u8, alloy::sol_types::private::primitives::aliases::U256);
8824 #[cfg(test)]
8825 #[allow(dead_code, unreachable_patterns)]
8826 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8827 match _t {
8828 alloy_sol_types::private::AssertTypeEq::<
8829 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8830 >(_) => {}
8831 }
8832 }
8833 #[automatically_derived]
8834 #[doc(hidden)]
8835 impl ::core::convert::From<strategyParamsByIndexCall> for UnderlyingRustTuple<'_> {
8836 fn from(value: strategyParamsByIndexCall) -> Self {
8837 (value.quorumNumber, value.index)
8838 }
8839 }
8840 #[automatically_derived]
8841 #[doc(hidden)]
8842 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategyParamsByIndexCall {
8843 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8844 Self {
8845 quorumNumber: tuple.0,
8846 index: tuple.1,
8847 }
8848 }
8849 }
8850 }
8851 {
8852 #[doc(hidden)]
8853 type UnderlyingSolTuple<'a> = (IStakeRegistryTypes::StrategyParams,);
8854 #[doc(hidden)]
8855 type UnderlyingRustTuple<'a> =
8856 (<IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,);
8857 #[cfg(test)]
8858 #[allow(dead_code, unreachable_patterns)]
8859 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8860 match _t {
8861 alloy_sol_types::private::AssertTypeEq::<
8862 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8863 >(_) => {}
8864 }
8865 }
8866 #[automatically_derived]
8867 #[doc(hidden)]
8868 impl ::core::convert::From<strategyParamsByIndexReturn> for UnderlyingRustTuple<'_> {
8869 fn from(value: strategyParamsByIndexReturn) -> Self {
8870 (value._0,)
8871 }
8872 }
8873 #[automatically_derived]
8874 #[doc(hidden)]
8875 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategyParamsByIndexReturn {
8876 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8877 Self { _0: tuple.0 }
8878 }
8879 }
8880 }
8881 #[automatically_derived]
8882 impl alloy_sol_types::SolCall for strategyParamsByIndexCall {
8883 type Parameters<'a> = (
8884 alloy::sol_types::sol_data::Uint<8>,
8885 alloy::sol_types::sol_data::Uint<256>,
8886 );
8887 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
8888 type Return =
8889 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType;
8890 type ReturnTuple<'a> = (IStakeRegistryTypes::StrategyParams,);
8891 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
8892 const SIGNATURE: &'static str = "strategyParamsByIndex(uint8,uint256)";
8893 const SELECTOR: [u8; 4] = [173u8, 200u8, 4u8, 218u8];
8894 #[inline]
8895 fn new<'a>(
8896 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8897 ) -> Self {
8898 tuple.into()
8899 }
8900 #[inline]
8901 fn tokenize(&self) -> Self::Token<'_> {
8902 (
8903 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
8904 &self.quorumNumber,
8905 ),
8906 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
8907 &self.index,
8908 ),
8909 )
8910 }
8911 #[inline]
8912 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8913 (
8914 <IStakeRegistryTypes::StrategyParams as alloy_sol_types::SolType>::tokenize(
8915 ret,
8916 ),
8917 )
8918 }
8919 #[inline]
8920 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8921 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
8922 |r| {
8923 let r: strategyParamsByIndexReturn = r.into();
8924 r._0
8925 },
8926 )
8927 }
8928 #[inline]
8929 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8930 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
8931 data,
8932 )
8933 .map(|r| {
8934 let r: strategyParamsByIndexReturn = r.into();
8935 r._0
8936 })
8937 }
8938 }
8939 };
8940 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8941 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8946 #[derive(Clone)]
8947 pub struct strategyParamsLengthCall {
8948 #[allow(missing_docs)]
8949 pub quorumNumber: u8,
8950 }
8951 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
8952 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8954 #[derive(Clone)]
8955 pub struct strategyParamsLengthReturn {
8956 #[allow(missing_docs)]
8957 pub _0: alloy::sol_types::private::primitives::aliases::U256,
8958 }
8959 #[allow(
8960 non_camel_case_types,
8961 non_snake_case,
8962 clippy::pub_underscore_fields,
8963 clippy::style
8964 )]
8965 const _: () = {
8966 use alloy::sol_types as alloy_sol_types;
8967 {
8968 #[doc(hidden)]
8969 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
8970 #[doc(hidden)]
8971 type UnderlyingRustTuple<'a> = (u8,);
8972 #[cfg(test)]
8973 #[allow(dead_code, unreachable_patterns)]
8974 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
8975 match _t {
8976 alloy_sol_types::private::AssertTypeEq::<
8977 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8978 >(_) => {}
8979 }
8980 }
8981 #[automatically_derived]
8982 #[doc(hidden)]
8983 impl ::core::convert::From<strategyParamsLengthCall> for UnderlyingRustTuple<'_> {
8984 fn from(value: strategyParamsLengthCall) -> Self {
8985 (value.quorumNumber,)
8986 }
8987 }
8988 #[automatically_derived]
8989 #[doc(hidden)]
8990 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategyParamsLengthCall {
8991 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8992 Self {
8993 quorumNumber: tuple.0,
8994 }
8995 }
8996 }
8997 }
8998 {
8999 #[doc(hidden)]
9000 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
9001 #[doc(hidden)]
9002 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U256,);
9003 #[cfg(test)]
9004 #[allow(dead_code, unreachable_patterns)]
9005 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
9006 match _t {
9007 alloy_sol_types::private::AssertTypeEq::<
9008 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9009 >(_) => {}
9010 }
9011 }
9012 #[automatically_derived]
9013 #[doc(hidden)]
9014 impl ::core::convert::From<strategyParamsLengthReturn> for UnderlyingRustTuple<'_> {
9015 fn from(value: strategyParamsLengthReturn) -> Self {
9016 (value._0,)
9017 }
9018 }
9019 #[automatically_derived]
9020 #[doc(hidden)]
9021 impl ::core::convert::From<UnderlyingRustTuple<'_>> for strategyParamsLengthReturn {
9022 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9023 Self { _0: tuple.0 }
9024 }
9025 }
9026 }
9027 #[automatically_derived]
9028 impl alloy_sol_types::SolCall for strategyParamsLengthCall {
9029 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<8>,);
9030 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
9031 type Return = alloy::sol_types::private::primitives::aliases::U256;
9032 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
9033 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
9034 const SIGNATURE: &'static str = "strategyParamsLength(uint8)";
9035 const SELECTOR: [u8; 4] = [60u8, 165u8, 165u8, 245u8];
9036 #[inline]
9037 fn new<'a>(
9038 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9039 ) -> Self {
9040 tuple.into()
9041 }
9042 #[inline]
9043 fn tokenize(&self) -> Self::Token<'_> {
9044 (
9045 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
9046 &self.quorumNumber,
9047 ),
9048 )
9049 }
9050 #[inline]
9051 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9052 (
9053 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
9054 ret,
9055 ),
9056 )
9057 }
9058 #[inline]
9059 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9060 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
9061 |r| {
9062 let r: strategyParamsLengthReturn = r.into();
9063 r._0
9064 },
9065 )
9066 }
9067 #[inline]
9068 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9069 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
9070 data,
9071 )
9072 .map(|r| {
9073 let r: strategyParamsLengthReturn = r.into();
9074 r._0
9075 })
9076 }
9077 }
9078 };
9079 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
9080 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9085 #[derive(Clone)]
9086 pub struct updateOperatorsStakeCall {
9087 #[allow(missing_docs)]
9088 pub operators: alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
9089 #[allow(missing_docs)]
9090 pub operatorIds: alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
9091 #[allow(missing_docs)]
9092 pub quorumNumber: u8,
9093 }
9094 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
9095 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9097 #[derive(Clone)]
9098 pub struct updateOperatorsStakeReturn {
9099 #[allow(missing_docs)]
9100 pub _0: alloy::sol_types::private::Vec<bool>,
9101 }
9102 #[allow(
9103 non_camel_case_types,
9104 non_snake_case,
9105 clippy::pub_underscore_fields,
9106 clippy::style
9107 )]
9108 const _: () = {
9109 use alloy::sol_types as alloy_sol_types;
9110 {
9111 #[doc(hidden)]
9112 type UnderlyingSolTuple<'a> = (
9113 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9114 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::FixedBytes<32>>,
9115 alloy::sol_types::sol_data::Uint<8>,
9116 );
9117 #[doc(hidden)]
9118 type UnderlyingRustTuple<'a> = (
9119 alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
9120 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
9121 u8,
9122 );
9123 #[cfg(test)]
9124 #[allow(dead_code, unreachable_patterns)]
9125 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
9126 match _t {
9127 alloy_sol_types::private::AssertTypeEq::<
9128 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9129 >(_) => {}
9130 }
9131 }
9132 #[automatically_derived]
9133 #[doc(hidden)]
9134 impl ::core::convert::From<updateOperatorsStakeCall> for UnderlyingRustTuple<'_> {
9135 fn from(value: updateOperatorsStakeCall) -> Self {
9136 (value.operators, value.operatorIds, value.quorumNumber)
9137 }
9138 }
9139 #[automatically_derived]
9140 #[doc(hidden)]
9141 impl ::core::convert::From<UnderlyingRustTuple<'_>> for updateOperatorsStakeCall {
9142 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9143 Self {
9144 operators: tuple.0,
9145 operatorIds: tuple.1,
9146 quorumNumber: tuple.2,
9147 }
9148 }
9149 }
9150 }
9151 {
9152 #[doc(hidden)]
9153 type UnderlyingSolTuple<'a> =
9154 (alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bool>,);
9155 #[doc(hidden)]
9156 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Vec<bool>,);
9157 #[cfg(test)]
9158 #[allow(dead_code, unreachable_patterns)]
9159 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
9160 match _t {
9161 alloy_sol_types::private::AssertTypeEq::<
9162 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9163 >(_) => {}
9164 }
9165 }
9166 #[automatically_derived]
9167 #[doc(hidden)]
9168 impl ::core::convert::From<updateOperatorsStakeReturn> for UnderlyingRustTuple<'_> {
9169 fn from(value: updateOperatorsStakeReturn) -> Self {
9170 (value._0,)
9171 }
9172 }
9173 #[automatically_derived]
9174 #[doc(hidden)]
9175 impl ::core::convert::From<UnderlyingRustTuple<'_>> for updateOperatorsStakeReturn {
9176 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9177 Self { _0: tuple.0 }
9178 }
9179 }
9180 }
9181 #[automatically_derived]
9182 impl alloy_sol_types::SolCall for updateOperatorsStakeCall {
9183 type Parameters<'a> = (
9184 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9185 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::FixedBytes<32>>,
9186 alloy::sol_types::sol_data::Uint<8>,
9187 );
9188 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
9189 type Return = alloy::sol_types::private::Vec<bool>;
9190 type ReturnTuple<'a> =
9191 (alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bool>,);
9192 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
9193 const SIGNATURE: &'static str = "updateOperatorsStake(address[],bytes32[],uint8)";
9194 const SELECTOR: [u8; 4] = [108u8, 63u8, 180u8, 191u8];
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::Array<
9205 alloy::sol_types::sol_data::Address,
9206 > as alloy_sol_types::SolType>::tokenize(&self.operators),
9207 <alloy::sol_types::sol_data::Array<
9208 alloy::sol_types::sol_data::FixedBytes<32>,
9209 > as alloy_sol_types::SolType>::tokenize(&self.operatorIds),
9210 <alloy::sol_types::sol_data::Uint<
9211 8,
9212 > as alloy_sol_types::SolType>::tokenize(&self.quorumNumber),
9213 )
9214 }
9215 #[inline]
9216 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9217 (<alloy::sol_types::sol_data::Array<
9218 alloy::sol_types::sol_data::Bool,
9219 > as alloy_sol_types::SolType>::tokenize(ret),)
9220 }
9221 #[inline]
9222 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9223 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
9224 |r| {
9225 let r: updateOperatorsStakeReturn = r.into();
9226 r._0
9227 },
9228 )
9229 }
9230 #[inline]
9231 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9232 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
9233 data,
9234 )
9235 .map(|r| {
9236 let r: updateOperatorsStakeReturn = r.into();
9237 r._0
9238 })
9239 }
9240 }
9241 };
9242 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
9243 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9248 #[derive(Clone)]
9249 pub struct weightOfOperatorForQuorumCall {
9250 #[allow(missing_docs)]
9251 pub quorumNumber: u8,
9252 #[allow(missing_docs)]
9253 pub operator: alloy::sol_types::private::Address,
9254 }
9255 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
9256 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9258 #[derive(Clone)]
9259 pub struct weightOfOperatorForQuorumReturn {
9260 #[allow(missing_docs)]
9261 pub _0: alloy::sol_types::private::primitives::aliases::U96,
9262 }
9263 #[allow(
9264 non_camel_case_types,
9265 non_snake_case,
9266 clippy::pub_underscore_fields,
9267 clippy::style
9268 )]
9269 const _: () = {
9270 use alloy::sol_types as alloy_sol_types;
9271 {
9272 #[doc(hidden)]
9273 type UnderlyingSolTuple<'a> = (
9274 alloy::sol_types::sol_data::Uint<8>,
9275 alloy::sol_types::sol_data::Address,
9276 );
9277 #[doc(hidden)]
9278 type UnderlyingRustTuple<'a> = (u8, alloy::sol_types::private::Address);
9279 #[cfg(test)]
9280 #[allow(dead_code, unreachable_patterns)]
9281 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
9282 match _t {
9283 alloy_sol_types::private::AssertTypeEq::<
9284 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9285 >(_) => {}
9286 }
9287 }
9288 #[automatically_derived]
9289 #[doc(hidden)]
9290 impl ::core::convert::From<weightOfOperatorForQuorumCall> for UnderlyingRustTuple<'_> {
9291 fn from(value: weightOfOperatorForQuorumCall) -> Self {
9292 (value.quorumNumber, value.operator)
9293 }
9294 }
9295 #[automatically_derived]
9296 #[doc(hidden)]
9297 impl ::core::convert::From<UnderlyingRustTuple<'_>> for weightOfOperatorForQuorumCall {
9298 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9299 Self {
9300 quorumNumber: tuple.0,
9301 operator: tuple.1,
9302 }
9303 }
9304 }
9305 }
9306 {
9307 #[doc(hidden)]
9308 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
9309 #[doc(hidden)]
9310 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U96,);
9311 #[cfg(test)]
9312 #[allow(dead_code, unreachable_patterns)]
9313 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
9314 match _t {
9315 alloy_sol_types::private::AssertTypeEq::<
9316 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9317 >(_) => {}
9318 }
9319 }
9320 #[automatically_derived]
9321 #[doc(hidden)]
9322 impl ::core::convert::From<weightOfOperatorForQuorumReturn> for UnderlyingRustTuple<'_> {
9323 fn from(value: weightOfOperatorForQuorumReturn) -> Self {
9324 (value._0,)
9325 }
9326 }
9327 #[automatically_derived]
9328 #[doc(hidden)]
9329 impl ::core::convert::From<UnderlyingRustTuple<'_>> for weightOfOperatorForQuorumReturn {
9330 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9331 Self { _0: tuple.0 }
9332 }
9333 }
9334 }
9335 #[automatically_derived]
9336 impl alloy_sol_types::SolCall for weightOfOperatorForQuorumCall {
9337 type Parameters<'a> = (
9338 alloy::sol_types::sol_data::Uint<8>,
9339 alloy::sol_types::sol_data::Address,
9340 );
9341 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
9342 type Return = alloy::sol_types::private::primitives::aliases::U96;
9343 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<96>,);
9344 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
9345 const SIGNATURE: &'static str = "weightOfOperatorForQuorum(uint8,address)";
9346 const SELECTOR: [u8; 4] = [31u8, 155u8, 116u8, 224u8];
9347 #[inline]
9348 fn new<'a>(
9349 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9350 ) -> Self {
9351 tuple.into()
9352 }
9353 #[inline]
9354 fn tokenize(&self) -> Self::Token<'_> {
9355 (
9356 <alloy::sol_types::sol_data::Uint<8> as alloy_sol_types::SolType>::tokenize(
9357 &self.quorumNumber,
9358 ),
9359 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9360 &self.operator,
9361 ),
9362 )
9363 }
9364 #[inline]
9365 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9366 (
9367 <alloy::sol_types::sol_data::Uint<96> as alloy_sol_types::SolType>::tokenize(
9368 ret,
9369 ),
9370 )
9371 }
9372 #[inline]
9373 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9374 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
9375 |r| {
9376 let r: weightOfOperatorForQuorumReturn = r.into();
9377 r._0
9378 },
9379 )
9380 }
9381 #[inline]
9382 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9383 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
9384 data,
9385 )
9386 .map(|r| {
9387 let r: weightOfOperatorForQuorumReturn = r.into();
9388 r._0
9389 })
9390 }
9391 }
9392 };
9393 #[derive(serde::Serialize, serde::Deserialize)]
9395 pub enum StakeRegistryCalls {
9396 #[allow(missing_docs)]
9397 MAX_WEIGHING_FUNCTION_LENGTH(MAX_WEIGHING_FUNCTION_LENGTHCall),
9398 #[allow(missing_docs)]
9399 WEIGHTING_DIVISOR(WEIGHTING_DIVISORCall),
9400 #[allow(missing_docs)]
9401 addStrategies(addStrategiesCall),
9402 #[allow(missing_docs)]
9403 allocationManager(allocationManagerCall),
9404 #[allow(missing_docs)]
9405 avsDirectory(avsDirectoryCall),
9406 #[allow(missing_docs)]
9407 delegation(delegationCall),
9408 #[allow(missing_docs)]
9409 deregisterOperator(deregisterOperatorCall),
9410 #[allow(missing_docs)]
9411 getCurrentStake(getCurrentStakeCall),
9412 #[allow(missing_docs)]
9413 getCurrentTotalStake(getCurrentTotalStakeCall),
9414 #[allow(missing_docs)]
9415 getLatestStakeUpdate(getLatestStakeUpdateCall),
9416 #[allow(missing_docs)]
9417 getStakeAtBlockNumber(getStakeAtBlockNumberCall),
9418 #[allow(missing_docs)]
9419 getStakeAtBlockNumberAndIndex(getStakeAtBlockNumberAndIndexCall),
9420 #[allow(missing_docs)]
9421 getStakeHistory(getStakeHistoryCall),
9422 #[allow(missing_docs)]
9423 getStakeHistoryLength(getStakeHistoryLengthCall),
9424 #[allow(missing_docs)]
9425 getStakeUpdateAtIndex(getStakeUpdateAtIndexCall),
9426 #[allow(missing_docs)]
9427 getStakeUpdateIndexAtBlockNumber(getStakeUpdateIndexAtBlockNumberCall),
9428 #[allow(missing_docs)]
9429 getTotalStakeAtBlockNumberFromIndex(getTotalStakeAtBlockNumberFromIndexCall),
9430 #[allow(missing_docs)]
9431 getTotalStakeHistoryLength(getTotalStakeHistoryLengthCall),
9432 #[allow(missing_docs)]
9433 getTotalStakeIndicesAtBlockNumber(getTotalStakeIndicesAtBlockNumberCall),
9434 #[allow(missing_docs)]
9435 getTotalStakeUpdateAtIndex(getTotalStakeUpdateAtIndexCall),
9436 #[allow(missing_docs)]
9437 initializeDelegatedStakeQuorum(initializeDelegatedStakeQuorumCall),
9438 #[allow(missing_docs)]
9439 initializeSlashableStakeQuorum(initializeSlashableStakeQuorumCall),
9440 #[allow(missing_docs)]
9441 minimumStakeForQuorum(minimumStakeForQuorumCall),
9442 #[allow(missing_docs)]
9443 modifyStrategyParams(modifyStrategyParamsCall),
9444 #[allow(missing_docs)]
9445 registerOperator(registerOperatorCall),
9446 #[allow(missing_docs)]
9447 registryCoordinator(registryCoordinatorCall),
9448 #[allow(missing_docs)]
9449 removeStrategies(removeStrategiesCall),
9450 #[allow(missing_docs)]
9451 setMinimumStakeForQuorum(setMinimumStakeForQuorumCall),
9452 #[allow(missing_docs)]
9453 setSlashableStakeLookahead(setSlashableStakeLookaheadCall),
9454 #[allow(missing_docs)]
9455 slashableStakeLookAheadPerQuorum(slashableStakeLookAheadPerQuorumCall),
9456 #[allow(missing_docs)]
9457 stakeTypePerQuorum(stakeTypePerQuorumCall),
9458 #[allow(missing_docs)]
9459 strategiesPerQuorum(strategiesPerQuorumCall),
9460 #[allow(missing_docs)]
9461 strategyParams(strategyParamsCall),
9462 #[allow(missing_docs)]
9463 strategyParamsByIndex(strategyParamsByIndexCall),
9464 #[allow(missing_docs)]
9465 strategyParamsLength(strategyParamsLengthCall),
9466 #[allow(missing_docs)]
9467 updateOperatorsStake(updateOperatorsStakeCall),
9468 #[allow(missing_docs)]
9469 weightOfOperatorForQuorum(weightOfOperatorForQuorumCall),
9470 }
9471 #[automatically_derived]
9472 impl StakeRegistryCalls {
9473 pub const SELECTORS: &'static [[u8; 4usize]] = &[
9480 [4u8, 145u8, 180u8, 28u8],
9481 [8u8, 115u8, 36u8, 97u8],
9482 [31u8, 155u8, 116u8, 224u8],
9483 [32u8, 182u8, 98u8, 152u8],
9484 [37u8, 80u8, 71u8, 119u8],
9485 [44u8, 217u8, 89u8, 64u8],
9486 [60u8, 165u8, 165u8, 245u8],
9487 [75u8, 210u8, 110u8, 9u8],
9488 [84u8, 1u8, 237u8, 39u8],
9489 [94u8, 90u8, 103u8, 117u8],
9490 [95u8, 31u8, 45u8, 119u8],
9491 [105u8, 127u8, 189u8, 147u8],
9492 [107u8, 58u8, 167u8, 46u8],
9493 [108u8, 63u8, 180u8, 191u8],
9494 [109u8, 20u8, 169u8, 135u8],
9495 [117u8, 212u8, 23u8, 58u8],
9496 [124u8, 23u8, 35u8, 71u8],
9497 [129u8, 192u8, 117u8, 2u8],
9498 [154u8, 180u8, 214u8, 255u8],
9499 [159u8, 60u8, 207u8, 101u8],
9500 [172u8, 107u8, 251u8, 3u8],
9501 [173u8, 200u8, 4u8, 218u8],
9502 [182u8, 144u8, 75u8, 120u8],
9503 [188u8, 154u8, 64u8, 195u8],
9504 [189u8, 41u8, 184u8, 205u8],
9505 [196u8, 103u8, 120u8, 165u8],
9506 [198u8, 1u8, 82u8, 125u8],
9507 [200u8, 41u8, 76u8, 86u8],
9508 [202u8, 138u8, 167u8, 199u8],
9509 [204u8, 90u8, 124u8, 32u8],
9510 [213u8, 236u8, 204u8, 5u8],
9511 [221u8, 152u8, 70u8, 185u8],
9512 [223u8, 92u8, 247u8, 35u8],
9513 [224u8, 134u8, 173u8, 179u8],
9514 [242u8, 190u8, 148u8, 174u8],
9515 [248u8, 81u8, 225u8, 152u8],
9516 [250u8, 40u8, 198u8, 39u8],
9517 ];
9518 }
9519 #[automatically_derived]
9520 impl alloy_sol_types::SolInterface for StakeRegistryCalls {
9521 const NAME: &'static str = "StakeRegistryCalls";
9522 const MIN_DATA_LENGTH: usize = 0usize;
9523 const COUNT: usize = 37usize;
9524 #[inline]
9525 fn selector(&self) -> [u8; 4] {
9526 match self {
9527 Self::MAX_WEIGHING_FUNCTION_LENGTH(_) => {
9528 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::SELECTOR
9529 }
9530 Self::WEIGHTING_DIVISOR(_) => {
9531 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::SELECTOR
9532 }
9533 Self::addStrategies(_) => <addStrategiesCall as alloy_sol_types::SolCall>::SELECTOR,
9534 Self::allocationManager(_) => {
9535 <allocationManagerCall as alloy_sol_types::SolCall>::SELECTOR
9536 }
9537 Self::avsDirectory(_) => <avsDirectoryCall as alloy_sol_types::SolCall>::SELECTOR,
9538 Self::delegation(_) => <delegationCall as alloy_sol_types::SolCall>::SELECTOR,
9539 Self::deregisterOperator(_) => {
9540 <deregisterOperatorCall as alloy_sol_types::SolCall>::SELECTOR
9541 }
9542 Self::getCurrentStake(_) => {
9543 <getCurrentStakeCall as alloy_sol_types::SolCall>::SELECTOR
9544 }
9545 Self::getCurrentTotalStake(_) => {
9546 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::SELECTOR
9547 }
9548 Self::getLatestStakeUpdate(_) => {
9549 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::SELECTOR
9550 }
9551 Self::getStakeAtBlockNumber(_) => {
9552 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::SELECTOR
9553 }
9554 Self::getStakeAtBlockNumberAndIndex(_) => {
9555 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::SELECTOR
9556 }
9557 Self::getStakeHistory(_) => {
9558 <getStakeHistoryCall as alloy_sol_types::SolCall>::SELECTOR
9559 }
9560 Self::getStakeHistoryLength(_) => {
9561 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::SELECTOR
9562 }
9563 Self::getStakeUpdateAtIndex(_) => {
9564 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::SELECTOR
9565 }
9566 Self::getStakeUpdateIndexAtBlockNumber(_) => {
9567 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::SELECTOR
9568 }
9569 Self::getTotalStakeAtBlockNumberFromIndex(_) => {
9570 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::SELECTOR
9571 }
9572 Self::getTotalStakeHistoryLength(_) => {
9573 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::SELECTOR
9574 }
9575 Self::getTotalStakeIndicesAtBlockNumber(_) => {
9576 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::SELECTOR
9577 }
9578 Self::getTotalStakeUpdateAtIndex(_) => {
9579 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::SELECTOR
9580 }
9581 Self::initializeDelegatedStakeQuorum(_) => {
9582 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::SELECTOR
9583 }
9584 Self::initializeSlashableStakeQuorum(_) => {
9585 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::SELECTOR
9586 }
9587 Self::minimumStakeForQuorum(_) => {
9588 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::SELECTOR
9589 }
9590 Self::modifyStrategyParams(_) => {
9591 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::SELECTOR
9592 }
9593 Self::registerOperator(_) => {
9594 <registerOperatorCall as alloy_sol_types::SolCall>::SELECTOR
9595 }
9596 Self::registryCoordinator(_) => {
9597 <registryCoordinatorCall as alloy_sol_types::SolCall>::SELECTOR
9598 }
9599 Self::removeStrategies(_) => {
9600 <removeStrategiesCall as alloy_sol_types::SolCall>::SELECTOR
9601 }
9602 Self::setMinimumStakeForQuorum(_) => {
9603 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::SELECTOR
9604 }
9605 Self::setSlashableStakeLookahead(_) => {
9606 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::SELECTOR
9607 }
9608 Self::slashableStakeLookAheadPerQuorum(_) => {
9609 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::SELECTOR
9610 }
9611 Self::stakeTypePerQuorum(_) => {
9612 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::SELECTOR
9613 }
9614 Self::strategiesPerQuorum(_) => {
9615 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::SELECTOR
9616 }
9617 Self::strategyParams(_) => {
9618 <strategyParamsCall as alloy_sol_types::SolCall>::SELECTOR
9619 }
9620 Self::strategyParamsByIndex(_) => {
9621 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::SELECTOR
9622 }
9623 Self::strategyParamsLength(_) => {
9624 <strategyParamsLengthCall as alloy_sol_types::SolCall>::SELECTOR
9625 }
9626 Self::updateOperatorsStake(_) => {
9627 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::SELECTOR
9628 }
9629 Self::weightOfOperatorForQuorum(_) => {
9630 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::SELECTOR
9631 }
9632 }
9633 }
9634 #[inline]
9635 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
9636 Self::SELECTORS.get(i).copied()
9637 }
9638 #[inline]
9639 fn valid_selector(selector: [u8; 4]) -> bool {
9640 Self::SELECTORS.binary_search(&selector).is_ok()
9641 }
9642 #[inline]
9643 #[allow(non_snake_case)]
9644 fn abi_decode_raw(selector: [u8; 4], data: &[u8]) -> alloy_sol_types::Result<Self> {
9645 static DECODE_SHIMS: &[fn(&[u8]) -> alloy_sol_types::Result<StakeRegistryCalls>] = &[
9646 {
9647 fn getTotalStakeHistoryLength(
9648 data: &[u8],
9649 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9650 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_decode_raw(
9651 data,
9652 )
9653 .map(StakeRegistryCalls::getTotalStakeHistoryLength)
9654 }
9655 getTotalStakeHistoryLength
9656 },
9657 {
9658 fn strategyParams(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
9659 <strategyParamsCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9660 .map(StakeRegistryCalls::strategyParams)
9661 }
9662 strategyParams
9663 },
9664 {
9665 fn weightOfOperatorForQuorum(
9666 data: &[u8],
9667 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9668 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
9669 data,
9670 )
9671 .map(StakeRegistryCalls::weightOfOperatorForQuorum)
9672 }
9673 weightOfOperatorForQuorum
9674 },
9675 {
9676 fn modifyStrategyParams(
9677 data: &[u8],
9678 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9679 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9680 .map(StakeRegistryCalls::modifyStrategyParams)
9681 }
9682 modifyStrategyParams
9683 },
9684 {
9685 fn registerOperator(
9686 data: &[u8],
9687 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9688 <registerOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9689 .map(StakeRegistryCalls::registerOperator)
9690 }
9691 registerOperator
9692 },
9693 {
9694 fn getStakeHistory(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
9695 <getStakeHistoryCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9696 .map(StakeRegistryCalls::getStakeHistory)
9697 }
9698 getStakeHistory
9699 },
9700 {
9701 fn strategyParamsLength(
9702 data: &[u8],
9703 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9704 <strategyParamsLengthCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9705 .map(StakeRegistryCalls::strategyParamsLength)
9706 }
9707 strategyParamsLength
9708 },
9709 {
9710 fn getStakeHistoryLength(
9711 data: &[u8],
9712 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9713 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_decode_raw(
9714 data,
9715 )
9716 .map(StakeRegistryCalls::getStakeHistoryLength)
9717 }
9718 getStakeHistoryLength
9719 },
9720 {
9721 fn getCurrentStake(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
9722 <getCurrentStakeCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9723 .map(StakeRegistryCalls::getCurrentStake)
9724 }
9725 getCurrentStake
9726 },
9727 {
9728 fn WEIGHTING_DIVISOR(
9729 data: &[u8],
9730 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9731 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9732 .map(StakeRegistryCalls::WEIGHTING_DIVISOR)
9733 }
9734 WEIGHTING_DIVISOR
9735 },
9736 {
9737 fn removeStrategies(
9738 data: &[u8],
9739 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9740 <removeStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9741 .map(StakeRegistryCalls::removeStrategies)
9742 }
9743 removeStrategies
9744 },
9745 {
9746 fn stakeTypePerQuorum(
9747 data: &[u8],
9748 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9749 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9750 .map(StakeRegistryCalls::stakeTypePerQuorum)
9751 }
9752 stakeTypePerQuorum
9753 },
9754 {
9755 fn avsDirectory(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
9756 <avsDirectoryCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9757 .map(StakeRegistryCalls::avsDirectory)
9758 }
9759 avsDirectory
9760 },
9761 {
9762 fn updateOperatorsStake(
9763 data: &[u8],
9764 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9765 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9766 .map(StakeRegistryCalls::updateOperatorsStake)
9767 }
9768 updateOperatorsStake
9769 },
9770 {
9771 fn registryCoordinator(
9772 data: &[u8],
9773 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9774 <registryCoordinatorCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9775 .map(StakeRegistryCalls::registryCoordinator)
9776 }
9777 registryCoordinator
9778 },
9779 {
9780 fn initializeDelegatedStakeQuorum(
9781 data: &[u8],
9782 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9783 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
9784 data,
9785 )
9786 .map(StakeRegistryCalls::initializeDelegatedStakeQuorum)
9787 }
9788 initializeDelegatedStakeQuorum
9789 },
9790 {
9791 fn MAX_WEIGHING_FUNCTION_LENGTH(
9792 data: &[u8],
9793 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9794 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::abi_decode_raw(
9795 data,
9796 )
9797 .map(StakeRegistryCalls::MAX_WEIGHING_FUNCTION_LENGTH)
9798 }
9799 MAX_WEIGHING_FUNCTION_LENGTH
9800 },
9801 {
9802 fn getTotalStakeIndicesAtBlockNumber(
9803 data: &[u8],
9804 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9805 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw(
9806 data,
9807 )
9808 .map(StakeRegistryCalls::getTotalStakeIndicesAtBlockNumber)
9809 }
9810 getTotalStakeIndicesAtBlockNumber
9811 },
9812 {
9813 fn slashableStakeLookAheadPerQuorum(
9814 data: &[u8],
9815 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9816 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
9817 data,
9818 )
9819 .map(StakeRegistryCalls::slashableStakeLookAheadPerQuorum)
9820 }
9821 slashableStakeLookAheadPerQuorum
9822 },
9823 {
9824 fn strategiesPerQuorum(
9825 data: &[u8],
9826 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9827 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9828 .map(StakeRegistryCalls::strategiesPerQuorum)
9829 }
9830 strategiesPerQuorum
9831 },
9832 {
9833 fn getStakeUpdateAtIndex(
9834 data: &[u8],
9835 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9836 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
9837 data,
9838 )
9839 .map(StakeRegistryCalls::getStakeUpdateAtIndex)
9840 }
9841 getStakeUpdateAtIndex
9842 },
9843 {
9844 fn strategyParamsByIndex(
9845 data: &[u8],
9846 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9847 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
9848 data,
9849 )
9850 .map(StakeRegistryCalls::strategyParamsByIndex)
9851 }
9852 strategyParamsByIndex
9853 },
9854 {
9855 fn getTotalStakeUpdateAtIndex(
9856 data: &[u8],
9857 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9858 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
9859 data,
9860 )
9861 .map(StakeRegistryCalls::getTotalStakeUpdateAtIndex)
9862 }
9863 getTotalStakeUpdateAtIndex
9864 },
9865 {
9866 fn setMinimumStakeForQuorum(
9867 data: &[u8],
9868 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9869 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
9870 data,
9871 )
9872 .map(StakeRegistryCalls::setMinimumStakeForQuorum)
9873 }
9874 setMinimumStakeForQuorum
9875 },
9876 {
9877 fn deregisterOperator(
9878 data: &[u8],
9879 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9880 <deregisterOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9881 .map(StakeRegistryCalls::deregisterOperator)
9882 }
9883 deregisterOperator
9884 },
9885 {
9886 fn minimumStakeForQuorum(
9887 data: &[u8],
9888 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9889 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
9890 data,
9891 )
9892 .map(StakeRegistryCalls::minimumStakeForQuorum)
9893 }
9894 minimumStakeForQuorum
9895 },
9896 {
9897 fn addStrategies(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
9898 <addStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9899 .map(StakeRegistryCalls::addStrategies)
9900 }
9901 addStrategies
9902 },
9903 {
9904 fn getTotalStakeAtBlockNumberFromIndex(
9905 data: &[u8],
9906 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9907 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
9908 data,
9909 )
9910 .map(StakeRegistryCalls::getTotalStakeAtBlockNumberFromIndex)
9911 }
9912 getTotalStakeAtBlockNumberFromIndex
9913 },
9914 {
9915 fn allocationManager(
9916 data: &[u8],
9917 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9918 <allocationManagerCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9919 .map(StakeRegistryCalls::allocationManager)
9920 }
9921 allocationManager
9922 },
9923 {
9924 fn initializeSlashableStakeQuorum(
9925 data: &[u8],
9926 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9927 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw(
9928 data,
9929 )
9930 .map(StakeRegistryCalls::initializeSlashableStakeQuorum)
9931 }
9932 initializeSlashableStakeQuorum
9933 },
9934 {
9935 fn getCurrentTotalStake(
9936 data: &[u8],
9937 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9938 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9939 .map(StakeRegistryCalls::getCurrentTotalStake)
9940 }
9941 getCurrentTotalStake
9942 },
9943 {
9944 fn getStakeUpdateIndexAtBlockNumber(
9945 data: &[u8],
9946 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9947 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw(
9948 data,
9949 )
9950 .map(StakeRegistryCalls::getStakeUpdateIndexAtBlockNumber)
9951 }
9952 getStakeUpdateIndexAtBlockNumber
9953 },
9954 {
9955 fn delegation(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
9956 <delegationCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9957 .map(StakeRegistryCalls::delegation)
9958 }
9959 delegation
9960 },
9961 {
9962 fn setSlashableStakeLookahead(
9963 data: &[u8],
9964 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9965 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::abi_decode_raw(
9966 data,
9967 )
9968 .map(StakeRegistryCalls::setSlashableStakeLookahead)
9969 }
9970 setSlashableStakeLookahead
9971 },
9972 {
9973 fn getStakeAtBlockNumberAndIndex(
9974 data: &[u8],
9975 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9976 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::abi_decode_raw(
9977 data,
9978 )
9979 .map(StakeRegistryCalls::getStakeAtBlockNumberAndIndex)
9980 }
9981 getStakeAtBlockNumberAndIndex
9982 },
9983 {
9984 fn getLatestStakeUpdate(
9985 data: &[u8],
9986 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9987 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9988 .map(StakeRegistryCalls::getLatestStakeUpdate)
9989 }
9990 getLatestStakeUpdate
9991 },
9992 {
9993 fn getStakeAtBlockNumber(
9994 data: &[u8],
9995 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
9996 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw(
9997 data,
9998 )
9999 .map(StakeRegistryCalls::getStakeAtBlockNumber)
10000 }
10001 getStakeAtBlockNumber
10002 },
10003 ];
10004 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
10005 return Err(alloy_sol_types::Error::unknown_selector(
10006 <Self as alloy_sol_types::SolInterface>::NAME,
10007 selector,
10008 ));
10009 };
10010 DECODE_SHIMS[idx](data)
10011 }
10012 #[inline]
10013 #[allow(non_snake_case)]
10014 fn abi_decode_raw_validate(
10015 selector: [u8; 4],
10016 data: &[u8],
10017 ) -> alloy_sol_types::Result<Self> {
10018 static DECODE_VALIDATE_SHIMS: &[fn(
10019 &[u8],
10020 )
10021 -> alloy_sol_types::Result<StakeRegistryCalls>] = &[
10022 {
10023 fn getTotalStakeHistoryLength(
10024 data: &[u8],
10025 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10026 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10027 data,
10028 )
10029 .map(StakeRegistryCalls::getTotalStakeHistoryLength)
10030 }
10031 getTotalStakeHistoryLength
10032 },
10033 {
10034 fn strategyParams(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
10035 <strategyParamsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10036 data,
10037 )
10038 .map(StakeRegistryCalls::strategyParams)
10039 }
10040 strategyParams
10041 },
10042 {
10043 fn weightOfOperatorForQuorum(
10044 data: &[u8],
10045 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10046 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10047 data,
10048 )
10049 .map(StakeRegistryCalls::weightOfOperatorForQuorum)
10050 }
10051 weightOfOperatorForQuorum
10052 },
10053 {
10054 fn modifyStrategyParams(
10055 data: &[u8],
10056 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10057 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10058 data,
10059 )
10060 .map(StakeRegistryCalls::modifyStrategyParams)
10061 }
10062 modifyStrategyParams
10063 },
10064 {
10065 fn registerOperator(
10066 data: &[u8],
10067 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10068 <registerOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10069 data,
10070 )
10071 .map(StakeRegistryCalls::registerOperator)
10072 }
10073 registerOperator
10074 },
10075 {
10076 fn getStakeHistory(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
10077 <getStakeHistoryCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10078 data,
10079 )
10080 .map(StakeRegistryCalls::getStakeHistory)
10081 }
10082 getStakeHistory
10083 },
10084 {
10085 fn strategyParamsLength(
10086 data: &[u8],
10087 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10088 <strategyParamsLengthCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10089 data,
10090 )
10091 .map(StakeRegistryCalls::strategyParamsLength)
10092 }
10093 strategyParamsLength
10094 },
10095 {
10096 fn getStakeHistoryLength(
10097 data: &[u8],
10098 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10099 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10100 data,
10101 )
10102 .map(StakeRegistryCalls::getStakeHistoryLength)
10103 }
10104 getStakeHistoryLength
10105 },
10106 {
10107 fn getCurrentStake(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
10108 <getCurrentStakeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10109 data,
10110 )
10111 .map(StakeRegistryCalls::getCurrentStake)
10112 }
10113 getCurrentStake
10114 },
10115 {
10116 fn WEIGHTING_DIVISOR(
10117 data: &[u8],
10118 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10119 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10120 data,
10121 )
10122 .map(StakeRegistryCalls::WEIGHTING_DIVISOR)
10123 }
10124 WEIGHTING_DIVISOR
10125 },
10126 {
10127 fn removeStrategies(
10128 data: &[u8],
10129 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10130 <removeStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10131 data,
10132 )
10133 .map(StakeRegistryCalls::removeStrategies)
10134 }
10135 removeStrategies
10136 },
10137 {
10138 fn stakeTypePerQuorum(
10139 data: &[u8],
10140 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10141 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10142 data,
10143 )
10144 .map(StakeRegistryCalls::stakeTypePerQuorum)
10145 }
10146 stakeTypePerQuorum
10147 },
10148 {
10149 fn avsDirectory(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
10150 <avsDirectoryCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10151 data,
10152 )
10153 .map(StakeRegistryCalls::avsDirectory)
10154 }
10155 avsDirectory
10156 },
10157 {
10158 fn updateOperatorsStake(
10159 data: &[u8],
10160 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10161 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10162 data,
10163 )
10164 .map(StakeRegistryCalls::updateOperatorsStake)
10165 }
10166 updateOperatorsStake
10167 },
10168 {
10169 fn registryCoordinator(
10170 data: &[u8],
10171 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10172 <registryCoordinatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10173 data,
10174 )
10175 .map(StakeRegistryCalls::registryCoordinator)
10176 }
10177 registryCoordinator
10178 },
10179 {
10180 fn initializeDelegatedStakeQuorum(
10181 data: &[u8],
10182 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10183 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10184 data,
10185 )
10186 .map(StakeRegistryCalls::initializeDelegatedStakeQuorum)
10187 }
10188 initializeDelegatedStakeQuorum
10189 },
10190 {
10191 fn MAX_WEIGHING_FUNCTION_LENGTH(
10192 data: &[u8],
10193 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10194 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10195 data,
10196 )
10197 .map(StakeRegistryCalls::MAX_WEIGHING_FUNCTION_LENGTH)
10198 }
10199 MAX_WEIGHING_FUNCTION_LENGTH
10200 },
10201 {
10202 fn getTotalStakeIndicesAtBlockNumber(
10203 data: &[u8],
10204 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10205 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10206 data,
10207 )
10208 .map(StakeRegistryCalls::getTotalStakeIndicesAtBlockNumber)
10209 }
10210 getTotalStakeIndicesAtBlockNumber
10211 },
10212 {
10213 fn slashableStakeLookAheadPerQuorum(
10214 data: &[u8],
10215 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10216 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10217 data,
10218 )
10219 .map(StakeRegistryCalls::slashableStakeLookAheadPerQuorum)
10220 }
10221 slashableStakeLookAheadPerQuorum
10222 },
10223 {
10224 fn strategiesPerQuorum(
10225 data: &[u8],
10226 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10227 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10228 data,
10229 )
10230 .map(StakeRegistryCalls::strategiesPerQuorum)
10231 }
10232 strategiesPerQuorum
10233 },
10234 {
10235 fn getStakeUpdateAtIndex(
10236 data: &[u8],
10237 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10238 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10239 data,
10240 )
10241 .map(StakeRegistryCalls::getStakeUpdateAtIndex)
10242 }
10243 getStakeUpdateAtIndex
10244 },
10245 {
10246 fn strategyParamsByIndex(
10247 data: &[u8],
10248 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10249 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10250 data,
10251 )
10252 .map(StakeRegistryCalls::strategyParamsByIndex)
10253 }
10254 strategyParamsByIndex
10255 },
10256 {
10257 fn getTotalStakeUpdateAtIndex(
10258 data: &[u8],
10259 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10260 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10261 data,
10262 )
10263 .map(StakeRegistryCalls::getTotalStakeUpdateAtIndex)
10264 }
10265 getTotalStakeUpdateAtIndex
10266 },
10267 {
10268 fn setMinimumStakeForQuorum(
10269 data: &[u8],
10270 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10271 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10272 data,
10273 )
10274 .map(StakeRegistryCalls::setMinimumStakeForQuorum)
10275 }
10276 setMinimumStakeForQuorum
10277 },
10278 {
10279 fn deregisterOperator(
10280 data: &[u8],
10281 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10282 <deregisterOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10283 data,
10284 )
10285 .map(StakeRegistryCalls::deregisterOperator)
10286 }
10287 deregisterOperator
10288 },
10289 {
10290 fn minimumStakeForQuorum(
10291 data: &[u8],
10292 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10293 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10294 data,
10295 )
10296 .map(StakeRegistryCalls::minimumStakeForQuorum)
10297 }
10298 minimumStakeForQuorum
10299 },
10300 {
10301 fn addStrategies(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
10302 <addStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10303 data,
10304 )
10305 .map(StakeRegistryCalls::addStrategies)
10306 }
10307 addStrategies
10308 },
10309 {
10310 fn getTotalStakeAtBlockNumberFromIndex(
10311 data: &[u8],
10312 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10313 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10314 data,
10315 )
10316 .map(StakeRegistryCalls::getTotalStakeAtBlockNumberFromIndex)
10317 }
10318 getTotalStakeAtBlockNumberFromIndex
10319 },
10320 {
10321 fn allocationManager(
10322 data: &[u8],
10323 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10324 <allocationManagerCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10325 data,
10326 )
10327 .map(StakeRegistryCalls::allocationManager)
10328 }
10329 allocationManager
10330 },
10331 {
10332 fn initializeSlashableStakeQuorum(
10333 data: &[u8],
10334 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10335 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10336 data,
10337 )
10338 .map(StakeRegistryCalls::initializeSlashableStakeQuorum)
10339 }
10340 initializeSlashableStakeQuorum
10341 },
10342 {
10343 fn getCurrentTotalStake(
10344 data: &[u8],
10345 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10346 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10347 data,
10348 )
10349 .map(StakeRegistryCalls::getCurrentTotalStake)
10350 }
10351 getCurrentTotalStake
10352 },
10353 {
10354 fn getStakeUpdateIndexAtBlockNumber(
10355 data: &[u8],
10356 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10357 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10358 data,
10359 )
10360 .map(StakeRegistryCalls::getStakeUpdateIndexAtBlockNumber)
10361 }
10362 getStakeUpdateIndexAtBlockNumber
10363 },
10364 {
10365 fn delegation(data: &[u8]) -> alloy_sol_types::Result<StakeRegistryCalls> {
10366 <delegationCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(data)
10367 .map(StakeRegistryCalls::delegation)
10368 }
10369 delegation
10370 },
10371 {
10372 fn setSlashableStakeLookahead(
10373 data: &[u8],
10374 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10375 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10376 data,
10377 )
10378 .map(StakeRegistryCalls::setSlashableStakeLookahead)
10379 }
10380 setSlashableStakeLookahead
10381 },
10382 {
10383 fn getStakeAtBlockNumberAndIndex(
10384 data: &[u8],
10385 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10386 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10387 data,
10388 )
10389 .map(StakeRegistryCalls::getStakeAtBlockNumberAndIndex)
10390 }
10391 getStakeAtBlockNumberAndIndex
10392 },
10393 {
10394 fn getLatestStakeUpdate(
10395 data: &[u8],
10396 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10397 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10398 data,
10399 )
10400 .map(StakeRegistryCalls::getLatestStakeUpdate)
10401 }
10402 getLatestStakeUpdate
10403 },
10404 {
10405 fn getStakeAtBlockNumber(
10406 data: &[u8],
10407 ) -> alloy_sol_types::Result<StakeRegistryCalls> {
10408 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
10409 data,
10410 )
10411 .map(StakeRegistryCalls::getStakeAtBlockNumber)
10412 }
10413 getStakeAtBlockNumber
10414 },
10415 ];
10416 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
10417 return Err(alloy_sol_types::Error::unknown_selector(
10418 <Self as alloy_sol_types::SolInterface>::NAME,
10419 selector,
10420 ));
10421 };
10422 DECODE_VALIDATE_SHIMS[idx](data)
10423 }
10424 #[inline]
10425 fn abi_encoded_size(&self) -> usize {
10426 match self {
10427 Self::MAX_WEIGHING_FUNCTION_LENGTH(inner) => {
10428 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::abi_encoded_size(
10429 inner,
10430 )
10431 }
10432 Self::WEIGHTING_DIVISOR(inner) => {
10433 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::abi_encoded_size(
10434 inner,
10435 )
10436 }
10437 Self::addStrategies(inner) => {
10438 <addStrategiesCall as alloy_sol_types::SolCall>::abi_encoded_size(
10439 inner,
10440 )
10441 }
10442 Self::allocationManager(inner) => {
10443 <allocationManagerCall as alloy_sol_types::SolCall>::abi_encoded_size(
10444 inner,
10445 )
10446 }
10447 Self::avsDirectory(inner) => {
10448 <avsDirectoryCall as alloy_sol_types::SolCall>::abi_encoded_size(
10449 inner,
10450 )
10451 }
10452 Self::delegation(inner) => {
10453 <delegationCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
10454 }
10455 Self::deregisterOperator(inner) => {
10456 <deregisterOperatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
10457 inner,
10458 )
10459 }
10460 Self::getCurrentStake(inner) => {
10461 <getCurrentStakeCall as alloy_sol_types::SolCall>::abi_encoded_size(
10462 inner,
10463 )
10464 }
10465 Self::getCurrentTotalStake(inner) => {
10466 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::abi_encoded_size(
10467 inner,
10468 )
10469 }
10470 Self::getLatestStakeUpdate(inner) => {
10471 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::abi_encoded_size(
10472 inner,
10473 )
10474 }
10475 Self::getStakeAtBlockNumber(inner) => {
10476 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encoded_size(
10477 inner,
10478 )
10479 }
10480 Self::getStakeAtBlockNumberAndIndex(inner) => {
10481 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
10482 inner,
10483 )
10484 }
10485 Self::getStakeHistory(inner) => {
10486 <getStakeHistoryCall as alloy_sol_types::SolCall>::abi_encoded_size(
10487 inner,
10488 )
10489 }
10490 Self::getStakeHistoryLength(inner) => {
10491 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_encoded_size(
10492 inner,
10493 )
10494 }
10495 Self::getStakeUpdateAtIndex(inner) => {
10496 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
10497 inner,
10498 )
10499 }
10500 Self::getStakeUpdateIndexAtBlockNumber(inner) => {
10501 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encoded_size(
10502 inner,
10503 )
10504 }
10505 Self::getTotalStakeAtBlockNumberFromIndex(inner) => {
10506 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
10507 inner,
10508 )
10509 }
10510 Self::getTotalStakeHistoryLength(inner) => {
10511 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_encoded_size(
10512 inner,
10513 )
10514 }
10515 Self::getTotalStakeIndicesAtBlockNumber(inner) => {
10516 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encoded_size(
10517 inner,
10518 )
10519 }
10520 Self::getTotalStakeUpdateAtIndex(inner) => {
10521 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
10522 inner,
10523 )
10524 }
10525 Self::initializeDelegatedStakeQuorum(inner) => {
10526 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
10527 inner,
10528 )
10529 }
10530 Self::initializeSlashableStakeQuorum(inner) => {
10531 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
10532 inner,
10533 )
10534 }
10535 Self::minimumStakeForQuorum(inner) => {
10536 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
10537 inner,
10538 )
10539 }
10540 Self::modifyStrategyParams(inner) => {
10541 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::abi_encoded_size(
10542 inner,
10543 )
10544 }
10545 Self::registerOperator(inner) => {
10546 <registerOperatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
10547 inner,
10548 )
10549 }
10550 Self::registryCoordinator(inner) => {
10551 <registryCoordinatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
10552 inner,
10553 )
10554 }
10555 Self::removeStrategies(inner) => {
10556 <removeStrategiesCall as alloy_sol_types::SolCall>::abi_encoded_size(
10557 inner,
10558 )
10559 }
10560 Self::setMinimumStakeForQuorum(inner) => {
10561 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
10562 inner,
10563 )
10564 }
10565 Self::setSlashableStakeLookahead(inner) => {
10566 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::abi_encoded_size(
10567 inner,
10568 )
10569 }
10570 Self::slashableStakeLookAheadPerQuorum(inner) => {
10571 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
10572 inner,
10573 )
10574 }
10575 Self::stakeTypePerQuorum(inner) => {
10576 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
10577 inner,
10578 )
10579 }
10580 Self::strategiesPerQuorum(inner) => {
10581 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
10582 inner,
10583 )
10584 }
10585 Self::strategyParams(inner) => {
10586 <strategyParamsCall as alloy_sol_types::SolCall>::abi_encoded_size(
10587 inner,
10588 )
10589 }
10590 Self::strategyParamsByIndex(inner) => {
10591 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::abi_encoded_size(
10592 inner,
10593 )
10594 }
10595 Self::strategyParamsLength(inner) => {
10596 <strategyParamsLengthCall as alloy_sol_types::SolCall>::abi_encoded_size(
10597 inner,
10598 )
10599 }
10600 Self::updateOperatorsStake(inner) => {
10601 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::abi_encoded_size(
10602 inner,
10603 )
10604 }
10605 Self::weightOfOperatorForQuorum(inner) => {
10606 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::abi_encoded_size(
10607 inner,
10608 )
10609 }
10610 }
10611 }
10612 #[inline]
10613 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
10614 match self {
10615 Self::MAX_WEIGHING_FUNCTION_LENGTH(inner) => {
10616 <MAX_WEIGHING_FUNCTION_LENGTHCall as alloy_sol_types::SolCall>::abi_encode_raw(
10617 inner,
10618 out,
10619 )
10620 }
10621 Self::WEIGHTING_DIVISOR(inner) => {
10622 <WEIGHTING_DIVISORCall as alloy_sol_types::SolCall>::abi_encode_raw(
10623 inner,
10624 out,
10625 )
10626 }
10627 Self::addStrategies(inner) => {
10628 <addStrategiesCall as alloy_sol_types::SolCall>::abi_encode_raw(
10629 inner,
10630 out,
10631 )
10632 }
10633 Self::allocationManager(inner) => {
10634 <allocationManagerCall as alloy_sol_types::SolCall>::abi_encode_raw(
10635 inner,
10636 out,
10637 )
10638 }
10639 Self::avsDirectory(inner) => {
10640 <avsDirectoryCall as alloy_sol_types::SolCall>::abi_encode_raw(
10641 inner,
10642 out,
10643 )
10644 }
10645 Self::delegation(inner) => {
10646 <delegationCall as alloy_sol_types::SolCall>::abi_encode_raw(
10647 inner,
10648 out,
10649 )
10650 }
10651 Self::deregisterOperator(inner) => {
10652 <deregisterOperatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
10653 inner,
10654 out,
10655 )
10656 }
10657 Self::getCurrentStake(inner) => {
10658 <getCurrentStakeCall as alloy_sol_types::SolCall>::abi_encode_raw(
10659 inner,
10660 out,
10661 )
10662 }
10663 Self::getCurrentTotalStake(inner) => {
10664 <getCurrentTotalStakeCall as alloy_sol_types::SolCall>::abi_encode_raw(
10665 inner,
10666 out,
10667 )
10668 }
10669 Self::getLatestStakeUpdate(inner) => {
10670 <getLatestStakeUpdateCall as alloy_sol_types::SolCall>::abi_encode_raw(
10671 inner,
10672 out,
10673 )
10674 }
10675 Self::getStakeAtBlockNumber(inner) => {
10676 <getStakeAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encode_raw(
10677 inner,
10678 out,
10679 )
10680 }
10681 Self::getStakeAtBlockNumberAndIndex(inner) => {
10682 <getStakeAtBlockNumberAndIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
10683 inner,
10684 out,
10685 )
10686 }
10687 Self::getStakeHistory(inner) => {
10688 <getStakeHistoryCall as alloy_sol_types::SolCall>::abi_encode_raw(
10689 inner,
10690 out,
10691 )
10692 }
10693 Self::getStakeHistoryLength(inner) => {
10694 <getStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_encode_raw(
10695 inner,
10696 out,
10697 )
10698 }
10699 Self::getStakeUpdateAtIndex(inner) => {
10700 <getStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
10701 inner,
10702 out,
10703 )
10704 }
10705 Self::getStakeUpdateIndexAtBlockNumber(inner) => {
10706 <getStakeUpdateIndexAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encode_raw(
10707 inner,
10708 out,
10709 )
10710 }
10711 Self::getTotalStakeAtBlockNumberFromIndex(inner) => {
10712 <getTotalStakeAtBlockNumberFromIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
10713 inner,
10714 out,
10715 )
10716 }
10717 Self::getTotalStakeHistoryLength(inner) => {
10718 <getTotalStakeHistoryLengthCall as alloy_sol_types::SolCall>::abi_encode_raw(
10719 inner,
10720 out,
10721 )
10722 }
10723 Self::getTotalStakeIndicesAtBlockNumber(inner) => {
10724 <getTotalStakeIndicesAtBlockNumberCall as alloy_sol_types::SolCall>::abi_encode_raw(
10725 inner,
10726 out,
10727 )
10728 }
10729 Self::getTotalStakeUpdateAtIndex(inner) => {
10730 <getTotalStakeUpdateAtIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
10731 inner,
10732 out,
10733 )
10734 }
10735 Self::initializeDelegatedStakeQuorum(inner) => {
10736 <initializeDelegatedStakeQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
10737 inner,
10738 out,
10739 )
10740 }
10741 Self::initializeSlashableStakeQuorum(inner) => {
10742 <initializeSlashableStakeQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
10743 inner,
10744 out,
10745 )
10746 }
10747 Self::minimumStakeForQuorum(inner) => {
10748 <minimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
10749 inner,
10750 out,
10751 )
10752 }
10753 Self::modifyStrategyParams(inner) => {
10754 <modifyStrategyParamsCall as alloy_sol_types::SolCall>::abi_encode_raw(
10755 inner,
10756 out,
10757 )
10758 }
10759 Self::registerOperator(inner) => {
10760 <registerOperatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
10761 inner,
10762 out,
10763 )
10764 }
10765 Self::registryCoordinator(inner) => {
10766 <registryCoordinatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
10767 inner,
10768 out,
10769 )
10770 }
10771 Self::removeStrategies(inner) => {
10772 <removeStrategiesCall as alloy_sol_types::SolCall>::abi_encode_raw(
10773 inner,
10774 out,
10775 )
10776 }
10777 Self::setMinimumStakeForQuorum(inner) => {
10778 <setMinimumStakeForQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
10779 inner,
10780 out,
10781 )
10782 }
10783 Self::setSlashableStakeLookahead(inner) => {
10784 <setSlashableStakeLookaheadCall as alloy_sol_types::SolCall>::abi_encode_raw(
10785 inner,
10786 out,
10787 )
10788 }
10789 Self::slashableStakeLookAheadPerQuorum(inner) => {
10790 <slashableStakeLookAheadPerQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
10791 inner,
10792 out,
10793 )
10794 }
10795 Self::stakeTypePerQuorum(inner) => {
10796 <stakeTypePerQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
10797 inner,
10798 out,
10799 )
10800 }
10801 Self::strategiesPerQuorum(inner) => {
10802 <strategiesPerQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
10803 inner,
10804 out,
10805 )
10806 }
10807 Self::strategyParams(inner) => {
10808 <strategyParamsCall as alloy_sol_types::SolCall>::abi_encode_raw(
10809 inner,
10810 out,
10811 )
10812 }
10813 Self::strategyParamsByIndex(inner) => {
10814 <strategyParamsByIndexCall as alloy_sol_types::SolCall>::abi_encode_raw(
10815 inner,
10816 out,
10817 )
10818 }
10819 Self::strategyParamsLength(inner) => {
10820 <strategyParamsLengthCall as alloy_sol_types::SolCall>::abi_encode_raw(
10821 inner,
10822 out,
10823 )
10824 }
10825 Self::updateOperatorsStake(inner) => {
10826 <updateOperatorsStakeCall as alloy_sol_types::SolCall>::abi_encode_raw(
10827 inner,
10828 out,
10829 )
10830 }
10831 Self::weightOfOperatorForQuorum(inner) => {
10832 <weightOfOperatorForQuorumCall as alloy_sol_types::SolCall>::abi_encode_raw(
10833 inner,
10834 out,
10835 )
10836 }
10837 }
10838 }
10839 }
10840 #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq, Eq, Hash)]
10842 pub enum StakeRegistryErrors {
10843 #[allow(missing_docs)]
10844 BelowMinimumStakeRequirement(BelowMinimumStakeRequirement),
10845 #[allow(missing_docs)]
10846 EmptyStakeHistory(EmptyStakeHistory),
10847 #[allow(missing_docs)]
10848 InputArrayLengthMismatch(InputArrayLengthMismatch),
10849 #[allow(missing_docs)]
10850 InputArrayLengthZero(InputArrayLengthZero),
10851 #[allow(missing_docs)]
10852 InputDuplicateStrategy(InputDuplicateStrategy),
10853 #[allow(missing_docs)]
10854 InputMultiplierZero(InputMultiplierZero),
10855 #[allow(missing_docs)]
10856 InvalidBlockNumber(InvalidBlockNumber),
10857 #[allow(missing_docs)]
10858 LookAheadPeriodTooLong(LookAheadPeriodTooLong),
10859 #[allow(missing_docs)]
10860 OnlySlashingRegistryCoordinator(OnlySlashingRegistryCoordinator),
10861 #[allow(missing_docs)]
10862 OnlySlashingRegistryCoordinatorOwner(OnlySlashingRegistryCoordinatorOwner),
10863 #[allow(missing_docs)]
10864 QuorumAlreadyExists(QuorumAlreadyExists),
10865 #[allow(missing_docs)]
10866 QuorumDoesNotExist(QuorumDoesNotExist),
10867 #[allow(missing_docs)]
10868 QuorumNotSlashable(QuorumNotSlashable),
10869 }
10870 #[automatically_derived]
10871 impl StakeRegistryErrors {
10872 pub const SELECTORS: &'static [[u8; 4usize]] = &[
10879 [47u8, 81u8, 6u8, 228u8],
10880 [64u8, 254u8, 39u8, 198u8],
10881 [67u8, 54u8, 148u8, 92u8],
10882 [67u8, 113u8, 74u8, 253u8],
10883 [78u8, 71u8, 132u8, 108u8],
10884 [114u8, 87u8, 18u8, 81u8],
10885 [121u8, 108u8, 197u8, 37u8],
10886 [123u8, 116u8, 52u8, 11u8],
10887 [163u8, 190u8, 37u8, 131u8],
10888 [176u8, 6u8, 200u8, 20u8],
10889 [204u8, 100u8, 101u8, 115u8],
10890 [206u8, 152u8, 194u8, 75u8],
10891 [230u8, 33u8, 159u8, 234u8],
10892 ];
10893 }
10894 #[automatically_derived]
10895 impl alloy_sol_types::SolInterface for StakeRegistryErrors {
10896 const NAME: &'static str = "StakeRegistryErrors";
10897 const MIN_DATA_LENGTH: usize = 0usize;
10898 const COUNT: usize = 13usize;
10899 #[inline]
10900 fn selector(&self) -> [u8; 4] {
10901 match self {
10902 Self::BelowMinimumStakeRequirement(_) => {
10903 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::SELECTOR
10904 }
10905 Self::EmptyStakeHistory(_) => {
10906 <EmptyStakeHistory as alloy_sol_types::SolError>::SELECTOR
10907 }
10908 Self::InputArrayLengthMismatch(_) => {
10909 <InputArrayLengthMismatch as alloy_sol_types::SolError>::SELECTOR
10910 }
10911 Self::InputArrayLengthZero(_) => {
10912 <InputArrayLengthZero as alloy_sol_types::SolError>::SELECTOR
10913 }
10914 Self::InputDuplicateStrategy(_) => {
10915 <InputDuplicateStrategy as alloy_sol_types::SolError>::SELECTOR
10916 }
10917 Self::InputMultiplierZero(_) => {
10918 <InputMultiplierZero as alloy_sol_types::SolError>::SELECTOR
10919 }
10920 Self::InvalidBlockNumber(_) => {
10921 <InvalidBlockNumber as alloy_sol_types::SolError>::SELECTOR
10922 }
10923 Self::LookAheadPeriodTooLong(_) => {
10924 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::SELECTOR
10925 }
10926 Self::OnlySlashingRegistryCoordinator(_) => {
10927 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::SELECTOR
10928 }
10929 Self::OnlySlashingRegistryCoordinatorOwner(_) => {
10930 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::SELECTOR
10931 }
10932 Self::QuorumAlreadyExists(_) => {
10933 <QuorumAlreadyExists as alloy_sol_types::SolError>::SELECTOR
10934 }
10935 Self::QuorumDoesNotExist(_) => {
10936 <QuorumDoesNotExist as alloy_sol_types::SolError>::SELECTOR
10937 }
10938 Self::QuorumNotSlashable(_) => {
10939 <QuorumNotSlashable as alloy_sol_types::SolError>::SELECTOR
10940 }
10941 }
10942 }
10943 #[inline]
10944 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
10945 Self::SELECTORS.get(i).copied()
10946 }
10947 #[inline]
10948 fn valid_selector(selector: [u8; 4]) -> bool {
10949 Self::SELECTORS.binary_search(&selector).is_ok()
10950 }
10951 #[inline]
10952 #[allow(non_snake_case)]
10953 fn abi_decode_raw(selector: [u8; 4], data: &[u8]) -> alloy_sol_types::Result<Self> {
10954 static DECODE_SHIMS: &[fn(&[u8]) -> alloy_sol_types::Result<StakeRegistryErrors>] = &[
10955 {
10956 fn LookAheadPeriodTooLong(
10957 data: &[u8],
10958 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
10959 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::abi_decode_raw(data)
10960 .map(StakeRegistryErrors::LookAheadPeriodTooLong)
10961 }
10962 LookAheadPeriodTooLong
10963 },
10964 {
10965 fn BelowMinimumStakeRequirement(
10966 data: &[u8],
10967 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
10968 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::abi_decode_raw(
10969 data,
10970 )
10971 .map(StakeRegistryErrors::BelowMinimumStakeRequirement)
10972 }
10973 BelowMinimumStakeRequirement
10974 },
10975 {
10976 fn QuorumAlreadyExists(
10977 data: &[u8],
10978 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
10979 <QuorumAlreadyExists as alloy_sol_types::SolError>::abi_decode_raw(data)
10980 .map(StakeRegistryErrors::QuorumAlreadyExists)
10981 }
10982 QuorumAlreadyExists
10983 },
10984 {
10985 fn InputArrayLengthMismatch(
10986 data: &[u8],
10987 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
10988 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_decode_raw(
10989 data,
10990 )
10991 .map(StakeRegistryErrors::InputArrayLengthMismatch)
10992 }
10993 InputArrayLengthMismatch
10994 },
10995 {
10996 fn InvalidBlockNumber(
10997 data: &[u8],
10998 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
10999 <InvalidBlockNumber as alloy_sol_types::SolError>::abi_decode_raw(data)
11000 .map(StakeRegistryErrors::InvalidBlockNumber)
11001 }
11002 InvalidBlockNumber
11003 },
11004 {
11005 fn InputMultiplierZero(
11006 data: &[u8],
11007 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11008 <InputMultiplierZero as alloy_sol_types::SolError>::abi_decode_raw(data)
11009 .map(StakeRegistryErrors::InputMultiplierZero)
11010 }
11011 InputMultiplierZero
11012 },
11013 {
11014 fn InputArrayLengthZero(
11015 data: &[u8],
11016 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11017 <InputArrayLengthZero as alloy_sol_types::SolError>::abi_decode_raw(data)
11018 .map(StakeRegistryErrors::InputArrayLengthZero)
11019 }
11020 InputArrayLengthZero
11021 },
11022 {
11023 fn InputDuplicateStrategy(
11024 data: &[u8],
11025 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11026 <InputDuplicateStrategy as alloy_sol_types::SolError>::abi_decode_raw(data)
11027 .map(StakeRegistryErrors::InputDuplicateStrategy)
11028 }
11029 InputDuplicateStrategy
11030 },
11031 {
11032 fn QuorumNotSlashable(
11033 data: &[u8],
11034 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11035 <QuorumNotSlashable as alloy_sol_types::SolError>::abi_decode_raw(data)
11036 .map(StakeRegistryErrors::QuorumNotSlashable)
11037 }
11038 QuorumNotSlashable
11039 },
11040 {
11041 fn OnlySlashingRegistryCoordinator(
11042 data: &[u8],
11043 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11044 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_decode_raw(
11045 data,
11046 )
11047 .map(StakeRegistryErrors::OnlySlashingRegistryCoordinator)
11048 }
11049 OnlySlashingRegistryCoordinator
11050 },
11051 {
11052 fn EmptyStakeHistory(
11053 data: &[u8],
11054 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11055 <EmptyStakeHistory as alloy_sol_types::SolError>::abi_decode_raw(data)
11056 .map(StakeRegistryErrors::EmptyStakeHistory)
11057 }
11058 EmptyStakeHistory
11059 },
11060 {
11061 fn OnlySlashingRegistryCoordinatorOwner(
11062 data: &[u8],
11063 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11064 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::abi_decode_raw(
11065 data,
11066 )
11067 .map(
11068 StakeRegistryErrors::OnlySlashingRegistryCoordinatorOwner,
11069 )
11070 }
11071 OnlySlashingRegistryCoordinatorOwner
11072 },
11073 {
11074 fn QuorumDoesNotExist(
11075 data: &[u8],
11076 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11077 <QuorumDoesNotExist as alloy_sol_types::SolError>::abi_decode_raw(data)
11078 .map(StakeRegistryErrors::QuorumDoesNotExist)
11079 }
11080 QuorumDoesNotExist
11081 },
11082 ];
11083 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
11084 return Err(alloy_sol_types::Error::unknown_selector(
11085 <Self as alloy_sol_types::SolInterface>::NAME,
11086 selector,
11087 ));
11088 };
11089 DECODE_SHIMS[idx](data)
11090 }
11091 #[inline]
11092 #[allow(non_snake_case)]
11093 fn abi_decode_raw_validate(
11094 selector: [u8; 4],
11095 data: &[u8],
11096 ) -> alloy_sol_types::Result<Self> {
11097 static DECODE_VALIDATE_SHIMS: &[fn(
11098 &[u8],
11099 )
11100 -> alloy_sol_types::Result<StakeRegistryErrors>] = &[
11101 {
11102 fn LookAheadPeriodTooLong(
11103 data: &[u8],
11104 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11105 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::abi_decode_raw_validate(
11106 data,
11107 )
11108 .map(StakeRegistryErrors::LookAheadPeriodTooLong)
11109 }
11110 LookAheadPeriodTooLong
11111 },
11112 {
11113 fn BelowMinimumStakeRequirement(
11114 data: &[u8],
11115 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11116 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::abi_decode_raw_validate(
11117 data,
11118 )
11119 .map(StakeRegistryErrors::BelowMinimumStakeRequirement)
11120 }
11121 BelowMinimumStakeRequirement
11122 },
11123 {
11124 fn QuorumAlreadyExists(
11125 data: &[u8],
11126 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11127 <QuorumAlreadyExists as alloy_sol_types::SolError>::abi_decode_raw_validate(
11128 data,
11129 )
11130 .map(StakeRegistryErrors::QuorumAlreadyExists)
11131 }
11132 QuorumAlreadyExists
11133 },
11134 {
11135 fn InputArrayLengthMismatch(
11136 data: &[u8],
11137 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11138 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_decode_raw_validate(
11139 data,
11140 )
11141 .map(StakeRegistryErrors::InputArrayLengthMismatch)
11142 }
11143 InputArrayLengthMismatch
11144 },
11145 {
11146 fn InvalidBlockNumber(
11147 data: &[u8],
11148 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11149 <InvalidBlockNumber as alloy_sol_types::SolError>::abi_decode_raw_validate(
11150 data,
11151 )
11152 .map(StakeRegistryErrors::InvalidBlockNumber)
11153 }
11154 InvalidBlockNumber
11155 },
11156 {
11157 fn InputMultiplierZero(
11158 data: &[u8],
11159 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11160 <InputMultiplierZero as alloy_sol_types::SolError>::abi_decode_raw_validate(
11161 data,
11162 )
11163 .map(StakeRegistryErrors::InputMultiplierZero)
11164 }
11165 InputMultiplierZero
11166 },
11167 {
11168 fn InputArrayLengthZero(
11169 data: &[u8],
11170 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11171 <InputArrayLengthZero as alloy_sol_types::SolError>::abi_decode_raw_validate(
11172 data,
11173 )
11174 .map(StakeRegistryErrors::InputArrayLengthZero)
11175 }
11176 InputArrayLengthZero
11177 },
11178 {
11179 fn InputDuplicateStrategy(
11180 data: &[u8],
11181 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11182 <InputDuplicateStrategy as alloy_sol_types::SolError>::abi_decode_raw_validate(
11183 data,
11184 )
11185 .map(StakeRegistryErrors::InputDuplicateStrategy)
11186 }
11187 InputDuplicateStrategy
11188 },
11189 {
11190 fn QuorumNotSlashable(
11191 data: &[u8],
11192 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11193 <QuorumNotSlashable as alloy_sol_types::SolError>::abi_decode_raw_validate(
11194 data,
11195 )
11196 .map(StakeRegistryErrors::QuorumNotSlashable)
11197 }
11198 QuorumNotSlashable
11199 },
11200 {
11201 fn OnlySlashingRegistryCoordinator(
11202 data: &[u8],
11203 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11204 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_decode_raw_validate(
11205 data,
11206 )
11207 .map(StakeRegistryErrors::OnlySlashingRegistryCoordinator)
11208 }
11209 OnlySlashingRegistryCoordinator
11210 },
11211 {
11212 fn EmptyStakeHistory(
11213 data: &[u8],
11214 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11215 <EmptyStakeHistory as alloy_sol_types::SolError>::abi_decode_raw_validate(
11216 data,
11217 )
11218 .map(StakeRegistryErrors::EmptyStakeHistory)
11219 }
11220 EmptyStakeHistory
11221 },
11222 {
11223 fn OnlySlashingRegistryCoordinatorOwner(
11224 data: &[u8],
11225 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11226 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::abi_decode_raw_validate(
11227 data,
11228 )
11229 .map(
11230 StakeRegistryErrors::OnlySlashingRegistryCoordinatorOwner,
11231 )
11232 }
11233 OnlySlashingRegistryCoordinatorOwner
11234 },
11235 {
11236 fn QuorumDoesNotExist(
11237 data: &[u8],
11238 ) -> alloy_sol_types::Result<StakeRegistryErrors> {
11239 <QuorumDoesNotExist as alloy_sol_types::SolError>::abi_decode_raw_validate(
11240 data,
11241 )
11242 .map(StakeRegistryErrors::QuorumDoesNotExist)
11243 }
11244 QuorumDoesNotExist
11245 },
11246 ];
11247 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
11248 return Err(alloy_sol_types::Error::unknown_selector(
11249 <Self as alloy_sol_types::SolInterface>::NAME,
11250 selector,
11251 ));
11252 };
11253 DECODE_VALIDATE_SHIMS[idx](data)
11254 }
11255 #[inline]
11256 fn abi_encoded_size(&self) -> usize {
11257 match self {
11258 Self::BelowMinimumStakeRequirement(inner) => {
11259 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::abi_encoded_size(
11260 inner,
11261 )
11262 }
11263 Self::EmptyStakeHistory(inner) => {
11264 <EmptyStakeHistory as alloy_sol_types::SolError>::abi_encoded_size(
11265 inner,
11266 )
11267 }
11268 Self::InputArrayLengthMismatch(inner) => {
11269 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encoded_size(
11270 inner,
11271 )
11272 }
11273 Self::InputArrayLengthZero(inner) => {
11274 <InputArrayLengthZero as alloy_sol_types::SolError>::abi_encoded_size(
11275 inner,
11276 )
11277 }
11278 Self::InputDuplicateStrategy(inner) => {
11279 <InputDuplicateStrategy as alloy_sol_types::SolError>::abi_encoded_size(
11280 inner,
11281 )
11282 }
11283 Self::InputMultiplierZero(inner) => {
11284 <InputMultiplierZero as alloy_sol_types::SolError>::abi_encoded_size(
11285 inner,
11286 )
11287 }
11288 Self::InvalidBlockNumber(inner) => {
11289 <InvalidBlockNumber as alloy_sol_types::SolError>::abi_encoded_size(
11290 inner,
11291 )
11292 }
11293 Self::LookAheadPeriodTooLong(inner) => {
11294 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::abi_encoded_size(
11295 inner,
11296 )
11297 }
11298 Self::OnlySlashingRegistryCoordinator(inner) => {
11299 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_encoded_size(
11300 inner,
11301 )
11302 }
11303 Self::OnlySlashingRegistryCoordinatorOwner(inner) => {
11304 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::abi_encoded_size(
11305 inner,
11306 )
11307 }
11308 Self::QuorumAlreadyExists(inner) => {
11309 <QuorumAlreadyExists as alloy_sol_types::SolError>::abi_encoded_size(
11310 inner,
11311 )
11312 }
11313 Self::QuorumDoesNotExist(inner) => {
11314 <QuorumDoesNotExist as alloy_sol_types::SolError>::abi_encoded_size(
11315 inner,
11316 )
11317 }
11318 Self::QuorumNotSlashable(inner) => {
11319 <QuorumNotSlashable as alloy_sol_types::SolError>::abi_encoded_size(
11320 inner,
11321 )
11322 }
11323 }
11324 }
11325 #[inline]
11326 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
11327 match self {
11328 Self::BelowMinimumStakeRequirement(inner) => {
11329 <BelowMinimumStakeRequirement as alloy_sol_types::SolError>::abi_encode_raw(
11330 inner,
11331 out,
11332 )
11333 }
11334 Self::EmptyStakeHistory(inner) => {
11335 <EmptyStakeHistory as alloy_sol_types::SolError>::abi_encode_raw(
11336 inner,
11337 out,
11338 )
11339 }
11340 Self::InputArrayLengthMismatch(inner) => {
11341 <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encode_raw(
11342 inner,
11343 out,
11344 )
11345 }
11346 Self::InputArrayLengthZero(inner) => {
11347 <InputArrayLengthZero as alloy_sol_types::SolError>::abi_encode_raw(
11348 inner,
11349 out,
11350 )
11351 }
11352 Self::InputDuplicateStrategy(inner) => {
11353 <InputDuplicateStrategy as alloy_sol_types::SolError>::abi_encode_raw(
11354 inner,
11355 out,
11356 )
11357 }
11358 Self::InputMultiplierZero(inner) => {
11359 <InputMultiplierZero as alloy_sol_types::SolError>::abi_encode_raw(
11360 inner,
11361 out,
11362 )
11363 }
11364 Self::InvalidBlockNumber(inner) => {
11365 <InvalidBlockNumber as alloy_sol_types::SolError>::abi_encode_raw(
11366 inner,
11367 out,
11368 )
11369 }
11370 Self::LookAheadPeriodTooLong(inner) => {
11371 <LookAheadPeriodTooLong as alloy_sol_types::SolError>::abi_encode_raw(
11372 inner,
11373 out,
11374 )
11375 }
11376 Self::OnlySlashingRegistryCoordinator(inner) => {
11377 <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_encode_raw(
11378 inner,
11379 out,
11380 )
11381 }
11382 Self::OnlySlashingRegistryCoordinatorOwner(inner) => {
11383 <OnlySlashingRegistryCoordinatorOwner as alloy_sol_types::SolError>::abi_encode_raw(
11384 inner,
11385 out,
11386 )
11387 }
11388 Self::QuorumAlreadyExists(inner) => {
11389 <QuorumAlreadyExists as alloy_sol_types::SolError>::abi_encode_raw(
11390 inner,
11391 out,
11392 )
11393 }
11394 Self::QuorumDoesNotExist(inner) => {
11395 <QuorumDoesNotExist as alloy_sol_types::SolError>::abi_encode_raw(
11396 inner,
11397 out,
11398 )
11399 }
11400 Self::QuorumNotSlashable(inner) => {
11401 <QuorumNotSlashable as alloy_sol_types::SolError>::abi_encode_raw(
11402 inner,
11403 out,
11404 )
11405 }
11406 }
11407 }
11408 }
11409 #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq, Eq, Hash)]
11411 pub enum StakeRegistryEvents {
11412 #[allow(missing_docs)]
11413 LookAheadPeriodChanged(LookAheadPeriodChanged),
11414 #[allow(missing_docs)]
11415 MinimumStakeForQuorumUpdated(MinimumStakeForQuorumUpdated),
11416 #[allow(missing_docs)]
11417 OperatorStakeUpdate(OperatorStakeUpdate),
11418 #[allow(missing_docs)]
11419 QuorumCreated(QuorumCreated),
11420 #[allow(missing_docs)]
11421 StakeTypeSet(StakeTypeSet),
11422 #[allow(missing_docs)]
11423 StrategyAddedToQuorum(StrategyAddedToQuorum),
11424 #[allow(missing_docs)]
11425 StrategyMultiplierUpdated(StrategyMultiplierUpdated),
11426 #[allow(missing_docs)]
11427 StrategyRemovedFromQuorum(StrategyRemovedFromQuorum),
11428 }
11429 #[automatically_derived]
11430 impl StakeRegistryEvents {
11431 pub const SELECTORS: &'static [[u8; 32usize]] = &[
11438 [
11439 16u8, 86u8, 94u8, 86u8, 202u8, 203u8, 243u8, 46u8, 202u8, 38u8, 121u8, 69u8, 240u8,
11440 84u8, 254u8, 192u8, 46u8, 89u8, 117u8, 0u8, 50u8, 209u8, 19u8, 211u8, 48u8, 33u8,
11441 130u8, 173u8, 150u8, 127u8, 84u8, 4u8,
11442 ],
11443 [
11444 17u8, 165u8, 100u8, 19u8, 34u8, 218u8, 29u8, 255u8, 86u8, 164u8, 182u8, 110u8,
11445 170u8, 195u8, 31u8, 250u8, 70u8, 82u8, 149u8, 236u8, 233u8, 7u8, 205u8, 22u8, 52u8,
11446 55u8, 121u8, 59u8, 77u8, 0u8, 154u8, 117u8,
11447 ],
11448 [
11449 38u8, 238u8, 207u8, 242u8, 183u8, 11u8, 10u8, 113u8, 16u8, 79u8, 244u8, 217u8,
11450 64u8, 186u8, 113u8, 98u8, 210u8, 58u8, 149u8, 194u8, 72u8, 119u8, 31u8, 196u8,
11451 135u8, 167u8, 190u8, 23u8, 165u8, 150u8, 179u8, 207u8,
11452 ],
11453 [
11454 40u8, 215u8, 53u8, 139u8, 121u8, 240u8, 45u8, 33u8, 184u8, 183u8, 225u8, 122u8,
11455 239u8, 196u8, 24u8, 90u8, 100u8, 48u8, 138u8, 163u8, 116u8, 6u8, 250u8, 91u8,
11456 239u8, 192u8, 91u8, 145u8, 147u8, 44u8, 57u8, 199u8,
11457 ],
11458 [
11459 47u8, 82u8, 125u8, 82u8, 126u8, 149u8, 216u8, 254u8, 64u8, 174u8, 197u8, 83u8,
11460 119u8, 116u8, 59u8, 183u8, 121u8, 8u8, 125u8, 163u8, 246u8, 208u8, 208u8, 143u8,
11461 18u8, 227u8, 100u8, 68u8, 218u8, 98u8, 50u8, 125u8,
11462 ],
11463 [
11464 49u8, 250u8, 46u8, 44u8, 210u8, 128u8, 201u8, 55u8, 94u8, 19u8, 255u8, 207u8, 61u8,
11465 129u8, 226u8, 55u8, 129u8, 0u8, 24u8, 110u8, 64u8, 88u8, 248u8, 211u8, 221u8,
11466 182u8, 144u8, 184u8, 45u8, 205u8, 49u8, 247u8,
11467 ],
11468 [
11469 124u8, 17u8, 46u8, 134u8, 60u8, 207u8, 0u8, 120u8, 98u8, 226u8, 201u8, 226u8, 88u8,
11470 25u8, 201u8, 51u8, 254u8, 219u8, 201u8, 53u8, 10u8, 100u8, 67u8, 66u8, 59u8, 74u8,
11471 133u8, 153u8, 194u8, 232u8, 165u8, 45u8,
11472 ],
11473 [
11474 131u8, 26u8, 156u8, 134u8, 196u8, 91u8, 179u8, 3u8, 202u8, 243u8, 240u8, 100u8,
11475 190u8, 43u8, 194u8, 185u8, 253u8, 78u8, 207u8, 25u8, 228u8, 124u8, 74u8, 192u8,
11476 42u8, 97u8, 231u8, 93u8, 171u8, 254u8, 85u8, 180u8,
11477 ],
11478 ];
11479 }
11480 #[automatically_derived]
11481 impl alloy_sol_types::SolEventInterface for StakeRegistryEvents {
11482 const NAME: &'static str = "StakeRegistryEvents";
11483 const COUNT: usize = 8usize;
11484 fn decode_raw_log(
11485 topics: &[alloy_sol_types::Word],
11486 data: &[u8],
11487 ) -> alloy_sol_types::Result<Self> {
11488 match topics.first().copied() {
11489 Some(<LookAheadPeriodChanged as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11490 <LookAheadPeriodChanged as alloy_sol_types::SolEvent>::decode_raw_log(
11491 topics, data,
11492 )
11493 .map(Self::LookAheadPeriodChanged)
11494 }
11495 Some(
11496 <MinimumStakeForQuorumUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11497 ) => <MinimumStakeForQuorumUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
11498 topics, data,
11499 )
11500 .map(Self::MinimumStakeForQuorumUpdated),
11501 Some(<OperatorStakeUpdate as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11502 <OperatorStakeUpdate as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
11503 .map(Self::OperatorStakeUpdate)
11504 }
11505 Some(<QuorumCreated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11506 <QuorumCreated as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
11507 .map(Self::QuorumCreated)
11508 }
11509 Some(<StakeTypeSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11510 <StakeTypeSet as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
11511 .map(Self::StakeTypeSet)
11512 }
11513 Some(<StrategyAddedToQuorum as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11514 <StrategyAddedToQuorum as alloy_sol_types::SolEvent>::decode_raw_log(
11515 topics, data,
11516 )
11517 .map(Self::StrategyAddedToQuorum)
11518 }
11519 Some(<StrategyMultiplierUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11520 <StrategyMultiplierUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
11521 topics, data,
11522 )
11523 .map(Self::StrategyMultiplierUpdated)
11524 }
11525 Some(<StrategyRemovedFromQuorum as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11526 <StrategyRemovedFromQuorum as alloy_sol_types::SolEvent>::decode_raw_log(
11527 topics, data,
11528 )
11529 .map(Self::StrategyRemovedFromQuorum)
11530 }
11531 _ => alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
11532 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
11533 log: alloy_sol_types::private::Box::new(
11534 alloy_sol_types::private::LogData::new_unchecked(
11535 topics.to_vec(),
11536 data.to_vec().into(),
11537 ),
11538 ),
11539 }),
11540 }
11541 }
11542 }
11543 #[automatically_derived]
11544 impl alloy_sol_types::private::IntoLogData for StakeRegistryEvents {
11545 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
11546 match self {
11547 Self::LookAheadPeriodChanged(inner) => {
11548 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11549 }
11550 Self::MinimumStakeForQuorumUpdated(inner) => {
11551 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11552 }
11553 Self::OperatorStakeUpdate(inner) => {
11554 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11555 }
11556 Self::QuorumCreated(inner) => {
11557 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11558 }
11559 Self::StakeTypeSet(inner) => {
11560 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11561 }
11562 Self::StrategyAddedToQuorum(inner) => {
11563 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11564 }
11565 Self::StrategyMultiplierUpdated(inner) => {
11566 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11567 }
11568 Self::StrategyRemovedFromQuorum(inner) => {
11569 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11570 }
11571 }
11572 }
11573 fn into_log_data(self) -> alloy_sol_types::private::LogData {
11574 match self {
11575 Self::LookAheadPeriodChanged(inner) => {
11576 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11577 }
11578 Self::MinimumStakeForQuorumUpdated(inner) => {
11579 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11580 }
11581 Self::OperatorStakeUpdate(inner) => {
11582 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11583 }
11584 Self::QuorumCreated(inner) => {
11585 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11586 }
11587 Self::StakeTypeSet(inner) => {
11588 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11589 }
11590 Self::StrategyAddedToQuorum(inner) => {
11591 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11592 }
11593 Self::StrategyMultiplierUpdated(inner) => {
11594 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11595 }
11596 Self::StrategyRemovedFromQuorum(inner) => {
11597 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11598 }
11599 }
11600 }
11601 }
11602 use alloy::contract as alloy_contract;
11603 #[inline]
11607 pub const fn new<
11608 P: alloy_contract::private::Provider<N>,
11609 N: alloy_contract::private::Network,
11610 >(
11611 address: alloy_sol_types::private::Address,
11612 provider: P,
11613 ) -> StakeRegistryInstance<P, N> {
11614 StakeRegistryInstance::<P, N>::new(address, provider)
11615 }
11616 #[inline]
11622 pub fn deploy<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>(
11623 provider: P,
11624 _slashingRegistryCoordinator: alloy::sol_types::private::Address,
11625 _delegationManager: alloy::sol_types::private::Address,
11626 _avsDirectory: alloy::sol_types::private::Address,
11627 _allocationManager: alloy::sol_types::private::Address,
11628 ) -> impl ::core::future::Future<Output = alloy_contract::Result<StakeRegistryInstance<P, N>>>
11629 {
11630 StakeRegistryInstance::<P, N>::deploy(
11631 provider,
11632 _slashingRegistryCoordinator,
11633 _delegationManager,
11634 _avsDirectory,
11635 _allocationManager,
11636 )
11637 }
11638 #[inline]
11644 pub fn deploy_builder<
11645 P: alloy_contract::private::Provider<N>,
11646 N: alloy_contract::private::Network,
11647 >(
11648 provider: P,
11649 _slashingRegistryCoordinator: alloy::sol_types::private::Address,
11650 _delegationManager: alloy::sol_types::private::Address,
11651 _avsDirectory: alloy::sol_types::private::Address,
11652 _allocationManager: alloy::sol_types::private::Address,
11653 ) -> alloy_contract::RawCallBuilder<P, N> {
11654 StakeRegistryInstance::<P, N>::deploy_builder(
11655 provider,
11656 _slashingRegistryCoordinator,
11657 _delegationManager,
11658 _avsDirectory,
11659 _allocationManager,
11660 )
11661 }
11662 #[derive(Clone)]
11674 pub struct StakeRegistryInstance<P, N = alloy_contract::private::Ethereum> {
11675 address: alloy_sol_types::private::Address,
11676 provider: P,
11677 _network: ::core::marker::PhantomData<N>,
11678 }
11679 #[automatically_derived]
11680 impl<P, N> ::core::fmt::Debug for StakeRegistryInstance<P, N> {
11681 #[inline]
11682 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11683 f.debug_tuple("StakeRegistryInstance")
11684 .field(&self.address)
11685 .finish()
11686 }
11687 }
11688 #[automatically_derived]
11690 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
11691 StakeRegistryInstance<P, N>
11692 {
11693 #[inline]
11697 pub const fn new(address: alloy_sol_types::private::Address, provider: P) -> Self {
11698 Self {
11699 address,
11700 provider,
11701 _network: ::core::marker::PhantomData,
11702 }
11703 }
11704 #[inline]
11710 pub async fn deploy(
11711 provider: P,
11712 _slashingRegistryCoordinator: alloy::sol_types::private::Address,
11713 _delegationManager: alloy::sol_types::private::Address,
11714 _avsDirectory: alloy::sol_types::private::Address,
11715 _allocationManager: alloy::sol_types::private::Address,
11716 ) -> alloy_contract::Result<StakeRegistryInstance<P, N>> {
11717 let call_builder = Self::deploy_builder(
11718 provider,
11719 _slashingRegistryCoordinator,
11720 _delegationManager,
11721 _avsDirectory,
11722 _allocationManager,
11723 );
11724 let contract_address = call_builder.deploy().await?;
11725 Ok(Self::new(contract_address, call_builder.provider))
11726 }
11727 #[inline]
11733 pub fn deploy_builder(
11734 provider: P,
11735 _slashingRegistryCoordinator: alloy::sol_types::private::Address,
11736 _delegationManager: alloy::sol_types::private::Address,
11737 _avsDirectory: alloy::sol_types::private::Address,
11738 _allocationManager: alloy::sol_types::private::Address,
11739 ) -> alloy_contract::RawCallBuilder<P, N> {
11740 alloy_contract::RawCallBuilder::new_raw_deploy(
11741 provider,
11742 [
11743 &BYTECODE[..],
11744 &alloy_sol_types::SolConstructor::abi_encode(&constructorCall {
11745 _slashingRegistryCoordinator,
11746 _delegationManager,
11747 _avsDirectory,
11748 _allocationManager,
11749 })[..],
11750 ]
11751 .concat()
11752 .into(),
11753 )
11754 }
11755 #[inline]
11757 pub const fn address(&self) -> &alloy_sol_types::private::Address {
11758 &self.address
11759 }
11760 #[inline]
11762 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
11763 self.address = address;
11764 }
11765 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
11767 self.set_address(address);
11768 self
11769 }
11770 #[inline]
11772 pub const fn provider(&self) -> &P {
11773 &self.provider
11774 }
11775 }
11776 impl<P: ::core::clone::Clone, N> StakeRegistryInstance<&P, N> {
11777 #[inline]
11779 pub fn with_cloned_provider(self) -> StakeRegistryInstance<P, N> {
11780 StakeRegistryInstance {
11781 address: self.address,
11782 provider: ::core::clone::Clone::clone(&self.provider),
11783 _network: ::core::marker::PhantomData,
11784 }
11785 }
11786 }
11787 #[automatically_derived]
11789 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
11790 StakeRegistryInstance<P, N>
11791 {
11792 pub fn call_builder<C: alloy_sol_types::SolCall>(
11797 &self,
11798 call: &C,
11799 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
11800 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
11801 }
11802 pub fn MAX_WEIGHING_FUNCTION_LENGTH(
11804 &self,
11805 ) -> alloy_contract::SolCallBuilder<&P, MAX_WEIGHING_FUNCTION_LENGTHCall, N> {
11806 self.call_builder(&MAX_WEIGHING_FUNCTION_LENGTHCall)
11807 }
11808 pub fn WEIGHTING_DIVISOR(
11810 &self,
11811 ) -> alloy_contract::SolCallBuilder<&P, WEIGHTING_DIVISORCall, N> {
11812 self.call_builder(&WEIGHTING_DIVISORCall)
11813 }
11814 pub fn addStrategies(
11816 &self,
11817 quorumNumber: u8,
11818 _strategyParams: alloy::sol_types::private::Vec<
11819 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
11820 >,
11821 ) -> alloy_contract::SolCallBuilder<&P, addStrategiesCall, N> {
11822 self.call_builder(&addStrategiesCall {
11823 quorumNumber,
11824 _strategyParams,
11825 })
11826 }
11827 pub fn allocationManager(
11829 &self,
11830 ) -> alloy_contract::SolCallBuilder<&P, allocationManagerCall, N> {
11831 self.call_builder(&allocationManagerCall)
11832 }
11833 pub fn avsDirectory(&self) -> alloy_contract::SolCallBuilder<&P, avsDirectoryCall, N> {
11835 self.call_builder(&avsDirectoryCall)
11836 }
11837 pub fn delegation(&self) -> alloy_contract::SolCallBuilder<&P, delegationCall, N> {
11839 self.call_builder(&delegationCall)
11840 }
11841 pub fn deregisterOperator(
11843 &self,
11844 operatorId: alloy::sol_types::private::FixedBytes<32>,
11845 quorumNumbers: alloy::sol_types::private::Bytes,
11846 ) -> alloy_contract::SolCallBuilder<&P, deregisterOperatorCall, N> {
11847 self.call_builder(&deregisterOperatorCall {
11848 operatorId,
11849 quorumNumbers,
11850 })
11851 }
11852 pub fn getCurrentStake(
11854 &self,
11855 operatorId: alloy::sol_types::private::FixedBytes<32>,
11856 quorumNumber: u8,
11857 ) -> alloy_contract::SolCallBuilder<&P, getCurrentStakeCall, N> {
11858 self.call_builder(&getCurrentStakeCall {
11859 operatorId,
11860 quorumNumber,
11861 })
11862 }
11863 pub fn getCurrentTotalStake(
11865 &self,
11866 quorumNumber: u8,
11867 ) -> alloy_contract::SolCallBuilder<&P, getCurrentTotalStakeCall, N> {
11868 self.call_builder(&getCurrentTotalStakeCall { quorumNumber })
11869 }
11870 pub fn getLatestStakeUpdate(
11872 &self,
11873 operatorId: alloy::sol_types::private::FixedBytes<32>,
11874 quorumNumber: u8,
11875 ) -> alloy_contract::SolCallBuilder<&P, getLatestStakeUpdateCall, N> {
11876 self.call_builder(&getLatestStakeUpdateCall {
11877 operatorId,
11878 quorumNumber,
11879 })
11880 }
11881 pub fn getStakeAtBlockNumber(
11883 &self,
11884 operatorId: alloy::sol_types::private::FixedBytes<32>,
11885 quorumNumber: u8,
11886 blockNumber: u32,
11887 ) -> alloy_contract::SolCallBuilder<&P, getStakeAtBlockNumberCall, N> {
11888 self.call_builder(&getStakeAtBlockNumberCall {
11889 operatorId,
11890 quorumNumber,
11891 blockNumber,
11892 })
11893 }
11894 pub fn getStakeAtBlockNumberAndIndex(
11896 &self,
11897 quorumNumber: u8,
11898 blockNumber: u32,
11899 operatorId: alloy::sol_types::private::FixedBytes<32>,
11900 index: alloy::sol_types::private::primitives::aliases::U256,
11901 ) -> alloy_contract::SolCallBuilder<&P, getStakeAtBlockNumberAndIndexCall, N> {
11902 self.call_builder(&getStakeAtBlockNumberAndIndexCall {
11903 quorumNumber,
11904 blockNumber,
11905 operatorId,
11906 index,
11907 })
11908 }
11909 pub fn getStakeHistory(
11911 &self,
11912 operatorId: alloy::sol_types::private::FixedBytes<32>,
11913 quorumNumber: u8,
11914 ) -> alloy_contract::SolCallBuilder<&P, getStakeHistoryCall, N> {
11915 self.call_builder(&getStakeHistoryCall {
11916 operatorId,
11917 quorumNumber,
11918 })
11919 }
11920 pub fn getStakeHistoryLength(
11922 &self,
11923 operatorId: alloy::sol_types::private::FixedBytes<32>,
11924 quorumNumber: u8,
11925 ) -> alloy_contract::SolCallBuilder<&P, getStakeHistoryLengthCall, N> {
11926 self.call_builder(&getStakeHistoryLengthCall {
11927 operatorId,
11928 quorumNumber,
11929 })
11930 }
11931 pub fn getStakeUpdateAtIndex(
11933 &self,
11934 quorumNumber: u8,
11935 operatorId: alloy::sol_types::private::FixedBytes<32>,
11936 index: alloy::sol_types::private::primitives::aliases::U256,
11937 ) -> alloy_contract::SolCallBuilder<&P, getStakeUpdateAtIndexCall, N> {
11938 self.call_builder(&getStakeUpdateAtIndexCall {
11939 quorumNumber,
11940 operatorId,
11941 index,
11942 })
11943 }
11944 pub fn getStakeUpdateIndexAtBlockNumber(
11946 &self,
11947 operatorId: alloy::sol_types::private::FixedBytes<32>,
11948 quorumNumber: u8,
11949 blockNumber: u32,
11950 ) -> alloy_contract::SolCallBuilder<&P, getStakeUpdateIndexAtBlockNumberCall, N> {
11951 self.call_builder(&getStakeUpdateIndexAtBlockNumberCall {
11952 operatorId,
11953 quorumNumber,
11954 blockNumber,
11955 })
11956 }
11957 pub fn getTotalStakeAtBlockNumberFromIndex(
11959 &self,
11960 quorumNumber: u8,
11961 blockNumber: u32,
11962 index: alloy::sol_types::private::primitives::aliases::U256,
11963 ) -> alloy_contract::SolCallBuilder<&P, getTotalStakeAtBlockNumberFromIndexCall, N>
11964 {
11965 self.call_builder(&getTotalStakeAtBlockNumberFromIndexCall {
11966 quorumNumber,
11967 blockNumber,
11968 index,
11969 })
11970 }
11971 pub fn getTotalStakeHistoryLength(
11973 &self,
11974 quorumNumber: u8,
11975 ) -> alloy_contract::SolCallBuilder<&P, getTotalStakeHistoryLengthCall, N> {
11976 self.call_builder(&getTotalStakeHistoryLengthCall { quorumNumber })
11977 }
11978 pub fn getTotalStakeIndicesAtBlockNumber(
11980 &self,
11981 blockNumber: u32,
11982 quorumNumbers: alloy::sol_types::private::Bytes,
11983 ) -> alloy_contract::SolCallBuilder<&P, getTotalStakeIndicesAtBlockNumberCall, N> {
11984 self.call_builder(&getTotalStakeIndicesAtBlockNumberCall {
11985 blockNumber,
11986 quorumNumbers,
11987 })
11988 }
11989 pub fn getTotalStakeUpdateAtIndex(
11991 &self,
11992 quorumNumber: u8,
11993 index: alloy::sol_types::private::primitives::aliases::U256,
11994 ) -> alloy_contract::SolCallBuilder<&P, getTotalStakeUpdateAtIndexCall, N> {
11995 self.call_builder(&getTotalStakeUpdateAtIndexCall {
11996 quorumNumber,
11997 index,
11998 })
11999 }
12000 pub fn initializeDelegatedStakeQuorum(
12002 &self,
12003 quorumNumber: u8,
12004 minimumStake: alloy::sol_types::private::primitives::aliases::U96,
12005 _strategyParams: alloy::sol_types::private::Vec<
12006 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
12007 >,
12008 ) -> alloy_contract::SolCallBuilder<&P, initializeDelegatedStakeQuorumCall, N> {
12009 self.call_builder(&initializeDelegatedStakeQuorumCall {
12010 quorumNumber,
12011 minimumStake,
12012 _strategyParams,
12013 })
12014 }
12015 pub fn initializeSlashableStakeQuorum(
12017 &self,
12018 quorumNumber: u8,
12019 minimumStake: alloy::sol_types::private::primitives::aliases::U96,
12020 lookAheadPeriod: u32,
12021 _strategyParams: alloy::sol_types::private::Vec<
12022 <IStakeRegistryTypes::StrategyParams as alloy::sol_types::SolType>::RustType,
12023 >,
12024 ) -> alloy_contract::SolCallBuilder<&P, initializeSlashableStakeQuorumCall, N> {
12025 self.call_builder(&initializeSlashableStakeQuorumCall {
12026 quorumNumber,
12027 minimumStake,
12028 lookAheadPeriod,
12029 _strategyParams,
12030 })
12031 }
12032 pub fn minimumStakeForQuorum(
12034 &self,
12035 _0: u8,
12036 ) -> alloy_contract::SolCallBuilder<&P, minimumStakeForQuorumCall, N> {
12037 self.call_builder(&minimumStakeForQuorumCall(_0))
12038 }
12039 pub fn modifyStrategyParams(
12041 &self,
12042 quorumNumber: u8,
12043 strategyIndices: alloy::sol_types::private::Vec<
12044 alloy::sol_types::private::primitives::aliases::U256,
12045 >,
12046 newMultipliers: alloy::sol_types::private::Vec<
12047 alloy::sol_types::private::primitives::aliases::U96,
12048 >,
12049 ) -> alloy_contract::SolCallBuilder<&P, modifyStrategyParamsCall, N> {
12050 self.call_builder(&modifyStrategyParamsCall {
12051 quorumNumber,
12052 strategyIndices,
12053 newMultipliers,
12054 })
12055 }
12056 pub fn registerOperator(
12058 &self,
12059 operator: alloy::sol_types::private::Address,
12060 operatorId: alloy::sol_types::private::FixedBytes<32>,
12061 quorumNumbers: alloy::sol_types::private::Bytes,
12062 ) -> alloy_contract::SolCallBuilder<&P, registerOperatorCall, N> {
12063 self.call_builder(®isterOperatorCall {
12064 operator,
12065 operatorId,
12066 quorumNumbers,
12067 })
12068 }
12069 pub fn registryCoordinator(
12071 &self,
12072 ) -> alloy_contract::SolCallBuilder<&P, registryCoordinatorCall, N> {
12073 self.call_builder(®istryCoordinatorCall)
12074 }
12075 pub fn removeStrategies(
12077 &self,
12078 quorumNumber: u8,
12079 indicesToRemove: alloy::sol_types::private::Vec<
12080 alloy::sol_types::private::primitives::aliases::U256,
12081 >,
12082 ) -> alloy_contract::SolCallBuilder<&P, removeStrategiesCall, N> {
12083 self.call_builder(&removeStrategiesCall {
12084 quorumNumber,
12085 indicesToRemove,
12086 })
12087 }
12088 pub fn setMinimumStakeForQuorum(
12090 &self,
12091 quorumNumber: u8,
12092 minimumStake: alloy::sol_types::private::primitives::aliases::U96,
12093 ) -> alloy_contract::SolCallBuilder<&P, setMinimumStakeForQuorumCall, N> {
12094 self.call_builder(&setMinimumStakeForQuorumCall {
12095 quorumNumber,
12096 minimumStake,
12097 })
12098 }
12099 pub fn setSlashableStakeLookahead(
12101 &self,
12102 quorumNumber: u8,
12103 _lookAheadBlocks: u32,
12104 ) -> alloy_contract::SolCallBuilder<&P, setSlashableStakeLookaheadCall, N> {
12105 self.call_builder(&setSlashableStakeLookaheadCall {
12106 quorumNumber,
12107 _lookAheadBlocks,
12108 })
12109 }
12110 pub fn slashableStakeLookAheadPerQuorum(
12112 &self,
12113 quorumNumber: u8,
12114 ) -> alloy_contract::SolCallBuilder<&P, slashableStakeLookAheadPerQuorumCall, N> {
12115 self.call_builder(&slashableStakeLookAheadPerQuorumCall { quorumNumber })
12116 }
12117 pub fn stakeTypePerQuorum(
12119 &self,
12120 quorumNumber: u8,
12121 ) -> alloy_contract::SolCallBuilder<&P, stakeTypePerQuorumCall, N> {
12122 self.call_builder(&stakeTypePerQuorumCall { quorumNumber })
12123 }
12124 pub fn strategiesPerQuorum(
12126 &self,
12127 quorumNumber: u8,
12128 _1: alloy::sol_types::private::primitives::aliases::U256,
12129 ) -> alloy_contract::SolCallBuilder<&P, strategiesPerQuorumCall, N> {
12130 self.call_builder(&strategiesPerQuorumCall { quorumNumber, _1 })
12131 }
12132 pub fn strategyParams(
12134 &self,
12135 quorumNumber: u8,
12136 _1: alloy::sol_types::private::primitives::aliases::U256,
12137 ) -> alloy_contract::SolCallBuilder<&P, strategyParamsCall, N> {
12138 self.call_builder(&strategyParamsCall { quorumNumber, _1 })
12139 }
12140 pub fn strategyParamsByIndex(
12142 &self,
12143 quorumNumber: u8,
12144 index: alloy::sol_types::private::primitives::aliases::U256,
12145 ) -> alloy_contract::SolCallBuilder<&P, strategyParamsByIndexCall, N> {
12146 self.call_builder(&strategyParamsByIndexCall {
12147 quorumNumber,
12148 index,
12149 })
12150 }
12151 pub fn strategyParamsLength(
12153 &self,
12154 quorumNumber: u8,
12155 ) -> alloy_contract::SolCallBuilder<&P, strategyParamsLengthCall, N> {
12156 self.call_builder(&strategyParamsLengthCall { quorumNumber })
12157 }
12158 pub fn updateOperatorsStake(
12160 &self,
12161 operators: alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
12162 operatorIds: alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<32>>,
12163 quorumNumber: u8,
12164 ) -> alloy_contract::SolCallBuilder<&P, updateOperatorsStakeCall, N> {
12165 self.call_builder(&updateOperatorsStakeCall {
12166 operators,
12167 operatorIds,
12168 quorumNumber,
12169 })
12170 }
12171 pub fn weightOfOperatorForQuorum(
12173 &self,
12174 quorumNumber: u8,
12175 operator: alloy::sol_types::private::Address,
12176 ) -> alloy_contract::SolCallBuilder<&P, weightOfOperatorForQuorumCall, N> {
12177 self.call_builder(&weightOfOperatorForQuorumCall {
12178 quorumNumber,
12179 operator,
12180 })
12181 }
12182 }
12183 #[automatically_derived]
12185 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
12186 StakeRegistryInstance<P, N>
12187 {
12188 pub fn event_filter<E: alloy_sol_types::SolEvent>(
12193 &self,
12194 ) -> alloy_contract::Event<&P, E, N> {
12195 alloy_contract::Event::new_sol(&self.provider, &self.address)
12196 }
12197 pub fn LookAheadPeriodChanged_filter(
12199 &self,
12200 ) -> alloy_contract::Event<&P, LookAheadPeriodChanged, N> {
12201 self.event_filter::<LookAheadPeriodChanged>()
12202 }
12203 pub fn MinimumStakeForQuorumUpdated_filter(
12205 &self,
12206 ) -> alloy_contract::Event<&P, MinimumStakeForQuorumUpdated, N> {
12207 self.event_filter::<MinimumStakeForQuorumUpdated>()
12208 }
12209 pub fn OperatorStakeUpdate_filter(
12211 &self,
12212 ) -> alloy_contract::Event<&P, OperatorStakeUpdate, N> {
12213 self.event_filter::<OperatorStakeUpdate>()
12214 }
12215 pub fn QuorumCreated_filter(&self) -> alloy_contract::Event<&P, QuorumCreated, N> {
12217 self.event_filter::<QuorumCreated>()
12218 }
12219 pub fn StakeTypeSet_filter(&self) -> alloy_contract::Event<&P, StakeTypeSet, N> {
12221 self.event_filter::<StakeTypeSet>()
12222 }
12223 pub fn StrategyAddedToQuorum_filter(
12225 &self,
12226 ) -> alloy_contract::Event<&P, StrategyAddedToQuorum, N> {
12227 self.event_filter::<StrategyAddedToQuorum>()
12228 }
12229 pub fn StrategyMultiplierUpdated_filter(
12231 &self,
12232 ) -> alloy_contract::Event<&P, StrategyMultiplierUpdated, N> {
12233 self.event_filter::<StrategyMultiplierUpdated>()
12234 }
12235 pub fn StrategyRemovedFromQuorum_filter(
12237 &self,
12238 ) -> alloy_contract::Event<&P, StrategyRemovedFromQuorum, N> {
12239 self.event_filter::<StrategyRemovedFromQuorum>()
12240 }
12241 }
12242}