eigenlayer_contract_deployer/bindings/core/
iallocationmanager.rs

1#![allow(clippy::all, clippy::pedantic, clippy::nursery, warnings, unknown_lints, rustdoc::all, elided_lifetimes_in_paths)]
2use IAllocationManager::*;
3
4///Module containing a contract's types and functions.
5/**
6
7```solidity
8library IAllocationManagerTypes {
9    struct AllocateParams { OperatorSet operatorSet; address[] strategies; uint64[] newMagnitudes; }
10    struct Allocation { uint64 currentMagnitude; int128 pendingDiff; uint32 effectBlock; }
11    struct CreateSetParams { uint32 operatorSetId; address[] strategies; }
12    struct DeregisterParams { address operator; address avs; uint32[] operatorSetIds; }
13    struct RegisterParams { address avs; uint32[] operatorSetIds; bytes data; }
14    struct SlashingParams { address operator; uint32 operatorSetId; address[] strategies; uint256[] wadsToSlash; string description; }
15}
16```*/
17#[allow(
18    non_camel_case_types,
19    non_snake_case,
20    clippy::pub_underscore_fields,
21    clippy::style,
22    clippy::empty_structs_with_brackets
23)]
24pub mod IAllocationManagerTypes {
25    use super::*;
26    use alloy::sol_types as alloy_sol_types;
27    #[derive()]
28    /**```solidity
29struct AllocateParams { OperatorSet operatorSet; address[] strategies; uint64[] newMagnitudes; }
30```*/
31    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
32    #[derive(Clone, Hash, Debug, Eq, PartialEq)]
33    pub struct AllocateParams {
34        #[allow(missing_docs)]
35        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
36        #[allow(missing_docs)]
37        pub strategies: alloy::sol_types::private::Vec<
38            alloy::sol_types::private::Address,
39        >,
40        #[allow(missing_docs)]
41        pub newMagnitudes: alloy::sol_types::private::Vec<u64>,
42    }
43    #[allow(
44        non_camel_case_types,
45        non_snake_case,
46        clippy::pub_underscore_fields,
47        clippy::style
48    )]
49    const _: () = {
50        use alloy::sol_types as alloy_sol_types;
51        #[doc(hidden)]
52        type UnderlyingSolTuple<'a> = (
53            OperatorSet,
54            alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
55            alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<64>>,
56        );
57        #[doc(hidden)]
58        type UnderlyingRustTuple<'a> = (
59            <OperatorSet as alloy::sol_types::SolType>::RustType,
60            alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
61            alloy::sol_types::private::Vec<u64>,
62        );
63        #[cfg(test)]
64        #[allow(dead_code, unreachable_patterns)]
65        fn _type_assertion(
66            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
67        ) {
68            match _t {
69                alloy_sol_types::private::AssertTypeEq::<
70                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
71                >(_) => {}
72            }
73        }
74        #[automatically_derived]
75        #[doc(hidden)]
76        impl ::core::convert::From<AllocateParams> for UnderlyingRustTuple<'_> {
77            fn from(value: AllocateParams) -> Self {
78                (value.operatorSet, value.strategies, value.newMagnitudes)
79            }
80        }
81        #[automatically_derived]
82        #[doc(hidden)]
83        impl ::core::convert::From<UnderlyingRustTuple<'_>> for AllocateParams {
84            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
85                Self {
86                    operatorSet: tuple.0,
87                    strategies: tuple.1,
88                    newMagnitudes: tuple.2,
89                }
90            }
91        }
92        #[automatically_derived]
93        impl alloy_sol_types::SolValue for AllocateParams {
94            type SolType = Self;
95        }
96        #[automatically_derived]
97        impl alloy_sol_types::private::SolTypeValue<Self> for AllocateParams {
98            #[inline]
99            fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
100                (
101                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
102                        &self.operatorSet,
103                    ),
104                    <alloy::sol_types::sol_data::Array<
105                        alloy::sol_types::sol_data::Address,
106                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
107                    <alloy::sol_types::sol_data::Array<
108                        alloy::sol_types::sol_data::Uint<64>,
109                    > as alloy_sol_types::SolType>::tokenize(&self.newMagnitudes),
110                )
111            }
112            #[inline]
113            fn stv_abi_encoded_size(&self) -> usize {
114                if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
115                    return size;
116                }
117                let tuple = <UnderlyingRustTuple<
118                    '_,
119                > as ::core::convert::From<Self>>::from(self.clone());
120                <UnderlyingSolTuple<
121                    '_,
122                > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
123            }
124            #[inline]
125            fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
126                <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
127            }
128            #[inline]
129            fn stv_abi_encode_packed_to(
130                &self,
131                out: &mut alloy_sol_types::private::Vec<u8>,
132            ) {
133                let tuple = <UnderlyingRustTuple<
134                    '_,
135                > as ::core::convert::From<Self>>::from(self.clone());
136                <UnderlyingSolTuple<
137                    '_,
138                > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
139            }
140            #[inline]
141            fn stv_abi_packed_encoded_size(&self) -> usize {
142                if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
143                    return size;
144                }
145                let tuple = <UnderlyingRustTuple<
146                    '_,
147                > as ::core::convert::From<Self>>::from(self.clone());
148                <UnderlyingSolTuple<
149                    '_,
150                > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
151            }
152        }
153        #[automatically_derived]
154        impl alloy_sol_types::SolType for AllocateParams {
155            type RustType = Self;
156            type Token<'a> = <UnderlyingSolTuple<
157                'a,
158            > as alloy_sol_types::SolType>::Token<'a>;
159            const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
160            const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
161                '_,
162            > as alloy_sol_types::SolType>::ENCODED_SIZE;
163            const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
164                '_,
165            > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
166            #[inline]
167            fn valid_token(token: &Self::Token<'_>) -> bool {
168                <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
169            }
170            #[inline]
171            fn detokenize(token: Self::Token<'_>) -> Self::RustType {
172                let tuple = <UnderlyingSolTuple<
173                    '_,
174                > as alloy_sol_types::SolType>::detokenize(token);
175                <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
176            }
177        }
178        #[automatically_derived]
179        impl alloy_sol_types::SolStruct for AllocateParams {
180            const NAME: &'static str = "AllocateParams";
181            #[inline]
182            fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
183                alloy_sol_types::private::Cow::Borrowed(
184                    "AllocateParams(OperatorSet operatorSet,address[] strategies,uint64[] newMagnitudes)",
185                )
186            }
187            #[inline]
188            fn eip712_components() -> alloy_sol_types::private::Vec<
189                alloy_sol_types::private::Cow<'static, str>,
190            > {
191                let mut components = alloy_sol_types::private::Vec::with_capacity(1);
192                components
193                    .push(
194                        <OperatorSet as alloy_sol_types::SolStruct>::eip712_root_type(),
195                    );
196                components
197                    .extend(
198                        <OperatorSet as alloy_sol_types::SolStruct>::eip712_components(),
199                    );
200                components
201            }
202            #[inline]
203            fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
204                [
205                    <OperatorSet as alloy_sol_types::SolType>::eip712_data_word(
206                            &self.operatorSet,
207                        )
208                        .0,
209                    <alloy::sol_types::sol_data::Array<
210                        alloy::sol_types::sol_data::Address,
211                    > as alloy_sol_types::SolType>::eip712_data_word(&self.strategies)
212                        .0,
213                    <alloy::sol_types::sol_data::Array<
214                        alloy::sol_types::sol_data::Uint<64>,
215                    > as alloy_sol_types::SolType>::eip712_data_word(&self.newMagnitudes)
216                        .0,
217                ]
218                    .concat()
219            }
220        }
221        #[automatically_derived]
222        impl alloy_sol_types::EventTopic for AllocateParams {
223            #[inline]
224            fn topic_preimage_length(rust: &Self::RustType) -> usize {
225                0usize
226                    + <OperatorSet as alloy_sol_types::EventTopic>::topic_preimage_length(
227                        &rust.operatorSet,
228                    )
229                    + <alloy::sol_types::sol_data::Array<
230                        alloy::sol_types::sol_data::Address,
231                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
232                        &rust.strategies,
233                    )
234                    + <alloy::sol_types::sol_data::Array<
235                        alloy::sol_types::sol_data::Uint<64>,
236                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
237                        &rust.newMagnitudes,
238                    )
239            }
240            #[inline]
241            fn encode_topic_preimage(
242                rust: &Self::RustType,
243                out: &mut alloy_sol_types::private::Vec<u8>,
244            ) {
245                out.reserve(
246                    <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
247                );
248                <OperatorSet as alloy_sol_types::EventTopic>::encode_topic_preimage(
249                    &rust.operatorSet,
250                    out,
251                );
252                <alloy::sol_types::sol_data::Array<
253                    alloy::sol_types::sol_data::Address,
254                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
255                    &rust.strategies,
256                    out,
257                );
258                <alloy::sol_types::sol_data::Array<
259                    alloy::sol_types::sol_data::Uint<64>,
260                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
261                    &rust.newMagnitudes,
262                    out,
263                );
264            }
265            #[inline]
266            fn encode_topic(
267                rust: &Self::RustType,
268            ) -> alloy_sol_types::abi::token::WordToken {
269                let mut out = alloy_sol_types::private::Vec::new();
270                <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
271                    rust,
272                    &mut out,
273                );
274                alloy_sol_types::abi::token::WordToken(
275                    alloy_sol_types::private::keccak256(out),
276                )
277            }
278        }
279    };
280    #[derive(Default, Debug, PartialEq, Eq, Hash)]
281    /**```solidity
282struct Allocation { uint64 currentMagnitude; int128 pendingDiff; uint32 effectBlock; }
283```*/
284    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
285    #[derive(Clone)]
286    pub struct Allocation {
287        #[allow(missing_docs)]
288        pub currentMagnitude: u64,
289        #[allow(missing_docs)]
290        pub pendingDiff: i128,
291        #[allow(missing_docs)]
292        pub effectBlock: u32,
293    }
294    #[allow(
295        non_camel_case_types,
296        non_snake_case,
297        clippy::pub_underscore_fields,
298        clippy::style
299    )]
300    const _: () = {
301        use alloy::sol_types as alloy_sol_types;
302        #[doc(hidden)]
303        type UnderlyingSolTuple<'a> = (
304            alloy::sol_types::sol_data::Uint<64>,
305            alloy::sol_types::sol_data::Int<128>,
306            alloy::sol_types::sol_data::Uint<32>,
307        );
308        #[doc(hidden)]
309        type UnderlyingRustTuple<'a> = (u64, i128, u32);
310        #[cfg(test)]
311        #[allow(dead_code, unreachable_patterns)]
312        fn _type_assertion(
313            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
314        ) {
315            match _t {
316                alloy_sol_types::private::AssertTypeEq::<
317                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
318                >(_) => {}
319            }
320        }
321        #[automatically_derived]
322        #[doc(hidden)]
323        impl ::core::convert::From<Allocation> for UnderlyingRustTuple<'_> {
324            fn from(value: Allocation) -> Self {
325                (value.currentMagnitude, value.pendingDiff, value.effectBlock)
326            }
327        }
328        #[automatically_derived]
329        #[doc(hidden)]
330        impl ::core::convert::From<UnderlyingRustTuple<'_>> for Allocation {
331            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
332                Self {
333                    currentMagnitude: tuple.0,
334                    pendingDiff: tuple.1,
335                    effectBlock: tuple.2,
336                }
337            }
338        }
339        #[automatically_derived]
340        impl alloy_sol_types::SolValue for Allocation {
341            type SolType = Self;
342        }
343        #[automatically_derived]
344        impl alloy_sol_types::private::SolTypeValue<Self> for Allocation {
345            #[inline]
346            fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
347                (
348                    <alloy::sol_types::sol_data::Uint<
349                        64,
350                    > as alloy_sol_types::SolType>::tokenize(&self.currentMagnitude),
351                    <alloy::sol_types::sol_data::Int<
352                        128,
353                    > as alloy_sol_types::SolType>::tokenize(&self.pendingDiff),
354                    <alloy::sol_types::sol_data::Uint<
355                        32,
356                    > as alloy_sol_types::SolType>::tokenize(&self.effectBlock),
357                )
358            }
359            #[inline]
360            fn stv_abi_encoded_size(&self) -> usize {
361                if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
362                    return size;
363                }
364                let tuple = <UnderlyingRustTuple<
365                    '_,
366                > as ::core::convert::From<Self>>::from(self.clone());
367                <UnderlyingSolTuple<
368                    '_,
369                > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
370            }
371            #[inline]
372            fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
373                <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
374            }
375            #[inline]
376            fn stv_abi_encode_packed_to(
377                &self,
378                out: &mut alloy_sol_types::private::Vec<u8>,
379            ) {
380                let tuple = <UnderlyingRustTuple<
381                    '_,
382                > as ::core::convert::From<Self>>::from(self.clone());
383                <UnderlyingSolTuple<
384                    '_,
385                > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
386            }
387            #[inline]
388            fn stv_abi_packed_encoded_size(&self) -> usize {
389                if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
390                    return size;
391                }
392                let tuple = <UnderlyingRustTuple<
393                    '_,
394                > as ::core::convert::From<Self>>::from(self.clone());
395                <UnderlyingSolTuple<
396                    '_,
397                > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
398            }
399        }
400        #[automatically_derived]
401        impl alloy_sol_types::SolType for Allocation {
402            type RustType = Self;
403            type Token<'a> = <UnderlyingSolTuple<
404                'a,
405            > as alloy_sol_types::SolType>::Token<'a>;
406            const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
407            const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
408                '_,
409            > as alloy_sol_types::SolType>::ENCODED_SIZE;
410            const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
411                '_,
412            > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
413            #[inline]
414            fn valid_token(token: &Self::Token<'_>) -> bool {
415                <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
416            }
417            #[inline]
418            fn detokenize(token: Self::Token<'_>) -> Self::RustType {
419                let tuple = <UnderlyingSolTuple<
420                    '_,
421                > as alloy_sol_types::SolType>::detokenize(token);
422                <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
423            }
424        }
425        #[automatically_derived]
426        impl alloy_sol_types::SolStruct for Allocation {
427            const NAME: &'static str = "Allocation";
428            #[inline]
429            fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
430                alloy_sol_types::private::Cow::Borrowed(
431                    "Allocation(uint64 currentMagnitude,int128 pendingDiff,uint32 effectBlock)",
432                )
433            }
434            #[inline]
435            fn eip712_components() -> alloy_sol_types::private::Vec<
436                alloy_sol_types::private::Cow<'static, str>,
437            > {
438                alloy_sol_types::private::Vec::new()
439            }
440            #[inline]
441            fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
442                <Self as alloy_sol_types::SolStruct>::eip712_root_type()
443            }
444            #[inline]
445            fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
446                [
447                    <alloy::sol_types::sol_data::Uint<
448                        64,
449                    > as alloy_sol_types::SolType>::eip712_data_word(
450                            &self.currentMagnitude,
451                        )
452                        .0,
453                    <alloy::sol_types::sol_data::Int<
454                        128,
455                    > as alloy_sol_types::SolType>::eip712_data_word(&self.pendingDiff)
456                        .0,
457                    <alloy::sol_types::sol_data::Uint<
458                        32,
459                    > as alloy_sol_types::SolType>::eip712_data_word(&self.effectBlock)
460                        .0,
461                ]
462                    .concat()
463            }
464        }
465        #[automatically_derived]
466        impl alloy_sol_types::EventTopic for Allocation {
467            #[inline]
468            fn topic_preimage_length(rust: &Self::RustType) -> usize {
469                0usize
470                    + <alloy::sol_types::sol_data::Uint<
471                        64,
472                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
473                        &rust.currentMagnitude,
474                    )
475                    + <alloy::sol_types::sol_data::Int<
476                        128,
477                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
478                        &rust.pendingDiff,
479                    )
480                    + <alloy::sol_types::sol_data::Uint<
481                        32,
482                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
483                        &rust.effectBlock,
484                    )
485            }
486            #[inline]
487            fn encode_topic_preimage(
488                rust: &Self::RustType,
489                out: &mut alloy_sol_types::private::Vec<u8>,
490            ) {
491                out.reserve(
492                    <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
493                );
494                <alloy::sol_types::sol_data::Uint<
495                    64,
496                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
497                    &rust.currentMagnitude,
498                    out,
499                );
500                <alloy::sol_types::sol_data::Int<
501                    128,
502                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
503                    &rust.pendingDiff,
504                    out,
505                );
506                <alloy::sol_types::sol_data::Uint<
507                    32,
508                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
509                    &rust.effectBlock,
510                    out,
511                );
512            }
513            #[inline]
514            fn encode_topic(
515                rust: &Self::RustType,
516            ) -> alloy_sol_types::abi::token::WordToken {
517                let mut out = alloy_sol_types::private::Vec::new();
518                <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
519                    rust,
520                    &mut out,
521                );
522                alloy_sol_types::abi::token::WordToken(
523                    alloy_sol_types::private::keccak256(out),
524                )
525            }
526        }
527    };
528    #[derive(Default, Debug, PartialEq, Eq, Hash)]
529    /**```solidity
530struct CreateSetParams { uint32 operatorSetId; address[] strategies; }
531```*/
532    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
533    #[derive(Clone)]
534    pub struct CreateSetParams {
535        #[allow(missing_docs)]
536        pub operatorSetId: u32,
537        #[allow(missing_docs)]
538        pub strategies: alloy::sol_types::private::Vec<
539            alloy::sol_types::private::Address,
540        >,
541    }
542    #[allow(
543        non_camel_case_types,
544        non_snake_case,
545        clippy::pub_underscore_fields,
546        clippy::style
547    )]
548    const _: () = {
549        use alloy::sol_types as alloy_sol_types;
550        #[doc(hidden)]
551        type UnderlyingSolTuple<'a> = (
552            alloy::sol_types::sol_data::Uint<32>,
553            alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
554        );
555        #[doc(hidden)]
556        type UnderlyingRustTuple<'a> = (
557            u32,
558            alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
559        );
560        #[cfg(test)]
561        #[allow(dead_code, unreachable_patterns)]
562        fn _type_assertion(
563            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
564        ) {
565            match _t {
566                alloy_sol_types::private::AssertTypeEq::<
567                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
568                >(_) => {}
569            }
570        }
571        #[automatically_derived]
572        #[doc(hidden)]
573        impl ::core::convert::From<CreateSetParams> for UnderlyingRustTuple<'_> {
574            fn from(value: CreateSetParams) -> Self {
575                (value.operatorSetId, value.strategies)
576            }
577        }
578        #[automatically_derived]
579        #[doc(hidden)]
580        impl ::core::convert::From<UnderlyingRustTuple<'_>> for CreateSetParams {
581            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
582                Self {
583                    operatorSetId: tuple.0,
584                    strategies: tuple.1,
585                }
586            }
587        }
588        #[automatically_derived]
589        impl alloy_sol_types::SolValue for CreateSetParams {
590            type SolType = Self;
591        }
592        #[automatically_derived]
593        impl alloy_sol_types::private::SolTypeValue<Self> for CreateSetParams {
594            #[inline]
595            fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
596                (
597                    <alloy::sol_types::sol_data::Uint<
598                        32,
599                    > as alloy_sol_types::SolType>::tokenize(&self.operatorSetId),
600                    <alloy::sol_types::sol_data::Array<
601                        alloy::sol_types::sol_data::Address,
602                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
603                )
604            }
605            #[inline]
606            fn stv_abi_encoded_size(&self) -> usize {
607                if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
608                    return size;
609                }
610                let tuple = <UnderlyingRustTuple<
611                    '_,
612                > as ::core::convert::From<Self>>::from(self.clone());
613                <UnderlyingSolTuple<
614                    '_,
615                > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
616            }
617            #[inline]
618            fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
619                <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
620            }
621            #[inline]
622            fn stv_abi_encode_packed_to(
623                &self,
624                out: &mut alloy_sol_types::private::Vec<u8>,
625            ) {
626                let tuple = <UnderlyingRustTuple<
627                    '_,
628                > as ::core::convert::From<Self>>::from(self.clone());
629                <UnderlyingSolTuple<
630                    '_,
631                > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
632            }
633            #[inline]
634            fn stv_abi_packed_encoded_size(&self) -> usize {
635                if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
636                    return size;
637                }
638                let tuple = <UnderlyingRustTuple<
639                    '_,
640                > as ::core::convert::From<Self>>::from(self.clone());
641                <UnderlyingSolTuple<
642                    '_,
643                > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
644            }
645        }
646        #[automatically_derived]
647        impl alloy_sol_types::SolType for CreateSetParams {
648            type RustType = Self;
649            type Token<'a> = <UnderlyingSolTuple<
650                'a,
651            > as alloy_sol_types::SolType>::Token<'a>;
652            const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
653            const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
654                '_,
655            > as alloy_sol_types::SolType>::ENCODED_SIZE;
656            const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
657                '_,
658            > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
659            #[inline]
660            fn valid_token(token: &Self::Token<'_>) -> bool {
661                <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
662            }
663            #[inline]
664            fn detokenize(token: Self::Token<'_>) -> Self::RustType {
665                let tuple = <UnderlyingSolTuple<
666                    '_,
667                > as alloy_sol_types::SolType>::detokenize(token);
668                <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
669            }
670        }
671        #[automatically_derived]
672        impl alloy_sol_types::SolStruct for CreateSetParams {
673            const NAME: &'static str = "CreateSetParams";
674            #[inline]
675            fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
676                alloy_sol_types::private::Cow::Borrowed(
677                    "CreateSetParams(uint32 operatorSetId,address[] strategies)",
678                )
679            }
680            #[inline]
681            fn eip712_components() -> alloy_sol_types::private::Vec<
682                alloy_sol_types::private::Cow<'static, str>,
683            > {
684                alloy_sol_types::private::Vec::new()
685            }
686            #[inline]
687            fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
688                <Self as alloy_sol_types::SolStruct>::eip712_root_type()
689            }
690            #[inline]
691            fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
692                [
693                    <alloy::sol_types::sol_data::Uint<
694                        32,
695                    > as alloy_sol_types::SolType>::eip712_data_word(&self.operatorSetId)
696                        .0,
697                    <alloy::sol_types::sol_data::Array<
698                        alloy::sol_types::sol_data::Address,
699                    > as alloy_sol_types::SolType>::eip712_data_word(&self.strategies)
700                        .0,
701                ]
702                    .concat()
703            }
704        }
705        #[automatically_derived]
706        impl alloy_sol_types::EventTopic for CreateSetParams {
707            #[inline]
708            fn topic_preimage_length(rust: &Self::RustType) -> usize {
709                0usize
710                    + <alloy::sol_types::sol_data::Uint<
711                        32,
712                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
713                        &rust.operatorSetId,
714                    )
715                    + <alloy::sol_types::sol_data::Array<
716                        alloy::sol_types::sol_data::Address,
717                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
718                        &rust.strategies,
719                    )
720            }
721            #[inline]
722            fn encode_topic_preimage(
723                rust: &Self::RustType,
724                out: &mut alloy_sol_types::private::Vec<u8>,
725            ) {
726                out.reserve(
727                    <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
728                );
729                <alloy::sol_types::sol_data::Uint<
730                    32,
731                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
732                    &rust.operatorSetId,
733                    out,
734                );
735                <alloy::sol_types::sol_data::Array<
736                    alloy::sol_types::sol_data::Address,
737                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
738                    &rust.strategies,
739                    out,
740                );
741            }
742            #[inline]
743            fn encode_topic(
744                rust: &Self::RustType,
745            ) -> alloy_sol_types::abi::token::WordToken {
746                let mut out = alloy_sol_types::private::Vec::new();
747                <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
748                    rust,
749                    &mut out,
750                );
751                alloy_sol_types::abi::token::WordToken(
752                    alloy_sol_types::private::keccak256(out),
753                )
754            }
755        }
756    };
757    #[derive(Default, Debug, PartialEq, Eq, Hash)]
758    /**```solidity
759struct DeregisterParams { address operator; address avs; uint32[] operatorSetIds; }
760```*/
761    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
762    #[derive(Clone)]
763    pub struct DeregisterParams {
764        #[allow(missing_docs)]
765        pub operator: alloy::sol_types::private::Address,
766        #[allow(missing_docs)]
767        pub avs: alloy::sol_types::private::Address,
768        #[allow(missing_docs)]
769        pub operatorSetIds: alloy::sol_types::private::Vec<u32>,
770    }
771    #[allow(
772        non_camel_case_types,
773        non_snake_case,
774        clippy::pub_underscore_fields,
775        clippy::style
776    )]
777    const _: () = {
778        use alloy::sol_types as alloy_sol_types;
779        #[doc(hidden)]
780        type UnderlyingSolTuple<'a> = (
781            alloy::sol_types::sol_data::Address,
782            alloy::sol_types::sol_data::Address,
783            alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<32>>,
784        );
785        #[doc(hidden)]
786        type UnderlyingRustTuple<'a> = (
787            alloy::sol_types::private::Address,
788            alloy::sol_types::private::Address,
789            alloy::sol_types::private::Vec<u32>,
790        );
791        #[cfg(test)]
792        #[allow(dead_code, unreachable_patterns)]
793        fn _type_assertion(
794            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
795        ) {
796            match _t {
797                alloy_sol_types::private::AssertTypeEq::<
798                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
799                >(_) => {}
800            }
801        }
802        #[automatically_derived]
803        #[doc(hidden)]
804        impl ::core::convert::From<DeregisterParams> for UnderlyingRustTuple<'_> {
805            fn from(value: DeregisterParams) -> Self {
806                (value.operator, value.avs, value.operatorSetIds)
807            }
808        }
809        #[automatically_derived]
810        #[doc(hidden)]
811        impl ::core::convert::From<UnderlyingRustTuple<'_>> for DeregisterParams {
812            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
813                Self {
814                    operator: tuple.0,
815                    avs: tuple.1,
816                    operatorSetIds: tuple.2,
817                }
818            }
819        }
820        #[automatically_derived]
821        impl alloy_sol_types::SolValue for DeregisterParams {
822            type SolType = Self;
823        }
824        #[automatically_derived]
825        impl alloy_sol_types::private::SolTypeValue<Self> for DeregisterParams {
826            #[inline]
827            fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
828                (
829                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
830                        &self.operator,
831                    ),
832                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
833                        &self.avs,
834                    ),
835                    <alloy::sol_types::sol_data::Array<
836                        alloy::sol_types::sol_data::Uint<32>,
837                    > as alloy_sol_types::SolType>::tokenize(&self.operatorSetIds),
838                )
839            }
840            #[inline]
841            fn stv_abi_encoded_size(&self) -> usize {
842                if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
843                    return size;
844                }
845                let tuple = <UnderlyingRustTuple<
846                    '_,
847                > as ::core::convert::From<Self>>::from(self.clone());
848                <UnderlyingSolTuple<
849                    '_,
850                > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
851            }
852            #[inline]
853            fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
854                <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
855            }
856            #[inline]
857            fn stv_abi_encode_packed_to(
858                &self,
859                out: &mut alloy_sol_types::private::Vec<u8>,
860            ) {
861                let tuple = <UnderlyingRustTuple<
862                    '_,
863                > as ::core::convert::From<Self>>::from(self.clone());
864                <UnderlyingSolTuple<
865                    '_,
866                > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
867            }
868            #[inline]
869            fn stv_abi_packed_encoded_size(&self) -> usize {
870                if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
871                    return size;
872                }
873                let tuple = <UnderlyingRustTuple<
874                    '_,
875                > as ::core::convert::From<Self>>::from(self.clone());
876                <UnderlyingSolTuple<
877                    '_,
878                > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
879            }
880        }
881        #[automatically_derived]
882        impl alloy_sol_types::SolType for DeregisterParams {
883            type RustType = Self;
884            type Token<'a> = <UnderlyingSolTuple<
885                'a,
886            > as alloy_sol_types::SolType>::Token<'a>;
887            const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
888            const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
889                '_,
890            > as alloy_sol_types::SolType>::ENCODED_SIZE;
891            const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
892                '_,
893            > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
894            #[inline]
895            fn valid_token(token: &Self::Token<'_>) -> bool {
896                <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
897            }
898            #[inline]
899            fn detokenize(token: Self::Token<'_>) -> Self::RustType {
900                let tuple = <UnderlyingSolTuple<
901                    '_,
902                > as alloy_sol_types::SolType>::detokenize(token);
903                <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
904            }
905        }
906        #[automatically_derived]
907        impl alloy_sol_types::SolStruct for DeregisterParams {
908            const NAME: &'static str = "DeregisterParams";
909            #[inline]
910            fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
911                alloy_sol_types::private::Cow::Borrowed(
912                    "DeregisterParams(address operator,address avs,uint32[] operatorSetIds)",
913                )
914            }
915            #[inline]
916            fn eip712_components() -> alloy_sol_types::private::Vec<
917                alloy_sol_types::private::Cow<'static, str>,
918            > {
919                alloy_sol_types::private::Vec::new()
920            }
921            #[inline]
922            fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
923                <Self as alloy_sol_types::SolStruct>::eip712_root_type()
924            }
925            #[inline]
926            fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
927                [
928                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::eip712_data_word(
929                            &self.operator,
930                        )
931                        .0,
932                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::eip712_data_word(
933                            &self.avs,
934                        )
935                        .0,
936                    <alloy::sol_types::sol_data::Array<
937                        alloy::sol_types::sol_data::Uint<32>,
938                    > as alloy_sol_types::SolType>::eip712_data_word(
939                            &self.operatorSetIds,
940                        )
941                        .0,
942                ]
943                    .concat()
944            }
945        }
946        #[automatically_derived]
947        impl alloy_sol_types::EventTopic for DeregisterParams {
948            #[inline]
949            fn topic_preimage_length(rust: &Self::RustType) -> usize {
950                0usize
951                    + <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::topic_preimage_length(
952                        &rust.operator,
953                    )
954                    + <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::topic_preimage_length(
955                        &rust.avs,
956                    )
957                    + <alloy::sol_types::sol_data::Array<
958                        alloy::sol_types::sol_data::Uint<32>,
959                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
960                        &rust.operatorSetIds,
961                    )
962            }
963            #[inline]
964            fn encode_topic_preimage(
965                rust: &Self::RustType,
966                out: &mut alloy_sol_types::private::Vec<u8>,
967            ) {
968                out.reserve(
969                    <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
970                );
971                <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic_preimage(
972                    &rust.operator,
973                    out,
974                );
975                <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic_preimage(
976                    &rust.avs,
977                    out,
978                );
979                <alloy::sol_types::sol_data::Array<
980                    alloy::sol_types::sol_data::Uint<32>,
981                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
982                    &rust.operatorSetIds,
983                    out,
984                );
985            }
986            #[inline]
987            fn encode_topic(
988                rust: &Self::RustType,
989            ) -> alloy_sol_types::abi::token::WordToken {
990                let mut out = alloy_sol_types::private::Vec::new();
991                <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
992                    rust,
993                    &mut out,
994                );
995                alloy_sol_types::abi::token::WordToken(
996                    alloy_sol_types::private::keccak256(out),
997                )
998            }
999        }
1000    };
1001    #[derive(Default, Debug, PartialEq, Eq, Hash)]
1002    /**```solidity
1003struct RegisterParams { address avs; uint32[] operatorSetIds; bytes data; }
1004```*/
1005    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1006    #[derive(Clone)]
1007    pub struct RegisterParams {
1008        #[allow(missing_docs)]
1009        pub avs: alloy::sol_types::private::Address,
1010        #[allow(missing_docs)]
1011        pub operatorSetIds: alloy::sol_types::private::Vec<u32>,
1012        #[allow(missing_docs)]
1013        pub data: alloy::sol_types::private::Bytes,
1014    }
1015    #[allow(
1016        non_camel_case_types,
1017        non_snake_case,
1018        clippy::pub_underscore_fields,
1019        clippy::style
1020    )]
1021    const _: () = {
1022        use alloy::sol_types as alloy_sol_types;
1023        #[doc(hidden)]
1024        type UnderlyingSolTuple<'a> = (
1025            alloy::sol_types::sol_data::Address,
1026            alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<32>>,
1027            alloy::sol_types::sol_data::Bytes,
1028        );
1029        #[doc(hidden)]
1030        type UnderlyingRustTuple<'a> = (
1031            alloy::sol_types::private::Address,
1032            alloy::sol_types::private::Vec<u32>,
1033            alloy::sol_types::private::Bytes,
1034        );
1035        #[cfg(test)]
1036        #[allow(dead_code, unreachable_patterns)]
1037        fn _type_assertion(
1038            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1039        ) {
1040            match _t {
1041                alloy_sol_types::private::AssertTypeEq::<
1042                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1043                >(_) => {}
1044            }
1045        }
1046        #[automatically_derived]
1047        #[doc(hidden)]
1048        impl ::core::convert::From<RegisterParams> for UnderlyingRustTuple<'_> {
1049            fn from(value: RegisterParams) -> Self {
1050                (value.avs, value.operatorSetIds, value.data)
1051            }
1052        }
1053        #[automatically_derived]
1054        #[doc(hidden)]
1055        impl ::core::convert::From<UnderlyingRustTuple<'_>> for RegisterParams {
1056            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1057                Self {
1058                    avs: tuple.0,
1059                    operatorSetIds: tuple.1,
1060                    data: tuple.2,
1061                }
1062            }
1063        }
1064        #[automatically_derived]
1065        impl alloy_sol_types::SolValue for RegisterParams {
1066            type SolType = Self;
1067        }
1068        #[automatically_derived]
1069        impl alloy_sol_types::private::SolTypeValue<Self> for RegisterParams {
1070            #[inline]
1071            fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
1072                (
1073                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
1074                        &self.avs,
1075                    ),
1076                    <alloy::sol_types::sol_data::Array<
1077                        alloy::sol_types::sol_data::Uint<32>,
1078                    > as alloy_sol_types::SolType>::tokenize(&self.operatorSetIds),
1079                    <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
1080                        &self.data,
1081                    ),
1082                )
1083            }
1084            #[inline]
1085            fn stv_abi_encoded_size(&self) -> usize {
1086                if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
1087                    return size;
1088                }
1089                let tuple = <UnderlyingRustTuple<
1090                    '_,
1091                > as ::core::convert::From<Self>>::from(self.clone());
1092                <UnderlyingSolTuple<
1093                    '_,
1094                > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
1095            }
1096            #[inline]
1097            fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1098                <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
1099            }
1100            #[inline]
1101            fn stv_abi_encode_packed_to(
1102                &self,
1103                out: &mut alloy_sol_types::private::Vec<u8>,
1104            ) {
1105                let tuple = <UnderlyingRustTuple<
1106                    '_,
1107                > as ::core::convert::From<Self>>::from(self.clone());
1108                <UnderlyingSolTuple<
1109                    '_,
1110                > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
1111            }
1112            #[inline]
1113            fn stv_abi_packed_encoded_size(&self) -> usize {
1114                if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
1115                    return size;
1116                }
1117                let tuple = <UnderlyingRustTuple<
1118                    '_,
1119                > as ::core::convert::From<Self>>::from(self.clone());
1120                <UnderlyingSolTuple<
1121                    '_,
1122                > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
1123            }
1124        }
1125        #[automatically_derived]
1126        impl alloy_sol_types::SolType for RegisterParams {
1127            type RustType = Self;
1128            type Token<'a> = <UnderlyingSolTuple<
1129                'a,
1130            > as alloy_sol_types::SolType>::Token<'a>;
1131            const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
1132            const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1133                '_,
1134            > as alloy_sol_types::SolType>::ENCODED_SIZE;
1135            const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1136                '_,
1137            > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1138            #[inline]
1139            fn valid_token(token: &Self::Token<'_>) -> bool {
1140                <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
1141            }
1142            #[inline]
1143            fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1144                let tuple = <UnderlyingSolTuple<
1145                    '_,
1146                > as alloy_sol_types::SolType>::detokenize(token);
1147                <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
1148            }
1149        }
1150        #[automatically_derived]
1151        impl alloy_sol_types::SolStruct for RegisterParams {
1152            const NAME: &'static str = "RegisterParams";
1153            #[inline]
1154            fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
1155                alloy_sol_types::private::Cow::Borrowed(
1156                    "RegisterParams(address avs,uint32[] operatorSetIds,bytes data)",
1157                )
1158            }
1159            #[inline]
1160            fn eip712_components() -> alloy_sol_types::private::Vec<
1161                alloy_sol_types::private::Cow<'static, str>,
1162            > {
1163                alloy_sol_types::private::Vec::new()
1164            }
1165            #[inline]
1166            fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
1167                <Self as alloy_sol_types::SolStruct>::eip712_root_type()
1168            }
1169            #[inline]
1170            fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1171                [
1172                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::eip712_data_word(
1173                            &self.avs,
1174                        )
1175                        .0,
1176                    <alloy::sol_types::sol_data::Array<
1177                        alloy::sol_types::sol_data::Uint<32>,
1178                    > as alloy_sol_types::SolType>::eip712_data_word(
1179                            &self.operatorSetIds,
1180                        )
1181                        .0,
1182                    <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::eip712_data_word(
1183                            &self.data,
1184                        )
1185                        .0,
1186                ]
1187                    .concat()
1188            }
1189        }
1190        #[automatically_derived]
1191        impl alloy_sol_types::EventTopic for RegisterParams {
1192            #[inline]
1193            fn topic_preimage_length(rust: &Self::RustType) -> usize {
1194                0usize
1195                    + <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::topic_preimage_length(
1196                        &rust.avs,
1197                    )
1198                    + <alloy::sol_types::sol_data::Array<
1199                        alloy::sol_types::sol_data::Uint<32>,
1200                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
1201                        &rust.operatorSetIds,
1202                    )
1203                    + <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::topic_preimage_length(
1204                        &rust.data,
1205                    )
1206            }
1207            #[inline]
1208            fn encode_topic_preimage(
1209                rust: &Self::RustType,
1210                out: &mut alloy_sol_types::private::Vec<u8>,
1211            ) {
1212                out.reserve(
1213                    <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
1214                );
1215                <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic_preimage(
1216                    &rust.avs,
1217                    out,
1218                );
1219                <alloy::sol_types::sol_data::Array<
1220                    alloy::sol_types::sol_data::Uint<32>,
1221                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1222                    &rust.operatorSetIds,
1223                    out,
1224                );
1225                <alloy::sol_types::sol_data::Bytes as alloy_sol_types::EventTopic>::encode_topic_preimage(
1226                    &rust.data,
1227                    out,
1228                );
1229            }
1230            #[inline]
1231            fn encode_topic(
1232                rust: &Self::RustType,
1233            ) -> alloy_sol_types::abi::token::WordToken {
1234                let mut out = alloy_sol_types::private::Vec::new();
1235                <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
1236                    rust,
1237                    &mut out,
1238                );
1239                alloy_sol_types::abi::token::WordToken(
1240                    alloy_sol_types::private::keccak256(out),
1241                )
1242            }
1243        }
1244    };
1245    #[derive(Default, Debug, PartialEq, Eq, Hash)]
1246    /**```solidity
1247struct SlashingParams { address operator; uint32 operatorSetId; address[] strategies; uint256[] wadsToSlash; string description; }
1248```*/
1249    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1250    #[derive(Clone)]
1251    pub struct SlashingParams {
1252        #[allow(missing_docs)]
1253        pub operator: alloy::sol_types::private::Address,
1254        #[allow(missing_docs)]
1255        pub operatorSetId: u32,
1256        #[allow(missing_docs)]
1257        pub strategies: alloy::sol_types::private::Vec<
1258            alloy::sol_types::private::Address,
1259        >,
1260        #[allow(missing_docs)]
1261        pub wadsToSlash: alloy::sol_types::private::Vec<
1262            alloy::sol_types::private::primitives::aliases::U256,
1263        >,
1264        #[allow(missing_docs)]
1265        pub description: alloy::sol_types::private::String,
1266    }
1267    #[allow(
1268        non_camel_case_types,
1269        non_snake_case,
1270        clippy::pub_underscore_fields,
1271        clippy::style
1272    )]
1273    const _: () = {
1274        use alloy::sol_types as alloy_sol_types;
1275        #[doc(hidden)]
1276        type UnderlyingSolTuple<'a> = (
1277            alloy::sol_types::sol_data::Address,
1278            alloy::sol_types::sol_data::Uint<32>,
1279            alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
1280            alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
1281            alloy::sol_types::sol_data::String,
1282        );
1283        #[doc(hidden)]
1284        type UnderlyingRustTuple<'a> = (
1285            alloy::sol_types::private::Address,
1286            u32,
1287            alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
1288            alloy::sol_types::private::Vec<
1289                alloy::sol_types::private::primitives::aliases::U256,
1290            >,
1291            alloy::sol_types::private::String,
1292        );
1293        #[cfg(test)]
1294        #[allow(dead_code, unreachable_patterns)]
1295        fn _type_assertion(
1296            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1297        ) {
1298            match _t {
1299                alloy_sol_types::private::AssertTypeEq::<
1300                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1301                >(_) => {}
1302            }
1303        }
1304        #[automatically_derived]
1305        #[doc(hidden)]
1306        impl ::core::convert::From<SlashingParams> for UnderlyingRustTuple<'_> {
1307            fn from(value: SlashingParams) -> Self {
1308                (
1309                    value.operator,
1310                    value.operatorSetId,
1311                    value.strategies,
1312                    value.wadsToSlash,
1313                    value.description,
1314                )
1315            }
1316        }
1317        #[automatically_derived]
1318        #[doc(hidden)]
1319        impl ::core::convert::From<UnderlyingRustTuple<'_>> for SlashingParams {
1320            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1321                Self {
1322                    operator: tuple.0,
1323                    operatorSetId: tuple.1,
1324                    strategies: tuple.2,
1325                    wadsToSlash: tuple.3,
1326                    description: tuple.4,
1327                }
1328            }
1329        }
1330        #[automatically_derived]
1331        impl alloy_sol_types::SolValue for SlashingParams {
1332            type SolType = Self;
1333        }
1334        #[automatically_derived]
1335        impl alloy_sol_types::private::SolTypeValue<Self> for SlashingParams {
1336            #[inline]
1337            fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
1338                (
1339                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
1340                        &self.operator,
1341                    ),
1342                    <alloy::sol_types::sol_data::Uint<
1343                        32,
1344                    > as alloy_sol_types::SolType>::tokenize(&self.operatorSetId),
1345                    <alloy::sol_types::sol_data::Array<
1346                        alloy::sol_types::sol_data::Address,
1347                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
1348                    <alloy::sol_types::sol_data::Array<
1349                        alloy::sol_types::sol_data::Uint<256>,
1350                    > as alloy_sol_types::SolType>::tokenize(&self.wadsToSlash),
1351                    <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
1352                        &self.description,
1353                    ),
1354                )
1355            }
1356            #[inline]
1357            fn stv_abi_encoded_size(&self) -> usize {
1358                if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
1359                    return size;
1360                }
1361                let tuple = <UnderlyingRustTuple<
1362                    '_,
1363                > as ::core::convert::From<Self>>::from(self.clone());
1364                <UnderlyingSolTuple<
1365                    '_,
1366                > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
1367            }
1368            #[inline]
1369            fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1370                <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
1371            }
1372            #[inline]
1373            fn stv_abi_encode_packed_to(
1374                &self,
1375                out: &mut alloy_sol_types::private::Vec<u8>,
1376            ) {
1377                let tuple = <UnderlyingRustTuple<
1378                    '_,
1379                > as ::core::convert::From<Self>>::from(self.clone());
1380                <UnderlyingSolTuple<
1381                    '_,
1382                > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
1383            }
1384            #[inline]
1385            fn stv_abi_packed_encoded_size(&self) -> usize {
1386                if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
1387                    return size;
1388                }
1389                let tuple = <UnderlyingRustTuple<
1390                    '_,
1391                > as ::core::convert::From<Self>>::from(self.clone());
1392                <UnderlyingSolTuple<
1393                    '_,
1394                > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
1395            }
1396        }
1397        #[automatically_derived]
1398        impl alloy_sol_types::SolType for SlashingParams {
1399            type RustType = Self;
1400            type Token<'a> = <UnderlyingSolTuple<
1401                'a,
1402            > as alloy_sol_types::SolType>::Token<'a>;
1403            const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
1404            const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1405                '_,
1406            > as alloy_sol_types::SolType>::ENCODED_SIZE;
1407            const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1408                '_,
1409            > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1410            #[inline]
1411            fn valid_token(token: &Self::Token<'_>) -> bool {
1412                <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
1413            }
1414            #[inline]
1415            fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1416                let tuple = <UnderlyingSolTuple<
1417                    '_,
1418                > as alloy_sol_types::SolType>::detokenize(token);
1419                <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
1420            }
1421        }
1422        #[automatically_derived]
1423        impl alloy_sol_types::SolStruct for SlashingParams {
1424            const NAME: &'static str = "SlashingParams";
1425            #[inline]
1426            fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
1427                alloy_sol_types::private::Cow::Borrowed(
1428                    "SlashingParams(address operator,uint32 operatorSetId,address[] strategies,uint256[] wadsToSlash,string description)",
1429                )
1430            }
1431            #[inline]
1432            fn eip712_components() -> alloy_sol_types::private::Vec<
1433                alloy_sol_types::private::Cow<'static, str>,
1434            > {
1435                alloy_sol_types::private::Vec::new()
1436            }
1437            #[inline]
1438            fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
1439                <Self as alloy_sol_types::SolStruct>::eip712_root_type()
1440            }
1441            #[inline]
1442            fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1443                [
1444                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::eip712_data_word(
1445                            &self.operator,
1446                        )
1447                        .0,
1448                    <alloy::sol_types::sol_data::Uint<
1449                        32,
1450                    > as alloy_sol_types::SolType>::eip712_data_word(&self.operatorSetId)
1451                        .0,
1452                    <alloy::sol_types::sol_data::Array<
1453                        alloy::sol_types::sol_data::Address,
1454                    > as alloy_sol_types::SolType>::eip712_data_word(&self.strategies)
1455                        .0,
1456                    <alloy::sol_types::sol_data::Array<
1457                        alloy::sol_types::sol_data::Uint<256>,
1458                    > as alloy_sol_types::SolType>::eip712_data_word(&self.wadsToSlash)
1459                        .0,
1460                    <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::eip712_data_word(
1461                            &self.description,
1462                        )
1463                        .0,
1464                ]
1465                    .concat()
1466            }
1467        }
1468        #[automatically_derived]
1469        impl alloy_sol_types::EventTopic for SlashingParams {
1470            #[inline]
1471            fn topic_preimage_length(rust: &Self::RustType) -> usize {
1472                0usize
1473                    + <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::topic_preimage_length(
1474                        &rust.operator,
1475                    )
1476                    + <alloy::sol_types::sol_data::Uint<
1477                        32,
1478                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
1479                        &rust.operatorSetId,
1480                    )
1481                    + <alloy::sol_types::sol_data::Array<
1482                        alloy::sol_types::sol_data::Address,
1483                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
1484                        &rust.strategies,
1485                    )
1486                    + <alloy::sol_types::sol_data::Array<
1487                        alloy::sol_types::sol_data::Uint<256>,
1488                    > as alloy_sol_types::EventTopic>::topic_preimage_length(
1489                        &rust.wadsToSlash,
1490                    )
1491                    + <alloy::sol_types::sol_data::String as alloy_sol_types::EventTopic>::topic_preimage_length(
1492                        &rust.description,
1493                    )
1494            }
1495            #[inline]
1496            fn encode_topic_preimage(
1497                rust: &Self::RustType,
1498                out: &mut alloy_sol_types::private::Vec<u8>,
1499            ) {
1500                out.reserve(
1501                    <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
1502                );
1503                <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic_preimage(
1504                    &rust.operator,
1505                    out,
1506                );
1507                <alloy::sol_types::sol_data::Uint<
1508                    32,
1509                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1510                    &rust.operatorSetId,
1511                    out,
1512                );
1513                <alloy::sol_types::sol_data::Array<
1514                    alloy::sol_types::sol_data::Address,
1515                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1516                    &rust.strategies,
1517                    out,
1518                );
1519                <alloy::sol_types::sol_data::Array<
1520                    alloy::sol_types::sol_data::Uint<256>,
1521                > as alloy_sol_types::EventTopic>::encode_topic_preimage(
1522                    &rust.wadsToSlash,
1523                    out,
1524                );
1525                <alloy::sol_types::sol_data::String as alloy_sol_types::EventTopic>::encode_topic_preimage(
1526                    &rust.description,
1527                    out,
1528                );
1529            }
1530            #[inline]
1531            fn encode_topic(
1532                rust: &Self::RustType,
1533            ) -> alloy_sol_types::abi::token::WordToken {
1534                let mut out = alloy_sol_types::private::Vec::new();
1535                <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
1536                    rust,
1537                    &mut out,
1538                );
1539                alloy_sol_types::abi::token::WordToken(
1540                    alloy_sol_types::private::keccak256(out),
1541                )
1542            }
1543        }
1544    };
1545    use alloy::contract as alloy_contract;
1546    /**Creates a new wrapper around an on-chain [`IAllocationManagerTypes`](self) contract instance.
1547
1548See the [wrapper's documentation](`IAllocationManagerTypesInstance`) for more details.*/
1549    #[inline]
1550    pub const fn new<
1551        T: alloy_contract::private::Transport + ::core::clone::Clone,
1552        P: alloy_contract::private::Provider<T, N>,
1553        N: alloy_contract::private::Network,
1554    >(
1555        address: alloy_sol_types::private::Address,
1556        provider: P,
1557    ) -> IAllocationManagerTypesInstance<T, P, N> {
1558        IAllocationManagerTypesInstance::<T, P, N>::new(address, provider)
1559    }
1560    /**A [`IAllocationManagerTypes`](self) instance.
1561
1562Contains type-safe methods for interacting with an on-chain instance of the
1563[`IAllocationManagerTypes`](self) contract located at a given `address`, using a given
1564provider `P`.
1565
1566If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
1567documentation on how to provide it), the `deploy` and `deploy_builder` methods can
1568be used to deploy a new instance of the contract.
1569
1570See the [module-level documentation](self) for all the available methods.*/
1571    #[derive(Clone)]
1572    pub struct IAllocationManagerTypesInstance<
1573        T,
1574        P,
1575        N = alloy_contract::private::Ethereum,
1576    > {
1577        address: alloy_sol_types::private::Address,
1578        provider: P,
1579        _network_transport: ::core::marker::PhantomData<(N, T)>,
1580    }
1581    #[automatically_derived]
1582    impl<T, P, N> ::core::fmt::Debug for IAllocationManagerTypesInstance<T, P, N> {
1583        #[inline]
1584        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1585            f.debug_tuple("IAllocationManagerTypesInstance")
1586                .field(&self.address)
1587                .finish()
1588        }
1589    }
1590    /// Instantiation and getters/setters.
1591    #[automatically_derived]
1592    impl<
1593        T: alloy_contract::private::Transport + ::core::clone::Clone,
1594        P: alloy_contract::private::Provider<T, N>,
1595        N: alloy_contract::private::Network,
1596    > IAllocationManagerTypesInstance<T, P, N> {
1597        /**Creates a new wrapper around an on-chain [`IAllocationManagerTypes`](self) contract instance.
1598
1599See the [wrapper's documentation](`IAllocationManagerTypesInstance`) for more details.*/
1600        #[inline]
1601        pub const fn new(
1602            address: alloy_sol_types::private::Address,
1603            provider: P,
1604        ) -> Self {
1605            Self {
1606                address,
1607                provider,
1608                _network_transport: ::core::marker::PhantomData,
1609            }
1610        }
1611        /// Returns a reference to the address.
1612        #[inline]
1613        pub const fn address(&self) -> &alloy_sol_types::private::Address {
1614            &self.address
1615        }
1616        /// Sets the address.
1617        #[inline]
1618        pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1619            self.address = address;
1620        }
1621        /// Sets the address and returns `self`.
1622        pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1623            self.set_address(address);
1624            self
1625        }
1626        /// Returns a reference to the provider.
1627        #[inline]
1628        pub const fn provider(&self) -> &P {
1629            &self.provider
1630        }
1631    }
1632    impl<T, P: ::core::clone::Clone, N> IAllocationManagerTypesInstance<T, &P, N> {
1633        /// Clones the provider and returns a new instance with the cloned provider.
1634        #[inline]
1635        pub fn with_cloned_provider(self) -> IAllocationManagerTypesInstance<T, P, N> {
1636            IAllocationManagerTypesInstance {
1637                address: self.address,
1638                provider: ::core::clone::Clone::clone(&self.provider),
1639                _network_transport: ::core::marker::PhantomData,
1640            }
1641        }
1642    }
1643    /// Function calls.
1644    #[automatically_derived]
1645    impl<
1646        T: alloy_contract::private::Transport + ::core::clone::Clone,
1647        P: alloy_contract::private::Provider<T, N>,
1648        N: alloy_contract::private::Network,
1649    > IAllocationManagerTypesInstance<T, P, N> {
1650        /// Creates a new call builder using this contract instance's provider and address.
1651        ///
1652        /// Note that the call can be any function call, not just those defined in this
1653        /// contract. Prefer using the other methods for building type-safe contract calls.
1654        pub fn call_builder<C: alloy_sol_types::SolCall>(
1655            &self,
1656            call: &C,
1657        ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
1658            alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1659        }
1660    }
1661    /// Event filters.
1662    #[automatically_derived]
1663    impl<
1664        T: alloy_contract::private::Transport + ::core::clone::Clone,
1665        P: alloy_contract::private::Provider<T, N>,
1666        N: alloy_contract::private::Network,
1667    > IAllocationManagerTypesInstance<T, P, N> {
1668        /// Creates a new event filter using this contract instance's provider and address.
1669        ///
1670        /// Note that the type can be any event, not just those defined in this contract.
1671        /// Prefer using the other methods for building type-safe event filters.
1672        pub fn event_filter<E: alloy_sol_types::SolEvent>(
1673            &self,
1674        ) -> alloy_contract::Event<T, &P, E, N> {
1675            alloy_contract::Event::new_sol(&self.provider, &self.address)
1676        }
1677    }
1678}
1679/**
1680
1681Generated by the following Solidity interface...
1682```solidity
1683library IAllocationManagerTypes {
1684    struct AllocateParams {
1685        OperatorSet operatorSet;
1686        address[] strategies;
1687        uint64[] newMagnitudes;
1688    }
1689    struct Allocation {
1690        uint64 currentMagnitude;
1691        int128 pendingDiff;
1692        uint32 effectBlock;
1693    }
1694    struct CreateSetParams {
1695        uint32 operatorSetId;
1696        address[] strategies;
1697    }
1698    struct DeregisterParams {
1699        address operator;
1700        address avs;
1701        uint32[] operatorSetIds;
1702    }
1703    struct RegisterParams {
1704        address avs;
1705        uint32[] operatorSetIds;
1706        bytes data;
1707    }
1708    struct SlashingParams {
1709        address operator;
1710        uint32 operatorSetId;
1711        address[] strategies;
1712        uint256[] wadsToSlash;
1713        string description;
1714    }
1715}
1716
1717interface IAllocationManager {
1718    struct OperatorSet {
1719        address avs;
1720        uint32 id;
1721    }
1722
1723    error AlreadyMemberOfSet();
1724    error InputArrayLengthMismatch();
1725    error InsufficientMagnitude();
1726    error InvalidAVSRegistrar();
1727    error InvalidCaller();
1728    error InvalidOperator();
1729    error InvalidOperatorSet();
1730    error InvalidWadToSlash();
1731    error ModificationAlreadyPending();
1732    error NonexistentAVSMetadata();
1733    error NotMemberOfSet();
1734    error OperatorNotSlashable();
1735    error SameMagnitude();
1736    error StrategiesMustBeInAscendingOrder();
1737    error StrategyAlreadyInOperatorSet();
1738    error StrategyNotInOperatorSet();
1739    error UninitializedAllocationDelay();
1740
1741    event AVSMetadataURIUpdated(address indexed avs, string metadataURI);
1742    event AVSRegistrarSet(address avs, address registrar);
1743    event AllocationDelaySet(address operator, uint32 delay, uint32 effectBlock);
1744    event AllocationUpdated(address operator, OperatorSet operatorSet, address strategy, uint64 magnitude, uint32 effectBlock);
1745    event EncumberedMagnitudeUpdated(address operator, address strategy, uint64 encumberedMagnitude);
1746    event MaxMagnitudeUpdated(address operator, address strategy, uint64 maxMagnitude);
1747    event OperatorAddedToOperatorSet(address indexed operator, OperatorSet operatorSet);
1748    event OperatorRemovedFromOperatorSet(address indexed operator, OperatorSet operatorSet);
1749    event OperatorSetCreated(OperatorSet operatorSet);
1750    event OperatorSlashed(address operator, OperatorSet operatorSet, address[] strategies, uint256[] wadSlashed, string description);
1751    event StrategyAddedToOperatorSet(OperatorSet operatorSet, address strategy);
1752    event StrategyRemovedFromOperatorSet(OperatorSet operatorSet, address strategy);
1753
1754    function addStrategiesToOperatorSet(address avs, uint32 operatorSetId, address[] memory strategies) external;
1755    function clearDeallocationQueue(address operator, address[] memory strategies, uint16[] memory numToClear) external;
1756    function createOperatorSets(address avs, IAllocationManagerTypes.CreateSetParams[] memory params) external;
1757    function deregisterFromOperatorSets(IAllocationManagerTypes.DeregisterParams memory params) external;
1758    function getAVSRegistrar(address avs) external view returns (address);
1759    function getAllocatableMagnitude(address operator, address strategy) external view returns (uint64);
1760    function getAllocatedSets(address operator) external view returns (OperatorSet[] memory);
1761    function getAllocatedStake(OperatorSet memory operatorSet, address[] memory operators, address[] memory strategies) external view returns (uint256[][] memory slashableStake);
1762    function getAllocatedStrategies(address operator, OperatorSet memory operatorSet) external view returns (address[] memory);
1763    function getAllocation(address operator, OperatorSet memory operatorSet, address strategy) external view returns (IAllocationManagerTypes.Allocation memory);
1764    function getAllocationDelay(address operator) external view returns (bool isSet, uint32 delay);
1765    function getAllocations(address[] memory operators, OperatorSet memory operatorSet, address strategy) external view returns (IAllocationManagerTypes.Allocation[] memory);
1766    function getEncumberedMagnitude(address operator, address strategy) external view returns (uint64);
1767    function getMaxMagnitude(address operator, address strategy) external view returns (uint64);
1768    function getMaxMagnitudes(address[] memory operators, address strategy) external view returns (uint64[] memory);
1769    function getMaxMagnitudes(address operator, address[] memory strategies) external view returns (uint64[] memory);
1770    function getMaxMagnitudesAtBlock(address operator, address[] memory strategies, uint32 blockNumber) external view returns (uint64[] memory);
1771    function getMemberCount(OperatorSet memory operatorSet) external view returns (uint256);
1772    function getMembers(OperatorSet memory operatorSet) external view returns (address[] memory operators);
1773    function getMinimumSlashableStake(OperatorSet memory operatorSet, address[] memory operators, address[] memory strategies, uint32 futureBlock) external view returns (uint256[][] memory slashableStake);
1774    function getOperatorSetCount(address avs) external view returns (uint256);
1775    function getRegisteredSets(address operator) external view returns (OperatorSet[] memory operatorSets);
1776    function getStrategiesInOperatorSet(OperatorSet memory operatorSet) external view returns (address[] memory strategies);
1777    function getStrategyAllocations(address operator, address strategy) external view returns (OperatorSet[] memory, IAllocationManagerTypes.Allocation[] memory);
1778    function initialize(address initialOwner, uint256 initialPausedStatus) external;
1779    function isMemberOfOperatorSet(address operator, OperatorSet memory operatorSet) external view returns (bool);
1780    function isOperatorSet(OperatorSet memory operatorSet) external view returns (bool);
1781    function isOperatorSlashable(address operator, OperatorSet memory operatorSet) external view returns (bool);
1782    function modifyAllocations(address operator, IAllocationManagerTypes.AllocateParams[] memory params) external;
1783    function registerForOperatorSets(address operator, IAllocationManagerTypes.RegisterParams memory params) external;
1784    function removeStrategiesFromOperatorSet(address avs, uint32 operatorSetId, address[] memory strategies) external;
1785    function setAVSRegistrar(address avs, address registrar) external;
1786    function setAllocationDelay(address operator, uint32 delay) external;
1787    function slashOperator(address avs, IAllocationManagerTypes.SlashingParams memory params) external;
1788    function updateAVSMetadataURI(address avs, string memory metadataURI) external;
1789    function version() external view returns (string memory);
1790}
1791```
1792
1793...which was generated by the following JSON ABI:
1794```json
1795[
1796  {
1797    "type": "function",
1798    "name": "addStrategiesToOperatorSet",
1799    "inputs": [
1800      {
1801        "name": "avs",
1802        "type": "address",
1803        "internalType": "address"
1804      },
1805      {
1806        "name": "operatorSetId",
1807        "type": "uint32",
1808        "internalType": "uint32"
1809      },
1810      {
1811        "name": "strategies",
1812        "type": "address[]",
1813        "internalType": "contract IStrategy[]"
1814      }
1815    ],
1816    "outputs": [],
1817    "stateMutability": "nonpayable"
1818  },
1819  {
1820    "type": "function",
1821    "name": "clearDeallocationQueue",
1822    "inputs": [
1823      {
1824        "name": "operator",
1825        "type": "address",
1826        "internalType": "address"
1827      },
1828      {
1829        "name": "strategies",
1830        "type": "address[]",
1831        "internalType": "contract IStrategy[]"
1832      },
1833      {
1834        "name": "numToClear",
1835        "type": "uint16[]",
1836        "internalType": "uint16[]"
1837      }
1838    ],
1839    "outputs": [],
1840    "stateMutability": "nonpayable"
1841  },
1842  {
1843    "type": "function",
1844    "name": "createOperatorSets",
1845    "inputs": [
1846      {
1847        "name": "avs",
1848        "type": "address",
1849        "internalType": "address"
1850      },
1851      {
1852        "name": "params",
1853        "type": "tuple[]",
1854        "internalType": "struct IAllocationManagerTypes.CreateSetParams[]",
1855        "components": [
1856          {
1857            "name": "operatorSetId",
1858            "type": "uint32",
1859            "internalType": "uint32"
1860          },
1861          {
1862            "name": "strategies",
1863            "type": "address[]",
1864            "internalType": "contract IStrategy[]"
1865          }
1866        ]
1867      }
1868    ],
1869    "outputs": [],
1870    "stateMutability": "nonpayable"
1871  },
1872  {
1873    "type": "function",
1874    "name": "deregisterFromOperatorSets",
1875    "inputs": [
1876      {
1877        "name": "params",
1878        "type": "tuple",
1879        "internalType": "struct IAllocationManagerTypes.DeregisterParams",
1880        "components": [
1881          {
1882            "name": "operator",
1883            "type": "address",
1884            "internalType": "address"
1885          },
1886          {
1887            "name": "avs",
1888            "type": "address",
1889            "internalType": "address"
1890          },
1891          {
1892            "name": "operatorSetIds",
1893            "type": "uint32[]",
1894            "internalType": "uint32[]"
1895          }
1896        ]
1897      }
1898    ],
1899    "outputs": [],
1900    "stateMutability": "nonpayable"
1901  },
1902  {
1903    "type": "function",
1904    "name": "getAVSRegistrar",
1905    "inputs": [
1906      {
1907        "name": "avs",
1908        "type": "address",
1909        "internalType": "address"
1910      }
1911    ],
1912    "outputs": [
1913      {
1914        "name": "",
1915        "type": "address",
1916        "internalType": "contract IAVSRegistrar"
1917      }
1918    ],
1919    "stateMutability": "view"
1920  },
1921  {
1922    "type": "function",
1923    "name": "getAllocatableMagnitude",
1924    "inputs": [
1925      {
1926        "name": "operator",
1927        "type": "address",
1928        "internalType": "address"
1929      },
1930      {
1931        "name": "strategy",
1932        "type": "address",
1933        "internalType": "contract IStrategy"
1934      }
1935    ],
1936    "outputs": [
1937      {
1938        "name": "",
1939        "type": "uint64",
1940        "internalType": "uint64"
1941      }
1942    ],
1943    "stateMutability": "view"
1944  },
1945  {
1946    "type": "function",
1947    "name": "getAllocatedSets",
1948    "inputs": [
1949      {
1950        "name": "operator",
1951        "type": "address",
1952        "internalType": "address"
1953      }
1954    ],
1955    "outputs": [
1956      {
1957        "name": "",
1958        "type": "tuple[]",
1959        "internalType": "struct OperatorSet[]",
1960        "components": [
1961          {
1962            "name": "avs",
1963            "type": "address",
1964            "internalType": "address"
1965          },
1966          {
1967            "name": "id",
1968            "type": "uint32",
1969            "internalType": "uint32"
1970          }
1971        ]
1972      }
1973    ],
1974    "stateMutability": "view"
1975  },
1976  {
1977    "type": "function",
1978    "name": "getAllocatedStake",
1979    "inputs": [
1980      {
1981        "name": "operatorSet",
1982        "type": "tuple",
1983        "internalType": "struct OperatorSet",
1984        "components": [
1985          {
1986            "name": "avs",
1987            "type": "address",
1988            "internalType": "address"
1989          },
1990          {
1991            "name": "id",
1992            "type": "uint32",
1993            "internalType": "uint32"
1994          }
1995        ]
1996      },
1997      {
1998        "name": "operators",
1999        "type": "address[]",
2000        "internalType": "address[]"
2001      },
2002      {
2003        "name": "strategies",
2004        "type": "address[]",
2005        "internalType": "contract IStrategy[]"
2006      }
2007    ],
2008    "outputs": [
2009      {
2010        "name": "slashableStake",
2011        "type": "uint256[][]",
2012        "internalType": "uint256[][]"
2013      }
2014    ],
2015    "stateMutability": "view"
2016  },
2017  {
2018    "type": "function",
2019    "name": "getAllocatedStrategies",
2020    "inputs": [
2021      {
2022        "name": "operator",
2023        "type": "address",
2024        "internalType": "address"
2025      },
2026      {
2027        "name": "operatorSet",
2028        "type": "tuple",
2029        "internalType": "struct OperatorSet",
2030        "components": [
2031          {
2032            "name": "avs",
2033            "type": "address",
2034            "internalType": "address"
2035          },
2036          {
2037            "name": "id",
2038            "type": "uint32",
2039            "internalType": "uint32"
2040          }
2041        ]
2042      }
2043    ],
2044    "outputs": [
2045      {
2046        "name": "",
2047        "type": "address[]",
2048        "internalType": "contract IStrategy[]"
2049      }
2050    ],
2051    "stateMutability": "view"
2052  },
2053  {
2054    "type": "function",
2055    "name": "getAllocation",
2056    "inputs": [
2057      {
2058        "name": "operator",
2059        "type": "address",
2060        "internalType": "address"
2061      },
2062      {
2063        "name": "operatorSet",
2064        "type": "tuple",
2065        "internalType": "struct OperatorSet",
2066        "components": [
2067          {
2068            "name": "avs",
2069            "type": "address",
2070            "internalType": "address"
2071          },
2072          {
2073            "name": "id",
2074            "type": "uint32",
2075            "internalType": "uint32"
2076          }
2077        ]
2078      },
2079      {
2080        "name": "strategy",
2081        "type": "address",
2082        "internalType": "contract IStrategy"
2083      }
2084    ],
2085    "outputs": [
2086      {
2087        "name": "",
2088        "type": "tuple",
2089        "internalType": "struct IAllocationManagerTypes.Allocation",
2090        "components": [
2091          {
2092            "name": "currentMagnitude",
2093            "type": "uint64",
2094            "internalType": "uint64"
2095          },
2096          {
2097            "name": "pendingDiff",
2098            "type": "int128",
2099            "internalType": "int128"
2100          },
2101          {
2102            "name": "effectBlock",
2103            "type": "uint32",
2104            "internalType": "uint32"
2105          }
2106        ]
2107      }
2108    ],
2109    "stateMutability": "view"
2110  },
2111  {
2112    "type": "function",
2113    "name": "getAllocationDelay",
2114    "inputs": [
2115      {
2116        "name": "operator",
2117        "type": "address",
2118        "internalType": "address"
2119      }
2120    ],
2121    "outputs": [
2122      {
2123        "name": "isSet",
2124        "type": "bool",
2125        "internalType": "bool"
2126      },
2127      {
2128        "name": "delay",
2129        "type": "uint32",
2130        "internalType": "uint32"
2131      }
2132    ],
2133    "stateMutability": "view"
2134  },
2135  {
2136    "type": "function",
2137    "name": "getAllocations",
2138    "inputs": [
2139      {
2140        "name": "operators",
2141        "type": "address[]",
2142        "internalType": "address[]"
2143      },
2144      {
2145        "name": "operatorSet",
2146        "type": "tuple",
2147        "internalType": "struct OperatorSet",
2148        "components": [
2149          {
2150            "name": "avs",
2151            "type": "address",
2152            "internalType": "address"
2153          },
2154          {
2155            "name": "id",
2156            "type": "uint32",
2157            "internalType": "uint32"
2158          }
2159        ]
2160      },
2161      {
2162        "name": "strategy",
2163        "type": "address",
2164        "internalType": "contract IStrategy"
2165      }
2166    ],
2167    "outputs": [
2168      {
2169        "name": "",
2170        "type": "tuple[]",
2171        "internalType": "struct IAllocationManagerTypes.Allocation[]",
2172        "components": [
2173          {
2174            "name": "currentMagnitude",
2175            "type": "uint64",
2176            "internalType": "uint64"
2177          },
2178          {
2179            "name": "pendingDiff",
2180            "type": "int128",
2181            "internalType": "int128"
2182          },
2183          {
2184            "name": "effectBlock",
2185            "type": "uint32",
2186            "internalType": "uint32"
2187          }
2188        ]
2189      }
2190    ],
2191    "stateMutability": "view"
2192  },
2193  {
2194    "type": "function",
2195    "name": "getEncumberedMagnitude",
2196    "inputs": [
2197      {
2198        "name": "operator",
2199        "type": "address",
2200        "internalType": "address"
2201      },
2202      {
2203        "name": "strategy",
2204        "type": "address",
2205        "internalType": "contract IStrategy"
2206      }
2207    ],
2208    "outputs": [
2209      {
2210        "name": "",
2211        "type": "uint64",
2212        "internalType": "uint64"
2213      }
2214    ],
2215    "stateMutability": "view"
2216  },
2217  {
2218    "type": "function",
2219    "name": "getMaxMagnitude",
2220    "inputs": [
2221      {
2222        "name": "operator",
2223        "type": "address",
2224        "internalType": "address"
2225      },
2226      {
2227        "name": "strategy",
2228        "type": "address",
2229        "internalType": "contract IStrategy"
2230      }
2231    ],
2232    "outputs": [
2233      {
2234        "name": "",
2235        "type": "uint64",
2236        "internalType": "uint64"
2237      }
2238    ],
2239    "stateMutability": "view"
2240  },
2241  {
2242    "type": "function",
2243    "name": "getMaxMagnitudes",
2244    "inputs": [
2245      {
2246        "name": "operators",
2247        "type": "address[]",
2248        "internalType": "address[]"
2249      },
2250      {
2251        "name": "strategy",
2252        "type": "address",
2253        "internalType": "contract IStrategy"
2254      }
2255    ],
2256    "outputs": [
2257      {
2258        "name": "",
2259        "type": "uint64[]",
2260        "internalType": "uint64[]"
2261      }
2262    ],
2263    "stateMutability": "view"
2264  },
2265  {
2266    "type": "function",
2267    "name": "getMaxMagnitudes",
2268    "inputs": [
2269      {
2270        "name": "operator",
2271        "type": "address",
2272        "internalType": "address"
2273      },
2274      {
2275        "name": "strategies",
2276        "type": "address[]",
2277        "internalType": "contract IStrategy[]"
2278      }
2279    ],
2280    "outputs": [
2281      {
2282        "name": "",
2283        "type": "uint64[]",
2284        "internalType": "uint64[]"
2285      }
2286    ],
2287    "stateMutability": "view"
2288  },
2289  {
2290    "type": "function",
2291    "name": "getMaxMagnitudesAtBlock",
2292    "inputs": [
2293      {
2294        "name": "operator",
2295        "type": "address",
2296        "internalType": "address"
2297      },
2298      {
2299        "name": "strategies",
2300        "type": "address[]",
2301        "internalType": "contract IStrategy[]"
2302      },
2303      {
2304        "name": "blockNumber",
2305        "type": "uint32",
2306        "internalType": "uint32"
2307      }
2308    ],
2309    "outputs": [
2310      {
2311        "name": "",
2312        "type": "uint64[]",
2313        "internalType": "uint64[]"
2314      }
2315    ],
2316    "stateMutability": "view"
2317  },
2318  {
2319    "type": "function",
2320    "name": "getMemberCount",
2321    "inputs": [
2322      {
2323        "name": "operatorSet",
2324        "type": "tuple",
2325        "internalType": "struct OperatorSet",
2326        "components": [
2327          {
2328            "name": "avs",
2329            "type": "address",
2330            "internalType": "address"
2331          },
2332          {
2333            "name": "id",
2334            "type": "uint32",
2335            "internalType": "uint32"
2336          }
2337        ]
2338      }
2339    ],
2340    "outputs": [
2341      {
2342        "name": "",
2343        "type": "uint256",
2344        "internalType": "uint256"
2345      }
2346    ],
2347    "stateMutability": "view"
2348  },
2349  {
2350    "type": "function",
2351    "name": "getMembers",
2352    "inputs": [
2353      {
2354        "name": "operatorSet",
2355        "type": "tuple",
2356        "internalType": "struct OperatorSet",
2357        "components": [
2358          {
2359            "name": "avs",
2360            "type": "address",
2361            "internalType": "address"
2362          },
2363          {
2364            "name": "id",
2365            "type": "uint32",
2366            "internalType": "uint32"
2367          }
2368        ]
2369      }
2370    ],
2371    "outputs": [
2372      {
2373        "name": "operators",
2374        "type": "address[]",
2375        "internalType": "address[]"
2376      }
2377    ],
2378    "stateMutability": "view"
2379  },
2380  {
2381    "type": "function",
2382    "name": "getMinimumSlashableStake",
2383    "inputs": [
2384      {
2385        "name": "operatorSet",
2386        "type": "tuple",
2387        "internalType": "struct OperatorSet",
2388        "components": [
2389          {
2390            "name": "avs",
2391            "type": "address",
2392            "internalType": "address"
2393          },
2394          {
2395            "name": "id",
2396            "type": "uint32",
2397            "internalType": "uint32"
2398          }
2399        ]
2400      },
2401      {
2402        "name": "operators",
2403        "type": "address[]",
2404        "internalType": "address[]"
2405      },
2406      {
2407        "name": "strategies",
2408        "type": "address[]",
2409        "internalType": "contract IStrategy[]"
2410      },
2411      {
2412        "name": "futureBlock",
2413        "type": "uint32",
2414        "internalType": "uint32"
2415      }
2416    ],
2417    "outputs": [
2418      {
2419        "name": "slashableStake",
2420        "type": "uint256[][]",
2421        "internalType": "uint256[][]"
2422      }
2423    ],
2424    "stateMutability": "view"
2425  },
2426  {
2427    "type": "function",
2428    "name": "getOperatorSetCount",
2429    "inputs": [
2430      {
2431        "name": "avs",
2432        "type": "address",
2433        "internalType": "address"
2434      }
2435    ],
2436    "outputs": [
2437      {
2438        "name": "",
2439        "type": "uint256",
2440        "internalType": "uint256"
2441      }
2442    ],
2443    "stateMutability": "view"
2444  },
2445  {
2446    "type": "function",
2447    "name": "getRegisteredSets",
2448    "inputs": [
2449      {
2450        "name": "operator",
2451        "type": "address",
2452        "internalType": "address"
2453      }
2454    ],
2455    "outputs": [
2456      {
2457        "name": "operatorSets",
2458        "type": "tuple[]",
2459        "internalType": "struct OperatorSet[]",
2460        "components": [
2461          {
2462            "name": "avs",
2463            "type": "address",
2464            "internalType": "address"
2465          },
2466          {
2467            "name": "id",
2468            "type": "uint32",
2469            "internalType": "uint32"
2470          }
2471        ]
2472      }
2473    ],
2474    "stateMutability": "view"
2475  },
2476  {
2477    "type": "function",
2478    "name": "getStrategiesInOperatorSet",
2479    "inputs": [
2480      {
2481        "name": "operatorSet",
2482        "type": "tuple",
2483        "internalType": "struct OperatorSet",
2484        "components": [
2485          {
2486            "name": "avs",
2487            "type": "address",
2488            "internalType": "address"
2489          },
2490          {
2491            "name": "id",
2492            "type": "uint32",
2493            "internalType": "uint32"
2494          }
2495        ]
2496      }
2497    ],
2498    "outputs": [
2499      {
2500        "name": "strategies",
2501        "type": "address[]",
2502        "internalType": "contract IStrategy[]"
2503      }
2504    ],
2505    "stateMutability": "view"
2506  },
2507  {
2508    "type": "function",
2509    "name": "getStrategyAllocations",
2510    "inputs": [
2511      {
2512        "name": "operator",
2513        "type": "address",
2514        "internalType": "address"
2515      },
2516      {
2517        "name": "strategy",
2518        "type": "address",
2519        "internalType": "contract IStrategy"
2520      }
2521    ],
2522    "outputs": [
2523      {
2524        "name": "",
2525        "type": "tuple[]",
2526        "internalType": "struct OperatorSet[]",
2527        "components": [
2528          {
2529            "name": "avs",
2530            "type": "address",
2531            "internalType": "address"
2532          },
2533          {
2534            "name": "id",
2535            "type": "uint32",
2536            "internalType": "uint32"
2537          }
2538        ]
2539      },
2540      {
2541        "name": "",
2542        "type": "tuple[]",
2543        "internalType": "struct IAllocationManagerTypes.Allocation[]",
2544        "components": [
2545          {
2546            "name": "currentMagnitude",
2547            "type": "uint64",
2548            "internalType": "uint64"
2549          },
2550          {
2551            "name": "pendingDiff",
2552            "type": "int128",
2553            "internalType": "int128"
2554          },
2555          {
2556            "name": "effectBlock",
2557            "type": "uint32",
2558            "internalType": "uint32"
2559          }
2560        ]
2561      }
2562    ],
2563    "stateMutability": "view"
2564  },
2565  {
2566    "type": "function",
2567    "name": "initialize",
2568    "inputs": [
2569      {
2570        "name": "initialOwner",
2571        "type": "address",
2572        "internalType": "address"
2573      },
2574      {
2575        "name": "initialPausedStatus",
2576        "type": "uint256",
2577        "internalType": "uint256"
2578      }
2579    ],
2580    "outputs": [],
2581    "stateMutability": "nonpayable"
2582  },
2583  {
2584    "type": "function",
2585    "name": "isMemberOfOperatorSet",
2586    "inputs": [
2587      {
2588        "name": "operator",
2589        "type": "address",
2590        "internalType": "address"
2591      },
2592      {
2593        "name": "operatorSet",
2594        "type": "tuple",
2595        "internalType": "struct OperatorSet",
2596        "components": [
2597          {
2598            "name": "avs",
2599            "type": "address",
2600            "internalType": "address"
2601          },
2602          {
2603            "name": "id",
2604            "type": "uint32",
2605            "internalType": "uint32"
2606          }
2607        ]
2608      }
2609    ],
2610    "outputs": [
2611      {
2612        "name": "",
2613        "type": "bool",
2614        "internalType": "bool"
2615      }
2616    ],
2617    "stateMutability": "view"
2618  },
2619  {
2620    "type": "function",
2621    "name": "isOperatorSet",
2622    "inputs": [
2623      {
2624        "name": "operatorSet",
2625        "type": "tuple",
2626        "internalType": "struct OperatorSet",
2627        "components": [
2628          {
2629            "name": "avs",
2630            "type": "address",
2631            "internalType": "address"
2632          },
2633          {
2634            "name": "id",
2635            "type": "uint32",
2636            "internalType": "uint32"
2637          }
2638        ]
2639      }
2640    ],
2641    "outputs": [
2642      {
2643        "name": "",
2644        "type": "bool",
2645        "internalType": "bool"
2646      }
2647    ],
2648    "stateMutability": "view"
2649  },
2650  {
2651    "type": "function",
2652    "name": "isOperatorSlashable",
2653    "inputs": [
2654      {
2655        "name": "operator",
2656        "type": "address",
2657        "internalType": "address"
2658      },
2659      {
2660        "name": "operatorSet",
2661        "type": "tuple",
2662        "internalType": "struct OperatorSet",
2663        "components": [
2664          {
2665            "name": "avs",
2666            "type": "address",
2667            "internalType": "address"
2668          },
2669          {
2670            "name": "id",
2671            "type": "uint32",
2672            "internalType": "uint32"
2673          }
2674        ]
2675      }
2676    ],
2677    "outputs": [
2678      {
2679        "name": "",
2680        "type": "bool",
2681        "internalType": "bool"
2682      }
2683    ],
2684    "stateMutability": "view"
2685  },
2686  {
2687    "type": "function",
2688    "name": "modifyAllocations",
2689    "inputs": [
2690      {
2691        "name": "operator",
2692        "type": "address",
2693        "internalType": "address"
2694      },
2695      {
2696        "name": "params",
2697        "type": "tuple[]",
2698        "internalType": "struct IAllocationManagerTypes.AllocateParams[]",
2699        "components": [
2700          {
2701            "name": "operatorSet",
2702            "type": "tuple",
2703            "internalType": "struct OperatorSet",
2704            "components": [
2705              {
2706                "name": "avs",
2707                "type": "address",
2708                "internalType": "address"
2709              },
2710              {
2711                "name": "id",
2712                "type": "uint32",
2713                "internalType": "uint32"
2714              }
2715            ]
2716          },
2717          {
2718            "name": "strategies",
2719            "type": "address[]",
2720            "internalType": "contract IStrategy[]"
2721          },
2722          {
2723            "name": "newMagnitudes",
2724            "type": "uint64[]",
2725            "internalType": "uint64[]"
2726          }
2727        ]
2728      }
2729    ],
2730    "outputs": [],
2731    "stateMutability": "nonpayable"
2732  },
2733  {
2734    "type": "function",
2735    "name": "registerForOperatorSets",
2736    "inputs": [
2737      {
2738        "name": "operator",
2739        "type": "address",
2740        "internalType": "address"
2741      },
2742      {
2743        "name": "params",
2744        "type": "tuple",
2745        "internalType": "struct IAllocationManagerTypes.RegisterParams",
2746        "components": [
2747          {
2748            "name": "avs",
2749            "type": "address",
2750            "internalType": "address"
2751          },
2752          {
2753            "name": "operatorSetIds",
2754            "type": "uint32[]",
2755            "internalType": "uint32[]"
2756          },
2757          {
2758            "name": "data",
2759            "type": "bytes",
2760            "internalType": "bytes"
2761          }
2762        ]
2763      }
2764    ],
2765    "outputs": [],
2766    "stateMutability": "nonpayable"
2767  },
2768  {
2769    "type": "function",
2770    "name": "removeStrategiesFromOperatorSet",
2771    "inputs": [
2772      {
2773        "name": "avs",
2774        "type": "address",
2775        "internalType": "address"
2776      },
2777      {
2778        "name": "operatorSetId",
2779        "type": "uint32",
2780        "internalType": "uint32"
2781      },
2782      {
2783        "name": "strategies",
2784        "type": "address[]",
2785        "internalType": "contract IStrategy[]"
2786      }
2787    ],
2788    "outputs": [],
2789    "stateMutability": "nonpayable"
2790  },
2791  {
2792    "type": "function",
2793    "name": "setAVSRegistrar",
2794    "inputs": [
2795      {
2796        "name": "avs",
2797        "type": "address",
2798        "internalType": "address"
2799      },
2800      {
2801        "name": "registrar",
2802        "type": "address",
2803        "internalType": "contract IAVSRegistrar"
2804      }
2805    ],
2806    "outputs": [],
2807    "stateMutability": "nonpayable"
2808  },
2809  {
2810    "type": "function",
2811    "name": "setAllocationDelay",
2812    "inputs": [
2813      {
2814        "name": "operator",
2815        "type": "address",
2816        "internalType": "address"
2817      },
2818      {
2819        "name": "delay",
2820        "type": "uint32",
2821        "internalType": "uint32"
2822      }
2823    ],
2824    "outputs": [],
2825    "stateMutability": "nonpayable"
2826  },
2827  {
2828    "type": "function",
2829    "name": "slashOperator",
2830    "inputs": [
2831      {
2832        "name": "avs",
2833        "type": "address",
2834        "internalType": "address"
2835      },
2836      {
2837        "name": "params",
2838        "type": "tuple",
2839        "internalType": "struct IAllocationManagerTypes.SlashingParams",
2840        "components": [
2841          {
2842            "name": "operator",
2843            "type": "address",
2844            "internalType": "address"
2845          },
2846          {
2847            "name": "operatorSetId",
2848            "type": "uint32",
2849            "internalType": "uint32"
2850          },
2851          {
2852            "name": "strategies",
2853            "type": "address[]",
2854            "internalType": "contract IStrategy[]"
2855          },
2856          {
2857            "name": "wadsToSlash",
2858            "type": "uint256[]",
2859            "internalType": "uint256[]"
2860          },
2861          {
2862            "name": "description",
2863            "type": "string",
2864            "internalType": "string"
2865          }
2866        ]
2867      }
2868    ],
2869    "outputs": [],
2870    "stateMutability": "nonpayable"
2871  },
2872  {
2873    "type": "function",
2874    "name": "updateAVSMetadataURI",
2875    "inputs": [
2876      {
2877        "name": "avs",
2878        "type": "address",
2879        "internalType": "address"
2880      },
2881      {
2882        "name": "metadataURI",
2883        "type": "string",
2884        "internalType": "string"
2885      }
2886    ],
2887    "outputs": [],
2888    "stateMutability": "nonpayable"
2889  },
2890  {
2891    "type": "function",
2892    "name": "version",
2893    "inputs": [],
2894    "outputs": [
2895      {
2896        "name": "",
2897        "type": "string",
2898        "internalType": "string"
2899      }
2900    ],
2901    "stateMutability": "view"
2902  },
2903  {
2904    "type": "event",
2905    "name": "AVSMetadataURIUpdated",
2906    "inputs": [
2907      {
2908        "name": "avs",
2909        "type": "address",
2910        "indexed": true,
2911        "internalType": "address"
2912      },
2913      {
2914        "name": "metadataURI",
2915        "type": "string",
2916        "indexed": false,
2917        "internalType": "string"
2918      }
2919    ],
2920    "anonymous": false
2921  },
2922  {
2923    "type": "event",
2924    "name": "AVSRegistrarSet",
2925    "inputs": [
2926      {
2927        "name": "avs",
2928        "type": "address",
2929        "indexed": false,
2930        "internalType": "address"
2931      },
2932      {
2933        "name": "registrar",
2934        "type": "address",
2935        "indexed": false,
2936        "internalType": "contract IAVSRegistrar"
2937      }
2938    ],
2939    "anonymous": false
2940  },
2941  {
2942    "type": "event",
2943    "name": "AllocationDelaySet",
2944    "inputs": [
2945      {
2946        "name": "operator",
2947        "type": "address",
2948        "indexed": false,
2949        "internalType": "address"
2950      },
2951      {
2952        "name": "delay",
2953        "type": "uint32",
2954        "indexed": false,
2955        "internalType": "uint32"
2956      },
2957      {
2958        "name": "effectBlock",
2959        "type": "uint32",
2960        "indexed": false,
2961        "internalType": "uint32"
2962      }
2963    ],
2964    "anonymous": false
2965  },
2966  {
2967    "type": "event",
2968    "name": "AllocationUpdated",
2969    "inputs": [
2970      {
2971        "name": "operator",
2972        "type": "address",
2973        "indexed": false,
2974        "internalType": "address"
2975      },
2976      {
2977        "name": "operatorSet",
2978        "type": "tuple",
2979        "indexed": false,
2980        "internalType": "struct OperatorSet",
2981        "components": [
2982          {
2983            "name": "avs",
2984            "type": "address",
2985            "internalType": "address"
2986          },
2987          {
2988            "name": "id",
2989            "type": "uint32",
2990            "internalType": "uint32"
2991          }
2992        ]
2993      },
2994      {
2995        "name": "strategy",
2996        "type": "address",
2997        "indexed": false,
2998        "internalType": "contract IStrategy"
2999      },
3000      {
3001        "name": "magnitude",
3002        "type": "uint64",
3003        "indexed": false,
3004        "internalType": "uint64"
3005      },
3006      {
3007        "name": "effectBlock",
3008        "type": "uint32",
3009        "indexed": false,
3010        "internalType": "uint32"
3011      }
3012    ],
3013    "anonymous": false
3014  },
3015  {
3016    "type": "event",
3017    "name": "EncumberedMagnitudeUpdated",
3018    "inputs": [
3019      {
3020        "name": "operator",
3021        "type": "address",
3022        "indexed": false,
3023        "internalType": "address"
3024      },
3025      {
3026        "name": "strategy",
3027        "type": "address",
3028        "indexed": false,
3029        "internalType": "contract IStrategy"
3030      },
3031      {
3032        "name": "encumberedMagnitude",
3033        "type": "uint64",
3034        "indexed": false,
3035        "internalType": "uint64"
3036      }
3037    ],
3038    "anonymous": false
3039  },
3040  {
3041    "type": "event",
3042    "name": "MaxMagnitudeUpdated",
3043    "inputs": [
3044      {
3045        "name": "operator",
3046        "type": "address",
3047        "indexed": false,
3048        "internalType": "address"
3049      },
3050      {
3051        "name": "strategy",
3052        "type": "address",
3053        "indexed": false,
3054        "internalType": "contract IStrategy"
3055      },
3056      {
3057        "name": "maxMagnitude",
3058        "type": "uint64",
3059        "indexed": false,
3060        "internalType": "uint64"
3061      }
3062    ],
3063    "anonymous": false
3064  },
3065  {
3066    "type": "event",
3067    "name": "OperatorAddedToOperatorSet",
3068    "inputs": [
3069      {
3070        "name": "operator",
3071        "type": "address",
3072        "indexed": true,
3073        "internalType": "address"
3074      },
3075      {
3076        "name": "operatorSet",
3077        "type": "tuple",
3078        "indexed": false,
3079        "internalType": "struct OperatorSet",
3080        "components": [
3081          {
3082            "name": "avs",
3083            "type": "address",
3084            "internalType": "address"
3085          },
3086          {
3087            "name": "id",
3088            "type": "uint32",
3089            "internalType": "uint32"
3090          }
3091        ]
3092      }
3093    ],
3094    "anonymous": false
3095  },
3096  {
3097    "type": "event",
3098    "name": "OperatorRemovedFromOperatorSet",
3099    "inputs": [
3100      {
3101        "name": "operator",
3102        "type": "address",
3103        "indexed": true,
3104        "internalType": "address"
3105      },
3106      {
3107        "name": "operatorSet",
3108        "type": "tuple",
3109        "indexed": false,
3110        "internalType": "struct OperatorSet",
3111        "components": [
3112          {
3113            "name": "avs",
3114            "type": "address",
3115            "internalType": "address"
3116          },
3117          {
3118            "name": "id",
3119            "type": "uint32",
3120            "internalType": "uint32"
3121          }
3122        ]
3123      }
3124    ],
3125    "anonymous": false
3126  },
3127  {
3128    "type": "event",
3129    "name": "OperatorSetCreated",
3130    "inputs": [
3131      {
3132        "name": "operatorSet",
3133        "type": "tuple",
3134        "indexed": false,
3135        "internalType": "struct OperatorSet",
3136        "components": [
3137          {
3138            "name": "avs",
3139            "type": "address",
3140            "internalType": "address"
3141          },
3142          {
3143            "name": "id",
3144            "type": "uint32",
3145            "internalType": "uint32"
3146          }
3147        ]
3148      }
3149    ],
3150    "anonymous": false
3151  },
3152  {
3153    "type": "event",
3154    "name": "OperatorSlashed",
3155    "inputs": [
3156      {
3157        "name": "operator",
3158        "type": "address",
3159        "indexed": false,
3160        "internalType": "address"
3161      },
3162      {
3163        "name": "operatorSet",
3164        "type": "tuple",
3165        "indexed": false,
3166        "internalType": "struct OperatorSet",
3167        "components": [
3168          {
3169            "name": "avs",
3170            "type": "address",
3171            "internalType": "address"
3172          },
3173          {
3174            "name": "id",
3175            "type": "uint32",
3176            "internalType": "uint32"
3177          }
3178        ]
3179      },
3180      {
3181        "name": "strategies",
3182        "type": "address[]",
3183        "indexed": false,
3184        "internalType": "contract IStrategy[]"
3185      },
3186      {
3187        "name": "wadSlashed",
3188        "type": "uint256[]",
3189        "indexed": false,
3190        "internalType": "uint256[]"
3191      },
3192      {
3193        "name": "description",
3194        "type": "string",
3195        "indexed": false,
3196        "internalType": "string"
3197      }
3198    ],
3199    "anonymous": false
3200  },
3201  {
3202    "type": "event",
3203    "name": "StrategyAddedToOperatorSet",
3204    "inputs": [
3205      {
3206        "name": "operatorSet",
3207        "type": "tuple",
3208        "indexed": false,
3209        "internalType": "struct OperatorSet",
3210        "components": [
3211          {
3212            "name": "avs",
3213            "type": "address",
3214            "internalType": "address"
3215          },
3216          {
3217            "name": "id",
3218            "type": "uint32",
3219            "internalType": "uint32"
3220          }
3221        ]
3222      },
3223      {
3224        "name": "strategy",
3225        "type": "address",
3226        "indexed": false,
3227        "internalType": "contract IStrategy"
3228      }
3229    ],
3230    "anonymous": false
3231  },
3232  {
3233    "type": "event",
3234    "name": "StrategyRemovedFromOperatorSet",
3235    "inputs": [
3236      {
3237        "name": "operatorSet",
3238        "type": "tuple",
3239        "indexed": false,
3240        "internalType": "struct OperatorSet",
3241        "components": [
3242          {
3243            "name": "avs",
3244            "type": "address",
3245            "internalType": "address"
3246          },
3247          {
3248            "name": "id",
3249            "type": "uint32",
3250            "internalType": "uint32"
3251          }
3252        ]
3253      },
3254      {
3255        "name": "strategy",
3256        "type": "address",
3257        "indexed": false,
3258        "internalType": "contract IStrategy"
3259      }
3260    ],
3261    "anonymous": false
3262  },
3263  {
3264    "type": "error",
3265    "name": "AlreadyMemberOfSet",
3266    "inputs": []
3267  },
3268  {
3269    "type": "error",
3270    "name": "InputArrayLengthMismatch",
3271    "inputs": []
3272  },
3273  {
3274    "type": "error",
3275    "name": "InsufficientMagnitude",
3276    "inputs": []
3277  },
3278  {
3279    "type": "error",
3280    "name": "InvalidAVSRegistrar",
3281    "inputs": []
3282  },
3283  {
3284    "type": "error",
3285    "name": "InvalidCaller",
3286    "inputs": []
3287  },
3288  {
3289    "type": "error",
3290    "name": "InvalidOperator",
3291    "inputs": []
3292  },
3293  {
3294    "type": "error",
3295    "name": "InvalidOperatorSet",
3296    "inputs": []
3297  },
3298  {
3299    "type": "error",
3300    "name": "InvalidWadToSlash",
3301    "inputs": []
3302  },
3303  {
3304    "type": "error",
3305    "name": "ModificationAlreadyPending",
3306    "inputs": []
3307  },
3308  {
3309    "type": "error",
3310    "name": "NonexistentAVSMetadata",
3311    "inputs": []
3312  },
3313  {
3314    "type": "error",
3315    "name": "NotMemberOfSet",
3316    "inputs": []
3317  },
3318  {
3319    "type": "error",
3320    "name": "OperatorNotSlashable",
3321    "inputs": []
3322  },
3323  {
3324    "type": "error",
3325    "name": "SameMagnitude",
3326    "inputs": []
3327  },
3328  {
3329    "type": "error",
3330    "name": "StrategiesMustBeInAscendingOrder",
3331    "inputs": []
3332  },
3333  {
3334    "type": "error",
3335    "name": "StrategyAlreadyInOperatorSet",
3336    "inputs": []
3337  },
3338  {
3339    "type": "error",
3340    "name": "StrategyNotInOperatorSet",
3341    "inputs": []
3342  },
3343  {
3344    "type": "error",
3345    "name": "UninitializedAllocationDelay",
3346    "inputs": []
3347  }
3348]
3349```*/
3350#[allow(
3351    non_camel_case_types,
3352    non_snake_case,
3353    clippy::pub_underscore_fields,
3354    clippy::style,
3355    clippy::empty_structs_with_brackets
3356)]
3357pub mod IAllocationManager {
3358    use super::*;
3359    use alloy::sol_types as alloy_sol_types;
3360    /// The creation / init bytecode of the contract.
3361    ///
3362    /// ```text
3363    ///0x
3364    /// ```
3365    #[rustfmt::skip]
3366    #[allow(clippy::all)]
3367    pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
3368        b"",
3369    );
3370    /// The runtime bytecode of the contract, as deployed on the network.
3371    ///
3372    /// ```text
3373    ///0x
3374    /// ```
3375    #[rustfmt::skip]
3376    #[allow(clippy::all)]
3377    pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
3378        b"",
3379    );
3380    #[derive(Default, Debug, PartialEq, Eq, Hash)]
3381    /**```solidity
3382struct OperatorSet { address avs; uint32 id; }
3383```*/
3384    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3385    #[derive(Clone)]
3386    pub struct OperatorSet {
3387        #[allow(missing_docs)]
3388        pub avs: alloy::sol_types::private::Address,
3389        #[allow(missing_docs)]
3390        pub id: u32,
3391    }
3392    #[allow(
3393        non_camel_case_types,
3394        non_snake_case,
3395        clippy::pub_underscore_fields,
3396        clippy::style
3397    )]
3398    const _: () = {
3399        use alloy::sol_types as alloy_sol_types;
3400        #[doc(hidden)]
3401        type UnderlyingSolTuple<'a> = (
3402            alloy::sol_types::sol_data::Address,
3403            alloy::sol_types::sol_data::Uint<32>,
3404        );
3405        #[doc(hidden)]
3406        type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address, u32);
3407        #[cfg(test)]
3408        #[allow(dead_code, unreachable_patterns)]
3409        fn _type_assertion(
3410            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3411        ) {
3412            match _t {
3413                alloy_sol_types::private::AssertTypeEq::<
3414                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3415                >(_) => {}
3416            }
3417        }
3418        #[automatically_derived]
3419        #[doc(hidden)]
3420        impl ::core::convert::From<OperatorSet> for UnderlyingRustTuple<'_> {
3421            fn from(value: OperatorSet) -> Self {
3422                (value.avs, value.id)
3423            }
3424        }
3425        #[automatically_derived]
3426        #[doc(hidden)]
3427        impl ::core::convert::From<UnderlyingRustTuple<'_>> for OperatorSet {
3428            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3429                Self { avs: tuple.0, id: tuple.1 }
3430            }
3431        }
3432        #[automatically_derived]
3433        impl alloy_sol_types::SolValue for OperatorSet {
3434            type SolType = Self;
3435        }
3436        #[automatically_derived]
3437        impl alloy_sol_types::private::SolTypeValue<Self> for OperatorSet {
3438            #[inline]
3439            fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
3440                (
3441                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3442                        &self.avs,
3443                    ),
3444                    <alloy::sol_types::sol_data::Uint<
3445                        32,
3446                    > as alloy_sol_types::SolType>::tokenize(&self.id),
3447                )
3448            }
3449            #[inline]
3450            fn stv_abi_encoded_size(&self) -> usize {
3451                if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
3452                    return size;
3453                }
3454                let tuple = <UnderlyingRustTuple<
3455                    '_,
3456                > as ::core::convert::From<Self>>::from(self.clone());
3457                <UnderlyingSolTuple<
3458                    '_,
3459                > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
3460            }
3461            #[inline]
3462            fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
3463                <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
3464            }
3465            #[inline]
3466            fn stv_abi_encode_packed_to(
3467                &self,
3468                out: &mut alloy_sol_types::private::Vec<u8>,
3469            ) {
3470                let tuple = <UnderlyingRustTuple<
3471                    '_,
3472                > as ::core::convert::From<Self>>::from(self.clone());
3473                <UnderlyingSolTuple<
3474                    '_,
3475                > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
3476            }
3477            #[inline]
3478            fn stv_abi_packed_encoded_size(&self) -> usize {
3479                if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
3480                    return size;
3481                }
3482                let tuple = <UnderlyingRustTuple<
3483                    '_,
3484                > as ::core::convert::From<Self>>::from(self.clone());
3485                <UnderlyingSolTuple<
3486                    '_,
3487                > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
3488            }
3489        }
3490        #[automatically_derived]
3491        impl alloy_sol_types::SolType for OperatorSet {
3492            type RustType = Self;
3493            type Token<'a> = <UnderlyingSolTuple<
3494                'a,
3495            > as alloy_sol_types::SolType>::Token<'a>;
3496            const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
3497            const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
3498                '_,
3499            > as alloy_sol_types::SolType>::ENCODED_SIZE;
3500            const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
3501                '_,
3502            > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
3503            #[inline]
3504            fn valid_token(token: &Self::Token<'_>) -> bool {
3505                <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
3506            }
3507            #[inline]
3508            fn detokenize(token: Self::Token<'_>) -> Self::RustType {
3509                let tuple = <UnderlyingSolTuple<
3510                    '_,
3511                > as alloy_sol_types::SolType>::detokenize(token);
3512                <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
3513            }
3514        }
3515        #[automatically_derived]
3516        impl alloy_sol_types::SolStruct for OperatorSet {
3517            const NAME: &'static str = "OperatorSet";
3518            #[inline]
3519            fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
3520                alloy_sol_types::private::Cow::Borrowed(
3521                    "OperatorSet(address avs,uint32 id)",
3522                )
3523            }
3524            #[inline]
3525            fn eip712_components() -> alloy_sol_types::private::Vec<
3526                alloy_sol_types::private::Cow<'static, str>,
3527            > {
3528                alloy_sol_types::private::Vec::new()
3529            }
3530            #[inline]
3531            fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
3532                <Self as alloy_sol_types::SolStruct>::eip712_root_type()
3533            }
3534            #[inline]
3535            fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
3536                [
3537                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::eip712_data_word(
3538                            &self.avs,
3539                        )
3540                        .0,
3541                    <alloy::sol_types::sol_data::Uint<
3542                        32,
3543                    > as alloy_sol_types::SolType>::eip712_data_word(&self.id)
3544                        .0,
3545                ]
3546                    .concat()
3547            }
3548        }
3549        #[automatically_derived]
3550        impl alloy_sol_types::EventTopic for OperatorSet {
3551            #[inline]
3552            fn topic_preimage_length(rust: &Self::RustType) -> usize {
3553                0usize
3554                    + <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::topic_preimage_length(
3555                        &rust.avs,
3556                    )
3557                    + <alloy::sol_types::sol_data::Uint<
3558                        32,
3559                    > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.id)
3560            }
3561            #[inline]
3562            fn encode_topic_preimage(
3563                rust: &Self::RustType,
3564                out: &mut alloy_sol_types::private::Vec<u8>,
3565            ) {
3566                out.reserve(
3567                    <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
3568                );
3569                <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic_preimage(
3570                    &rust.avs,
3571                    out,
3572                );
3573                <alloy::sol_types::sol_data::Uint<
3574                    32,
3575                > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.id, out);
3576            }
3577            #[inline]
3578            fn encode_topic(
3579                rust: &Self::RustType,
3580            ) -> alloy_sol_types::abi::token::WordToken {
3581                let mut out = alloy_sol_types::private::Vec::new();
3582                <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
3583                    rust,
3584                    &mut out,
3585                );
3586                alloy_sol_types::abi::token::WordToken(
3587                    alloy_sol_types::private::keccak256(out),
3588                )
3589            }
3590        }
3591    };
3592    #[derive(Default, Debug, PartialEq, Eq, Hash)]
3593    /**Custom error with signature `AlreadyMemberOfSet()` and selector `0xd8d8dc4e`.
3594```solidity
3595error AlreadyMemberOfSet();
3596```*/
3597    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3598    #[derive(Clone)]
3599    pub struct AlreadyMemberOfSet {}
3600    #[allow(
3601        non_camel_case_types,
3602        non_snake_case,
3603        clippy::pub_underscore_fields,
3604        clippy::style
3605    )]
3606    const _: () = {
3607        use alloy::sol_types as alloy_sol_types;
3608        #[doc(hidden)]
3609        type UnderlyingSolTuple<'a> = ();
3610        #[doc(hidden)]
3611        type UnderlyingRustTuple<'a> = ();
3612        #[cfg(test)]
3613        #[allow(dead_code, unreachable_patterns)]
3614        fn _type_assertion(
3615            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3616        ) {
3617            match _t {
3618                alloy_sol_types::private::AssertTypeEq::<
3619                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3620                >(_) => {}
3621            }
3622        }
3623        #[automatically_derived]
3624        #[doc(hidden)]
3625        impl ::core::convert::From<AlreadyMemberOfSet> for UnderlyingRustTuple<'_> {
3626            fn from(value: AlreadyMemberOfSet) -> Self {
3627                ()
3628            }
3629        }
3630        #[automatically_derived]
3631        #[doc(hidden)]
3632        impl ::core::convert::From<UnderlyingRustTuple<'_>> for AlreadyMemberOfSet {
3633            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3634                Self {}
3635            }
3636        }
3637        #[automatically_derived]
3638        impl alloy_sol_types::SolError for AlreadyMemberOfSet {
3639            type Parameters<'a> = UnderlyingSolTuple<'a>;
3640            type Token<'a> = <Self::Parameters<
3641                'a,
3642            > as alloy_sol_types::SolType>::Token<'a>;
3643            const SIGNATURE: &'static str = "AlreadyMemberOfSet()";
3644            const SELECTOR: [u8; 4] = [216u8, 216u8, 220u8, 78u8];
3645            #[inline]
3646            fn new<'a>(
3647                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3648            ) -> Self {
3649                tuple.into()
3650            }
3651            #[inline]
3652            fn tokenize(&self) -> Self::Token<'_> {
3653                ()
3654            }
3655        }
3656    };
3657    #[derive(Default, Debug, PartialEq, Eq, Hash)]
3658    /**Custom error with signature `InputArrayLengthMismatch()` and selector `0x43714afd`.
3659```solidity
3660error InputArrayLengthMismatch();
3661```*/
3662    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3663    #[derive(Clone)]
3664    pub struct InputArrayLengthMismatch {}
3665    #[allow(
3666        non_camel_case_types,
3667        non_snake_case,
3668        clippy::pub_underscore_fields,
3669        clippy::style
3670    )]
3671    const _: () = {
3672        use alloy::sol_types as alloy_sol_types;
3673        #[doc(hidden)]
3674        type UnderlyingSolTuple<'a> = ();
3675        #[doc(hidden)]
3676        type UnderlyingRustTuple<'a> = ();
3677        #[cfg(test)]
3678        #[allow(dead_code, unreachable_patterns)]
3679        fn _type_assertion(
3680            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3681        ) {
3682            match _t {
3683                alloy_sol_types::private::AssertTypeEq::<
3684                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3685                >(_) => {}
3686            }
3687        }
3688        #[automatically_derived]
3689        #[doc(hidden)]
3690        impl ::core::convert::From<InputArrayLengthMismatch>
3691        for UnderlyingRustTuple<'_> {
3692            fn from(value: InputArrayLengthMismatch) -> Self {
3693                ()
3694            }
3695        }
3696        #[automatically_derived]
3697        #[doc(hidden)]
3698        impl ::core::convert::From<UnderlyingRustTuple<'_>>
3699        for InputArrayLengthMismatch {
3700            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3701                Self {}
3702            }
3703        }
3704        #[automatically_derived]
3705        impl alloy_sol_types::SolError for InputArrayLengthMismatch {
3706            type Parameters<'a> = UnderlyingSolTuple<'a>;
3707            type Token<'a> = <Self::Parameters<
3708                'a,
3709            > as alloy_sol_types::SolType>::Token<'a>;
3710            const SIGNATURE: &'static str = "InputArrayLengthMismatch()";
3711            const SELECTOR: [u8; 4] = [67u8, 113u8, 74u8, 253u8];
3712            #[inline]
3713            fn new<'a>(
3714                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3715            ) -> Self {
3716                tuple.into()
3717            }
3718            #[inline]
3719            fn tokenize(&self) -> Self::Token<'_> {
3720                ()
3721            }
3722        }
3723    };
3724    #[derive(Default, Debug, PartialEq, Eq, Hash)]
3725    /**Custom error with signature `InsufficientMagnitude()` and selector `0x6c9be0bf`.
3726```solidity
3727error InsufficientMagnitude();
3728```*/
3729    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3730    #[derive(Clone)]
3731    pub struct InsufficientMagnitude {}
3732    #[allow(
3733        non_camel_case_types,
3734        non_snake_case,
3735        clippy::pub_underscore_fields,
3736        clippy::style
3737    )]
3738    const _: () = {
3739        use alloy::sol_types as alloy_sol_types;
3740        #[doc(hidden)]
3741        type UnderlyingSolTuple<'a> = ();
3742        #[doc(hidden)]
3743        type UnderlyingRustTuple<'a> = ();
3744        #[cfg(test)]
3745        #[allow(dead_code, unreachable_patterns)]
3746        fn _type_assertion(
3747            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3748        ) {
3749            match _t {
3750                alloy_sol_types::private::AssertTypeEq::<
3751                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3752                >(_) => {}
3753            }
3754        }
3755        #[automatically_derived]
3756        #[doc(hidden)]
3757        impl ::core::convert::From<InsufficientMagnitude> for UnderlyingRustTuple<'_> {
3758            fn from(value: InsufficientMagnitude) -> Self {
3759                ()
3760            }
3761        }
3762        #[automatically_derived]
3763        #[doc(hidden)]
3764        impl ::core::convert::From<UnderlyingRustTuple<'_>> for InsufficientMagnitude {
3765            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3766                Self {}
3767            }
3768        }
3769        #[automatically_derived]
3770        impl alloy_sol_types::SolError for InsufficientMagnitude {
3771            type Parameters<'a> = UnderlyingSolTuple<'a>;
3772            type Token<'a> = <Self::Parameters<
3773                'a,
3774            > as alloy_sol_types::SolType>::Token<'a>;
3775            const SIGNATURE: &'static str = "InsufficientMagnitude()";
3776            const SELECTOR: [u8; 4] = [108u8, 155u8, 224u8, 191u8];
3777            #[inline]
3778            fn new<'a>(
3779                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3780            ) -> Self {
3781                tuple.into()
3782            }
3783            #[inline]
3784            fn tokenize(&self) -> Self::Token<'_> {
3785                ()
3786            }
3787        }
3788    };
3789    #[derive(Default, Debug, PartialEq, Eq, Hash)]
3790    /**Custom error with signature `InvalidAVSRegistrar()` and selector `0xe8589e08`.
3791```solidity
3792error InvalidAVSRegistrar();
3793```*/
3794    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3795    #[derive(Clone)]
3796    pub struct InvalidAVSRegistrar {}
3797    #[allow(
3798        non_camel_case_types,
3799        non_snake_case,
3800        clippy::pub_underscore_fields,
3801        clippy::style
3802    )]
3803    const _: () = {
3804        use alloy::sol_types as alloy_sol_types;
3805        #[doc(hidden)]
3806        type UnderlyingSolTuple<'a> = ();
3807        #[doc(hidden)]
3808        type UnderlyingRustTuple<'a> = ();
3809        #[cfg(test)]
3810        #[allow(dead_code, unreachable_patterns)]
3811        fn _type_assertion(
3812            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3813        ) {
3814            match _t {
3815                alloy_sol_types::private::AssertTypeEq::<
3816                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3817                >(_) => {}
3818            }
3819        }
3820        #[automatically_derived]
3821        #[doc(hidden)]
3822        impl ::core::convert::From<InvalidAVSRegistrar> for UnderlyingRustTuple<'_> {
3823            fn from(value: InvalidAVSRegistrar) -> Self {
3824                ()
3825            }
3826        }
3827        #[automatically_derived]
3828        #[doc(hidden)]
3829        impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidAVSRegistrar {
3830            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3831                Self {}
3832            }
3833        }
3834        #[automatically_derived]
3835        impl alloy_sol_types::SolError for InvalidAVSRegistrar {
3836            type Parameters<'a> = UnderlyingSolTuple<'a>;
3837            type Token<'a> = <Self::Parameters<
3838                'a,
3839            > as alloy_sol_types::SolType>::Token<'a>;
3840            const SIGNATURE: &'static str = "InvalidAVSRegistrar()";
3841            const SELECTOR: [u8; 4] = [232u8, 88u8, 158u8, 8u8];
3842            #[inline]
3843            fn new<'a>(
3844                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3845            ) -> Self {
3846                tuple.into()
3847            }
3848            #[inline]
3849            fn tokenize(&self) -> Self::Token<'_> {
3850                ()
3851            }
3852        }
3853    };
3854    #[derive(Default, Debug, PartialEq, Eq, Hash)]
3855    /**Custom error with signature `InvalidCaller()` and selector `0x48f5c3ed`.
3856```solidity
3857error InvalidCaller();
3858```*/
3859    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3860    #[derive(Clone)]
3861    pub struct InvalidCaller {}
3862    #[allow(
3863        non_camel_case_types,
3864        non_snake_case,
3865        clippy::pub_underscore_fields,
3866        clippy::style
3867    )]
3868    const _: () = {
3869        use alloy::sol_types as alloy_sol_types;
3870        #[doc(hidden)]
3871        type UnderlyingSolTuple<'a> = ();
3872        #[doc(hidden)]
3873        type UnderlyingRustTuple<'a> = ();
3874        #[cfg(test)]
3875        #[allow(dead_code, unreachable_patterns)]
3876        fn _type_assertion(
3877            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3878        ) {
3879            match _t {
3880                alloy_sol_types::private::AssertTypeEq::<
3881                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3882                >(_) => {}
3883            }
3884        }
3885        #[automatically_derived]
3886        #[doc(hidden)]
3887        impl ::core::convert::From<InvalidCaller> for UnderlyingRustTuple<'_> {
3888            fn from(value: InvalidCaller) -> Self {
3889                ()
3890            }
3891        }
3892        #[automatically_derived]
3893        #[doc(hidden)]
3894        impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidCaller {
3895            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3896                Self {}
3897            }
3898        }
3899        #[automatically_derived]
3900        impl alloy_sol_types::SolError for InvalidCaller {
3901            type Parameters<'a> = UnderlyingSolTuple<'a>;
3902            type Token<'a> = <Self::Parameters<
3903                'a,
3904            > as alloy_sol_types::SolType>::Token<'a>;
3905            const SIGNATURE: &'static str = "InvalidCaller()";
3906            const SELECTOR: [u8; 4] = [72u8, 245u8, 195u8, 237u8];
3907            #[inline]
3908            fn new<'a>(
3909                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3910            ) -> Self {
3911                tuple.into()
3912            }
3913            #[inline]
3914            fn tokenize(&self) -> Self::Token<'_> {
3915                ()
3916            }
3917        }
3918    };
3919    #[derive(Default, Debug, PartialEq, Eq, Hash)]
3920    /**Custom error with signature `InvalidOperator()` and selector `0xccea9e6f`.
3921```solidity
3922error InvalidOperator();
3923```*/
3924    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3925    #[derive(Clone)]
3926    pub struct InvalidOperator {}
3927    #[allow(
3928        non_camel_case_types,
3929        non_snake_case,
3930        clippy::pub_underscore_fields,
3931        clippy::style
3932    )]
3933    const _: () = {
3934        use alloy::sol_types as alloy_sol_types;
3935        #[doc(hidden)]
3936        type UnderlyingSolTuple<'a> = ();
3937        #[doc(hidden)]
3938        type UnderlyingRustTuple<'a> = ();
3939        #[cfg(test)]
3940        #[allow(dead_code, unreachable_patterns)]
3941        fn _type_assertion(
3942            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3943        ) {
3944            match _t {
3945                alloy_sol_types::private::AssertTypeEq::<
3946                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3947                >(_) => {}
3948            }
3949        }
3950        #[automatically_derived]
3951        #[doc(hidden)]
3952        impl ::core::convert::From<InvalidOperator> for UnderlyingRustTuple<'_> {
3953            fn from(value: InvalidOperator) -> Self {
3954                ()
3955            }
3956        }
3957        #[automatically_derived]
3958        #[doc(hidden)]
3959        impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidOperator {
3960            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3961                Self {}
3962            }
3963        }
3964        #[automatically_derived]
3965        impl alloy_sol_types::SolError for InvalidOperator {
3966            type Parameters<'a> = UnderlyingSolTuple<'a>;
3967            type Token<'a> = <Self::Parameters<
3968                'a,
3969            > as alloy_sol_types::SolType>::Token<'a>;
3970            const SIGNATURE: &'static str = "InvalidOperator()";
3971            const SELECTOR: [u8; 4] = [204u8, 234u8, 158u8, 111u8];
3972            #[inline]
3973            fn new<'a>(
3974                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3975            ) -> Self {
3976                tuple.into()
3977            }
3978            #[inline]
3979            fn tokenize(&self) -> Self::Token<'_> {
3980                ()
3981            }
3982        }
3983    };
3984    #[derive(Default, Debug, PartialEq, Eq, Hash)]
3985    /**Custom error with signature `InvalidOperatorSet()` and selector `0x7ec5c154`.
3986```solidity
3987error InvalidOperatorSet();
3988```*/
3989    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3990    #[derive(Clone)]
3991    pub struct InvalidOperatorSet {}
3992    #[allow(
3993        non_camel_case_types,
3994        non_snake_case,
3995        clippy::pub_underscore_fields,
3996        clippy::style
3997    )]
3998    const _: () = {
3999        use alloy::sol_types as alloy_sol_types;
4000        #[doc(hidden)]
4001        type UnderlyingSolTuple<'a> = ();
4002        #[doc(hidden)]
4003        type UnderlyingRustTuple<'a> = ();
4004        #[cfg(test)]
4005        #[allow(dead_code, unreachable_patterns)]
4006        fn _type_assertion(
4007            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4008        ) {
4009            match _t {
4010                alloy_sol_types::private::AssertTypeEq::<
4011                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4012                >(_) => {}
4013            }
4014        }
4015        #[automatically_derived]
4016        #[doc(hidden)]
4017        impl ::core::convert::From<InvalidOperatorSet> for UnderlyingRustTuple<'_> {
4018            fn from(value: InvalidOperatorSet) -> Self {
4019                ()
4020            }
4021        }
4022        #[automatically_derived]
4023        #[doc(hidden)]
4024        impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidOperatorSet {
4025            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4026                Self {}
4027            }
4028        }
4029        #[automatically_derived]
4030        impl alloy_sol_types::SolError for InvalidOperatorSet {
4031            type Parameters<'a> = UnderlyingSolTuple<'a>;
4032            type Token<'a> = <Self::Parameters<
4033                'a,
4034            > as alloy_sol_types::SolType>::Token<'a>;
4035            const SIGNATURE: &'static str = "InvalidOperatorSet()";
4036            const SELECTOR: [u8; 4] = [126u8, 197u8, 193u8, 84u8];
4037            #[inline]
4038            fn new<'a>(
4039                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4040            ) -> Self {
4041                tuple.into()
4042            }
4043            #[inline]
4044            fn tokenize(&self) -> Self::Token<'_> {
4045                ()
4046            }
4047        }
4048    };
4049    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4050    /**Custom error with signature `InvalidWadToSlash()` and selector `0x13536031`.
4051```solidity
4052error InvalidWadToSlash();
4053```*/
4054    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4055    #[derive(Clone)]
4056    pub struct InvalidWadToSlash {}
4057    #[allow(
4058        non_camel_case_types,
4059        non_snake_case,
4060        clippy::pub_underscore_fields,
4061        clippy::style
4062    )]
4063    const _: () = {
4064        use alloy::sol_types as alloy_sol_types;
4065        #[doc(hidden)]
4066        type UnderlyingSolTuple<'a> = ();
4067        #[doc(hidden)]
4068        type UnderlyingRustTuple<'a> = ();
4069        #[cfg(test)]
4070        #[allow(dead_code, unreachable_patterns)]
4071        fn _type_assertion(
4072            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4073        ) {
4074            match _t {
4075                alloy_sol_types::private::AssertTypeEq::<
4076                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4077                >(_) => {}
4078            }
4079        }
4080        #[automatically_derived]
4081        #[doc(hidden)]
4082        impl ::core::convert::From<InvalidWadToSlash> for UnderlyingRustTuple<'_> {
4083            fn from(value: InvalidWadToSlash) -> Self {
4084                ()
4085            }
4086        }
4087        #[automatically_derived]
4088        #[doc(hidden)]
4089        impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidWadToSlash {
4090            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4091                Self {}
4092            }
4093        }
4094        #[automatically_derived]
4095        impl alloy_sol_types::SolError for InvalidWadToSlash {
4096            type Parameters<'a> = UnderlyingSolTuple<'a>;
4097            type Token<'a> = <Self::Parameters<
4098                'a,
4099            > as alloy_sol_types::SolType>::Token<'a>;
4100            const SIGNATURE: &'static str = "InvalidWadToSlash()";
4101            const SELECTOR: [u8; 4] = [19u8, 83u8, 96u8, 49u8];
4102            #[inline]
4103            fn new<'a>(
4104                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4105            ) -> Self {
4106                tuple.into()
4107            }
4108            #[inline]
4109            fn tokenize(&self) -> Self::Token<'_> {
4110                ()
4111            }
4112        }
4113    };
4114    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4115    /**Custom error with signature `ModificationAlreadyPending()` and selector `0xd8fcbe30`.
4116```solidity
4117error ModificationAlreadyPending();
4118```*/
4119    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4120    #[derive(Clone)]
4121    pub struct ModificationAlreadyPending {}
4122    #[allow(
4123        non_camel_case_types,
4124        non_snake_case,
4125        clippy::pub_underscore_fields,
4126        clippy::style
4127    )]
4128    const _: () = {
4129        use alloy::sol_types as alloy_sol_types;
4130        #[doc(hidden)]
4131        type UnderlyingSolTuple<'a> = ();
4132        #[doc(hidden)]
4133        type UnderlyingRustTuple<'a> = ();
4134        #[cfg(test)]
4135        #[allow(dead_code, unreachable_patterns)]
4136        fn _type_assertion(
4137            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4138        ) {
4139            match _t {
4140                alloy_sol_types::private::AssertTypeEq::<
4141                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4142                >(_) => {}
4143            }
4144        }
4145        #[automatically_derived]
4146        #[doc(hidden)]
4147        impl ::core::convert::From<ModificationAlreadyPending>
4148        for UnderlyingRustTuple<'_> {
4149            fn from(value: ModificationAlreadyPending) -> Self {
4150                ()
4151            }
4152        }
4153        #[automatically_derived]
4154        #[doc(hidden)]
4155        impl ::core::convert::From<UnderlyingRustTuple<'_>>
4156        for ModificationAlreadyPending {
4157            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4158                Self {}
4159            }
4160        }
4161        #[automatically_derived]
4162        impl alloy_sol_types::SolError for ModificationAlreadyPending {
4163            type Parameters<'a> = UnderlyingSolTuple<'a>;
4164            type Token<'a> = <Self::Parameters<
4165                'a,
4166            > as alloy_sol_types::SolType>::Token<'a>;
4167            const SIGNATURE: &'static str = "ModificationAlreadyPending()";
4168            const SELECTOR: [u8; 4] = [216u8, 252u8, 190u8, 48u8];
4169            #[inline]
4170            fn new<'a>(
4171                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4172            ) -> Self {
4173                tuple.into()
4174            }
4175            #[inline]
4176            fn tokenize(&self) -> Self::Token<'_> {
4177                ()
4178            }
4179        }
4180    };
4181    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4182    /**Custom error with signature `NonexistentAVSMetadata()` and selector `0x48f7dbb9`.
4183```solidity
4184error NonexistentAVSMetadata();
4185```*/
4186    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4187    #[derive(Clone)]
4188    pub struct NonexistentAVSMetadata {}
4189    #[allow(
4190        non_camel_case_types,
4191        non_snake_case,
4192        clippy::pub_underscore_fields,
4193        clippy::style
4194    )]
4195    const _: () = {
4196        use alloy::sol_types as alloy_sol_types;
4197        #[doc(hidden)]
4198        type UnderlyingSolTuple<'a> = ();
4199        #[doc(hidden)]
4200        type UnderlyingRustTuple<'a> = ();
4201        #[cfg(test)]
4202        #[allow(dead_code, unreachable_patterns)]
4203        fn _type_assertion(
4204            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4205        ) {
4206            match _t {
4207                alloy_sol_types::private::AssertTypeEq::<
4208                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4209                >(_) => {}
4210            }
4211        }
4212        #[automatically_derived]
4213        #[doc(hidden)]
4214        impl ::core::convert::From<NonexistentAVSMetadata> for UnderlyingRustTuple<'_> {
4215            fn from(value: NonexistentAVSMetadata) -> Self {
4216                ()
4217            }
4218        }
4219        #[automatically_derived]
4220        #[doc(hidden)]
4221        impl ::core::convert::From<UnderlyingRustTuple<'_>> for NonexistentAVSMetadata {
4222            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4223                Self {}
4224            }
4225        }
4226        #[automatically_derived]
4227        impl alloy_sol_types::SolError for NonexistentAVSMetadata {
4228            type Parameters<'a> = UnderlyingSolTuple<'a>;
4229            type Token<'a> = <Self::Parameters<
4230                'a,
4231            > as alloy_sol_types::SolType>::Token<'a>;
4232            const SIGNATURE: &'static str = "NonexistentAVSMetadata()";
4233            const SELECTOR: [u8; 4] = [72u8, 247u8, 219u8, 185u8];
4234            #[inline]
4235            fn new<'a>(
4236                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4237            ) -> Self {
4238                tuple.into()
4239            }
4240            #[inline]
4241            fn tokenize(&self) -> Self::Token<'_> {
4242                ()
4243            }
4244        }
4245    };
4246    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4247    /**Custom error with signature `NotMemberOfSet()` and selector `0x25131d4f`.
4248```solidity
4249error NotMemberOfSet();
4250```*/
4251    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4252    #[derive(Clone)]
4253    pub struct NotMemberOfSet {}
4254    #[allow(
4255        non_camel_case_types,
4256        non_snake_case,
4257        clippy::pub_underscore_fields,
4258        clippy::style
4259    )]
4260    const _: () = {
4261        use alloy::sol_types as alloy_sol_types;
4262        #[doc(hidden)]
4263        type UnderlyingSolTuple<'a> = ();
4264        #[doc(hidden)]
4265        type UnderlyingRustTuple<'a> = ();
4266        #[cfg(test)]
4267        #[allow(dead_code, unreachable_patterns)]
4268        fn _type_assertion(
4269            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4270        ) {
4271            match _t {
4272                alloy_sol_types::private::AssertTypeEq::<
4273                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4274                >(_) => {}
4275            }
4276        }
4277        #[automatically_derived]
4278        #[doc(hidden)]
4279        impl ::core::convert::From<NotMemberOfSet> for UnderlyingRustTuple<'_> {
4280            fn from(value: NotMemberOfSet) -> Self {
4281                ()
4282            }
4283        }
4284        #[automatically_derived]
4285        #[doc(hidden)]
4286        impl ::core::convert::From<UnderlyingRustTuple<'_>> for NotMemberOfSet {
4287            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4288                Self {}
4289            }
4290        }
4291        #[automatically_derived]
4292        impl alloy_sol_types::SolError for NotMemberOfSet {
4293            type Parameters<'a> = UnderlyingSolTuple<'a>;
4294            type Token<'a> = <Self::Parameters<
4295                'a,
4296            > as alloy_sol_types::SolType>::Token<'a>;
4297            const SIGNATURE: &'static str = "NotMemberOfSet()";
4298            const SELECTOR: [u8; 4] = [37u8, 19u8, 29u8, 79u8];
4299            #[inline]
4300            fn new<'a>(
4301                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4302            ) -> Self {
4303                tuple.into()
4304            }
4305            #[inline]
4306            fn tokenize(&self) -> Self::Token<'_> {
4307                ()
4308            }
4309        }
4310    };
4311    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4312    /**Custom error with signature `OperatorNotSlashable()` and selector `0xebbff497`.
4313```solidity
4314error OperatorNotSlashable();
4315```*/
4316    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4317    #[derive(Clone)]
4318    pub struct OperatorNotSlashable {}
4319    #[allow(
4320        non_camel_case_types,
4321        non_snake_case,
4322        clippy::pub_underscore_fields,
4323        clippy::style
4324    )]
4325    const _: () = {
4326        use alloy::sol_types as alloy_sol_types;
4327        #[doc(hidden)]
4328        type UnderlyingSolTuple<'a> = ();
4329        #[doc(hidden)]
4330        type UnderlyingRustTuple<'a> = ();
4331        #[cfg(test)]
4332        #[allow(dead_code, unreachable_patterns)]
4333        fn _type_assertion(
4334            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4335        ) {
4336            match _t {
4337                alloy_sol_types::private::AssertTypeEq::<
4338                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4339                >(_) => {}
4340            }
4341        }
4342        #[automatically_derived]
4343        #[doc(hidden)]
4344        impl ::core::convert::From<OperatorNotSlashable> for UnderlyingRustTuple<'_> {
4345            fn from(value: OperatorNotSlashable) -> Self {
4346                ()
4347            }
4348        }
4349        #[automatically_derived]
4350        #[doc(hidden)]
4351        impl ::core::convert::From<UnderlyingRustTuple<'_>> for OperatorNotSlashable {
4352            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4353                Self {}
4354            }
4355        }
4356        #[automatically_derived]
4357        impl alloy_sol_types::SolError for OperatorNotSlashable {
4358            type Parameters<'a> = UnderlyingSolTuple<'a>;
4359            type Token<'a> = <Self::Parameters<
4360                'a,
4361            > as alloy_sol_types::SolType>::Token<'a>;
4362            const SIGNATURE: &'static str = "OperatorNotSlashable()";
4363            const SELECTOR: [u8; 4] = [235u8, 191u8, 244u8, 151u8];
4364            #[inline]
4365            fn new<'a>(
4366                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4367            ) -> Self {
4368                tuple.into()
4369            }
4370            #[inline]
4371            fn tokenize(&self) -> Self::Token<'_> {
4372                ()
4373            }
4374        }
4375    };
4376    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4377    /**Custom error with signature `SameMagnitude()` and selector `0x8c0c2f26`.
4378```solidity
4379error SameMagnitude();
4380```*/
4381    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4382    #[derive(Clone)]
4383    pub struct SameMagnitude {}
4384    #[allow(
4385        non_camel_case_types,
4386        non_snake_case,
4387        clippy::pub_underscore_fields,
4388        clippy::style
4389    )]
4390    const _: () = {
4391        use alloy::sol_types as alloy_sol_types;
4392        #[doc(hidden)]
4393        type UnderlyingSolTuple<'a> = ();
4394        #[doc(hidden)]
4395        type UnderlyingRustTuple<'a> = ();
4396        #[cfg(test)]
4397        #[allow(dead_code, unreachable_patterns)]
4398        fn _type_assertion(
4399            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4400        ) {
4401            match _t {
4402                alloy_sol_types::private::AssertTypeEq::<
4403                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4404                >(_) => {}
4405            }
4406        }
4407        #[automatically_derived]
4408        #[doc(hidden)]
4409        impl ::core::convert::From<SameMagnitude> for UnderlyingRustTuple<'_> {
4410            fn from(value: SameMagnitude) -> Self {
4411                ()
4412            }
4413        }
4414        #[automatically_derived]
4415        #[doc(hidden)]
4416        impl ::core::convert::From<UnderlyingRustTuple<'_>> for SameMagnitude {
4417            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4418                Self {}
4419            }
4420        }
4421        #[automatically_derived]
4422        impl alloy_sol_types::SolError for SameMagnitude {
4423            type Parameters<'a> = UnderlyingSolTuple<'a>;
4424            type Token<'a> = <Self::Parameters<
4425                'a,
4426            > as alloy_sol_types::SolType>::Token<'a>;
4427            const SIGNATURE: &'static str = "SameMagnitude()";
4428            const SELECTOR: [u8; 4] = [140u8, 12u8, 47u8, 38u8];
4429            #[inline]
4430            fn new<'a>(
4431                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4432            ) -> Self {
4433                tuple.into()
4434            }
4435            #[inline]
4436            fn tokenize(&self) -> Self::Token<'_> {
4437                ()
4438            }
4439        }
4440    };
4441    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4442    /**Custom error with signature `StrategiesMustBeInAscendingOrder()` and selector `0x9f1c8053`.
4443```solidity
4444error StrategiesMustBeInAscendingOrder();
4445```*/
4446    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4447    #[derive(Clone)]
4448    pub struct StrategiesMustBeInAscendingOrder {}
4449    #[allow(
4450        non_camel_case_types,
4451        non_snake_case,
4452        clippy::pub_underscore_fields,
4453        clippy::style
4454    )]
4455    const _: () = {
4456        use alloy::sol_types as alloy_sol_types;
4457        #[doc(hidden)]
4458        type UnderlyingSolTuple<'a> = ();
4459        #[doc(hidden)]
4460        type UnderlyingRustTuple<'a> = ();
4461        #[cfg(test)]
4462        #[allow(dead_code, unreachable_patterns)]
4463        fn _type_assertion(
4464            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4465        ) {
4466            match _t {
4467                alloy_sol_types::private::AssertTypeEq::<
4468                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4469                >(_) => {}
4470            }
4471        }
4472        #[automatically_derived]
4473        #[doc(hidden)]
4474        impl ::core::convert::From<StrategiesMustBeInAscendingOrder>
4475        for UnderlyingRustTuple<'_> {
4476            fn from(value: StrategiesMustBeInAscendingOrder) -> Self {
4477                ()
4478            }
4479        }
4480        #[automatically_derived]
4481        #[doc(hidden)]
4482        impl ::core::convert::From<UnderlyingRustTuple<'_>>
4483        for StrategiesMustBeInAscendingOrder {
4484            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4485                Self {}
4486            }
4487        }
4488        #[automatically_derived]
4489        impl alloy_sol_types::SolError for StrategiesMustBeInAscendingOrder {
4490            type Parameters<'a> = UnderlyingSolTuple<'a>;
4491            type Token<'a> = <Self::Parameters<
4492                'a,
4493            > as alloy_sol_types::SolType>::Token<'a>;
4494            const SIGNATURE: &'static str = "StrategiesMustBeInAscendingOrder()";
4495            const SELECTOR: [u8; 4] = [159u8, 28u8, 128u8, 83u8];
4496            #[inline]
4497            fn new<'a>(
4498                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4499            ) -> Self {
4500                tuple.into()
4501            }
4502            #[inline]
4503            fn tokenize(&self) -> Self::Token<'_> {
4504                ()
4505            }
4506        }
4507    };
4508    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4509    /**Custom error with signature `StrategyAlreadyInOperatorSet()` and selector `0x585cfb2f`.
4510```solidity
4511error StrategyAlreadyInOperatorSet();
4512```*/
4513    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4514    #[derive(Clone)]
4515    pub struct StrategyAlreadyInOperatorSet {}
4516    #[allow(
4517        non_camel_case_types,
4518        non_snake_case,
4519        clippy::pub_underscore_fields,
4520        clippy::style
4521    )]
4522    const _: () = {
4523        use alloy::sol_types as alloy_sol_types;
4524        #[doc(hidden)]
4525        type UnderlyingSolTuple<'a> = ();
4526        #[doc(hidden)]
4527        type UnderlyingRustTuple<'a> = ();
4528        #[cfg(test)]
4529        #[allow(dead_code, unreachable_patterns)]
4530        fn _type_assertion(
4531            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4532        ) {
4533            match _t {
4534                alloy_sol_types::private::AssertTypeEq::<
4535                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4536                >(_) => {}
4537            }
4538        }
4539        #[automatically_derived]
4540        #[doc(hidden)]
4541        impl ::core::convert::From<StrategyAlreadyInOperatorSet>
4542        for UnderlyingRustTuple<'_> {
4543            fn from(value: StrategyAlreadyInOperatorSet) -> Self {
4544                ()
4545            }
4546        }
4547        #[automatically_derived]
4548        #[doc(hidden)]
4549        impl ::core::convert::From<UnderlyingRustTuple<'_>>
4550        for StrategyAlreadyInOperatorSet {
4551            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4552                Self {}
4553            }
4554        }
4555        #[automatically_derived]
4556        impl alloy_sol_types::SolError for StrategyAlreadyInOperatorSet {
4557            type Parameters<'a> = UnderlyingSolTuple<'a>;
4558            type Token<'a> = <Self::Parameters<
4559                'a,
4560            > as alloy_sol_types::SolType>::Token<'a>;
4561            const SIGNATURE: &'static str = "StrategyAlreadyInOperatorSet()";
4562            const SELECTOR: [u8; 4] = [88u8, 92u8, 251u8, 47u8];
4563            #[inline]
4564            fn new<'a>(
4565                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4566            ) -> Self {
4567                tuple.into()
4568            }
4569            #[inline]
4570            fn tokenize(&self) -> Self::Token<'_> {
4571                ()
4572            }
4573        }
4574    };
4575    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4576    /**Custom error with signature `StrategyNotInOperatorSet()` and selector `0x6378684e`.
4577```solidity
4578error StrategyNotInOperatorSet();
4579```*/
4580    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4581    #[derive(Clone)]
4582    pub struct StrategyNotInOperatorSet {}
4583    #[allow(
4584        non_camel_case_types,
4585        non_snake_case,
4586        clippy::pub_underscore_fields,
4587        clippy::style
4588    )]
4589    const _: () = {
4590        use alloy::sol_types as alloy_sol_types;
4591        #[doc(hidden)]
4592        type UnderlyingSolTuple<'a> = ();
4593        #[doc(hidden)]
4594        type UnderlyingRustTuple<'a> = ();
4595        #[cfg(test)]
4596        #[allow(dead_code, unreachable_patterns)]
4597        fn _type_assertion(
4598            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4599        ) {
4600            match _t {
4601                alloy_sol_types::private::AssertTypeEq::<
4602                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4603                >(_) => {}
4604            }
4605        }
4606        #[automatically_derived]
4607        #[doc(hidden)]
4608        impl ::core::convert::From<StrategyNotInOperatorSet>
4609        for UnderlyingRustTuple<'_> {
4610            fn from(value: StrategyNotInOperatorSet) -> Self {
4611                ()
4612            }
4613        }
4614        #[automatically_derived]
4615        #[doc(hidden)]
4616        impl ::core::convert::From<UnderlyingRustTuple<'_>>
4617        for StrategyNotInOperatorSet {
4618            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4619                Self {}
4620            }
4621        }
4622        #[automatically_derived]
4623        impl alloy_sol_types::SolError for StrategyNotInOperatorSet {
4624            type Parameters<'a> = UnderlyingSolTuple<'a>;
4625            type Token<'a> = <Self::Parameters<
4626                'a,
4627            > as alloy_sol_types::SolType>::Token<'a>;
4628            const SIGNATURE: &'static str = "StrategyNotInOperatorSet()";
4629            const SELECTOR: [u8; 4] = [99u8, 120u8, 104u8, 78u8];
4630            #[inline]
4631            fn new<'a>(
4632                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4633            ) -> Self {
4634                tuple.into()
4635            }
4636            #[inline]
4637            fn tokenize(&self) -> Self::Token<'_> {
4638                ()
4639            }
4640        }
4641    };
4642    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4643    /**Custom error with signature `UninitializedAllocationDelay()` and selector `0xfa55fc81`.
4644```solidity
4645error UninitializedAllocationDelay();
4646```*/
4647    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4648    #[derive(Clone)]
4649    pub struct UninitializedAllocationDelay {}
4650    #[allow(
4651        non_camel_case_types,
4652        non_snake_case,
4653        clippy::pub_underscore_fields,
4654        clippy::style
4655    )]
4656    const _: () = {
4657        use alloy::sol_types as alloy_sol_types;
4658        #[doc(hidden)]
4659        type UnderlyingSolTuple<'a> = ();
4660        #[doc(hidden)]
4661        type UnderlyingRustTuple<'a> = ();
4662        #[cfg(test)]
4663        #[allow(dead_code, unreachable_patterns)]
4664        fn _type_assertion(
4665            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4666        ) {
4667            match _t {
4668                alloy_sol_types::private::AssertTypeEq::<
4669                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4670                >(_) => {}
4671            }
4672        }
4673        #[automatically_derived]
4674        #[doc(hidden)]
4675        impl ::core::convert::From<UninitializedAllocationDelay>
4676        for UnderlyingRustTuple<'_> {
4677            fn from(value: UninitializedAllocationDelay) -> Self {
4678                ()
4679            }
4680        }
4681        #[automatically_derived]
4682        #[doc(hidden)]
4683        impl ::core::convert::From<UnderlyingRustTuple<'_>>
4684        for UninitializedAllocationDelay {
4685            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4686                Self {}
4687            }
4688        }
4689        #[automatically_derived]
4690        impl alloy_sol_types::SolError for UninitializedAllocationDelay {
4691            type Parameters<'a> = UnderlyingSolTuple<'a>;
4692            type Token<'a> = <Self::Parameters<
4693                'a,
4694            > as alloy_sol_types::SolType>::Token<'a>;
4695            const SIGNATURE: &'static str = "UninitializedAllocationDelay()";
4696            const SELECTOR: [u8; 4] = [250u8, 85u8, 252u8, 129u8];
4697            #[inline]
4698            fn new<'a>(
4699                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4700            ) -> Self {
4701                tuple.into()
4702            }
4703            #[inline]
4704            fn tokenize(&self) -> Self::Token<'_> {
4705                ()
4706            }
4707        }
4708    };
4709    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4710    /**Event with signature `AVSMetadataURIUpdated(address,string)` and selector `0xa89c1dc243d8908a96dd84944bcc97d6bc6ac00dd78e20621576be6a3c943713`.
4711```solidity
4712event AVSMetadataURIUpdated(address indexed avs, string metadataURI);
4713```*/
4714    #[allow(
4715        non_camel_case_types,
4716        non_snake_case,
4717        clippy::pub_underscore_fields,
4718        clippy::style
4719    )]
4720    #[derive(Clone)]
4721    pub struct AVSMetadataURIUpdated {
4722        #[allow(missing_docs)]
4723        pub avs: alloy::sol_types::private::Address,
4724        #[allow(missing_docs)]
4725        pub metadataURI: alloy::sol_types::private::String,
4726    }
4727    #[allow(
4728        non_camel_case_types,
4729        non_snake_case,
4730        clippy::pub_underscore_fields,
4731        clippy::style
4732    )]
4733    const _: () = {
4734        use alloy::sol_types as alloy_sol_types;
4735        #[automatically_derived]
4736        impl alloy_sol_types::SolEvent for AVSMetadataURIUpdated {
4737            type DataTuple<'a> = (alloy::sol_types::sol_data::String,);
4738            type DataToken<'a> = <Self::DataTuple<
4739                'a,
4740            > as alloy_sol_types::SolType>::Token<'a>;
4741            type TopicList = (
4742                alloy_sol_types::sol_data::FixedBytes<32>,
4743                alloy::sol_types::sol_data::Address,
4744            );
4745            const SIGNATURE: &'static str = "AVSMetadataURIUpdated(address,string)";
4746            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4747                168u8, 156u8, 29u8, 194u8, 67u8, 216u8, 144u8, 138u8, 150u8, 221u8,
4748                132u8, 148u8, 75u8, 204u8, 151u8, 214u8, 188u8, 106u8, 192u8, 13u8,
4749                215u8, 142u8, 32u8, 98u8, 21u8, 118u8, 190u8, 106u8, 60u8, 148u8, 55u8,
4750                19u8,
4751            ]);
4752            const ANONYMOUS: bool = false;
4753            #[allow(unused_variables)]
4754            #[inline]
4755            fn new(
4756                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4757                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4758            ) -> Self {
4759                Self {
4760                    avs: topics.1,
4761                    metadataURI: data.0,
4762                }
4763            }
4764            #[inline]
4765            fn check_signature(
4766                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4767            ) -> alloy_sol_types::Result<()> {
4768                if topics.0 != Self::SIGNATURE_HASH {
4769                    return Err(
4770                        alloy_sol_types::Error::invalid_event_signature_hash(
4771                            Self::SIGNATURE,
4772                            topics.0,
4773                            Self::SIGNATURE_HASH,
4774                        ),
4775                    );
4776                }
4777                Ok(())
4778            }
4779            #[inline]
4780            fn tokenize_body(&self) -> Self::DataToken<'_> {
4781                (
4782                    <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
4783                        &self.metadataURI,
4784                    ),
4785                )
4786            }
4787            #[inline]
4788            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4789                (Self::SIGNATURE_HASH.into(), self.avs.clone())
4790            }
4791            #[inline]
4792            fn encode_topics_raw(
4793                &self,
4794                out: &mut [alloy_sol_types::abi::token::WordToken],
4795            ) -> alloy_sol_types::Result<()> {
4796                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4797                    return Err(alloy_sol_types::Error::Overrun);
4798                }
4799                out[0usize] = alloy_sol_types::abi::token::WordToken(
4800                    Self::SIGNATURE_HASH,
4801                );
4802                out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4803                    &self.avs,
4804                );
4805                Ok(())
4806            }
4807        }
4808        #[automatically_derived]
4809        impl alloy_sol_types::private::IntoLogData for AVSMetadataURIUpdated {
4810            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4811                From::from(self)
4812            }
4813            fn into_log_data(self) -> alloy_sol_types::private::LogData {
4814                From::from(&self)
4815            }
4816        }
4817        #[automatically_derived]
4818        impl From<&AVSMetadataURIUpdated> for alloy_sol_types::private::LogData {
4819            #[inline]
4820            fn from(this: &AVSMetadataURIUpdated) -> alloy_sol_types::private::LogData {
4821                alloy_sol_types::SolEvent::encode_log_data(this)
4822            }
4823        }
4824    };
4825    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4826    /**Event with signature `AVSRegistrarSet(address,address)` and selector `0x2ae945c40c44dc0ec263f95609c3fdc6952e0aefa22d6374e44f2c997acedf85`.
4827```solidity
4828event AVSRegistrarSet(address avs, address registrar);
4829```*/
4830    #[allow(
4831        non_camel_case_types,
4832        non_snake_case,
4833        clippy::pub_underscore_fields,
4834        clippy::style
4835    )]
4836    #[derive(Clone)]
4837    pub struct AVSRegistrarSet {
4838        #[allow(missing_docs)]
4839        pub avs: alloy::sol_types::private::Address,
4840        #[allow(missing_docs)]
4841        pub registrar: alloy::sol_types::private::Address,
4842    }
4843    #[allow(
4844        non_camel_case_types,
4845        non_snake_case,
4846        clippy::pub_underscore_fields,
4847        clippy::style
4848    )]
4849    const _: () = {
4850        use alloy::sol_types as alloy_sol_types;
4851        #[automatically_derived]
4852        impl alloy_sol_types::SolEvent for AVSRegistrarSet {
4853            type DataTuple<'a> = (
4854                alloy::sol_types::sol_data::Address,
4855                alloy::sol_types::sol_data::Address,
4856            );
4857            type DataToken<'a> = <Self::DataTuple<
4858                'a,
4859            > as alloy_sol_types::SolType>::Token<'a>;
4860            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
4861            const SIGNATURE: &'static str = "AVSRegistrarSet(address,address)";
4862            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4863                42u8, 233u8, 69u8, 196u8, 12u8, 68u8, 220u8, 14u8, 194u8, 99u8, 249u8,
4864                86u8, 9u8, 195u8, 253u8, 198u8, 149u8, 46u8, 10u8, 239u8, 162u8, 45u8,
4865                99u8, 116u8, 228u8, 79u8, 44u8, 153u8, 122u8, 206u8, 223u8, 133u8,
4866            ]);
4867            const ANONYMOUS: bool = false;
4868            #[allow(unused_variables)]
4869            #[inline]
4870            fn new(
4871                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4872                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4873            ) -> Self {
4874                Self {
4875                    avs: data.0,
4876                    registrar: data.1,
4877                }
4878            }
4879            #[inline]
4880            fn check_signature(
4881                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4882            ) -> alloy_sol_types::Result<()> {
4883                if topics.0 != Self::SIGNATURE_HASH {
4884                    return Err(
4885                        alloy_sol_types::Error::invalid_event_signature_hash(
4886                            Self::SIGNATURE,
4887                            topics.0,
4888                            Self::SIGNATURE_HASH,
4889                        ),
4890                    );
4891                }
4892                Ok(())
4893            }
4894            #[inline]
4895            fn tokenize_body(&self) -> Self::DataToken<'_> {
4896                (
4897                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4898                        &self.avs,
4899                    ),
4900                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4901                        &self.registrar,
4902                    ),
4903                )
4904            }
4905            #[inline]
4906            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4907                (Self::SIGNATURE_HASH.into(),)
4908            }
4909            #[inline]
4910            fn encode_topics_raw(
4911                &self,
4912                out: &mut [alloy_sol_types::abi::token::WordToken],
4913            ) -> alloy_sol_types::Result<()> {
4914                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4915                    return Err(alloy_sol_types::Error::Overrun);
4916                }
4917                out[0usize] = alloy_sol_types::abi::token::WordToken(
4918                    Self::SIGNATURE_HASH,
4919                );
4920                Ok(())
4921            }
4922        }
4923        #[automatically_derived]
4924        impl alloy_sol_types::private::IntoLogData for AVSRegistrarSet {
4925            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4926                From::from(self)
4927            }
4928            fn into_log_data(self) -> alloy_sol_types::private::LogData {
4929                From::from(&self)
4930            }
4931        }
4932        #[automatically_derived]
4933        impl From<&AVSRegistrarSet> for alloy_sol_types::private::LogData {
4934            #[inline]
4935            fn from(this: &AVSRegistrarSet) -> alloy_sol_types::private::LogData {
4936                alloy_sol_types::SolEvent::encode_log_data(this)
4937            }
4938        }
4939    };
4940    #[derive(Default, Debug, PartialEq, Eq, Hash)]
4941    /**Event with signature `AllocationDelaySet(address,uint32,uint32)` and selector `0x4e85751d6331506c6c62335f207eb31f12a61e570f34f5c17640308785c6d4db`.
4942```solidity
4943event AllocationDelaySet(address operator, uint32 delay, uint32 effectBlock);
4944```*/
4945    #[allow(
4946        non_camel_case_types,
4947        non_snake_case,
4948        clippy::pub_underscore_fields,
4949        clippy::style
4950    )]
4951    #[derive(Clone)]
4952    pub struct AllocationDelaySet {
4953        #[allow(missing_docs)]
4954        pub operator: alloy::sol_types::private::Address,
4955        #[allow(missing_docs)]
4956        pub delay: u32,
4957        #[allow(missing_docs)]
4958        pub effectBlock: u32,
4959    }
4960    #[allow(
4961        non_camel_case_types,
4962        non_snake_case,
4963        clippy::pub_underscore_fields,
4964        clippy::style
4965    )]
4966    const _: () = {
4967        use alloy::sol_types as alloy_sol_types;
4968        #[automatically_derived]
4969        impl alloy_sol_types::SolEvent for AllocationDelaySet {
4970            type DataTuple<'a> = (
4971                alloy::sol_types::sol_data::Address,
4972                alloy::sol_types::sol_data::Uint<32>,
4973                alloy::sol_types::sol_data::Uint<32>,
4974            );
4975            type DataToken<'a> = <Self::DataTuple<
4976                'a,
4977            > as alloy_sol_types::SolType>::Token<'a>;
4978            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
4979            const SIGNATURE: &'static str = "AllocationDelaySet(address,uint32,uint32)";
4980            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4981                78u8, 133u8, 117u8, 29u8, 99u8, 49u8, 80u8, 108u8, 108u8, 98u8, 51u8,
4982                95u8, 32u8, 126u8, 179u8, 31u8, 18u8, 166u8, 30u8, 87u8, 15u8, 52u8,
4983                245u8, 193u8, 118u8, 64u8, 48u8, 135u8, 133u8, 198u8, 212u8, 219u8,
4984            ]);
4985            const ANONYMOUS: bool = false;
4986            #[allow(unused_variables)]
4987            #[inline]
4988            fn new(
4989                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4990                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4991            ) -> Self {
4992                Self {
4993                    operator: data.0,
4994                    delay: data.1,
4995                    effectBlock: data.2,
4996                }
4997            }
4998            #[inline]
4999            fn check_signature(
5000                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5001            ) -> alloy_sol_types::Result<()> {
5002                if topics.0 != Self::SIGNATURE_HASH {
5003                    return Err(
5004                        alloy_sol_types::Error::invalid_event_signature_hash(
5005                            Self::SIGNATURE,
5006                            topics.0,
5007                            Self::SIGNATURE_HASH,
5008                        ),
5009                    );
5010                }
5011                Ok(())
5012            }
5013            #[inline]
5014            fn tokenize_body(&self) -> Self::DataToken<'_> {
5015                (
5016                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5017                        &self.operator,
5018                    ),
5019                    <alloy::sol_types::sol_data::Uint<
5020                        32,
5021                    > as alloy_sol_types::SolType>::tokenize(&self.delay),
5022                    <alloy::sol_types::sol_data::Uint<
5023                        32,
5024                    > as alloy_sol_types::SolType>::tokenize(&self.effectBlock),
5025                )
5026            }
5027            #[inline]
5028            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5029                (Self::SIGNATURE_HASH.into(),)
5030            }
5031            #[inline]
5032            fn encode_topics_raw(
5033                &self,
5034                out: &mut [alloy_sol_types::abi::token::WordToken],
5035            ) -> alloy_sol_types::Result<()> {
5036                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5037                    return Err(alloy_sol_types::Error::Overrun);
5038                }
5039                out[0usize] = alloy_sol_types::abi::token::WordToken(
5040                    Self::SIGNATURE_HASH,
5041                );
5042                Ok(())
5043            }
5044        }
5045        #[automatically_derived]
5046        impl alloy_sol_types::private::IntoLogData for AllocationDelaySet {
5047            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5048                From::from(self)
5049            }
5050            fn into_log_data(self) -> alloy_sol_types::private::LogData {
5051                From::from(&self)
5052            }
5053        }
5054        #[automatically_derived]
5055        impl From<&AllocationDelaySet> for alloy_sol_types::private::LogData {
5056            #[inline]
5057            fn from(this: &AllocationDelaySet) -> alloy_sol_types::private::LogData {
5058                alloy_sol_types::SolEvent::encode_log_data(this)
5059            }
5060        }
5061    };
5062    #[derive(Default, Debug, PartialEq, Eq, Hash)]
5063    /**Event with signature `AllocationUpdated(address,(address,uint32),address,uint64,uint32)` and selector `0x1487af5418c47ee5ea45ef4a93398668120890774a9e13487e61e9dc3baf76dd`.
5064```solidity
5065event AllocationUpdated(address operator, OperatorSet operatorSet, address strategy, uint64 magnitude, uint32 effectBlock);
5066```*/
5067    #[allow(
5068        non_camel_case_types,
5069        non_snake_case,
5070        clippy::pub_underscore_fields,
5071        clippy::style
5072    )]
5073    #[derive(Clone)]
5074    pub struct AllocationUpdated {
5075        #[allow(missing_docs)]
5076        pub operator: alloy::sol_types::private::Address,
5077        #[allow(missing_docs)]
5078        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
5079        #[allow(missing_docs)]
5080        pub strategy: alloy::sol_types::private::Address,
5081        #[allow(missing_docs)]
5082        pub magnitude: u64,
5083        #[allow(missing_docs)]
5084        pub effectBlock: u32,
5085    }
5086    #[allow(
5087        non_camel_case_types,
5088        non_snake_case,
5089        clippy::pub_underscore_fields,
5090        clippy::style
5091    )]
5092    const _: () = {
5093        use alloy::sol_types as alloy_sol_types;
5094        #[automatically_derived]
5095        impl alloy_sol_types::SolEvent for AllocationUpdated {
5096            type DataTuple<'a> = (
5097                alloy::sol_types::sol_data::Address,
5098                OperatorSet,
5099                alloy::sol_types::sol_data::Address,
5100                alloy::sol_types::sol_data::Uint<64>,
5101                alloy::sol_types::sol_data::Uint<32>,
5102            );
5103            type DataToken<'a> = <Self::DataTuple<
5104                'a,
5105            > as alloy_sol_types::SolType>::Token<'a>;
5106            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5107            const SIGNATURE: &'static str = "AllocationUpdated(address,(address,uint32),address,uint64,uint32)";
5108            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5109                20u8, 135u8, 175u8, 84u8, 24u8, 196u8, 126u8, 229u8, 234u8, 69u8, 239u8,
5110                74u8, 147u8, 57u8, 134u8, 104u8, 18u8, 8u8, 144u8, 119u8, 74u8, 158u8,
5111                19u8, 72u8, 126u8, 97u8, 233u8, 220u8, 59u8, 175u8, 118u8, 221u8,
5112            ]);
5113            const ANONYMOUS: bool = false;
5114            #[allow(unused_variables)]
5115            #[inline]
5116            fn new(
5117                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5118                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5119            ) -> Self {
5120                Self {
5121                    operator: data.0,
5122                    operatorSet: data.1,
5123                    strategy: data.2,
5124                    magnitude: data.3,
5125                    effectBlock: data.4,
5126                }
5127            }
5128            #[inline]
5129            fn check_signature(
5130                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5131            ) -> alloy_sol_types::Result<()> {
5132                if topics.0 != Self::SIGNATURE_HASH {
5133                    return Err(
5134                        alloy_sol_types::Error::invalid_event_signature_hash(
5135                            Self::SIGNATURE,
5136                            topics.0,
5137                            Self::SIGNATURE_HASH,
5138                        ),
5139                    );
5140                }
5141                Ok(())
5142            }
5143            #[inline]
5144            fn tokenize_body(&self) -> Self::DataToken<'_> {
5145                (
5146                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5147                        &self.operator,
5148                    ),
5149                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
5150                        &self.operatorSet,
5151                    ),
5152                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5153                        &self.strategy,
5154                    ),
5155                    <alloy::sol_types::sol_data::Uint<
5156                        64,
5157                    > as alloy_sol_types::SolType>::tokenize(&self.magnitude),
5158                    <alloy::sol_types::sol_data::Uint<
5159                        32,
5160                    > as alloy_sol_types::SolType>::tokenize(&self.effectBlock),
5161                )
5162            }
5163            #[inline]
5164            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5165                (Self::SIGNATURE_HASH.into(),)
5166            }
5167            #[inline]
5168            fn encode_topics_raw(
5169                &self,
5170                out: &mut [alloy_sol_types::abi::token::WordToken],
5171            ) -> alloy_sol_types::Result<()> {
5172                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5173                    return Err(alloy_sol_types::Error::Overrun);
5174                }
5175                out[0usize] = alloy_sol_types::abi::token::WordToken(
5176                    Self::SIGNATURE_HASH,
5177                );
5178                Ok(())
5179            }
5180        }
5181        #[automatically_derived]
5182        impl alloy_sol_types::private::IntoLogData for AllocationUpdated {
5183            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5184                From::from(self)
5185            }
5186            fn into_log_data(self) -> alloy_sol_types::private::LogData {
5187                From::from(&self)
5188            }
5189        }
5190        #[automatically_derived]
5191        impl From<&AllocationUpdated> for alloy_sol_types::private::LogData {
5192            #[inline]
5193            fn from(this: &AllocationUpdated) -> alloy_sol_types::private::LogData {
5194                alloy_sol_types::SolEvent::encode_log_data(this)
5195            }
5196        }
5197    };
5198    #[derive(Default, Debug, PartialEq, Eq, Hash)]
5199    /**Event with signature `EncumberedMagnitudeUpdated(address,address,uint64)` and selector `0xacf9095feb3a370c9cf692421c69ef320d4db5c66e6a7d29c7694eb02364fc55`.
5200```solidity
5201event EncumberedMagnitudeUpdated(address operator, address strategy, uint64 encumberedMagnitude);
5202```*/
5203    #[allow(
5204        non_camel_case_types,
5205        non_snake_case,
5206        clippy::pub_underscore_fields,
5207        clippy::style
5208    )]
5209    #[derive(Clone)]
5210    pub struct EncumberedMagnitudeUpdated {
5211        #[allow(missing_docs)]
5212        pub operator: alloy::sol_types::private::Address,
5213        #[allow(missing_docs)]
5214        pub strategy: alloy::sol_types::private::Address,
5215        #[allow(missing_docs)]
5216        pub encumberedMagnitude: u64,
5217    }
5218    #[allow(
5219        non_camel_case_types,
5220        non_snake_case,
5221        clippy::pub_underscore_fields,
5222        clippy::style
5223    )]
5224    const _: () = {
5225        use alloy::sol_types as alloy_sol_types;
5226        #[automatically_derived]
5227        impl alloy_sol_types::SolEvent for EncumberedMagnitudeUpdated {
5228            type DataTuple<'a> = (
5229                alloy::sol_types::sol_data::Address,
5230                alloy::sol_types::sol_data::Address,
5231                alloy::sol_types::sol_data::Uint<64>,
5232            );
5233            type DataToken<'a> = <Self::DataTuple<
5234                'a,
5235            > as alloy_sol_types::SolType>::Token<'a>;
5236            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5237            const SIGNATURE: &'static str = "EncumberedMagnitudeUpdated(address,address,uint64)";
5238            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5239                172u8, 249u8, 9u8, 95u8, 235u8, 58u8, 55u8, 12u8, 156u8, 246u8, 146u8,
5240                66u8, 28u8, 105u8, 239u8, 50u8, 13u8, 77u8, 181u8, 198u8, 110u8, 106u8,
5241                125u8, 41u8, 199u8, 105u8, 78u8, 176u8, 35u8, 100u8, 252u8, 85u8,
5242            ]);
5243            const ANONYMOUS: bool = false;
5244            #[allow(unused_variables)]
5245            #[inline]
5246            fn new(
5247                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5248                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5249            ) -> Self {
5250                Self {
5251                    operator: data.0,
5252                    strategy: data.1,
5253                    encumberedMagnitude: data.2,
5254                }
5255            }
5256            #[inline]
5257            fn check_signature(
5258                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5259            ) -> alloy_sol_types::Result<()> {
5260                if topics.0 != Self::SIGNATURE_HASH {
5261                    return Err(
5262                        alloy_sol_types::Error::invalid_event_signature_hash(
5263                            Self::SIGNATURE,
5264                            topics.0,
5265                            Self::SIGNATURE_HASH,
5266                        ),
5267                    );
5268                }
5269                Ok(())
5270            }
5271            #[inline]
5272            fn tokenize_body(&self) -> Self::DataToken<'_> {
5273                (
5274                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5275                        &self.operator,
5276                    ),
5277                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5278                        &self.strategy,
5279                    ),
5280                    <alloy::sol_types::sol_data::Uint<
5281                        64,
5282                    > as alloy_sol_types::SolType>::tokenize(&self.encumberedMagnitude),
5283                )
5284            }
5285            #[inline]
5286            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5287                (Self::SIGNATURE_HASH.into(),)
5288            }
5289            #[inline]
5290            fn encode_topics_raw(
5291                &self,
5292                out: &mut [alloy_sol_types::abi::token::WordToken],
5293            ) -> alloy_sol_types::Result<()> {
5294                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5295                    return Err(alloy_sol_types::Error::Overrun);
5296                }
5297                out[0usize] = alloy_sol_types::abi::token::WordToken(
5298                    Self::SIGNATURE_HASH,
5299                );
5300                Ok(())
5301            }
5302        }
5303        #[automatically_derived]
5304        impl alloy_sol_types::private::IntoLogData for EncumberedMagnitudeUpdated {
5305            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5306                From::from(self)
5307            }
5308            fn into_log_data(self) -> alloy_sol_types::private::LogData {
5309                From::from(&self)
5310            }
5311        }
5312        #[automatically_derived]
5313        impl From<&EncumberedMagnitudeUpdated> for alloy_sol_types::private::LogData {
5314            #[inline]
5315            fn from(
5316                this: &EncumberedMagnitudeUpdated,
5317            ) -> alloy_sol_types::private::LogData {
5318                alloy_sol_types::SolEvent::encode_log_data(this)
5319            }
5320        }
5321    };
5322    #[derive(Default, Debug, PartialEq, Eq, Hash)]
5323    /**Event with signature `MaxMagnitudeUpdated(address,address,uint64)` and selector `0x1c6458079a41077d003c11faf9bf097e693bd67979e4e6500bac7b29db779b5c`.
5324```solidity
5325event MaxMagnitudeUpdated(address operator, address strategy, uint64 maxMagnitude);
5326```*/
5327    #[allow(
5328        non_camel_case_types,
5329        non_snake_case,
5330        clippy::pub_underscore_fields,
5331        clippy::style
5332    )]
5333    #[derive(Clone)]
5334    pub struct MaxMagnitudeUpdated {
5335        #[allow(missing_docs)]
5336        pub operator: alloy::sol_types::private::Address,
5337        #[allow(missing_docs)]
5338        pub strategy: alloy::sol_types::private::Address,
5339        #[allow(missing_docs)]
5340        pub maxMagnitude: u64,
5341    }
5342    #[allow(
5343        non_camel_case_types,
5344        non_snake_case,
5345        clippy::pub_underscore_fields,
5346        clippy::style
5347    )]
5348    const _: () = {
5349        use alloy::sol_types as alloy_sol_types;
5350        #[automatically_derived]
5351        impl alloy_sol_types::SolEvent for MaxMagnitudeUpdated {
5352            type DataTuple<'a> = (
5353                alloy::sol_types::sol_data::Address,
5354                alloy::sol_types::sol_data::Address,
5355                alloy::sol_types::sol_data::Uint<64>,
5356            );
5357            type DataToken<'a> = <Self::DataTuple<
5358                'a,
5359            > as alloy_sol_types::SolType>::Token<'a>;
5360            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5361            const SIGNATURE: &'static str = "MaxMagnitudeUpdated(address,address,uint64)";
5362            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5363                28u8, 100u8, 88u8, 7u8, 154u8, 65u8, 7u8, 125u8, 0u8, 60u8, 17u8, 250u8,
5364                249u8, 191u8, 9u8, 126u8, 105u8, 59u8, 214u8, 121u8, 121u8, 228u8, 230u8,
5365                80u8, 11u8, 172u8, 123u8, 41u8, 219u8, 119u8, 155u8, 92u8,
5366            ]);
5367            const ANONYMOUS: bool = false;
5368            #[allow(unused_variables)]
5369            #[inline]
5370            fn new(
5371                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5372                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5373            ) -> Self {
5374                Self {
5375                    operator: data.0,
5376                    strategy: data.1,
5377                    maxMagnitude: data.2,
5378                }
5379            }
5380            #[inline]
5381            fn check_signature(
5382                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5383            ) -> alloy_sol_types::Result<()> {
5384                if topics.0 != Self::SIGNATURE_HASH {
5385                    return Err(
5386                        alloy_sol_types::Error::invalid_event_signature_hash(
5387                            Self::SIGNATURE,
5388                            topics.0,
5389                            Self::SIGNATURE_HASH,
5390                        ),
5391                    );
5392                }
5393                Ok(())
5394            }
5395            #[inline]
5396            fn tokenize_body(&self) -> Self::DataToken<'_> {
5397                (
5398                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5399                        &self.operator,
5400                    ),
5401                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5402                        &self.strategy,
5403                    ),
5404                    <alloy::sol_types::sol_data::Uint<
5405                        64,
5406                    > as alloy_sol_types::SolType>::tokenize(&self.maxMagnitude),
5407                )
5408            }
5409            #[inline]
5410            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5411                (Self::SIGNATURE_HASH.into(),)
5412            }
5413            #[inline]
5414            fn encode_topics_raw(
5415                &self,
5416                out: &mut [alloy_sol_types::abi::token::WordToken],
5417            ) -> alloy_sol_types::Result<()> {
5418                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5419                    return Err(alloy_sol_types::Error::Overrun);
5420                }
5421                out[0usize] = alloy_sol_types::abi::token::WordToken(
5422                    Self::SIGNATURE_HASH,
5423                );
5424                Ok(())
5425            }
5426        }
5427        #[automatically_derived]
5428        impl alloy_sol_types::private::IntoLogData for MaxMagnitudeUpdated {
5429            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5430                From::from(self)
5431            }
5432            fn into_log_data(self) -> alloy_sol_types::private::LogData {
5433                From::from(&self)
5434            }
5435        }
5436        #[automatically_derived]
5437        impl From<&MaxMagnitudeUpdated> for alloy_sol_types::private::LogData {
5438            #[inline]
5439            fn from(this: &MaxMagnitudeUpdated) -> alloy_sol_types::private::LogData {
5440                alloy_sol_types::SolEvent::encode_log_data(this)
5441            }
5442        }
5443    };
5444    #[derive(Default, Debug, PartialEq, Eq, Hash)]
5445    /**Event with signature `OperatorAddedToOperatorSet(address,(address,uint32))` and selector `0x43232edf9071753d2321e5fa7e018363ee248e5f2142e6c08edd3265bfb4895e`.
5446```solidity
5447event OperatorAddedToOperatorSet(address indexed operator, OperatorSet operatorSet);
5448```*/
5449    #[allow(
5450        non_camel_case_types,
5451        non_snake_case,
5452        clippy::pub_underscore_fields,
5453        clippy::style
5454    )]
5455    #[derive(Clone)]
5456    pub struct OperatorAddedToOperatorSet {
5457        #[allow(missing_docs)]
5458        pub operator: alloy::sol_types::private::Address,
5459        #[allow(missing_docs)]
5460        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
5461    }
5462    #[allow(
5463        non_camel_case_types,
5464        non_snake_case,
5465        clippy::pub_underscore_fields,
5466        clippy::style
5467    )]
5468    const _: () = {
5469        use alloy::sol_types as alloy_sol_types;
5470        #[automatically_derived]
5471        impl alloy_sol_types::SolEvent for OperatorAddedToOperatorSet {
5472            type DataTuple<'a> = (OperatorSet,);
5473            type DataToken<'a> = <Self::DataTuple<
5474                'a,
5475            > as alloy_sol_types::SolType>::Token<'a>;
5476            type TopicList = (
5477                alloy_sol_types::sol_data::FixedBytes<32>,
5478                alloy::sol_types::sol_data::Address,
5479            );
5480            const SIGNATURE: &'static str = "OperatorAddedToOperatorSet(address,(address,uint32))";
5481            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5482                67u8, 35u8, 46u8, 223u8, 144u8, 113u8, 117u8, 61u8, 35u8, 33u8, 229u8,
5483                250u8, 126u8, 1u8, 131u8, 99u8, 238u8, 36u8, 142u8, 95u8, 33u8, 66u8,
5484                230u8, 192u8, 142u8, 221u8, 50u8, 101u8, 191u8, 180u8, 137u8, 94u8,
5485            ]);
5486            const ANONYMOUS: bool = false;
5487            #[allow(unused_variables)]
5488            #[inline]
5489            fn new(
5490                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5491                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5492            ) -> Self {
5493                Self {
5494                    operator: topics.1,
5495                    operatorSet: data.0,
5496                }
5497            }
5498            #[inline]
5499            fn check_signature(
5500                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5501            ) -> alloy_sol_types::Result<()> {
5502                if topics.0 != Self::SIGNATURE_HASH {
5503                    return Err(
5504                        alloy_sol_types::Error::invalid_event_signature_hash(
5505                            Self::SIGNATURE,
5506                            topics.0,
5507                            Self::SIGNATURE_HASH,
5508                        ),
5509                    );
5510                }
5511                Ok(())
5512            }
5513            #[inline]
5514            fn tokenize_body(&self) -> Self::DataToken<'_> {
5515                (<OperatorSet as alloy_sol_types::SolType>::tokenize(&self.operatorSet),)
5516            }
5517            #[inline]
5518            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5519                (Self::SIGNATURE_HASH.into(), self.operator.clone())
5520            }
5521            #[inline]
5522            fn encode_topics_raw(
5523                &self,
5524                out: &mut [alloy_sol_types::abi::token::WordToken],
5525            ) -> alloy_sol_types::Result<()> {
5526                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5527                    return Err(alloy_sol_types::Error::Overrun);
5528                }
5529                out[0usize] = alloy_sol_types::abi::token::WordToken(
5530                    Self::SIGNATURE_HASH,
5531                );
5532                out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5533                    &self.operator,
5534                );
5535                Ok(())
5536            }
5537        }
5538        #[automatically_derived]
5539        impl alloy_sol_types::private::IntoLogData for OperatorAddedToOperatorSet {
5540            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5541                From::from(self)
5542            }
5543            fn into_log_data(self) -> alloy_sol_types::private::LogData {
5544                From::from(&self)
5545            }
5546        }
5547        #[automatically_derived]
5548        impl From<&OperatorAddedToOperatorSet> for alloy_sol_types::private::LogData {
5549            #[inline]
5550            fn from(
5551                this: &OperatorAddedToOperatorSet,
5552            ) -> alloy_sol_types::private::LogData {
5553                alloy_sol_types::SolEvent::encode_log_data(this)
5554            }
5555        }
5556    };
5557    #[derive(Default, Debug, PartialEq, Eq, Hash)]
5558    /**Event with signature `OperatorRemovedFromOperatorSet(address,(address,uint32))` and selector `0xad34c3070be1dffbcaa499d000ba2b8d9848aefcac3059df245dd95c4ece14fe`.
5559```solidity
5560event OperatorRemovedFromOperatorSet(address indexed operator, OperatorSet operatorSet);
5561```*/
5562    #[allow(
5563        non_camel_case_types,
5564        non_snake_case,
5565        clippy::pub_underscore_fields,
5566        clippy::style
5567    )]
5568    #[derive(Clone)]
5569    pub struct OperatorRemovedFromOperatorSet {
5570        #[allow(missing_docs)]
5571        pub operator: alloy::sol_types::private::Address,
5572        #[allow(missing_docs)]
5573        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
5574    }
5575    #[allow(
5576        non_camel_case_types,
5577        non_snake_case,
5578        clippy::pub_underscore_fields,
5579        clippy::style
5580    )]
5581    const _: () = {
5582        use alloy::sol_types as alloy_sol_types;
5583        #[automatically_derived]
5584        impl alloy_sol_types::SolEvent for OperatorRemovedFromOperatorSet {
5585            type DataTuple<'a> = (OperatorSet,);
5586            type DataToken<'a> = <Self::DataTuple<
5587                'a,
5588            > as alloy_sol_types::SolType>::Token<'a>;
5589            type TopicList = (
5590                alloy_sol_types::sol_data::FixedBytes<32>,
5591                alloy::sol_types::sol_data::Address,
5592            );
5593            const SIGNATURE: &'static str = "OperatorRemovedFromOperatorSet(address,(address,uint32))";
5594            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5595                173u8, 52u8, 195u8, 7u8, 11u8, 225u8, 223u8, 251u8, 202u8, 164u8, 153u8,
5596                208u8, 0u8, 186u8, 43u8, 141u8, 152u8, 72u8, 174u8, 252u8, 172u8, 48u8,
5597                89u8, 223u8, 36u8, 93u8, 217u8, 92u8, 78u8, 206u8, 20u8, 254u8,
5598            ]);
5599            const ANONYMOUS: bool = false;
5600            #[allow(unused_variables)]
5601            #[inline]
5602            fn new(
5603                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5604                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5605            ) -> Self {
5606                Self {
5607                    operator: topics.1,
5608                    operatorSet: data.0,
5609                }
5610            }
5611            #[inline]
5612            fn check_signature(
5613                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5614            ) -> alloy_sol_types::Result<()> {
5615                if topics.0 != Self::SIGNATURE_HASH {
5616                    return Err(
5617                        alloy_sol_types::Error::invalid_event_signature_hash(
5618                            Self::SIGNATURE,
5619                            topics.0,
5620                            Self::SIGNATURE_HASH,
5621                        ),
5622                    );
5623                }
5624                Ok(())
5625            }
5626            #[inline]
5627            fn tokenize_body(&self) -> Self::DataToken<'_> {
5628                (<OperatorSet as alloy_sol_types::SolType>::tokenize(&self.operatorSet),)
5629            }
5630            #[inline]
5631            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5632                (Self::SIGNATURE_HASH.into(), self.operator.clone())
5633            }
5634            #[inline]
5635            fn encode_topics_raw(
5636                &self,
5637                out: &mut [alloy_sol_types::abi::token::WordToken],
5638            ) -> alloy_sol_types::Result<()> {
5639                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5640                    return Err(alloy_sol_types::Error::Overrun);
5641                }
5642                out[0usize] = alloy_sol_types::abi::token::WordToken(
5643                    Self::SIGNATURE_HASH,
5644                );
5645                out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5646                    &self.operator,
5647                );
5648                Ok(())
5649            }
5650        }
5651        #[automatically_derived]
5652        impl alloy_sol_types::private::IntoLogData for OperatorRemovedFromOperatorSet {
5653            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5654                From::from(self)
5655            }
5656            fn into_log_data(self) -> alloy_sol_types::private::LogData {
5657                From::from(&self)
5658            }
5659        }
5660        #[automatically_derived]
5661        impl From<&OperatorRemovedFromOperatorSet>
5662        for alloy_sol_types::private::LogData {
5663            #[inline]
5664            fn from(
5665                this: &OperatorRemovedFromOperatorSet,
5666            ) -> alloy_sol_types::private::LogData {
5667                alloy_sol_types::SolEvent::encode_log_data(this)
5668            }
5669        }
5670    };
5671    #[derive(Default, Debug, PartialEq, Eq, Hash)]
5672    /**Event with signature `OperatorSetCreated((address,uint32))` and selector `0x31629285ead2335ae0933f86ed2ae63321f7af77b4e6eaabc42c057880977e6c`.
5673```solidity
5674event OperatorSetCreated(OperatorSet operatorSet);
5675```*/
5676    #[allow(
5677        non_camel_case_types,
5678        non_snake_case,
5679        clippy::pub_underscore_fields,
5680        clippy::style
5681    )]
5682    #[derive(Clone)]
5683    pub struct OperatorSetCreated {
5684        #[allow(missing_docs)]
5685        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
5686    }
5687    #[allow(
5688        non_camel_case_types,
5689        non_snake_case,
5690        clippy::pub_underscore_fields,
5691        clippy::style
5692    )]
5693    const _: () = {
5694        use alloy::sol_types as alloy_sol_types;
5695        #[automatically_derived]
5696        impl alloy_sol_types::SolEvent for OperatorSetCreated {
5697            type DataTuple<'a> = (OperatorSet,);
5698            type DataToken<'a> = <Self::DataTuple<
5699                'a,
5700            > as alloy_sol_types::SolType>::Token<'a>;
5701            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5702            const SIGNATURE: &'static str = "OperatorSetCreated((address,uint32))";
5703            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5704                49u8, 98u8, 146u8, 133u8, 234u8, 210u8, 51u8, 90u8, 224u8, 147u8, 63u8,
5705                134u8, 237u8, 42u8, 230u8, 51u8, 33u8, 247u8, 175u8, 119u8, 180u8, 230u8,
5706                234u8, 171u8, 196u8, 44u8, 5u8, 120u8, 128u8, 151u8, 126u8, 108u8,
5707            ]);
5708            const ANONYMOUS: bool = false;
5709            #[allow(unused_variables)]
5710            #[inline]
5711            fn new(
5712                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5713                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5714            ) -> Self {
5715                Self { operatorSet: data.0 }
5716            }
5717            #[inline]
5718            fn check_signature(
5719                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5720            ) -> alloy_sol_types::Result<()> {
5721                if topics.0 != Self::SIGNATURE_HASH {
5722                    return Err(
5723                        alloy_sol_types::Error::invalid_event_signature_hash(
5724                            Self::SIGNATURE,
5725                            topics.0,
5726                            Self::SIGNATURE_HASH,
5727                        ),
5728                    );
5729                }
5730                Ok(())
5731            }
5732            #[inline]
5733            fn tokenize_body(&self) -> Self::DataToken<'_> {
5734                (<OperatorSet as alloy_sol_types::SolType>::tokenize(&self.operatorSet),)
5735            }
5736            #[inline]
5737            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5738                (Self::SIGNATURE_HASH.into(),)
5739            }
5740            #[inline]
5741            fn encode_topics_raw(
5742                &self,
5743                out: &mut [alloy_sol_types::abi::token::WordToken],
5744            ) -> alloy_sol_types::Result<()> {
5745                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5746                    return Err(alloy_sol_types::Error::Overrun);
5747                }
5748                out[0usize] = alloy_sol_types::abi::token::WordToken(
5749                    Self::SIGNATURE_HASH,
5750                );
5751                Ok(())
5752            }
5753        }
5754        #[automatically_derived]
5755        impl alloy_sol_types::private::IntoLogData for OperatorSetCreated {
5756            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5757                From::from(self)
5758            }
5759            fn into_log_data(self) -> alloy_sol_types::private::LogData {
5760                From::from(&self)
5761            }
5762        }
5763        #[automatically_derived]
5764        impl From<&OperatorSetCreated> for alloy_sol_types::private::LogData {
5765            #[inline]
5766            fn from(this: &OperatorSetCreated) -> alloy_sol_types::private::LogData {
5767                alloy_sol_types::SolEvent::encode_log_data(this)
5768            }
5769        }
5770    };
5771    #[derive(Default, Debug, PartialEq, Eq, Hash)]
5772    /**Event with signature `OperatorSlashed(address,(address,uint32),address[],uint256[],string)` and selector `0x80969ad29428d6797ee7aad084f9e4a42a82fc506dcd2ca3b6fb431f85ccebe5`.
5773```solidity
5774event OperatorSlashed(address operator, OperatorSet operatorSet, address[] strategies, uint256[] wadSlashed, string description);
5775```*/
5776    #[allow(
5777        non_camel_case_types,
5778        non_snake_case,
5779        clippy::pub_underscore_fields,
5780        clippy::style
5781    )]
5782    #[derive(Clone)]
5783    pub struct OperatorSlashed {
5784        #[allow(missing_docs)]
5785        pub operator: alloy::sol_types::private::Address,
5786        #[allow(missing_docs)]
5787        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
5788        #[allow(missing_docs)]
5789        pub strategies: alloy::sol_types::private::Vec<
5790            alloy::sol_types::private::Address,
5791        >,
5792        #[allow(missing_docs)]
5793        pub wadSlashed: alloy::sol_types::private::Vec<
5794            alloy::sol_types::private::primitives::aliases::U256,
5795        >,
5796        #[allow(missing_docs)]
5797        pub description: alloy::sol_types::private::String,
5798    }
5799    #[allow(
5800        non_camel_case_types,
5801        non_snake_case,
5802        clippy::pub_underscore_fields,
5803        clippy::style
5804    )]
5805    const _: () = {
5806        use alloy::sol_types as alloy_sol_types;
5807        #[automatically_derived]
5808        impl alloy_sol_types::SolEvent for OperatorSlashed {
5809            type DataTuple<'a> = (
5810                alloy::sol_types::sol_data::Address,
5811                OperatorSet,
5812                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
5813                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
5814                alloy::sol_types::sol_data::String,
5815            );
5816            type DataToken<'a> = <Self::DataTuple<
5817                'a,
5818            > as alloy_sol_types::SolType>::Token<'a>;
5819            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5820            const SIGNATURE: &'static str = "OperatorSlashed(address,(address,uint32),address[],uint256[],string)";
5821            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5822                128u8, 150u8, 154u8, 210u8, 148u8, 40u8, 214u8, 121u8, 126u8, 231u8,
5823                170u8, 208u8, 132u8, 249u8, 228u8, 164u8, 42u8, 130u8, 252u8, 80u8,
5824                109u8, 205u8, 44u8, 163u8, 182u8, 251u8, 67u8, 31u8, 133u8, 204u8, 235u8,
5825                229u8,
5826            ]);
5827            const ANONYMOUS: bool = false;
5828            #[allow(unused_variables)]
5829            #[inline]
5830            fn new(
5831                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5832                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5833            ) -> Self {
5834                Self {
5835                    operator: data.0,
5836                    operatorSet: data.1,
5837                    strategies: data.2,
5838                    wadSlashed: data.3,
5839                    description: data.4,
5840                }
5841            }
5842            #[inline]
5843            fn check_signature(
5844                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5845            ) -> alloy_sol_types::Result<()> {
5846                if topics.0 != Self::SIGNATURE_HASH {
5847                    return Err(
5848                        alloy_sol_types::Error::invalid_event_signature_hash(
5849                            Self::SIGNATURE,
5850                            topics.0,
5851                            Self::SIGNATURE_HASH,
5852                        ),
5853                    );
5854                }
5855                Ok(())
5856            }
5857            #[inline]
5858            fn tokenize_body(&self) -> Self::DataToken<'_> {
5859                (
5860                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5861                        &self.operator,
5862                    ),
5863                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
5864                        &self.operatorSet,
5865                    ),
5866                    <alloy::sol_types::sol_data::Array<
5867                        alloy::sol_types::sol_data::Address,
5868                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
5869                    <alloy::sol_types::sol_data::Array<
5870                        alloy::sol_types::sol_data::Uint<256>,
5871                    > as alloy_sol_types::SolType>::tokenize(&self.wadSlashed),
5872                    <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
5873                        &self.description,
5874                    ),
5875                )
5876            }
5877            #[inline]
5878            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5879                (Self::SIGNATURE_HASH.into(),)
5880            }
5881            #[inline]
5882            fn encode_topics_raw(
5883                &self,
5884                out: &mut [alloy_sol_types::abi::token::WordToken],
5885            ) -> alloy_sol_types::Result<()> {
5886                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5887                    return Err(alloy_sol_types::Error::Overrun);
5888                }
5889                out[0usize] = alloy_sol_types::abi::token::WordToken(
5890                    Self::SIGNATURE_HASH,
5891                );
5892                Ok(())
5893            }
5894        }
5895        #[automatically_derived]
5896        impl alloy_sol_types::private::IntoLogData for OperatorSlashed {
5897            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5898                From::from(self)
5899            }
5900            fn into_log_data(self) -> alloy_sol_types::private::LogData {
5901                From::from(&self)
5902            }
5903        }
5904        #[automatically_derived]
5905        impl From<&OperatorSlashed> for alloy_sol_types::private::LogData {
5906            #[inline]
5907            fn from(this: &OperatorSlashed) -> alloy_sol_types::private::LogData {
5908                alloy_sol_types::SolEvent::encode_log_data(this)
5909            }
5910        }
5911    };
5912    #[derive(Default, Debug, PartialEq, Eq, Hash)]
5913    /**Event with signature `StrategyAddedToOperatorSet((address,uint32),address)` and selector `0x7ab260fe0af193db5f4986770d831bda4ea46099dc817e8b6716dcae8af8e88b`.
5914```solidity
5915event StrategyAddedToOperatorSet(OperatorSet operatorSet, address strategy);
5916```*/
5917    #[allow(
5918        non_camel_case_types,
5919        non_snake_case,
5920        clippy::pub_underscore_fields,
5921        clippy::style
5922    )]
5923    #[derive(Clone)]
5924    pub struct StrategyAddedToOperatorSet {
5925        #[allow(missing_docs)]
5926        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
5927        #[allow(missing_docs)]
5928        pub strategy: alloy::sol_types::private::Address,
5929    }
5930    #[allow(
5931        non_camel_case_types,
5932        non_snake_case,
5933        clippy::pub_underscore_fields,
5934        clippy::style
5935    )]
5936    const _: () = {
5937        use alloy::sol_types as alloy_sol_types;
5938        #[automatically_derived]
5939        impl alloy_sol_types::SolEvent for StrategyAddedToOperatorSet {
5940            type DataTuple<'a> = (OperatorSet, alloy::sol_types::sol_data::Address);
5941            type DataToken<'a> = <Self::DataTuple<
5942                'a,
5943            > as alloy_sol_types::SolType>::Token<'a>;
5944            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
5945            const SIGNATURE: &'static str = "StrategyAddedToOperatorSet((address,uint32),address)";
5946            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5947                122u8, 178u8, 96u8, 254u8, 10u8, 241u8, 147u8, 219u8, 95u8, 73u8, 134u8,
5948                119u8, 13u8, 131u8, 27u8, 218u8, 78u8, 164u8, 96u8, 153u8, 220u8, 129u8,
5949                126u8, 139u8, 103u8, 22u8, 220u8, 174u8, 138u8, 248u8, 232u8, 139u8,
5950            ]);
5951            const ANONYMOUS: bool = false;
5952            #[allow(unused_variables)]
5953            #[inline]
5954            fn new(
5955                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5956                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5957            ) -> Self {
5958                Self {
5959                    operatorSet: data.0,
5960                    strategy: data.1,
5961                }
5962            }
5963            #[inline]
5964            fn check_signature(
5965                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5966            ) -> alloy_sol_types::Result<()> {
5967                if topics.0 != Self::SIGNATURE_HASH {
5968                    return Err(
5969                        alloy_sol_types::Error::invalid_event_signature_hash(
5970                            Self::SIGNATURE,
5971                            topics.0,
5972                            Self::SIGNATURE_HASH,
5973                        ),
5974                    );
5975                }
5976                Ok(())
5977            }
5978            #[inline]
5979            fn tokenize_body(&self) -> Self::DataToken<'_> {
5980                (
5981                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
5982                        &self.operatorSet,
5983                    ),
5984                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5985                        &self.strategy,
5986                    ),
5987                )
5988            }
5989            #[inline]
5990            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5991                (Self::SIGNATURE_HASH.into(),)
5992            }
5993            #[inline]
5994            fn encode_topics_raw(
5995                &self,
5996                out: &mut [alloy_sol_types::abi::token::WordToken],
5997            ) -> alloy_sol_types::Result<()> {
5998                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5999                    return Err(alloy_sol_types::Error::Overrun);
6000                }
6001                out[0usize] = alloy_sol_types::abi::token::WordToken(
6002                    Self::SIGNATURE_HASH,
6003                );
6004                Ok(())
6005            }
6006        }
6007        #[automatically_derived]
6008        impl alloy_sol_types::private::IntoLogData for StrategyAddedToOperatorSet {
6009            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6010                From::from(self)
6011            }
6012            fn into_log_data(self) -> alloy_sol_types::private::LogData {
6013                From::from(&self)
6014            }
6015        }
6016        #[automatically_derived]
6017        impl From<&StrategyAddedToOperatorSet> for alloy_sol_types::private::LogData {
6018            #[inline]
6019            fn from(
6020                this: &StrategyAddedToOperatorSet,
6021            ) -> alloy_sol_types::private::LogData {
6022                alloy_sol_types::SolEvent::encode_log_data(this)
6023            }
6024        }
6025    };
6026    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6027    /**Event with signature `StrategyRemovedFromOperatorSet((address,uint32),address)` and selector `0x7b4b073d80dcac55a11177d8459ad9f664ceeb91f71f27167bb14f8152a7eeee`.
6028```solidity
6029event StrategyRemovedFromOperatorSet(OperatorSet operatorSet, address strategy);
6030```*/
6031    #[allow(
6032        non_camel_case_types,
6033        non_snake_case,
6034        clippy::pub_underscore_fields,
6035        clippy::style
6036    )]
6037    #[derive(Clone)]
6038    pub struct StrategyRemovedFromOperatorSet {
6039        #[allow(missing_docs)]
6040        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
6041        #[allow(missing_docs)]
6042        pub strategy: alloy::sol_types::private::Address,
6043    }
6044    #[allow(
6045        non_camel_case_types,
6046        non_snake_case,
6047        clippy::pub_underscore_fields,
6048        clippy::style
6049    )]
6050    const _: () = {
6051        use alloy::sol_types as alloy_sol_types;
6052        #[automatically_derived]
6053        impl alloy_sol_types::SolEvent for StrategyRemovedFromOperatorSet {
6054            type DataTuple<'a> = (OperatorSet, alloy::sol_types::sol_data::Address);
6055            type DataToken<'a> = <Self::DataTuple<
6056                'a,
6057            > as alloy_sol_types::SolType>::Token<'a>;
6058            type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
6059            const SIGNATURE: &'static str = "StrategyRemovedFromOperatorSet((address,uint32),address)";
6060            const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
6061                123u8, 75u8, 7u8, 61u8, 128u8, 220u8, 172u8, 85u8, 161u8, 17u8, 119u8,
6062                216u8, 69u8, 154u8, 217u8, 246u8, 100u8, 206u8, 235u8, 145u8, 247u8,
6063                31u8, 39u8, 22u8, 123u8, 177u8, 79u8, 129u8, 82u8, 167u8, 238u8, 238u8,
6064            ]);
6065            const ANONYMOUS: bool = false;
6066            #[allow(unused_variables)]
6067            #[inline]
6068            fn new(
6069                topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
6070                data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
6071            ) -> Self {
6072                Self {
6073                    operatorSet: data.0,
6074                    strategy: data.1,
6075                }
6076            }
6077            #[inline]
6078            fn check_signature(
6079                topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
6080            ) -> alloy_sol_types::Result<()> {
6081                if topics.0 != Self::SIGNATURE_HASH {
6082                    return Err(
6083                        alloy_sol_types::Error::invalid_event_signature_hash(
6084                            Self::SIGNATURE,
6085                            topics.0,
6086                            Self::SIGNATURE_HASH,
6087                        ),
6088                    );
6089                }
6090                Ok(())
6091            }
6092            #[inline]
6093            fn tokenize_body(&self) -> Self::DataToken<'_> {
6094                (
6095                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
6096                        &self.operatorSet,
6097                    ),
6098                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6099                        &self.strategy,
6100                    ),
6101                )
6102            }
6103            #[inline]
6104            fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
6105                (Self::SIGNATURE_HASH.into(),)
6106            }
6107            #[inline]
6108            fn encode_topics_raw(
6109                &self,
6110                out: &mut [alloy_sol_types::abi::token::WordToken],
6111            ) -> alloy_sol_types::Result<()> {
6112                if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
6113                    return Err(alloy_sol_types::Error::Overrun);
6114                }
6115                out[0usize] = alloy_sol_types::abi::token::WordToken(
6116                    Self::SIGNATURE_HASH,
6117                );
6118                Ok(())
6119            }
6120        }
6121        #[automatically_derived]
6122        impl alloy_sol_types::private::IntoLogData for StrategyRemovedFromOperatorSet {
6123            fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6124                From::from(self)
6125            }
6126            fn into_log_data(self) -> alloy_sol_types::private::LogData {
6127                From::from(&self)
6128            }
6129        }
6130        #[automatically_derived]
6131        impl From<&StrategyRemovedFromOperatorSet>
6132        for alloy_sol_types::private::LogData {
6133            #[inline]
6134            fn from(
6135                this: &StrategyRemovedFromOperatorSet,
6136            ) -> alloy_sol_types::private::LogData {
6137                alloy_sol_types::SolEvent::encode_log_data(this)
6138            }
6139        }
6140    };
6141    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6142    /**Function with signature `addStrategiesToOperatorSet(address,uint32,address[])` and selector `0x50feea20`.
6143```solidity
6144function addStrategiesToOperatorSet(address avs, uint32 operatorSetId, address[] memory strategies) external;
6145```*/
6146    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6147    #[derive(Clone)]
6148    pub struct addStrategiesToOperatorSetCall {
6149        #[allow(missing_docs)]
6150        pub avs: alloy::sol_types::private::Address,
6151        #[allow(missing_docs)]
6152        pub operatorSetId: u32,
6153        #[allow(missing_docs)]
6154        pub strategies: alloy::sol_types::private::Vec<
6155            alloy::sol_types::private::Address,
6156        >,
6157    }
6158    ///Container type for the return parameters of the [`addStrategiesToOperatorSet(address,uint32,address[])`](addStrategiesToOperatorSetCall) function.
6159    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6160    #[derive(Clone)]
6161    pub struct addStrategiesToOperatorSetReturn {}
6162    #[allow(
6163        non_camel_case_types,
6164        non_snake_case,
6165        clippy::pub_underscore_fields,
6166        clippy::style
6167    )]
6168    const _: () = {
6169        use alloy::sol_types as alloy_sol_types;
6170        {
6171            #[doc(hidden)]
6172            type UnderlyingSolTuple<'a> = (
6173                alloy::sol_types::sol_data::Address,
6174                alloy::sol_types::sol_data::Uint<32>,
6175                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
6176            );
6177            #[doc(hidden)]
6178            type UnderlyingRustTuple<'a> = (
6179                alloy::sol_types::private::Address,
6180                u32,
6181                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
6182            );
6183            #[cfg(test)]
6184            #[allow(dead_code, unreachable_patterns)]
6185            fn _type_assertion(
6186                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6187            ) {
6188                match _t {
6189                    alloy_sol_types::private::AssertTypeEq::<
6190                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6191                    >(_) => {}
6192                }
6193            }
6194            #[automatically_derived]
6195            #[doc(hidden)]
6196            impl ::core::convert::From<addStrategiesToOperatorSetCall>
6197            for UnderlyingRustTuple<'_> {
6198                fn from(value: addStrategiesToOperatorSetCall) -> Self {
6199                    (value.avs, value.operatorSetId, value.strategies)
6200                }
6201            }
6202            #[automatically_derived]
6203            #[doc(hidden)]
6204            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6205            for addStrategiesToOperatorSetCall {
6206                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6207                    Self {
6208                        avs: tuple.0,
6209                        operatorSetId: tuple.1,
6210                        strategies: tuple.2,
6211                    }
6212                }
6213            }
6214        }
6215        {
6216            #[doc(hidden)]
6217            type UnderlyingSolTuple<'a> = ();
6218            #[doc(hidden)]
6219            type UnderlyingRustTuple<'a> = ();
6220            #[cfg(test)]
6221            #[allow(dead_code, unreachable_patterns)]
6222            fn _type_assertion(
6223                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6224            ) {
6225                match _t {
6226                    alloy_sol_types::private::AssertTypeEq::<
6227                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6228                    >(_) => {}
6229                }
6230            }
6231            #[automatically_derived]
6232            #[doc(hidden)]
6233            impl ::core::convert::From<addStrategiesToOperatorSetReturn>
6234            for UnderlyingRustTuple<'_> {
6235                fn from(value: addStrategiesToOperatorSetReturn) -> Self {
6236                    ()
6237                }
6238            }
6239            #[automatically_derived]
6240            #[doc(hidden)]
6241            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6242            for addStrategiesToOperatorSetReturn {
6243                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6244                    Self {}
6245                }
6246            }
6247        }
6248        #[automatically_derived]
6249        impl alloy_sol_types::SolCall for addStrategiesToOperatorSetCall {
6250            type Parameters<'a> = (
6251                alloy::sol_types::sol_data::Address,
6252                alloy::sol_types::sol_data::Uint<32>,
6253                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
6254            );
6255            type Token<'a> = <Self::Parameters<
6256                'a,
6257            > as alloy_sol_types::SolType>::Token<'a>;
6258            type Return = addStrategiesToOperatorSetReturn;
6259            type ReturnTuple<'a> = ();
6260            type ReturnToken<'a> = <Self::ReturnTuple<
6261                'a,
6262            > as alloy_sol_types::SolType>::Token<'a>;
6263            const SIGNATURE: &'static str = "addStrategiesToOperatorSet(address,uint32,address[])";
6264            const SELECTOR: [u8; 4] = [80u8, 254u8, 234u8, 32u8];
6265            #[inline]
6266            fn new<'a>(
6267                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6268            ) -> Self {
6269                tuple.into()
6270            }
6271            #[inline]
6272            fn tokenize(&self) -> Self::Token<'_> {
6273                (
6274                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6275                        &self.avs,
6276                    ),
6277                    <alloy::sol_types::sol_data::Uint<
6278                        32,
6279                    > as alloy_sol_types::SolType>::tokenize(&self.operatorSetId),
6280                    <alloy::sol_types::sol_data::Array<
6281                        alloy::sol_types::sol_data::Address,
6282                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
6283                )
6284            }
6285            #[inline]
6286            fn abi_decode_returns(
6287                data: &[u8],
6288                validate: bool,
6289            ) -> alloy_sol_types::Result<Self::Return> {
6290                <Self::ReturnTuple<
6291                    '_,
6292                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6293                    .map(Into::into)
6294            }
6295        }
6296    };
6297    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6298    /**Function with signature `clearDeallocationQueue(address,address[],uint16[])` and selector `0x4b5046ef`.
6299```solidity
6300function clearDeallocationQueue(address operator, address[] memory strategies, uint16[] memory numToClear) external;
6301```*/
6302    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6303    #[derive(Clone)]
6304    pub struct clearDeallocationQueueCall {
6305        #[allow(missing_docs)]
6306        pub operator: alloy::sol_types::private::Address,
6307        #[allow(missing_docs)]
6308        pub strategies: alloy::sol_types::private::Vec<
6309            alloy::sol_types::private::Address,
6310        >,
6311        #[allow(missing_docs)]
6312        pub numToClear: alloy::sol_types::private::Vec<u16>,
6313    }
6314    ///Container type for the return parameters of the [`clearDeallocationQueue(address,address[],uint16[])`](clearDeallocationQueueCall) function.
6315    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6316    #[derive(Clone)]
6317    pub struct clearDeallocationQueueReturn {}
6318    #[allow(
6319        non_camel_case_types,
6320        non_snake_case,
6321        clippy::pub_underscore_fields,
6322        clippy::style
6323    )]
6324    const _: () = {
6325        use alloy::sol_types as alloy_sol_types;
6326        {
6327            #[doc(hidden)]
6328            type UnderlyingSolTuple<'a> = (
6329                alloy::sol_types::sol_data::Address,
6330                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
6331                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<16>>,
6332            );
6333            #[doc(hidden)]
6334            type UnderlyingRustTuple<'a> = (
6335                alloy::sol_types::private::Address,
6336                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
6337                alloy::sol_types::private::Vec<u16>,
6338            );
6339            #[cfg(test)]
6340            #[allow(dead_code, unreachable_patterns)]
6341            fn _type_assertion(
6342                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6343            ) {
6344                match _t {
6345                    alloy_sol_types::private::AssertTypeEq::<
6346                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6347                    >(_) => {}
6348                }
6349            }
6350            #[automatically_derived]
6351            #[doc(hidden)]
6352            impl ::core::convert::From<clearDeallocationQueueCall>
6353            for UnderlyingRustTuple<'_> {
6354                fn from(value: clearDeallocationQueueCall) -> Self {
6355                    (value.operator, value.strategies, value.numToClear)
6356                }
6357            }
6358            #[automatically_derived]
6359            #[doc(hidden)]
6360            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6361            for clearDeallocationQueueCall {
6362                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6363                    Self {
6364                        operator: tuple.0,
6365                        strategies: tuple.1,
6366                        numToClear: tuple.2,
6367                    }
6368                }
6369            }
6370        }
6371        {
6372            #[doc(hidden)]
6373            type UnderlyingSolTuple<'a> = ();
6374            #[doc(hidden)]
6375            type UnderlyingRustTuple<'a> = ();
6376            #[cfg(test)]
6377            #[allow(dead_code, unreachable_patterns)]
6378            fn _type_assertion(
6379                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6380            ) {
6381                match _t {
6382                    alloy_sol_types::private::AssertTypeEq::<
6383                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6384                    >(_) => {}
6385                }
6386            }
6387            #[automatically_derived]
6388            #[doc(hidden)]
6389            impl ::core::convert::From<clearDeallocationQueueReturn>
6390            for UnderlyingRustTuple<'_> {
6391                fn from(value: clearDeallocationQueueReturn) -> Self {
6392                    ()
6393                }
6394            }
6395            #[automatically_derived]
6396            #[doc(hidden)]
6397            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6398            for clearDeallocationQueueReturn {
6399                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6400                    Self {}
6401                }
6402            }
6403        }
6404        #[automatically_derived]
6405        impl alloy_sol_types::SolCall for clearDeallocationQueueCall {
6406            type Parameters<'a> = (
6407                alloy::sol_types::sol_data::Address,
6408                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
6409                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<16>>,
6410            );
6411            type Token<'a> = <Self::Parameters<
6412                'a,
6413            > as alloy_sol_types::SolType>::Token<'a>;
6414            type Return = clearDeallocationQueueReturn;
6415            type ReturnTuple<'a> = ();
6416            type ReturnToken<'a> = <Self::ReturnTuple<
6417                'a,
6418            > as alloy_sol_types::SolType>::Token<'a>;
6419            const SIGNATURE: &'static str = "clearDeallocationQueue(address,address[],uint16[])";
6420            const SELECTOR: [u8; 4] = [75u8, 80u8, 70u8, 239u8];
6421            #[inline]
6422            fn new<'a>(
6423                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6424            ) -> Self {
6425                tuple.into()
6426            }
6427            #[inline]
6428            fn tokenize(&self) -> Self::Token<'_> {
6429                (
6430                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6431                        &self.operator,
6432                    ),
6433                    <alloy::sol_types::sol_data::Array<
6434                        alloy::sol_types::sol_data::Address,
6435                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
6436                    <alloy::sol_types::sol_data::Array<
6437                        alloy::sol_types::sol_data::Uint<16>,
6438                    > as alloy_sol_types::SolType>::tokenize(&self.numToClear),
6439                )
6440            }
6441            #[inline]
6442            fn abi_decode_returns(
6443                data: &[u8],
6444                validate: bool,
6445            ) -> alloy_sol_types::Result<Self::Return> {
6446                <Self::ReturnTuple<
6447                    '_,
6448                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6449                    .map(Into::into)
6450            }
6451        }
6452    };
6453    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6454    /**Function with signature `createOperatorSets(address,(uint32,address[])[])` and selector `0x261f84e0`.
6455```solidity
6456function createOperatorSets(address avs, IAllocationManagerTypes.CreateSetParams[] memory params) external;
6457```*/
6458    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6459    #[derive(Clone)]
6460    pub struct createOperatorSetsCall {
6461        #[allow(missing_docs)]
6462        pub avs: alloy::sol_types::private::Address,
6463        #[allow(missing_docs)]
6464        pub params: alloy::sol_types::private::Vec<
6465            <IAllocationManagerTypes::CreateSetParams as alloy::sol_types::SolType>::RustType,
6466        >,
6467    }
6468    ///Container type for the return parameters of the [`createOperatorSets(address,(uint32,address[])[])`](createOperatorSetsCall) function.
6469    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6470    #[derive(Clone)]
6471    pub struct createOperatorSetsReturn {}
6472    #[allow(
6473        non_camel_case_types,
6474        non_snake_case,
6475        clippy::pub_underscore_fields,
6476        clippy::style
6477    )]
6478    const _: () = {
6479        use alloy::sol_types as alloy_sol_types;
6480        {
6481            #[doc(hidden)]
6482            type UnderlyingSolTuple<'a> = (
6483                alloy::sol_types::sol_data::Address,
6484                alloy::sol_types::sol_data::Array<
6485                    IAllocationManagerTypes::CreateSetParams,
6486                >,
6487            );
6488            #[doc(hidden)]
6489            type UnderlyingRustTuple<'a> = (
6490                alloy::sol_types::private::Address,
6491                alloy::sol_types::private::Vec<
6492                    <IAllocationManagerTypes::CreateSetParams as alloy::sol_types::SolType>::RustType,
6493                >,
6494            );
6495            #[cfg(test)]
6496            #[allow(dead_code, unreachable_patterns)]
6497            fn _type_assertion(
6498                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6499            ) {
6500                match _t {
6501                    alloy_sol_types::private::AssertTypeEq::<
6502                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6503                    >(_) => {}
6504                }
6505            }
6506            #[automatically_derived]
6507            #[doc(hidden)]
6508            impl ::core::convert::From<createOperatorSetsCall>
6509            for UnderlyingRustTuple<'_> {
6510                fn from(value: createOperatorSetsCall) -> Self {
6511                    (value.avs, value.params)
6512                }
6513            }
6514            #[automatically_derived]
6515            #[doc(hidden)]
6516            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6517            for createOperatorSetsCall {
6518                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6519                    Self {
6520                        avs: tuple.0,
6521                        params: tuple.1,
6522                    }
6523                }
6524            }
6525        }
6526        {
6527            #[doc(hidden)]
6528            type UnderlyingSolTuple<'a> = ();
6529            #[doc(hidden)]
6530            type UnderlyingRustTuple<'a> = ();
6531            #[cfg(test)]
6532            #[allow(dead_code, unreachable_patterns)]
6533            fn _type_assertion(
6534                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6535            ) {
6536                match _t {
6537                    alloy_sol_types::private::AssertTypeEq::<
6538                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6539                    >(_) => {}
6540                }
6541            }
6542            #[automatically_derived]
6543            #[doc(hidden)]
6544            impl ::core::convert::From<createOperatorSetsReturn>
6545            for UnderlyingRustTuple<'_> {
6546                fn from(value: createOperatorSetsReturn) -> Self {
6547                    ()
6548                }
6549            }
6550            #[automatically_derived]
6551            #[doc(hidden)]
6552            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6553            for createOperatorSetsReturn {
6554                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6555                    Self {}
6556                }
6557            }
6558        }
6559        #[automatically_derived]
6560        impl alloy_sol_types::SolCall for createOperatorSetsCall {
6561            type Parameters<'a> = (
6562                alloy::sol_types::sol_data::Address,
6563                alloy::sol_types::sol_data::Array<
6564                    IAllocationManagerTypes::CreateSetParams,
6565                >,
6566            );
6567            type Token<'a> = <Self::Parameters<
6568                'a,
6569            > as alloy_sol_types::SolType>::Token<'a>;
6570            type Return = createOperatorSetsReturn;
6571            type ReturnTuple<'a> = ();
6572            type ReturnToken<'a> = <Self::ReturnTuple<
6573                'a,
6574            > as alloy_sol_types::SolType>::Token<'a>;
6575            const SIGNATURE: &'static str = "createOperatorSets(address,(uint32,address[])[])";
6576            const SELECTOR: [u8; 4] = [38u8, 31u8, 132u8, 224u8];
6577            #[inline]
6578            fn new<'a>(
6579                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6580            ) -> Self {
6581                tuple.into()
6582            }
6583            #[inline]
6584            fn tokenize(&self) -> Self::Token<'_> {
6585                (
6586                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6587                        &self.avs,
6588                    ),
6589                    <alloy::sol_types::sol_data::Array<
6590                        IAllocationManagerTypes::CreateSetParams,
6591                    > as alloy_sol_types::SolType>::tokenize(&self.params),
6592                )
6593            }
6594            #[inline]
6595            fn abi_decode_returns(
6596                data: &[u8],
6597                validate: bool,
6598            ) -> alloy_sol_types::Result<Self::Return> {
6599                <Self::ReturnTuple<
6600                    '_,
6601                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6602                    .map(Into::into)
6603            }
6604        }
6605    };
6606    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6607    /**Function with signature `deregisterFromOperatorSets((address,address,uint32[]))` and selector `0x6e3492b5`.
6608```solidity
6609function deregisterFromOperatorSets(IAllocationManagerTypes.DeregisterParams memory params) external;
6610```*/
6611    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6612    #[derive(Clone)]
6613    pub struct deregisterFromOperatorSetsCall {
6614        #[allow(missing_docs)]
6615        pub params: <IAllocationManagerTypes::DeregisterParams as alloy::sol_types::SolType>::RustType,
6616    }
6617    ///Container type for the return parameters of the [`deregisterFromOperatorSets((address,address,uint32[]))`](deregisterFromOperatorSetsCall) function.
6618    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6619    #[derive(Clone)]
6620    pub struct deregisterFromOperatorSetsReturn {}
6621    #[allow(
6622        non_camel_case_types,
6623        non_snake_case,
6624        clippy::pub_underscore_fields,
6625        clippy::style
6626    )]
6627    const _: () = {
6628        use alloy::sol_types as alloy_sol_types;
6629        {
6630            #[doc(hidden)]
6631            type UnderlyingSolTuple<'a> = (IAllocationManagerTypes::DeregisterParams,);
6632            #[doc(hidden)]
6633            type UnderlyingRustTuple<'a> = (
6634                <IAllocationManagerTypes::DeregisterParams as alloy::sol_types::SolType>::RustType,
6635            );
6636            #[cfg(test)]
6637            #[allow(dead_code, unreachable_patterns)]
6638            fn _type_assertion(
6639                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6640            ) {
6641                match _t {
6642                    alloy_sol_types::private::AssertTypeEq::<
6643                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6644                    >(_) => {}
6645                }
6646            }
6647            #[automatically_derived]
6648            #[doc(hidden)]
6649            impl ::core::convert::From<deregisterFromOperatorSetsCall>
6650            for UnderlyingRustTuple<'_> {
6651                fn from(value: deregisterFromOperatorSetsCall) -> Self {
6652                    (value.params,)
6653                }
6654            }
6655            #[automatically_derived]
6656            #[doc(hidden)]
6657            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6658            for deregisterFromOperatorSetsCall {
6659                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6660                    Self { params: tuple.0 }
6661                }
6662            }
6663        }
6664        {
6665            #[doc(hidden)]
6666            type UnderlyingSolTuple<'a> = ();
6667            #[doc(hidden)]
6668            type UnderlyingRustTuple<'a> = ();
6669            #[cfg(test)]
6670            #[allow(dead_code, unreachable_patterns)]
6671            fn _type_assertion(
6672                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6673            ) {
6674                match _t {
6675                    alloy_sol_types::private::AssertTypeEq::<
6676                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6677                    >(_) => {}
6678                }
6679            }
6680            #[automatically_derived]
6681            #[doc(hidden)]
6682            impl ::core::convert::From<deregisterFromOperatorSetsReturn>
6683            for UnderlyingRustTuple<'_> {
6684                fn from(value: deregisterFromOperatorSetsReturn) -> Self {
6685                    ()
6686                }
6687            }
6688            #[automatically_derived]
6689            #[doc(hidden)]
6690            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6691            for deregisterFromOperatorSetsReturn {
6692                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6693                    Self {}
6694                }
6695            }
6696        }
6697        #[automatically_derived]
6698        impl alloy_sol_types::SolCall for deregisterFromOperatorSetsCall {
6699            type Parameters<'a> = (IAllocationManagerTypes::DeregisterParams,);
6700            type Token<'a> = <Self::Parameters<
6701                'a,
6702            > as alloy_sol_types::SolType>::Token<'a>;
6703            type Return = deregisterFromOperatorSetsReturn;
6704            type ReturnTuple<'a> = ();
6705            type ReturnToken<'a> = <Self::ReturnTuple<
6706                'a,
6707            > as alloy_sol_types::SolType>::Token<'a>;
6708            const SIGNATURE: &'static str = "deregisterFromOperatorSets((address,address,uint32[]))";
6709            const SELECTOR: [u8; 4] = [110u8, 52u8, 146u8, 181u8];
6710            #[inline]
6711            fn new<'a>(
6712                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6713            ) -> Self {
6714                tuple.into()
6715            }
6716            #[inline]
6717            fn tokenize(&self) -> Self::Token<'_> {
6718                (
6719                    <IAllocationManagerTypes::DeregisterParams as alloy_sol_types::SolType>::tokenize(
6720                        &self.params,
6721                    ),
6722                )
6723            }
6724            #[inline]
6725            fn abi_decode_returns(
6726                data: &[u8],
6727                validate: bool,
6728            ) -> alloy_sol_types::Result<Self::Return> {
6729                <Self::ReturnTuple<
6730                    '_,
6731                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6732                    .map(Into::into)
6733            }
6734        }
6735    };
6736    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6737    /**Function with signature `getAVSRegistrar(address)` and selector `0x304c10cd`.
6738```solidity
6739function getAVSRegistrar(address avs) external view returns (address);
6740```*/
6741    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6742    #[derive(Clone)]
6743    pub struct getAVSRegistrarCall {
6744        #[allow(missing_docs)]
6745        pub avs: alloy::sol_types::private::Address,
6746    }
6747    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6748    ///Container type for the return parameters of the [`getAVSRegistrar(address)`](getAVSRegistrarCall) function.
6749    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6750    #[derive(Clone)]
6751    pub struct getAVSRegistrarReturn {
6752        #[allow(missing_docs)]
6753        pub _0: alloy::sol_types::private::Address,
6754    }
6755    #[allow(
6756        non_camel_case_types,
6757        non_snake_case,
6758        clippy::pub_underscore_fields,
6759        clippy::style
6760    )]
6761    const _: () = {
6762        use alloy::sol_types as alloy_sol_types;
6763        {
6764            #[doc(hidden)]
6765            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6766            #[doc(hidden)]
6767            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6768            #[cfg(test)]
6769            #[allow(dead_code, unreachable_patterns)]
6770            fn _type_assertion(
6771                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6772            ) {
6773                match _t {
6774                    alloy_sol_types::private::AssertTypeEq::<
6775                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6776                    >(_) => {}
6777                }
6778            }
6779            #[automatically_derived]
6780            #[doc(hidden)]
6781            impl ::core::convert::From<getAVSRegistrarCall> for UnderlyingRustTuple<'_> {
6782                fn from(value: getAVSRegistrarCall) -> Self {
6783                    (value.avs,)
6784                }
6785            }
6786            #[automatically_derived]
6787            #[doc(hidden)]
6788            impl ::core::convert::From<UnderlyingRustTuple<'_>> for getAVSRegistrarCall {
6789                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6790                    Self { avs: tuple.0 }
6791                }
6792            }
6793        }
6794        {
6795            #[doc(hidden)]
6796            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6797            #[doc(hidden)]
6798            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6799            #[cfg(test)]
6800            #[allow(dead_code, unreachable_patterns)]
6801            fn _type_assertion(
6802                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6803            ) {
6804                match _t {
6805                    alloy_sol_types::private::AssertTypeEq::<
6806                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6807                    >(_) => {}
6808                }
6809            }
6810            #[automatically_derived]
6811            #[doc(hidden)]
6812            impl ::core::convert::From<getAVSRegistrarReturn>
6813            for UnderlyingRustTuple<'_> {
6814                fn from(value: getAVSRegistrarReturn) -> Self {
6815                    (value._0,)
6816                }
6817            }
6818            #[automatically_derived]
6819            #[doc(hidden)]
6820            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6821            for getAVSRegistrarReturn {
6822                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6823                    Self { _0: tuple.0 }
6824                }
6825            }
6826        }
6827        #[automatically_derived]
6828        impl alloy_sol_types::SolCall for getAVSRegistrarCall {
6829            type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
6830            type Token<'a> = <Self::Parameters<
6831                'a,
6832            > as alloy_sol_types::SolType>::Token<'a>;
6833            type Return = getAVSRegistrarReturn;
6834            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
6835            type ReturnToken<'a> = <Self::ReturnTuple<
6836                'a,
6837            > as alloy_sol_types::SolType>::Token<'a>;
6838            const SIGNATURE: &'static str = "getAVSRegistrar(address)";
6839            const SELECTOR: [u8; 4] = [48u8, 76u8, 16u8, 205u8];
6840            #[inline]
6841            fn new<'a>(
6842                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6843            ) -> Self {
6844                tuple.into()
6845            }
6846            #[inline]
6847            fn tokenize(&self) -> Self::Token<'_> {
6848                (
6849                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6850                        &self.avs,
6851                    ),
6852                )
6853            }
6854            #[inline]
6855            fn abi_decode_returns(
6856                data: &[u8],
6857                validate: bool,
6858            ) -> alloy_sol_types::Result<Self::Return> {
6859                <Self::ReturnTuple<
6860                    '_,
6861                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
6862                    .map(Into::into)
6863            }
6864        }
6865    };
6866    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6867    /**Function with signature `getAllocatableMagnitude(address,address)` and selector `0x6cfb4481`.
6868```solidity
6869function getAllocatableMagnitude(address operator, address strategy) external view returns (uint64);
6870```*/
6871    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6872    #[derive(Clone)]
6873    pub struct getAllocatableMagnitudeCall {
6874        #[allow(missing_docs)]
6875        pub operator: alloy::sol_types::private::Address,
6876        #[allow(missing_docs)]
6877        pub strategy: alloy::sol_types::private::Address,
6878    }
6879    #[derive(Default, Debug, PartialEq, Eq, Hash)]
6880    ///Container type for the return parameters of the [`getAllocatableMagnitude(address,address)`](getAllocatableMagnitudeCall) function.
6881    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6882    #[derive(Clone)]
6883    pub struct getAllocatableMagnitudeReturn {
6884        #[allow(missing_docs)]
6885        pub _0: u64,
6886    }
6887    #[allow(
6888        non_camel_case_types,
6889        non_snake_case,
6890        clippy::pub_underscore_fields,
6891        clippy::style
6892    )]
6893    const _: () = {
6894        use alloy::sol_types as alloy_sol_types;
6895        {
6896            #[doc(hidden)]
6897            type UnderlyingSolTuple<'a> = (
6898                alloy::sol_types::sol_data::Address,
6899                alloy::sol_types::sol_data::Address,
6900            );
6901            #[doc(hidden)]
6902            type UnderlyingRustTuple<'a> = (
6903                alloy::sol_types::private::Address,
6904                alloy::sol_types::private::Address,
6905            );
6906            #[cfg(test)]
6907            #[allow(dead_code, unreachable_patterns)]
6908            fn _type_assertion(
6909                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6910            ) {
6911                match _t {
6912                    alloy_sol_types::private::AssertTypeEq::<
6913                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6914                    >(_) => {}
6915                }
6916            }
6917            #[automatically_derived]
6918            #[doc(hidden)]
6919            impl ::core::convert::From<getAllocatableMagnitudeCall>
6920            for UnderlyingRustTuple<'_> {
6921                fn from(value: getAllocatableMagnitudeCall) -> Self {
6922                    (value.operator, value.strategy)
6923                }
6924            }
6925            #[automatically_derived]
6926            #[doc(hidden)]
6927            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6928            for getAllocatableMagnitudeCall {
6929                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6930                    Self {
6931                        operator: tuple.0,
6932                        strategy: tuple.1,
6933                    }
6934                }
6935            }
6936        }
6937        {
6938            #[doc(hidden)]
6939            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6940            #[doc(hidden)]
6941            type UnderlyingRustTuple<'a> = (u64,);
6942            #[cfg(test)]
6943            #[allow(dead_code, unreachable_patterns)]
6944            fn _type_assertion(
6945                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6946            ) {
6947                match _t {
6948                    alloy_sol_types::private::AssertTypeEq::<
6949                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6950                    >(_) => {}
6951                }
6952            }
6953            #[automatically_derived]
6954            #[doc(hidden)]
6955            impl ::core::convert::From<getAllocatableMagnitudeReturn>
6956            for UnderlyingRustTuple<'_> {
6957                fn from(value: getAllocatableMagnitudeReturn) -> Self {
6958                    (value._0,)
6959                }
6960            }
6961            #[automatically_derived]
6962            #[doc(hidden)]
6963            impl ::core::convert::From<UnderlyingRustTuple<'_>>
6964            for getAllocatableMagnitudeReturn {
6965                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6966                    Self { _0: tuple.0 }
6967                }
6968            }
6969        }
6970        #[automatically_derived]
6971        impl alloy_sol_types::SolCall for getAllocatableMagnitudeCall {
6972            type Parameters<'a> = (
6973                alloy::sol_types::sol_data::Address,
6974                alloy::sol_types::sol_data::Address,
6975            );
6976            type Token<'a> = <Self::Parameters<
6977                'a,
6978            > as alloy_sol_types::SolType>::Token<'a>;
6979            type Return = getAllocatableMagnitudeReturn;
6980            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
6981            type ReturnToken<'a> = <Self::ReturnTuple<
6982                'a,
6983            > as alloy_sol_types::SolType>::Token<'a>;
6984            const SIGNATURE: &'static str = "getAllocatableMagnitude(address,address)";
6985            const SELECTOR: [u8; 4] = [108u8, 251u8, 68u8, 129u8];
6986            #[inline]
6987            fn new<'a>(
6988                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6989            ) -> Self {
6990                tuple.into()
6991            }
6992            #[inline]
6993            fn tokenize(&self) -> Self::Token<'_> {
6994                (
6995                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6996                        &self.operator,
6997                    ),
6998                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6999                        &self.strategy,
7000                    ),
7001                )
7002            }
7003            #[inline]
7004            fn abi_decode_returns(
7005                data: &[u8],
7006                validate: bool,
7007            ) -> alloy_sol_types::Result<Self::Return> {
7008                <Self::ReturnTuple<
7009                    '_,
7010                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7011                    .map(Into::into)
7012            }
7013        }
7014    };
7015    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7016    /**Function with signature `getAllocatedSets(address)` and selector `0x15fe5028`.
7017```solidity
7018function getAllocatedSets(address operator) external view returns (OperatorSet[] memory);
7019```*/
7020    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7021    #[derive(Clone)]
7022    pub struct getAllocatedSetsCall {
7023        #[allow(missing_docs)]
7024        pub operator: alloy::sol_types::private::Address,
7025    }
7026    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7027    ///Container type for the return parameters of the [`getAllocatedSets(address)`](getAllocatedSetsCall) function.
7028    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7029    #[derive(Clone)]
7030    pub struct getAllocatedSetsReturn {
7031        #[allow(missing_docs)]
7032        pub _0: alloy::sol_types::private::Vec<
7033            <OperatorSet as alloy::sol_types::SolType>::RustType,
7034        >,
7035    }
7036    #[allow(
7037        non_camel_case_types,
7038        non_snake_case,
7039        clippy::pub_underscore_fields,
7040        clippy::style
7041    )]
7042    const _: () = {
7043        use alloy::sol_types as alloy_sol_types;
7044        {
7045            #[doc(hidden)]
7046            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7047            #[doc(hidden)]
7048            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7049            #[cfg(test)]
7050            #[allow(dead_code, unreachable_patterns)]
7051            fn _type_assertion(
7052                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7053            ) {
7054                match _t {
7055                    alloy_sol_types::private::AssertTypeEq::<
7056                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7057                    >(_) => {}
7058                }
7059            }
7060            #[automatically_derived]
7061            #[doc(hidden)]
7062            impl ::core::convert::From<getAllocatedSetsCall>
7063            for UnderlyingRustTuple<'_> {
7064                fn from(value: getAllocatedSetsCall) -> Self {
7065                    (value.operator,)
7066                }
7067            }
7068            #[automatically_derived]
7069            #[doc(hidden)]
7070            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7071            for getAllocatedSetsCall {
7072                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7073                    Self { operator: tuple.0 }
7074                }
7075            }
7076        }
7077        {
7078            #[doc(hidden)]
7079            type UnderlyingSolTuple<'a> = (
7080                alloy::sol_types::sol_data::Array<OperatorSet>,
7081            );
7082            #[doc(hidden)]
7083            type UnderlyingRustTuple<'a> = (
7084                alloy::sol_types::private::Vec<
7085                    <OperatorSet as alloy::sol_types::SolType>::RustType,
7086                >,
7087            );
7088            #[cfg(test)]
7089            #[allow(dead_code, unreachable_patterns)]
7090            fn _type_assertion(
7091                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7092            ) {
7093                match _t {
7094                    alloy_sol_types::private::AssertTypeEq::<
7095                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7096                    >(_) => {}
7097                }
7098            }
7099            #[automatically_derived]
7100            #[doc(hidden)]
7101            impl ::core::convert::From<getAllocatedSetsReturn>
7102            for UnderlyingRustTuple<'_> {
7103                fn from(value: getAllocatedSetsReturn) -> Self {
7104                    (value._0,)
7105                }
7106            }
7107            #[automatically_derived]
7108            #[doc(hidden)]
7109            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7110            for getAllocatedSetsReturn {
7111                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7112                    Self { _0: tuple.0 }
7113                }
7114            }
7115        }
7116        #[automatically_derived]
7117        impl alloy_sol_types::SolCall for getAllocatedSetsCall {
7118            type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
7119            type Token<'a> = <Self::Parameters<
7120                'a,
7121            > as alloy_sol_types::SolType>::Token<'a>;
7122            type Return = getAllocatedSetsReturn;
7123            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Array<OperatorSet>,);
7124            type ReturnToken<'a> = <Self::ReturnTuple<
7125                'a,
7126            > as alloy_sol_types::SolType>::Token<'a>;
7127            const SIGNATURE: &'static str = "getAllocatedSets(address)";
7128            const SELECTOR: [u8; 4] = [21u8, 254u8, 80u8, 40u8];
7129            #[inline]
7130            fn new<'a>(
7131                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7132            ) -> Self {
7133                tuple.into()
7134            }
7135            #[inline]
7136            fn tokenize(&self) -> Self::Token<'_> {
7137                (
7138                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7139                        &self.operator,
7140                    ),
7141                )
7142            }
7143            #[inline]
7144            fn abi_decode_returns(
7145                data: &[u8],
7146                validate: bool,
7147            ) -> alloy_sol_types::Result<Self::Return> {
7148                <Self::ReturnTuple<
7149                    '_,
7150                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7151                    .map(Into::into)
7152            }
7153        }
7154    };
7155    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7156    /**Function with signature `getAllocatedStake((address,uint32),address[],address[])` and selector `0x2b453a9a`.
7157```solidity
7158function getAllocatedStake(OperatorSet memory operatorSet, address[] memory operators, address[] memory strategies) external view returns (uint256[][] memory slashableStake);
7159```*/
7160    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7161    #[derive(Clone)]
7162    pub struct getAllocatedStakeCall {
7163        #[allow(missing_docs)]
7164        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
7165        #[allow(missing_docs)]
7166        pub operators: alloy::sol_types::private::Vec<
7167            alloy::sol_types::private::Address,
7168        >,
7169        #[allow(missing_docs)]
7170        pub strategies: alloy::sol_types::private::Vec<
7171            alloy::sol_types::private::Address,
7172        >,
7173    }
7174    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7175    ///Container type for the return parameters of the [`getAllocatedStake((address,uint32),address[],address[])`](getAllocatedStakeCall) function.
7176    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7177    #[derive(Clone)]
7178    pub struct getAllocatedStakeReturn {
7179        #[allow(missing_docs)]
7180        pub slashableStake: alloy::sol_types::private::Vec<
7181            alloy::sol_types::private::Vec<
7182                alloy::sol_types::private::primitives::aliases::U256,
7183            >,
7184        >,
7185    }
7186    #[allow(
7187        non_camel_case_types,
7188        non_snake_case,
7189        clippy::pub_underscore_fields,
7190        clippy::style
7191    )]
7192    const _: () = {
7193        use alloy::sol_types as alloy_sol_types;
7194        {
7195            #[doc(hidden)]
7196            type UnderlyingSolTuple<'a> = (
7197                OperatorSet,
7198                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7199                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7200            );
7201            #[doc(hidden)]
7202            type UnderlyingRustTuple<'a> = (
7203                <OperatorSet as alloy::sol_types::SolType>::RustType,
7204                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
7205                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
7206            );
7207            #[cfg(test)]
7208            #[allow(dead_code, unreachable_patterns)]
7209            fn _type_assertion(
7210                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7211            ) {
7212                match _t {
7213                    alloy_sol_types::private::AssertTypeEq::<
7214                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7215                    >(_) => {}
7216                }
7217            }
7218            #[automatically_derived]
7219            #[doc(hidden)]
7220            impl ::core::convert::From<getAllocatedStakeCall>
7221            for UnderlyingRustTuple<'_> {
7222                fn from(value: getAllocatedStakeCall) -> Self {
7223                    (value.operatorSet, value.operators, value.strategies)
7224                }
7225            }
7226            #[automatically_derived]
7227            #[doc(hidden)]
7228            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7229            for getAllocatedStakeCall {
7230                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7231                    Self {
7232                        operatorSet: tuple.0,
7233                        operators: tuple.1,
7234                        strategies: tuple.2,
7235                    }
7236                }
7237            }
7238        }
7239        {
7240            #[doc(hidden)]
7241            type UnderlyingSolTuple<'a> = (
7242                alloy::sol_types::sol_data::Array<
7243                    alloy::sol_types::sol_data::Array<
7244                        alloy::sol_types::sol_data::Uint<256>,
7245                    >,
7246                >,
7247            );
7248            #[doc(hidden)]
7249            type UnderlyingRustTuple<'a> = (
7250                alloy::sol_types::private::Vec<
7251                    alloy::sol_types::private::Vec<
7252                        alloy::sol_types::private::primitives::aliases::U256,
7253                    >,
7254                >,
7255            );
7256            #[cfg(test)]
7257            #[allow(dead_code, unreachable_patterns)]
7258            fn _type_assertion(
7259                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7260            ) {
7261                match _t {
7262                    alloy_sol_types::private::AssertTypeEq::<
7263                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7264                    >(_) => {}
7265                }
7266            }
7267            #[automatically_derived]
7268            #[doc(hidden)]
7269            impl ::core::convert::From<getAllocatedStakeReturn>
7270            for UnderlyingRustTuple<'_> {
7271                fn from(value: getAllocatedStakeReturn) -> Self {
7272                    (value.slashableStake,)
7273                }
7274            }
7275            #[automatically_derived]
7276            #[doc(hidden)]
7277            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7278            for getAllocatedStakeReturn {
7279                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7280                    Self { slashableStake: tuple.0 }
7281                }
7282            }
7283        }
7284        #[automatically_derived]
7285        impl alloy_sol_types::SolCall for getAllocatedStakeCall {
7286            type Parameters<'a> = (
7287                OperatorSet,
7288                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7289                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7290            );
7291            type Token<'a> = <Self::Parameters<
7292                'a,
7293            > as alloy_sol_types::SolType>::Token<'a>;
7294            type Return = getAllocatedStakeReturn;
7295            type ReturnTuple<'a> = (
7296                alloy::sol_types::sol_data::Array<
7297                    alloy::sol_types::sol_data::Array<
7298                        alloy::sol_types::sol_data::Uint<256>,
7299                    >,
7300                >,
7301            );
7302            type ReturnToken<'a> = <Self::ReturnTuple<
7303                'a,
7304            > as alloy_sol_types::SolType>::Token<'a>;
7305            const SIGNATURE: &'static str = "getAllocatedStake((address,uint32),address[],address[])";
7306            const SELECTOR: [u8; 4] = [43u8, 69u8, 58u8, 154u8];
7307            #[inline]
7308            fn new<'a>(
7309                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7310            ) -> Self {
7311                tuple.into()
7312            }
7313            #[inline]
7314            fn tokenize(&self) -> Self::Token<'_> {
7315                (
7316                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
7317                        &self.operatorSet,
7318                    ),
7319                    <alloy::sol_types::sol_data::Array<
7320                        alloy::sol_types::sol_data::Address,
7321                    > as alloy_sol_types::SolType>::tokenize(&self.operators),
7322                    <alloy::sol_types::sol_data::Array<
7323                        alloy::sol_types::sol_data::Address,
7324                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
7325                )
7326            }
7327            #[inline]
7328            fn abi_decode_returns(
7329                data: &[u8],
7330                validate: bool,
7331            ) -> alloy_sol_types::Result<Self::Return> {
7332                <Self::ReturnTuple<
7333                    '_,
7334                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7335                    .map(Into::into)
7336            }
7337        }
7338    };
7339    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7340    /**Function with signature `getAllocatedStrategies(address,(address,uint32))` and selector `0xc221d8ae`.
7341```solidity
7342function getAllocatedStrategies(address operator, OperatorSet memory operatorSet) external view returns (address[] memory);
7343```*/
7344    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7345    #[derive(Clone)]
7346    pub struct getAllocatedStrategiesCall {
7347        #[allow(missing_docs)]
7348        pub operator: alloy::sol_types::private::Address,
7349        #[allow(missing_docs)]
7350        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
7351    }
7352    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7353    ///Container type for the return parameters of the [`getAllocatedStrategies(address,(address,uint32))`](getAllocatedStrategiesCall) function.
7354    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7355    #[derive(Clone)]
7356    pub struct getAllocatedStrategiesReturn {
7357        #[allow(missing_docs)]
7358        pub _0: alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
7359    }
7360    #[allow(
7361        non_camel_case_types,
7362        non_snake_case,
7363        clippy::pub_underscore_fields,
7364        clippy::style
7365    )]
7366    const _: () = {
7367        use alloy::sol_types as alloy_sol_types;
7368        {
7369            #[doc(hidden)]
7370            type UnderlyingSolTuple<'a> = (
7371                alloy::sol_types::sol_data::Address,
7372                OperatorSet,
7373            );
7374            #[doc(hidden)]
7375            type UnderlyingRustTuple<'a> = (
7376                alloy::sol_types::private::Address,
7377                <OperatorSet as alloy::sol_types::SolType>::RustType,
7378            );
7379            #[cfg(test)]
7380            #[allow(dead_code, unreachable_patterns)]
7381            fn _type_assertion(
7382                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7383            ) {
7384                match _t {
7385                    alloy_sol_types::private::AssertTypeEq::<
7386                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7387                    >(_) => {}
7388                }
7389            }
7390            #[automatically_derived]
7391            #[doc(hidden)]
7392            impl ::core::convert::From<getAllocatedStrategiesCall>
7393            for UnderlyingRustTuple<'_> {
7394                fn from(value: getAllocatedStrategiesCall) -> Self {
7395                    (value.operator, value.operatorSet)
7396                }
7397            }
7398            #[automatically_derived]
7399            #[doc(hidden)]
7400            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7401            for getAllocatedStrategiesCall {
7402                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7403                    Self {
7404                        operator: tuple.0,
7405                        operatorSet: tuple.1,
7406                    }
7407                }
7408            }
7409        }
7410        {
7411            #[doc(hidden)]
7412            type UnderlyingSolTuple<'a> = (
7413                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7414            );
7415            #[doc(hidden)]
7416            type UnderlyingRustTuple<'a> = (
7417                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
7418            );
7419            #[cfg(test)]
7420            #[allow(dead_code, unreachable_patterns)]
7421            fn _type_assertion(
7422                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7423            ) {
7424                match _t {
7425                    alloy_sol_types::private::AssertTypeEq::<
7426                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7427                    >(_) => {}
7428                }
7429            }
7430            #[automatically_derived]
7431            #[doc(hidden)]
7432            impl ::core::convert::From<getAllocatedStrategiesReturn>
7433            for UnderlyingRustTuple<'_> {
7434                fn from(value: getAllocatedStrategiesReturn) -> Self {
7435                    (value._0,)
7436                }
7437            }
7438            #[automatically_derived]
7439            #[doc(hidden)]
7440            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7441            for getAllocatedStrategiesReturn {
7442                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7443                    Self { _0: tuple.0 }
7444                }
7445            }
7446        }
7447        #[automatically_derived]
7448        impl alloy_sol_types::SolCall for getAllocatedStrategiesCall {
7449            type Parameters<'a> = (alloy::sol_types::sol_data::Address, OperatorSet);
7450            type Token<'a> = <Self::Parameters<
7451                'a,
7452            > as alloy_sol_types::SolType>::Token<'a>;
7453            type Return = getAllocatedStrategiesReturn;
7454            type ReturnTuple<'a> = (
7455                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7456            );
7457            type ReturnToken<'a> = <Self::ReturnTuple<
7458                'a,
7459            > as alloy_sol_types::SolType>::Token<'a>;
7460            const SIGNATURE: &'static str = "getAllocatedStrategies(address,(address,uint32))";
7461            const SELECTOR: [u8; 4] = [194u8, 33u8, 216u8, 174u8];
7462            #[inline]
7463            fn new<'a>(
7464                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7465            ) -> Self {
7466                tuple.into()
7467            }
7468            #[inline]
7469            fn tokenize(&self) -> Self::Token<'_> {
7470                (
7471                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7472                        &self.operator,
7473                    ),
7474                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
7475                        &self.operatorSet,
7476                    ),
7477                )
7478            }
7479            #[inline]
7480            fn abi_decode_returns(
7481                data: &[u8],
7482                validate: bool,
7483            ) -> alloy_sol_types::Result<Self::Return> {
7484                <Self::ReturnTuple<
7485                    '_,
7486                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7487                    .map(Into::into)
7488            }
7489        }
7490    };
7491    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7492    /**Function with signature `getAllocation(address,(address,uint32),address)` and selector `0x10e1b9b8`.
7493```solidity
7494function getAllocation(address operator, OperatorSet memory operatorSet, address strategy) external view returns (IAllocationManagerTypes.Allocation memory);
7495```*/
7496    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7497    #[derive(Clone)]
7498    pub struct getAllocationCall {
7499        #[allow(missing_docs)]
7500        pub operator: alloy::sol_types::private::Address,
7501        #[allow(missing_docs)]
7502        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
7503        #[allow(missing_docs)]
7504        pub strategy: alloy::sol_types::private::Address,
7505    }
7506    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7507    ///Container type for the return parameters of the [`getAllocation(address,(address,uint32),address)`](getAllocationCall) function.
7508    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7509    #[derive(Clone)]
7510    pub struct getAllocationReturn {
7511        #[allow(missing_docs)]
7512        pub _0: <IAllocationManagerTypes::Allocation as alloy::sol_types::SolType>::RustType,
7513    }
7514    #[allow(
7515        non_camel_case_types,
7516        non_snake_case,
7517        clippy::pub_underscore_fields,
7518        clippy::style
7519    )]
7520    const _: () = {
7521        use alloy::sol_types as alloy_sol_types;
7522        {
7523            #[doc(hidden)]
7524            type UnderlyingSolTuple<'a> = (
7525                alloy::sol_types::sol_data::Address,
7526                OperatorSet,
7527                alloy::sol_types::sol_data::Address,
7528            );
7529            #[doc(hidden)]
7530            type UnderlyingRustTuple<'a> = (
7531                alloy::sol_types::private::Address,
7532                <OperatorSet as alloy::sol_types::SolType>::RustType,
7533                alloy::sol_types::private::Address,
7534            );
7535            #[cfg(test)]
7536            #[allow(dead_code, unreachable_patterns)]
7537            fn _type_assertion(
7538                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7539            ) {
7540                match _t {
7541                    alloy_sol_types::private::AssertTypeEq::<
7542                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7543                    >(_) => {}
7544                }
7545            }
7546            #[automatically_derived]
7547            #[doc(hidden)]
7548            impl ::core::convert::From<getAllocationCall> for UnderlyingRustTuple<'_> {
7549                fn from(value: getAllocationCall) -> Self {
7550                    (value.operator, value.operatorSet, value.strategy)
7551                }
7552            }
7553            #[automatically_derived]
7554            #[doc(hidden)]
7555            impl ::core::convert::From<UnderlyingRustTuple<'_>> for getAllocationCall {
7556                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7557                    Self {
7558                        operator: tuple.0,
7559                        operatorSet: tuple.1,
7560                        strategy: tuple.2,
7561                    }
7562                }
7563            }
7564        }
7565        {
7566            #[doc(hidden)]
7567            type UnderlyingSolTuple<'a> = (IAllocationManagerTypes::Allocation,);
7568            #[doc(hidden)]
7569            type UnderlyingRustTuple<'a> = (
7570                <IAllocationManagerTypes::Allocation as alloy::sol_types::SolType>::RustType,
7571            );
7572            #[cfg(test)]
7573            #[allow(dead_code, unreachable_patterns)]
7574            fn _type_assertion(
7575                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7576            ) {
7577                match _t {
7578                    alloy_sol_types::private::AssertTypeEq::<
7579                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7580                    >(_) => {}
7581                }
7582            }
7583            #[automatically_derived]
7584            #[doc(hidden)]
7585            impl ::core::convert::From<getAllocationReturn> for UnderlyingRustTuple<'_> {
7586                fn from(value: getAllocationReturn) -> Self {
7587                    (value._0,)
7588                }
7589            }
7590            #[automatically_derived]
7591            #[doc(hidden)]
7592            impl ::core::convert::From<UnderlyingRustTuple<'_>> for getAllocationReturn {
7593                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7594                    Self { _0: tuple.0 }
7595                }
7596            }
7597        }
7598        #[automatically_derived]
7599        impl alloy_sol_types::SolCall for getAllocationCall {
7600            type Parameters<'a> = (
7601                alloy::sol_types::sol_data::Address,
7602                OperatorSet,
7603                alloy::sol_types::sol_data::Address,
7604            );
7605            type Token<'a> = <Self::Parameters<
7606                'a,
7607            > as alloy_sol_types::SolType>::Token<'a>;
7608            type Return = getAllocationReturn;
7609            type ReturnTuple<'a> = (IAllocationManagerTypes::Allocation,);
7610            type ReturnToken<'a> = <Self::ReturnTuple<
7611                'a,
7612            > as alloy_sol_types::SolType>::Token<'a>;
7613            const SIGNATURE: &'static str = "getAllocation(address,(address,uint32),address)";
7614            const SELECTOR: [u8; 4] = [16u8, 225u8, 185u8, 184u8];
7615            #[inline]
7616            fn new<'a>(
7617                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7618            ) -> Self {
7619                tuple.into()
7620            }
7621            #[inline]
7622            fn tokenize(&self) -> Self::Token<'_> {
7623                (
7624                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7625                        &self.operator,
7626                    ),
7627                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
7628                        &self.operatorSet,
7629                    ),
7630                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7631                        &self.strategy,
7632                    ),
7633                )
7634            }
7635            #[inline]
7636            fn abi_decode_returns(
7637                data: &[u8],
7638                validate: bool,
7639            ) -> alloy_sol_types::Result<Self::Return> {
7640                <Self::ReturnTuple<
7641                    '_,
7642                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7643                    .map(Into::into)
7644            }
7645        }
7646    };
7647    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7648    /**Function with signature `getAllocationDelay(address)` and selector `0xb9fbaed1`.
7649```solidity
7650function getAllocationDelay(address operator) external view returns (bool isSet, uint32 delay);
7651```*/
7652    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7653    #[derive(Clone)]
7654    pub struct getAllocationDelayCall {
7655        #[allow(missing_docs)]
7656        pub operator: alloy::sol_types::private::Address,
7657    }
7658    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7659    ///Container type for the return parameters of the [`getAllocationDelay(address)`](getAllocationDelayCall) function.
7660    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7661    #[derive(Clone)]
7662    pub struct getAllocationDelayReturn {
7663        #[allow(missing_docs)]
7664        pub isSet: bool,
7665        #[allow(missing_docs)]
7666        pub delay: u32,
7667    }
7668    #[allow(
7669        non_camel_case_types,
7670        non_snake_case,
7671        clippy::pub_underscore_fields,
7672        clippy::style
7673    )]
7674    const _: () = {
7675        use alloy::sol_types as alloy_sol_types;
7676        {
7677            #[doc(hidden)]
7678            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7679            #[doc(hidden)]
7680            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7681            #[cfg(test)]
7682            #[allow(dead_code, unreachable_patterns)]
7683            fn _type_assertion(
7684                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7685            ) {
7686                match _t {
7687                    alloy_sol_types::private::AssertTypeEq::<
7688                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7689                    >(_) => {}
7690                }
7691            }
7692            #[automatically_derived]
7693            #[doc(hidden)]
7694            impl ::core::convert::From<getAllocationDelayCall>
7695            for UnderlyingRustTuple<'_> {
7696                fn from(value: getAllocationDelayCall) -> Self {
7697                    (value.operator,)
7698                }
7699            }
7700            #[automatically_derived]
7701            #[doc(hidden)]
7702            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7703            for getAllocationDelayCall {
7704                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7705                    Self { operator: tuple.0 }
7706                }
7707            }
7708        }
7709        {
7710            #[doc(hidden)]
7711            type UnderlyingSolTuple<'a> = (
7712                alloy::sol_types::sol_data::Bool,
7713                alloy::sol_types::sol_data::Uint<32>,
7714            );
7715            #[doc(hidden)]
7716            type UnderlyingRustTuple<'a> = (bool, u32);
7717            #[cfg(test)]
7718            #[allow(dead_code, unreachable_patterns)]
7719            fn _type_assertion(
7720                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7721            ) {
7722                match _t {
7723                    alloy_sol_types::private::AssertTypeEq::<
7724                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7725                    >(_) => {}
7726                }
7727            }
7728            #[automatically_derived]
7729            #[doc(hidden)]
7730            impl ::core::convert::From<getAllocationDelayReturn>
7731            for UnderlyingRustTuple<'_> {
7732                fn from(value: getAllocationDelayReturn) -> Self {
7733                    (value.isSet, value.delay)
7734                }
7735            }
7736            #[automatically_derived]
7737            #[doc(hidden)]
7738            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7739            for getAllocationDelayReturn {
7740                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7741                    Self {
7742                        isSet: tuple.0,
7743                        delay: tuple.1,
7744                    }
7745                }
7746            }
7747        }
7748        #[automatically_derived]
7749        impl alloy_sol_types::SolCall for getAllocationDelayCall {
7750            type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
7751            type Token<'a> = <Self::Parameters<
7752                'a,
7753            > as alloy_sol_types::SolType>::Token<'a>;
7754            type Return = getAllocationDelayReturn;
7755            type ReturnTuple<'a> = (
7756                alloy::sol_types::sol_data::Bool,
7757                alloy::sol_types::sol_data::Uint<32>,
7758            );
7759            type ReturnToken<'a> = <Self::ReturnTuple<
7760                'a,
7761            > as alloy_sol_types::SolType>::Token<'a>;
7762            const SIGNATURE: &'static str = "getAllocationDelay(address)";
7763            const SELECTOR: [u8; 4] = [185u8, 251u8, 174u8, 209u8];
7764            #[inline]
7765            fn new<'a>(
7766                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7767            ) -> Self {
7768                tuple.into()
7769            }
7770            #[inline]
7771            fn tokenize(&self) -> Self::Token<'_> {
7772                (
7773                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7774                        &self.operator,
7775                    ),
7776                )
7777            }
7778            #[inline]
7779            fn abi_decode_returns(
7780                data: &[u8],
7781                validate: bool,
7782            ) -> alloy_sol_types::Result<Self::Return> {
7783                <Self::ReturnTuple<
7784                    '_,
7785                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7786                    .map(Into::into)
7787            }
7788        }
7789    };
7790    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7791    /**Function with signature `getAllocations(address[],(address,uint32),address)` and selector `0x8ce64854`.
7792```solidity
7793function getAllocations(address[] memory operators, OperatorSet memory operatorSet, address strategy) external view returns (IAllocationManagerTypes.Allocation[] memory);
7794```*/
7795    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7796    #[derive(Clone)]
7797    pub struct getAllocationsCall {
7798        #[allow(missing_docs)]
7799        pub operators: alloy::sol_types::private::Vec<
7800            alloy::sol_types::private::Address,
7801        >,
7802        #[allow(missing_docs)]
7803        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
7804        #[allow(missing_docs)]
7805        pub strategy: alloy::sol_types::private::Address,
7806    }
7807    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7808    ///Container type for the return parameters of the [`getAllocations(address[],(address,uint32),address)`](getAllocationsCall) function.
7809    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7810    #[derive(Clone)]
7811    pub struct getAllocationsReturn {
7812        #[allow(missing_docs)]
7813        pub _0: alloy::sol_types::private::Vec<
7814            <IAllocationManagerTypes::Allocation as alloy::sol_types::SolType>::RustType,
7815        >,
7816    }
7817    #[allow(
7818        non_camel_case_types,
7819        non_snake_case,
7820        clippy::pub_underscore_fields,
7821        clippy::style
7822    )]
7823    const _: () = {
7824        use alloy::sol_types as alloy_sol_types;
7825        {
7826            #[doc(hidden)]
7827            type UnderlyingSolTuple<'a> = (
7828                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7829                OperatorSet,
7830                alloy::sol_types::sol_data::Address,
7831            );
7832            #[doc(hidden)]
7833            type UnderlyingRustTuple<'a> = (
7834                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
7835                <OperatorSet as alloy::sol_types::SolType>::RustType,
7836                alloy::sol_types::private::Address,
7837            );
7838            #[cfg(test)]
7839            #[allow(dead_code, unreachable_patterns)]
7840            fn _type_assertion(
7841                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7842            ) {
7843                match _t {
7844                    alloy_sol_types::private::AssertTypeEq::<
7845                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7846                    >(_) => {}
7847                }
7848            }
7849            #[automatically_derived]
7850            #[doc(hidden)]
7851            impl ::core::convert::From<getAllocationsCall> for UnderlyingRustTuple<'_> {
7852                fn from(value: getAllocationsCall) -> Self {
7853                    (value.operators, value.operatorSet, value.strategy)
7854                }
7855            }
7856            #[automatically_derived]
7857            #[doc(hidden)]
7858            impl ::core::convert::From<UnderlyingRustTuple<'_>> for getAllocationsCall {
7859                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7860                    Self {
7861                        operators: tuple.0,
7862                        operatorSet: tuple.1,
7863                        strategy: tuple.2,
7864                    }
7865                }
7866            }
7867        }
7868        {
7869            #[doc(hidden)]
7870            type UnderlyingSolTuple<'a> = (
7871                alloy::sol_types::sol_data::Array<IAllocationManagerTypes::Allocation>,
7872            );
7873            #[doc(hidden)]
7874            type UnderlyingRustTuple<'a> = (
7875                alloy::sol_types::private::Vec<
7876                    <IAllocationManagerTypes::Allocation as alloy::sol_types::SolType>::RustType,
7877                >,
7878            );
7879            #[cfg(test)]
7880            #[allow(dead_code, unreachable_patterns)]
7881            fn _type_assertion(
7882                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7883            ) {
7884                match _t {
7885                    alloy_sol_types::private::AssertTypeEq::<
7886                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7887                    >(_) => {}
7888                }
7889            }
7890            #[automatically_derived]
7891            #[doc(hidden)]
7892            impl ::core::convert::From<getAllocationsReturn>
7893            for UnderlyingRustTuple<'_> {
7894                fn from(value: getAllocationsReturn) -> Self {
7895                    (value._0,)
7896                }
7897            }
7898            #[automatically_derived]
7899            #[doc(hidden)]
7900            impl ::core::convert::From<UnderlyingRustTuple<'_>>
7901            for getAllocationsReturn {
7902                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7903                    Self { _0: tuple.0 }
7904                }
7905            }
7906        }
7907        #[automatically_derived]
7908        impl alloy_sol_types::SolCall for getAllocationsCall {
7909            type Parameters<'a> = (
7910                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
7911                OperatorSet,
7912                alloy::sol_types::sol_data::Address,
7913            );
7914            type Token<'a> = <Self::Parameters<
7915                'a,
7916            > as alloy_sol_types::SolType>::Token<'a>;
7917            type Return = getAllocationsReturn;
7918            type ReturnTuple<'a> = (
7919                alloy::sol_types::sol_data::Array<IAllocationManagerTypes::Allocation>,
7920            );
7921            type ReturnToken<'a> = <Self::ReturnTuple<
7922                'a,
7923            > as alloy_sol_types::SolType>::Token<'a>;
7924            const SIGNATURE: &'static str = "getAllocations(address[],(address,uint32),address)";
7925            const SELECTOR: [u8; 4] = [140u8, 230u8, 72u8, 84u8];
7926            #[inline]
7927            fn new<'a>(
7928                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7929            ) -> Self {
7930                tuple.into()
7931            }
7932            #[inline]
7933            fn tokenize(&self) -> Self::Token<'_> {
7934                (
7935                    <alloy::sol_types::sol_data::Array<
7936                        alloy::sol_types::sol_data::Address,
7937                    > as alloy_sol_types::SolType>::tokenize(&self.operators),
7938                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
7939                        &self.operatorSet,
7940                    ),
7941                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7942                        &self.strategy,
7943                    ),
7944                )
7945            }
7946            #[inline]
7947            fn abi_decode_returns(
7948                data: &[u8],
7949                validate: bool,
7950            ) -> alloy_sol_types::Result<Self::Return> {
7951                <Self::ReturnTuple<
7952                    '_,
7953                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
7954                    .map(Into::into)
7955            }
7956        }
7957    };
7958    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7959    /**Function with signature `getEncumberedMagnitude(address,address)` and selector `0xf605ce08`.
7960```solidity
7961function getEncumberedMagnitude(address operator, address strategy) external view returns (uint64);
7962```*/
7963    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7964    #[derive(Clone)]
7965    pub struct getEncumberedMagnitudeCall {
7966        #[allow(missing_docs)]
7967        pub operator: alloy::sol_types::private::Address,
7968        #[allow(missing_docs)]
7969        pub strategy: alloy::sol_types::private::Address,
7970    }
7971    #[derive(Default, Debug, PartialEq, Eq, Hash)]
7972    ///Container type for the return parameters of the [`getEncumberedMagnitude(address,address)`](getEncumberedMagnitudeCall) function.
7973    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7974    #[derive(Clone)]
7975    pub struct getEncumberedMagnitudeReturn {
7976        #[allow(missing_docs)]
7977        pub _0: u64,
7978    }
7979    #[allow(
7980        non_camel_case_types,
7981        non_snake_case,
7982        clippy::pub_underscore_fields,
7983        clippy::style
7984    )]
7985    const _: () = {
7986        use alloy::sol_types as alloy_sol_types;
7987        {
7988            #[doc(hidden)]
7989            type UnderlyingSolTuple<'a> = (
7990                alloy::sol_types::sol_data::Address,
7991                alloy::sol_types::sol_data::Address,
7992            );
7993            #[doc(hidden)]
7994            type UnderlyingRustTuple<'a> = (
7995                alloy::sol_types::private::Address,
7996                alloy::sol_types::private::Address,
7997            );
7998            #[cfg(test)]
7999            #[allow(dead_code, unreachable_patterns)]
8000            fn _type_assertion(
8001                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8002            ) {
8003                match _t {
8004                    alloy_sol_types::private::AssertTypeEq::<
8005                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8006                    >(_) => {}
8007                }
8008            }
8009            #[automatically_derived]
8010            #[doc(hidden)]
8011            impl ::core::convert::From<getEncumberedMagnitudeCall>
8012            for UnderlyingRustTuple<'_> {
8013                fn from(value: getEncumberedMagnitudeCall) -> Self {
8014                    (value.operator, value.strategy)
8015                }
8016            }
8017            #[automatically_derived]
8018            #[doc(hidden)]
8019            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8020            for getEncumberedMagnitudeCall {
8021                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8022                    Self {
8023                        operator: tuple.0,
8024                        strategy: tuple.1,
8025                    }
8026                }
8027            }
8028        }
8029        {
8030            #[doc(hidden)]
8031            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
8032            #[doc(hidden)]
8033            type UnderlyingRustTuple<'a> = (u64,);
8034            #[cfg(test)]
8035            #[allow(dead_code, unreachable_patterns)]
8036            fn _type_assertion(
8037                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8038            ) {
8039                match _t {
8040                    alloy_sol_types::private::AssertTypeEq::<
8041                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8042                    >(_) => {}
8043                }
8044            }
8045            #[automatically_derived]
8046            #[doc(hidden)]
8047            impl ::core::convert::From<getEncumberedMagnitudeReturn>
8048            for UnderlyingRustTuple<'_> {
8049                fn from(value: getEncumberedMagnitudeReturn) -> Self {
8050                    (value._0,)
8051                }
8052            }
8053            #[automatically_derived]
8054            #[doc(hidden)]
8055            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8056            for getEncumberedMagnitudeReturn {
8057                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8058                    Self { _0: tuple.0 }
8059                }
8060            }
8061        }
8062        #[automatically_derived]
8063        impl alloy_sol_types::SolCall for getEncumberedMagnitudeCall {
8064            type Parameters<'a> = (
8065                alloy::sol_types::sol_data::Address,
8066                alloy::sol_types::sol_data::Address,
8067            );
8068            type Token<'a> = <Self::Parameters<
8069                'a,
8070            > as alloy_sol_types::SolType>::Token<'a>;
8071            type Return = getEncumberedMagnitudeReturn;
8072            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
8073            type ReturnToken<'a> = <Self::ReturnTuple<
8074                'a,
8075            > as alloy_sol_types::SolType>::Token<'a>;
8076            const SIGNATURE: &'static str = "getEncumberedMagnitude(address,address)";
8077            const SELECTOR: [u8; 4] = [246u8, 5u8, 206u8, 8u8];
8078            #[inline]
8079            fn new<'a>(
8080                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8081            ) -> Self {
8082                tuple.into()
8083            }
8084            #[inline]
8085            fn tokenize(&self) -> Self::Token<'_> {
8086                (
8087                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8088                        &self.operator,
8089                    ),
8090                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8091                        &self.strategy,
8092                    ),
8093                )
8094            }
8095            #[inline]
8096            fn abi_decode_returns(
8097                data: &[u8],
8098                validate: bool,
8099            ) -> alloy_sol_types::Result<Self::Return> {
8100                <Self::ReturnTuple<
8101                    '_,
8102                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8103                    .map(Into::into)
8104            }
8105        }
8106    };
8107    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8108    /**Function with signature `getMaxMagnitude(address,address)` and selector `0xa9333ec8`.
8109```solidity
8110function getMaxMagnitude(address operator, address strategy) external view returns (uint64);
8111```*/
8112    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8113    #[derive(Clone)]
8114    pub struct getMaxMagnitudeCall {
8115        #[allow(missing_docs)]
8116        pub operator: alloy::sol_types::private::Address,
8117        #[allow(missing_docs)]
8118        pub strategy: alloy::sol_types::private::Address,
8119    }
8120    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8121    ///Container type for the return parameters of the [`getMaxMagnitude(address,address)`](getMaxMagnitudeCall) function.
8122    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8123    #[derive(Clone)]
8124    pub struct getMaxMagnitudeReturn {
8125        #[allow(missing_docs)]
8126        pub _0: u64,
8127    }
8128    #[allow(
8129        non_camel_case_types,
8130        non_snake_case,
8131        clippy::pub_underscore_fields,
8132        clippy::style
8133    )]
8134    const _: () = {
8135        use alloy::sol_types as alloy_sol_types;
8136        {
8137            #[doc(hidden)]
8138            type UnderlyingSolTuple<'a> = (
8139                alloy::sol_types::sol_data::Address,
8140                alloy::sol_types::sol_data::Address,
8141            );
8142            #[doc(hidden)]
8143            type UnderlyingRustTuple<'a> = (
8144                alloy::sol_types::private::Address,
8145                alloy::sol_types::private::Address,
8146            );
8147            #[cfg(test)]
8148            #[allow(dead_code, unreachable_patterns)]
8149            fn _type_assertion(
8150                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8151            ) {
8152                match _t {
8153                    alloy_sol_types::private::AssertTypeEq::<
8154                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8155                    >(_) => {}
8156                }
8157            }
8158            #[automatically_derived]
8159            #[doc(hidden)]
8160            impl ::core::convert::From<getMaxMagnitudeCall> for UnderlyingRustTuple<'_> {
8161                fn from(value: getMaxMagnitudeCall) -> Self {
8162                    (value.operator, value.strategy)
8163                }
8164            }
8165            #[automatically_derived]
8166            #[doc(hidden)]
8167            impl ::core::convert::From<UnderlyingRustTuple<'_>> for getMaxMagnitudeCall {
8168                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8169                    Self {
8170                        operator: tuple.0,
8171                        strategy: tuple.1,
8172                    }
8173                }
8174            }
8175        }
8176        {
8177            #[doc(hidden)]
8178            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
8179            #[doc(hidden)]
8180            type UnderlyingRustTuple<'a> = (u64,);
8181            #[cfg(test)]
8182            #[allow(dead_code, unreachable_patterns)]
8183            fn _type_assertion(
8184                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8185            ) {
8186                match _t {
8187                    alloy_sol_types::private::AssertTypeEq::<
8188                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8189                    >(_) => {}
8190                }
8191            }
8192            #[automatically_derived]
8193            #[doc(hidden)]
8194            impl ::core::convert::From<getMaxMagnitudeReturn>
8195            for UnderlyingRustTuple<'_> {
8196                fn from(value: getMaxMagnitudeReturn) -> Self {
8197                    (value._0,)
8198                }
8199            }
8200            #[automatically_derived]
8201            #[doc(hidden)]
8202            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8203            for getMaxMagnitudeReturn {
8204                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8205                    Self { _0: tuple.0 }
8206                }
8207            }
8208        }
8209        #[automatically_derived]
8210        impl alloy_sol_types::SolCall for getMaxMagnitudeCall {
8211            type Parameters<'a> = (
8212                alloy::sol_types::sol_data::Address,
8213                alloy::sol_types::sol_data::Address,
8214            );
8215            type Token<'a> = <Self::Parameters<
8216                'a,
8217            > as alloy_sol_types::SolType>::Token<'a>;
8218            type Return = getMaxMagnitudeReturn;
8219            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
8220            type ReturnToken<'a> = <Self::ReturnTuple<
8221                'a,
8222            > as alloy_sol_types::SolType>::Token<'a>;
8223            const SIGNATURE: &'static str = "getMaxMagnitude(address,address)";
8224            const SELECTOR: [u8; 4] = [169u8, 51u8, 62u8, 200u8];
8225            #[inline]
8226            fn new<'a>(
8227                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8228            ) -> Self {
8229                tuple.into()
8230            }
8231            #[inline]
8232            fn tokenize(&self) -> Self::Token<'_> {
8233                (
8234                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8235                        &self.operator,
8236                    ),
8237                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8238                        &self.strategy,
8239                    ),
8240                )
8241            }
8242            #[inline]
8243            fn abi_decode_returns(
8244                data: &[u8],
8245                validate: bool,
8246            ) -> alloy_sol_types::Result<Self::Return> {
8247                <Self::ReturnTuple<
8248                    '_,
8249                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8250                    .map(Into::into)
8251            }
8252        }
8253    };
8254    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8255    /**Function with signature `getMaxMagnitudes(address[],address)` and selector `0x4a10ffe5`.
8256```solidity
8257function getMaxMagnitudes(address[] memory operators, address strategy) external view returns (uint64[] memory);
8258```*/
8259    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8260    #[derive(Clone)]
8261    pub struct getMaxMagnitudes_0Call {
8262        #[allow(missing_docs)]
8263        pub operators: alloy::sol_types::private::Vec<
8264            alloy::sol_types::private::Address,
8265        >,
8266        #[allow(missing_docs)]
8267        pub strategy: alloy::sol_types::private::Address,
8268    }
8269    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8270    ///Container type for the return parameters of the [`getMaxMagnitudes(address[],address)`](getMaxMagnitudes_0Call) function.
8271    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8272    #[derive(Clone)]
8273    pub struct getMaxMagnitudes_0Return {
8274        #[allow(missing_docs)]
8275        pub _0: alloy::sol_types::private::Vec<u64>,
8276    }
8277    #[allow(
8278        non_camel_case_types,
8279        non_snake_case,
8280        clippy::pub_underscore_fields,
8281        clippy::style
8282    )]
8283    const _: () = {
8284        use alloy::sol_types as alloy_sol_types;
8285        {
8286            #[doc(hidden)]
8287            type UnderlyingSolTuple<'a> = (
8288                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8289                alloy::sol_types::sol_data::Address,
8290            );
8291            #[doc(hidden)]
8292            type UnderlyingRustTuple<'a> = (
8293                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
8294                alloy::sol_types::private::Address,
8295            );
8296            #[cfg(test)]
8297            #[allow(dead_code, unreachable_patterns)]
8298            fn _type_assertion(
8299                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8300            ) {
8301                match _t {
8302                    alloy_sol_types::private::AssertTypeEq::<
8303                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8304                    >(_) => {}
8305                }
8306            }
8307            #[automatically_derived]
8308            #[doc(hidden)]
8309            impl ::core::convert::From<getMaxMagnitudes_0Call>
8310            for UnderlyingRustTuple<'_> {
8311                fn from(value: getMaxMagnitudes_0Call) -> Self {
8312                    (value.operators, value.strategy)
8313                }
8314            }
8315            #[automatically_derived]
8316            #[doc(hidden)]
8317            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8318            for getMaxMagnitudes_0Call {
8319                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8320                    Self {
8321                        operators: tuple.0,
8322                        strategy: tuple.1,
8323                    }
8324                }
8325            }
8326        }
8327        {
8328            #[doc(hidden)]
8329            type UnderlyingSolTuple<'a> = (
8330                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<64>>,
8331            );
8332            #[doc(hidden)]
8333            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Vec<u64>,);
8334            #[cfg(test)]
8335            #[allow(dead_code, unreachable_patterns)]
8336            fn _type_assertion(
8337                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8338            ) {
8339                match _t {
8340                    alloy_sol_types::private::AssertTypeEq::<
8341                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8342                    >(_) => {}
8343                }
8344            }
8345            #[automatically_derived]
8346            #[doc(hidden)]
8347            impl ::core::convert::From<getMaxMagnitudes_0Return>
8348            for UnderlyingRustTuple<'_> {
8349                fn from(value: getMaxMagnitudes_0Return) -> Self {
8350                    (value._0,)
8351                }
8352            }
8353            #[automatically_derived]
8354            #[doc(hidden)]
8355            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8356            for getMaxMagnitudes_0Return {
8357                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8358                    Self { _0: tuple.0 }
8359                }
8360            }
8361        }
8362        #[automatically_derived]
8363        impl alloy_sol_types::SolCall for getMaxMagnitudes_0Call {
8364            type Parameters<'a> = (
8365                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8366                alloy::sol_types::sol_data::Address,
8367            );
8368            type Token<'a> = <Self::Parameters<
8369                'a,
8370            > as alloy_sol_types::SolType>::Token<'a>;
8371            type Return = getMaxMagnitudes_0Return;
8372            type ReturnTuple<'a> = (
8373                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<64>>,
8374            );
8375            type ReturnToken<'a> = <Self::ReturnTuple<
8376                'a,
8377            > as alloy_sol_types::SolType>::Token<'a>;
8378            const SIGNATURE: &'static str = "getMaxMagnitudes(address[],address)";
8379            const SELECTOR: [u8; 4] = [74u8, 16u8, 255u8, 229u8];
8380            #[inline]
8381            fn new<'a>(
8382                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8383            ) -> Self {
8384                tuple.into()
8385            }
8386            #[inline]
8387            fn tokenize(&self) -> Self::Token<'_> {
8388                (
8389                    <alloy::sol_types::sol_data::Array<
8390                        alloy::sol_types::sol_data::Address,
8391                    > as alloy_sol_types::SolType>::tokenize(&self.operators),
8392                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8393                        &self.strategy,
8394                    ),
8395                )
8396            }
8397            #[inline]
8398            fn abi_decode_returns(
8399                data: &[u8],
8400                validate: bool,
8401            ) -> alloy_sol_types::Result<Self::Return> {
8402                <Self::ReturnTuple<
8403                    '_,
8404                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8405                    .map(Into::into)
8406            }
8407        }
8408    };
8409    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8410    /**Function with signature `getMaxMagnitudes(address,address[])` and selector `0x547afb87`.
8411```solidity
8412function getMaxMagnitudes(address operator, address[] memory strategies) external view returns (uint64[] memory);
8413```*/
8414    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8415    #[derive(Clone)]
8416    pub struct getMaxMagnitudes_1Call {
8417        #[allow(missing_docs)]
8418        pub operator: alloy::sol_types::private::Address,
8419        #[allow(missing_docs)]
8420        pub strategies: alloy::sol_types::private::Vec<
8421            alloy::sol_types::private::Address,
8422        >,
8423    }
8424    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8425    ///Container type for the return parameters of the [`getMaxMagnitudes(address,address[])`](getMaxMagnitudes_1Call) function.
8426    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8427    #[derive(Clone)]
8428    pub struct getMaxMagnitudes_1Return {
8429        #[allow(missing_docs)]
8430        pub _0: alloy::sol_types::private::Vec<u64>,
8431    }
8432    #[allow(
8433        non_camel_case_types,
8434        non_snake_case,
8435        clippy::pub_underscore_fields,
8436        clippy::style
8437    )]
8438    const _: () = {
8439        use alloy::sol_types as alloy_sol_types;
8440        {
8441            #[doc(hidden)]
8442            type UnderlyingSolTuple<'a> = (
8443                alloy::sol_types::sol_data::Address,
8444                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8445            );
8446            #[doc(hidden)]
8447            type UnderlyingRustTuple<'a> = (
8448                alloy::sol_types::private::Address,
8449                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
8450            );
8451            #[cfg(test)]
8452            #[allow(dead_code, unreachable_patterns)]
8453            fn _type_assertion(
8454                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8455            ) {
8456                match _t {
8457                    alloy_sol_types::private::AssertTypeEq::<
8458                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8459                    >(_) => {}
8460                }
8461            }
8462            #[automatically_derived]
8463            #[doc(hidden)]
8464            impl ::core::convert::From<getMaxMagnitudes_1Call>
8465            for UnderlyingRustTuple<'_> {
8466                fn from(value: getMaxMagnitudes_1Call) -> Self {
8467                    (value.operator, value.strategies)
8468                }
8469            }
8470            #[automatically_derived]
8471            #[doc(hidden)]
8472            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8473            for getMaxMagnitudes_1Call {
8474                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8475                    Self {
8476                        operator: tuple.0,
8477                        strategies: tuple.1,
8478                    }
8479                }
8480            }
8481        }
8482        {
8483            #[doc(hidden)]
8484            type UnderlyingSolTuple<'a> = (
8485                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<64>>,
8486            );
8487            #[doc(hidden)]
8488            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Vec<u64>,);
8489            #[cfg(test)]
8490            #[allow(dead_code, unreachable_patterns)]
8491            fn _type_assertion(
8492                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8493            ) {
8494                match _t {
8495                    alloy_sol_types::private::AssertTypeEq::<
8496                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8497                    >(_) => {}
8498                }
8499            }
8500            #[automatically_derived]
8501            #[doc(hidden)]
8502            impl ::core::convert::From<getMaxMagnitudes_1Return>
8503            for UnderlyingRustTuple<'_> {
8504                fn from(value: getMaxMagnitudes_1Return) -> Self {
8505                    (value._0,)
8506                }
8507            }
8508            #[automatically_derived]
8509            #[doc(hidden)]
8510            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8511            for getMaxMagnitudes_1Return {
8512                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8513                    Self { _0: tuple.0 }
8514                }
8515            }
8516        }
8517        #[automatically_derived]
8518        impl alloy_sol_types::SolCall for getMaxMagnitudes_1Call {
8519            type Parameters<'a> = (
8520                alloy::sol_types::sol_data::Address,
8521                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8522            );
8523            type Token<'a> = <Self::Parameters<
8524                'a,
8525            > as alloy_sol_types::SolType>::Token<'a>;
8526            type Return = getMaxMagnitudes_1Return;
8527            type ReturnTuple<'a> = (
8528                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<64>>,
8529            );
8530            type ReturnToken<'a> = <Self::ReturnTuple<
8531                'a,
8532            > as alloy_sol_types::SolType>::Token<'a>;
8533            const SIGNATURE: &'static str = "getMaxMagnitudes(address,address[])";
8534            const SELECTOR: [u8; 4] = [84u8, 122u8, 251u8, 135u8];
8535            #[inline]
8536            fn new<'a>(
8537                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8538            ) -> Self {
8539                tuple.into()
8540            }
8541            #[inline]
8542            fn tokenize(&self) -> Self::Token<'_> {
8543                (
8544                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8545                        &self.operator,
8546                    ),
8547                    <alloy::sol_types::sol_data::Array<
8548                        alloy::sol_types::sol_data::Address,
8549                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
8550                )
8551            }
8552            #[inline]
8553            fn abi_decode_returns(
8554                data: &[u8],
8555                validate: bool,
8556            ) -> alloy_sol_types::Result<Self::Return> {
8557                <Self::ReturnTuple<
8558                    '_,
8559                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8560                    .map(Into::into)
8561            }
8562        }
8563    };
8564    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8565    /**Function with signature `getMaxMagnitudesAtBlock(address,address[],uint32)` and selector `0x94d7d00c`.
8566```solidity
8567function getMaxMagnitudesAtBlock(address operator, address[] memory strategies, uint32 blockNumber) external view returns (uint64[] memory);
8568```*/
8569    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8570    #[derive(Clone)]
8571    pub struct getMaxMagnitudesAtBlockCall {
8572        #[allow(missing_docs)]
8573        pub operator: alloy::sol_types::private::Address,
8574        #[allow(missing_docs)]
8575        pub strategies: alloy::sol_types::private::Vec<
8576            alloy::sol_types::private::Address,
8577        >,
8578        #[allow(missing_docs)]
8579        pub blockNumber: u32,
8580    }
8581    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8582    ///Container type for the return parameters of the [`getMaxMagnitudesAtBlock(address,address[],uint32)`](getMaxMagnitudesAtBlockCall) function.
8583    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8584    #[derive(Clone)]
8585    pub struct getMaxMagnitudesAtBlockReturn {
8586        #[allow(missing_docs)]
8587        pub _0: alloy::sol_types::private::Vec<u64>,
8588    }
8589    #[allow(
8590        non_camel_case_types,
8591        non_snake_case,
8592        clippy::pub_underscore_fields,
8593        clippy::style
8594    )]
8595    const _: () = {
8596        use alloy::sol_types as alloy_sol_types;
8597        {
8598            #[doc(hidden)]
8599            type UnderlyingSolTuple<'a> = (
8600                alloy::sol_types::sol_data::Address,
8601                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8602                alloy::sol_types::sol_data::Uint<32>,
8603            );
8604            #[doc(hidden)]
8605            type UnderlyingRustTuple<'a> = (
8606                alloy::sol_types::private::Address,
8607                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
8608                u32,
8609            );
8610            #[cfg(test)]
8611            #[allow(dead_code, unreachable_patterns)]
8612            fn _type_assertion(
8613                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8614            ) {
8615                match _t {
8616                    alloy_sol_types::private::AssertTypeEq::<
8617                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8618                    >(_) => {}
8619                }
8620            }
8621            #[automatically_derived]
8622            #[doc(hidden)]
8623            impl ::core::convert::From<getMaxMagnitudesAtBlockCall>
8624            for UnderlyingRustTuple<'_> {
8625                fn from(value: getMaxMagnitudesAtBlockCall) -> Self {
8626                    (value.operator, value.strategies, value.blockNumber)
8627                }
8628            }
8629            #[automatically_derived]
8630            #[doc(hidden)]
8631            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8632            for getMaxMagnitudesAtBlockCall {
8633                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8634                    Self {
8635                        operator: tuple.0,
8636                        strategies: tuple.1,
8637                        blockNumber: tuple.2,
8638                    }
8639                }
8640            }
8641        }
8642        {
8643            #[doc(hidden)]
8644            type UnderlyingSolTuple<'a> = (
8645                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<64>>,
8646            );
8647            #[doc(hidden)]
8648            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Vec<u64>,);
8649            #[cfg(test)]
8650            #[allow(dead_code, unreachable_patterns)]
8651            fn _type_assertion(
8652                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8653            ) {
8654                match _t {
8655                    alloy_sol_types::private::AssertTypeEq::<
8656                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8657                    >(_) => {}
8658                }
8659            }
8660            #[automatically_derived]
8661            #[doc(hidden)]
8662            impl ::core::convert::From<getMaxMagnitudesAtBlockReturn>
8663            for UnderlyingRustTuple<'_> {
8664                fn from(value: getMaxMagnitudesAtBlockReturn) -> Self {
8665                    (value._0,)
8666                }
8667            }
8668            #[automatically_derived]
8669            #[doc(hidden)]
8670            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8671            for getMaxMagnitudesAtBlockReturn {
8672                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8673                    Self { _0: tuple.0 }
8674                }
8675            }
8676        }
8677        #[automatically_derived]
8678        impl alloy_sol_types::SolCall for getMaxMagnitudesAtBlockCall {
8679            type Parameters<'a> = (
8680                alloy::sol_types::sol_data::Address,
8681                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8682                alloy::sol_types::sol_data::Uint<32>,
8683            );
8684            type Token<'a> = <Self::Parameters<
8685                'a,
8686            > as alloy_sol_types::SolType>::Token<'a>;
8687            type Return = getMaxMagnitudesAtBlockReturn;
8688            type ReturnTuple<'a> = (
8689                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<64>>,
8690            );
8691            type ReturnToken<'a> = <Self::ReturnTuple<
8692                'a,
8693            > as alloy_sol_types::SolType>::Token<'a>;
8694            const SIGNATURE: &'static str = "getMaxMagnitudesAtBlock(address,address[],uint32)";
8695            const SELECTOR: [u8; 4] = [148u8, 215u8, 208u8, 12u8];
8696            #[inline]
8697            fn new<'a>(
8698                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8699            ) -> Self {
8700                tuple.into()
8701            }
8702            #[inline]
8703            fn tokenize(&self) -> Self::Token<'_> {
8704                (
8705                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8706                        &self.operator,
8707                    ),
8708                    <alloy::sol_types::sol_data::Array<
8709                        alloy::sol_types::sol_data::Address,
8710                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
8711                    <alloy::sol_types::sol_data::Uint<
8712                        32,
8713                    > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
8714                )
8715            }
8716            #[inline]
8717            fn abi_decode_returns(
8718                data: &[u8],
8719                validate: bool,
8720            ) -> alloy_sol_types::Result<Self::Return> {
8721                <Self::ReturnTuple<
8722                    '_,
8723                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8724                    .map(Into::into)
8725            }
8726        }
8727    };
8728    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8729    /**Function with signature `getMemberCount((address,uint32))` and selector `0xb2447af7`.
8730```solidity
8731function getMemberCount(OperatorSet memory operatorSet) external view returns (uint256);
8732```*/
8733    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8734    #[derive(Clone)]
8735    pub struct getMemberCountCall {
8736        #[allow(missing_docs)]
8737        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
8738    }
8739    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8740    ///Container type for the return parameters of the [`getMemberCount((address,uint32))`](getMemberCountCall) function.
8741    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8742    #[derive(Clone)]
8743    pub struct getMemberCountReturn {
8744        #[allow(missing_docs)]
8745        pub _0: alloy::sol_types::private::primitives::aliases::U256,
8746    }
8747    #[allow(
8748        non_camel_case_types,
8749        non_snake_case,
8750        clippy::pub_underscore_fields,
8751        clippy::style
8752    )]
8753    const _: () = {
8754        use alloy::sol_types as alloy_sol_types;
8755        {
8756            #[doc(hidden)]
8757            type UnderlyingSolTuple<'a> = (OperatorSet,);
8758            #[doc(hidden)]
8759            type UnderlyingRustTuple<'a> = (
8760                <OperatorSet as alloy::sol_types::SolType>::RustType,
8761            );
8762            #[cfg(test)]
8763            #[allow(dead_code, unreachable_patterns)]
8764            fn _type_assertion(
8765                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8766            ) {
8767                match _t {
8768                    alloy_sol_types::private::AssertTypeEq::<
8769                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8770                    >(_) => {}
8771                }
8772            }
8773            #[automatically_derived]
8774            #[doc(hidden)]
8775            impl ::core::convert::From<getMemberCountCall> for UnderlyingRustTuple<'_> {
8776                fn from(value: getMemberCountCall) -> Self {
8777                    (value.operatorSet,)
8778                }
8779            }
8780            #[automatically_derived]
8781            #[doc(hidden)]
8782            impl ::core::convert::From<UnderlyingRustTuple<'_>> for getMemberCountCall {
8783                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8784                    Self { operatorSet: tuple.0 }
8785                }
8786            }
8787        }
8788        {
8789            #[doc(hidden)]
8790            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
8791            #[doc(hidden)]
8792            type UnderlyingRustTuple<'a> = (
8793                alloy::sol_types::private::primitives::aliases::U256,
8794            );
8795            #[cfg(test)]
8796            #[allow(dead_code, unreachable_patterns)]
8797            fn _type_assertion(
8798                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8799            ) {
8800                match _t {
8801                    alloy_sol_types::private::AssertTypeEq::<
8802                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8803                    >(_) => {}
8804                }
8805            }
8806            #[automatically_derived]
8807            #[doc(hidden)]
8808            impl ::core::convert::From<getMemberCountReturn>
8809            for UnderlyingRustTuple<'_> {
8810                fn from(value: getMemberCountReturn) -> Self {
8811                    (value._0,)
8812                }
8813            }
8814            #[automatically_derived]
8815            #[doc(hidden)]
8816            impl ::core::convert::From<UnderlyingRustTuple<'_>>
8817            for getMemberCountReturn {
8818                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8819                    Self { _0: tuple.0 }
8820                }
8821            }
8822        }
8823        #[automatically_derived]
8824        impl alloy_sol_types::SolCall for getMemberCountCall {
8825            type Parameters<'a> = (OperatorSet,);
8826            type Token<'a> = <Self::Parameters<
8827                'a,
8828            > as alloy_sol_types::SolType>::Token<'a>;
8829            type Return = getMemberCountReturn;
8830            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
8831            type ReturnToken<'a> = <Self::ReturnTuple<
8832                'a,
8833            > as alloy_sol_types::SolType>::Token<'a>;
8834            const SIGNATURE: &'static str = "getMemberCount((address,uint32))";
8835            const SELECTOR: [u8; 4] = [178u8, 68u8, 122u8, 247u8];
8836            #[inline]
8837            fn new<'a>(
8838                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8839            ) -> Self {
8840                tuple.into()
8841            }
8842            #[inline]
8843            fn tokenize(&self) -> Self::Token<'_> {
8844                (<OperatorSet as alloy_sol_types::SolType>::tokenize(&self.operatorSet),)
8845            }
8846            #[inline]
8847            fn abi_decode_returns(
8848                data: &[u8],
8849                validate: bool,
8850            ) -> alloy_sol_types::Result<Self::Return> {
8851                <Self::ReturnTuple<
8852                    '_,
8853                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8854                    .map(Into::into)
8855            }
8856        }
8857    };
8858    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8859    /**Function with signature `getMembers((address,uint32))` and selector `0x6e875dba`.
8860```solidity
8861function getMembers(OperatorSet memory operatorSet) external view returns (address[] memory operators);
8862```*/
8863    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8864    #[derive(Clone)]
8865    pub struct getMembersCall {
8866        #[allow(missing_docs)]
8867        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
8868    }
8869    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8870    ///Container type for the return parameters of the [`getMembers((address,uint32))`](getMembersCall) function.
8871    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8872    #[derive(Clone)]
8873    pub struct getMembersReturn {
8874        #[allow(missing_docs)]
8875        pub operators: alloy::sol_types::private::Vec<
8876            alloy::sol_types::private::Address,
8877        >,
8878    }
8879    #[allow(
8880        non_camel_case_types,
8881        non_snake_case,
8882        clippy::pub_underscore_fields,
8883        clippy::style
8884    )]
8885    const _: () = {
8886        use alloy::sol_types as alloy_sol_types;
8887        {
8888            #[doc(hidden)]
8889            type UnderlyingSolTuple<'a> = (OperatorSet,);
8890            #[doc(hidden)]
8891            type UnderlyingRustTuple<'a> = (
8892                <OperatorSet as alloy::sol_types::SolType>::RustType,
8893            );
8894            #[cfg(test)]
8895            #[allow(dead_code, unreachable_patterns)]
8896            fn _type_assertion(
8897                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8898            ) {
8899                match _t {
8900                    alloy_sol_types::private::AssertTypeEq::<
8901                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8902                    >(_) => {}
8903                }
8904            }
8905            #[automatically_derived]
8906            #[doc(hidden)]
8907            impl ::core::convert::From<getMembersCall> for UnderlyingRustTuple<'_> {
8908                fn from(value: getMembersCall) -> Self {
8909                    (value.operatorSet,)
8910                }
8911            }
8912            #[automatically_derived]
8913            #[doc(hidden)]
8914            impl ::core::convert::From<UnderlyingRustTuple<'_>> for getMembersCall {
8915                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8916                    Self { operatorSet: tuple.0 }
8917                }
8918            }
8919        }
8920        {
8921            #[doc(hidden)]
8922            type UnderlyingSolTuple<'a> = (
8923                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8924            );
8925            #[doc(hidden)]
8926            type UnderlyingRustTuple<'a> = (
8927                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
8928            );
8929            #[cfg(test)]
8930            #[allow(dead_code, unreachable_patterns)]
8931            fn _type_assertion(
8932                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8933            ) {
8934                match _t {
8935                    alloy_sol_types::private::AssertTypeEq::<
8936                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8937                    >(_) => {}
8938                }
8939            }
8940            #[automatically_derived]
8941            #[doc(hidden)]
8942            impl ::core::convert::From<getMembersReturn> for UnderlyingRustTuple<'_> {
8943                fn from(value: getMembersReturn) -> Self {
8944                    (value.operators,)
8945                }
8946            }
8947            #[automatically_derived]
8948            #[doc(hidden)]
8949            impl ::core::convert::From<UnderlyingRustTuple<'_>> for getMembersReturn {
8950                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8951                    Self { operators: tuple.0 }
8952                }
8953            }
8954        }
8955        #[automatically_derived]
8956        impl alloy_sol_types::SolCall for getMembersCall {
8957            type Parameters<'a> = (OperatorSet,);
8958            type Token<'a> = <Self::Parameters<
8959                'a,
8960            > as alloy_sol_types::SolType>::Token<'a>;
8961            type Return = getMembersReturn;
8962            type ReturnTuple<'a> = (
8963                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
8964            );
8965            type ReturnToken<'a> = <Self::ReturnTuple<
8966                'a,
8967            > as alloy_sol_types::SolType>::Token<'a>;
8968            const SIGNATURE: &'static str = "getMembers((address,uint32))";
8969            const SELECTOR: [u8; 4] = [110u8, 135u8, 93u8, 186u8];
8970            #[inline]
8971            fn new<'a>(
8972                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8973            ) -> Self {
8974                tuple.into()
8975            }
8976            #[inline]
8977            fn tokenize(&self) -> Self::Token<'_> {
8978                (<OperatorSet as alloy_sol_types::SolType>::tokenize(&self.operatorSet),)
8979            }
8980            #[inline]
8981            fn abi_decode_returns(
8982                data: &[u8],
8983                validate: bool,
8984            ) -> alloy_sol_types::Result<Self::Return> {
8985                <Self::ReturnTuple<
8986                    '_,
8987                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
8988                    .map(Into::into)
8989            }
8990        }
8991    };
8992    #[derive(Default, Debug, PartialEq, Eq, Hash)]
8993    /**Function with signature `getMinimumSlashableStake((address,uint32),address[],address[],uint32)` and selector `0x2bab2c4a`.
8994```solidity
8995function getMinimumSlashableStake(OperatorSet memory operatorSet, address[] memory operators, address[] memory strategies, uint32 futureBlock) external view returns (uint256[][] memory slashableStake);
8996```*/
8997    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8998    #[derive(Clone)]
8999    pub struct getMinimumSlashableStakeCall {
9000        #[allow(missing_docs)]
9001        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
9002        #[allow(missing_docs)]
9003        pub operators: alloy::sol_types::private::Vec<
9004            alloy::sol_types::private::Address,
9005        >,
9006        #[allow(missing_docs)]
9007        pub strategies: alloy::sol_types::private::Vec<
9008            alloy::sol_types::private::Address,
9009        >,
9010        #[allow(missing_docs)]
9011        pub futureBlock: u32,
9012    }
9013    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9014    ///Container type for the return parameters of the [`getMinimumSlashableStake((address,uint32),address[],address[],uint32)`](getMinimumSlashableStakeCall) function.
9015    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9016    #[derive(Clone)]
9017    pub struct getMinimumSlashableStakeReturn {
9018        #[allow(missing_docs)]
9019        pub slashableStake: alloy::sol_types::private::Vec<
9020            alloy::sol_types::private::Vec<
9021                alloy::sol_types::private::primitives::aliases::U256,
9022            >,
9023        >,
9024    }
9025    #[allow(
9026        non_camel_case_types,
9027        non_snake_case,
9028        clippy::pub_underscore_fields,
9029        clippy::style
9030    )]
9031    const _: () = {
9032        use alloy::sol_types as alloy_sol_types;
9033        {
9034            #[doc(hidden)]
9035            type UnderlyingSolTuple<'a> = (
9036                OperatorSet,
9037                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9038                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9039                alloy::sol_types::sol_data::Uint<32>,
9040            );
9041            #[doc(hidden)]
9042            type UnderlyingRustTuple<'a> = (
9043                <OperatorSet as alloy::sol_types::SolType>::RustType,
9044                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
9045                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
9046                u32,
9047            );
9048            #[cfg(test)]
9049            #[allow(dead_code, unreachable_patterns)]
9050            fn _type_assertion(
9051                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9052            ) {
9053                match _t {
9054                    alloy_sol_types::private::AssertTypeEq::<
9055                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9056                    >(_) => {}
9057                }
9058            }
9059            #[automatically_derived]
9060            #[doc(hidden)]
9061            impl ::core::convert::From<getMinimumSlashableStakeCall>
9062            for UnderlyingRustTuple<'_> {
9063                fn from(value: getMinimumSlashableStakeCall) -> Self {
9064                    (
9065                        value.operatorSet,
9066                        value.operators,
9067                        value.strategies,
9068                        value.futureBlock,
9069                    )
9070                }
9071            }
9072            #[automatically_derived]
9073            #[doc(hidden)]
9074            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9075            for getMinimumSlashableStakeCall {
9076                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9077                    Self {
9078                        operatorSet: tuple.0,
9079                        operators: tuple.1,
9080                        strategies: tuple.2,
9081                        futureBlock: tuple.3,
9082                    }
9083                }
9084            }
9085        }
9086        {
9087            #[doc(hidden)]
9088            type UnderlyingSolTuple<'a> = (
9089                alloy::sol_types::sol_data::Array<
9090                    alloy::sol_types::sol_data::Array<
9091                        alloy::sol_types::sol_data::Uint<256>,
9092                    >,
9093                >,
9094            );
9095            #[doc(hidden)]
9096            type UnderlyingRustTuple<'a> = (
9097                alloy::sol_types::private::Vec<
9098                    alloy::sol_types::private::Vec<
9099                        alloy::sol_types::private::primitives::aliases::U256,
9100                    >,
9101                >,
9102            );
9103            #[cfg(test)]
9104            #[allow(dead_code, unreachable_patterns)]
9105            fn _type_assertion(
9106                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9107            ) {
9108                match _t {
9109                    alloy_sol_types::private::AssertTypeEq::<
9110                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9111                    >(_) => {}
9112                }
9113            }
9114            #[automatically_derived]
9115            #[doc(hidden)]
9116            impl ::core::convert::From<getMinimumSlashableStakeReturn>
9117            for UnderlyingRustTuple<'_> {
9118                fn from(value: getMinimumSlashableStakeReturn) -> Self {
9119                    (value.slashableStake,)
9120                }
9121            }
9122            #[automatically_derived]
9123            #[doc(hidden)]
9124            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9125            for getMinimumSlashableStakeReturn {
9126                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9127                    Self { slashableStake: tuple.0 }
9128                }
9129            }
9130        }
9131        #[automatically_derived]
9132        impl alloy_sol_types::SolCall for getMinimumSlashableStakeCall {
9133            type Parameters<'a> = (
9134                OperatorSet,
9135                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9136                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9137                alloy::sol_types::sol_data::Uint<32>,
9138            );
9139            type Token<'a> = <Self::Parameters<
9140                'a,
9141            > as alloy_sol_types::SolType>::Token<'a>;
9142            type Return = getMinimumSlashableStakeReturn;
9143            type ReturnTuple<'a> = (
9144                alloy::sol_types::sol_data::Array<
9145                    alloy::sol_types::sol_data::Array<
9146                        alloy::sol_types::sol_data::Uint<256>,
9147                    >,
9148                >,
9149            );
9150            type ReturnToken<'a> = <Self::ReturnTuple<
9151                'a,
9152            > as alloy_sol_types::SolType>::Token<'a>;
9153            const SIGNATURE: &'static str = "getMinimumSlashableStake((address,uint32),address[],address[],uint32)";
9154            const SELECTOR: [u8; 4] = [43u8, 171u8, 44u8, 74u8];
9155            #[inline]
9156            fn new<'a>(
9157                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9158            ) -> Self {
9159                tuple.into()
9160            }
9161            #[inline]
9162            fn tokenize(&self) -> Self::Token<'_> {
9163                (
9164                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
9165                        &self.operatorSet,
9166                    ),
9167                    <alloy::sol_types::sol_data::Array<
9168                        alloy::sol_types::sol_data::Address,
9169                    > as alloy_sol_types::SolType>::tokenize(&self.operators),
9170                    <alloy::sol_types::sol_data::Array<
9171                        alloy::sol_types::sol_data::Address,
9172                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
9173                    <alloy::sol_types::sol_data::Uint<
9174                        32,
9175                    > as alloy_sol_types::SolType>::tokenize(&self.futureBlock),
9176                )
9177            }
9178            #[inline]
9179            fn abi_decode_returns(
9180                data: &[u8],
9181                validate: bool,
9182            ) -> alloy_sol_types::Result<Self::Return> {
9183                <Self::ReturnTuple<
9184                    '_,
9185                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9186                    .map(Into::into)
9187            }
9188        }
9189    };
9190    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9191    /**Function with signature `getOperatorSetCount(address)` and selector `0xba1a84e5`.
9192```solidity
9193function getOperatorSetCount(address avs) external view returns (uint256);
9194```*/
9195    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9196    #[derive(Clone)]
9197    pub struct getOperatorSetCountCall {
9198        #[allow(missing_docs)]
9199        pub avs: alloy::sol_types::private::Address,
9200    }
9201    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9202    ///Container type for the return parameters of the [`getOperatorSetCount(address)`](getOperatorSetCountCall) function.
9203    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9204    #[derive(Clone)]
9205    pub struct getOperatorSetCountReturn {
9206        #[allow(missing_docs)]
9207        pub _0: alloy::sol_types::private::primitives::aliases::U256,
9208    }
9209    #[allow(
9210        non_camel_case_types,
9211        non_snake_case,
9212        clippy::pub_underscore_fields,
9213        clippy::style
9214    )]
9215    const _: () = {
9216        use alloy::sol_types as alloy_sol_types;
9217        {
9218            #[doc(hidden)]
9219            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
9220            #[doc(hidden)]
9221            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
9222            #[cfg(test)]
9223            #[allow(dead_code, unreachable_patterns)]
9224            fn _type_assertion(
9225                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9226            ) {
9227                match _t {
9228                    alloy_sol_types::private::AssertTypeEq::<
9229                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9230                    >(_) => {}
9231                }
9232            }
9233            #[automatically_derived]
9234            #[doc(hidden)]
9235            impl ::core::convert::From<getOperatorSetCountCall>
9236            for UnderlyingRustTuple<'_> {
9237                fn from(value: getOperatorSetCountCall) -> Self {
9238                    (value.avs,)
9239                }
9240            }
9241            #[automatically_derived]
9242            #[doc(hidden)]
9243            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9244            for getOperatorSetCountCall {
9245                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9246                    Self { avs: tuple.0 }
9247                }
9248            }
9249        }
9250        {
9251            #[doc(hidden)]
9252            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
9253            #[doc(hidden)]
9254            type UnderlyingRustTuple<'a> = (
9255                alloy::sol_types::private::primitives::aliases::U256,
9256            );
9257            #[cfg(test)]
9258            #[allow(dead_code, unreachable_patterns)]
9259            fn _type_assertion(
9260                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9261            ) {
9262                match _t {
9263                    alloy_sol_types::private::AssertTypeEq::<
9264                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9265                    >(_) => {}
9266                }
9267            }
9268            #[automatically_derived]
9269            #[doc(hidden)]
9270            impl ::core::convert::From<getOperatorSetCountReturn>
9271            for UnderlyingRustTuple<'_> {
9272                fn from(value: getOperatorSetCountReturn) -> Self {
9273                    (value._0,)
9274                }
9275            }
9276            #[automatically_derived]
9277            #[doc(hidden)]
9278            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9279            for getOperatorSetCountReturn {
9280                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9281                    Self { _0: tuple.0 }
9282                }
9283            }
9284        }
9285        #[automatically_derived]
9286        impl alloy_sol_types::SolCall for getOperatorSetCountCall {
9287            type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
9288            type Token<'a> = <Self::Parameters<
9289                'a,
9290            > as alloy_sol_types::SolType>::Token<'a>;
9291            type Return = getOperatorSetCountReturn;
9292            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
9293            type ReturnToken<'a> = <Self::ReturnTuple<
9294                'a,
9295            > as alloy_sol_types::SolType>::Token<'a>;
9296            const SIGNATURE: &'static str = "getOperatorSetCount(address)";
9297            const SELECTOR: [u8; 4] = [186u8, 26u8, 132u8, 229u8];
9298            #[inline]
9299            fn new<'a>(
9300                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9301            ) -> Self {
9302                tuple.into()
9303            }
9304            #[inline]
9305            fn tokenize(&self) -> Self::Token<'_> {
9306                (
9307                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9308                        &self.avs,
9309                    ),
9310                )
9311            }
9312            #[inline]
9313            fn abi_decode_returns(
9314                data: &[u8],
9315                validate: bool,
9316            ) -> alloy_sol_types::Result<Self::Return> {
9317                <Self::ReturnTuple<
9318                    '_,
9319                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9320                    .map(Into::into)
9321            }
9322        }
9323    };
9324    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9325    /**Function with signature `getRegisteredSets(address)` and selector `0x79ae50cd`.
9326```solidity
9327function getRegisteredSets(address operator) external view returns (OperatorSet[] memory operatorSets);
9328```*/
9329    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9330    #[derive(Clone)]
9331    pub struct getRegisteredSetsCall {
9332        #[allow(missing_docs)]
9333        pub operator: alloy::sol_types::private::Address,
9334    }
9335    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9336    ///Container type for the return parameters of the [`getRegisteredSets(address)`](getRegisteredSetsCall) function.
9337    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9338    #[derive(Clone)]
9339    pub struct getRegisteredSetsReturn {
9340        #[allow(missing_docs)]
9341        pub operatorSets: alloy::sol_types::private::Vec<
9342            <OperatorSet as alloy::sol_types::SolType>::RustType,
9343        >,
9344    }
9345    #[allow(
9346        non_camel_case_types,
9347        non_snake_case,
9348        clippy::pub_underscore_fields,
9349        clippy::style
9350    )]
9351    const _: () = {
9352        use alloy::sol_types as alloy_sol_types;
9353        {
9354            #[doc(hidden)]
9355            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
9356            #[doc(hidden)]
9357            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
9358            #[cfg(test)]
9359            #[allow(dead_code, unreachable_patterns)]
9360            fn _type_assertion(
9361                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9362            ) {
9363                match _t {
9364                    alloy_sol_types::private::AssertTypeEq::<
9365                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9366                    >(_) => {}
9367                }
9368            }
9369            #[automatically_derived]
9370            #[doc(hidden)]
9371            impl ::core::convert::From<getRegisteredSetsCall>
9372            for UnderlyingRustTuple<'_> {
9373                fn from(value: getRegisteredSetsCall) -> Self {
9374                    (value.operator,)
9375                }
9376            }
9377            #[automatically_derived]
9378            #[doc(hidden)]
9379            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9380            for getRegisteredSetsCall {
9381                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9382                    Self { operator: tuple.0 }
9383                }
9384            }
9385        }
9386        {
9387            #[doc(hidden)]
9388            type UnderlyingSolTuple<'a> = (
9389                alloy::sol_types::sol_data::Array<OperatorSet>,
9390            );
9391            #[doc(hidden)]
9392            type UnderlyingRustTuple<'a> = (
9393                alloy::sol_types::private::Vec<
9394                    <OperatorSet as alloy::sol_types::SolType>::RustType,
9395                >,
9396            );
9397            #[cfg(test)]
9398            #[allow(dead_code, unreachable_patterns)]
9399            fn _type_assertion(
9400                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9401            ) {
9402                match _t {
9403                    alloy_sol_types::private::AssertTypeEq::<
9404                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9405                    >(_) => {}
9406                }
9407            }
9408            #[automatically_derived]
9409            #[doc(hidden)]
9410            impl ::core::convert::From<getRegisteredSetsReturn>
9411            for UnderlyingRustTuple<'_> {
9412                fn from(value: getRegisteredSetsReturn) -> Self {
9413                    (value.operatorSets,)
9414                }
9415            }
9416            #[automatically_derived]
9417            #[doc(hidden)]
9418            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9419            for getRegisteredSetsReturn {
9420                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9421                    Self { operatorSets: tuple.0 }
9422                }
9423            }
9424        }
9425        #[automatically_derived]
9426        impl alloy_sol_types::SolCall for getRegisteredSetsCall {
9427            type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
9428            type Token<'a> = <Self::Parameters<
9429                'a,
9430            > as alloy_sol_types::SolType>::Token<'a>;
9431            type Return = getRegisteredSetsReturn;
9432            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Array<OperatorSet>,);
9433            type ReturnToken<'a> = <Self::ReturnTuple<
9434                'a,
9435            > as alloy_sol_types::SolType>::Token<'a>;
9436            const SIGNATURE: &'static str = "getRegisteredSets(address)";
9437            const SELECTOR: [u8; 4] = [121u8, 174u8, 80u8, 205u8];
9438            #[inline]
9439            fn new<'a>(
9440                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9441            ) -> Self {
9442                tuple.into()
9443            }
9444            #[inline]
9445            fn tokenize(&self) -> Self::Token<'_> {
9446                (
9447                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9448                        &self.operator,
9449                    ),
9450                )
9451            }
9452            #[inline]
9453            fn abi_decode_returns(
9454                data: &[u8],
9455                validate: bool,
9456            ) -> alloy_sol_types::Result<Self::Return> {
9457                <Self::ReturnTuple<
9458                    '_,
9459                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9460                    .map(Into::into)
9461            }
9462        }
9463    };
9464    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9465    /**Function with signature `getStrategiesInOperatorSet((address,uint32))` and selector `0x4177a87c`.
9466```solidity
9467function getStrategiesInOperatorSet(OperatorSet memory operatorSet) external view returns (address[] memory strategies);
9468```*/
9469    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9470    #[derive(Clone)]
9471    pub struct getStrategiesInOperatorSetCall {
9472        #[allow(missing_docs)]
9473        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
9474    }
9475    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9476    ///Container type for the return parameters of the [`getStrategiesInOperatorSet((address,uint32))`](getStrategiesInOperatorSetCall) function.
9477    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9478    #[derive(Clone)]
9479    pub struct getStrategiesInOperatorSetReturn {
9480        #[allow(missing_docs)]
9481        pub strategies: alloy::sol_types::private::Vec<
9482            alloy::sol_types::private::Address,
9483        >,
9484    }
9485    #[allow(
9486        non_camel_case_types,
9487        non_snake_case,
9488        clippy::pub_underscore_fields,
9489        clippy::style
9490    )]
9491    const _: () = {
9492        use alloy::sol_types as alloy_sol_types;
9493        {
9494            #[doc(hidden)]
9495            type UnderlyingSolTuple<'a> = (OperatorSet,);
9496            #[doc(hidden)]
9497            type UnderlyingRustTuple<'a> = (
9498                <OperatorSet as alloy::sol_types::SolType>::RustType,
9499            );
9500            #[cfg(test)]
9501            #[allow(dead_code, unreachable_patterns)]
9502            fn _type_assertion(
9503                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9504            ) {
9505                match _t {
9506                    alloy_sol_types::private::AssertTypeEq::<
9507                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9508                    >(_) => {}
9509                }
9510            }
9511            #[automatically_derived]
9512            #[doc(hidden)]
9513            impl ::core::convert::From<getStrategiesInOperatorSetCall>
9514            for UnderlyingRustTuple<'_> {
9515                fn from(value: getStrategiesInOperatorSetCall) -> Self {
9516                    (value.operatorSet,)
9517                }
9518            }
9519            #[automatically_derived]
9520            #[doc(hidden)]
9521            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9522            for getStrategiesInOperatorSetCall {
9523                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9524                    Self { operatorSet: tuple.0 }
9525                }
9526            }
9527        }
9528        {
9529            #[doc(hidden)]
9530            type UnderlyingSolTuple<'a> = (
9531                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9532            );
9533            #[doc(hidden)]
9534            type UnderlyingRustTuple<'a> = (
9535                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
9536            );
9537            #[cfg(test)]
9538            #[allow(dead_code, unreachable_patterns)]
9539            fn _type_assertion(
9540                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9541            ) {
9542                match _t {
9543                    alloy_sol_types::private::AssertTypeEq::<
9544                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9545                    >(_) => {}
9546                }
9547            }
9548            #[automatically_derived]
9549            #[doc(hidden)]
9550            impl ::core::convert::From<getStrategiesInOperatorSetReturn>
9551            for UnderlyingRustTuple<'_> {
9552                fn from(value: getStrategiesInOperatorSetReturn) -> Self {
9553                    (value.strategies,)
9554                }
9555            }
9556            #[automatically_derived]
9557            #[doc(hidden)]
9558            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9559            for getStrategiesInOperatorSetReturn {
9560                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9561                    Self { strategies: tuple.0 }
9562                }
9563            }
9564        }
9565        #[automatically_derived]
9566        impl alloy_sol_types::SolCall for getStrategiesInOperatorSetCall {
9567            type Parameters<'a> = (OperatorSet,);
9568            type Token<'a> = <Self::Parameters<
9569                'a,
9570            > as alloy_sol_types::SolType>::Token<'a>;
9571            type Return = getStrategiesInOperatorSetReturn;
9572            type ReturnTuple<'a> = (
9573                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
9574            );
9575            type ReturnToken<'a> = <Self::ReturnTuple<
9576                'a,
9577            > as alloy_sol_types::SolType>::Token<'a>;
9578            const SIGNATURE: &'static str = "getStrategiesInOperatorSet((address,uint32))";
9579            const SELECTOR: [u8; 4] = [65u8, 119u8, 168u8, 124u8];
9580            #[inline]
9581            fn new<'a>(
9582                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9583            ) -> Self {
9584                tuple.into()
9585            }
9586            #[inline]
9587            fn tokenize(&self) -> Self::Token<'_> {
9588                (<OperatorSet as alloy_sol_types::SolType>::tokenize(&self.operatorSet),)
9589            }
9590            #[inline]
9591            fn abi_decode_returns(
9592                data: &[u8],
9593                validate: bool,
9594            ) -> alloy_sol_types::Result<Self::Return> {
9595                <Self::ReturnTuple<
9596                    '_,
9597                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9598                    .map(Into::into)
9599            }
9600        }
9601    };
9602    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9603    /**Function with signature `getStrategyAllocations(address,address)` and selector `0x40120dab`.
9604```solidity
9605function getStrategyAllocations(address operator, address strategy) external view returns (OperatorSet[] memory, IAllocationManagerTypes.Allocation[] memory);
9606```*/
9607    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9608    #[derive(Clone)]
9609    pub struct getStrategyAllocationsCall {
9610        #[allow(missing_docs)]
9611        pub operator: alloy::sol_types::private::Address,
9612        #[allow(missing_docs)]
9613        pub strategy: alloy::sol_types::private::Address,
9614    }
9615    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9616    ///Container type for the return parameters of the [`getStrategyAllocations(address,address)`](getStrategyAllocationsCall) function.
9617    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9618    #[derive(Clone)]
9619    pub struct getStrategyAllocationsReturn {
9620        #[allow(missing_docs)]
9621        pub _0: alloy::sol_types::private::Vec<
9622            <OperatorSet as alloy::sol_types::SolType>::RustType,
9623        >,
9624        #[allow(missing_docs)]
9625        pub _1: alloy::sol_types::private::Vec<
9626            <IAllocationManagerTypes::Allocation as alloy::sol_types::SolType>::RustType,
9627        >,
9628    }
9629    #[allow(
9630        non_camel_case_types,
9631        non_snake_case,
9632        clippy::pub_underscore_fields,
9633        clippy::style
9634    )]
9635    const _: () = {
9636        use alloy::sol_types as alloy_sol_types;
9637        {
9638            #[doc(hidden)]
9639            type UnderlyingSolTuple<'a> = (
9640                alloy::sol_types::sol_data::Address,
9641                alloy::sol_types::sol_data::Address,
9642            );
9643            #[doc(hidden)]
9644            type UnderlyingRustTuple<'a> = (
9645                alloy::sol_types::private::Address,
9646                alloy::sol_types::private::Address,
9647            );
9648            #[cfg(test)]
9649            #[allow(dead_code, unreachable_patterns)]
9650            fn _type_assertion(
9651                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9652            ) {
9653                match _t {
9654                    alloy_sol_types::private::AssertTypeEq::<
9655                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9656                    >(_) => {}
9657                }
9658            }
9659            #[automatically_derived]
9660            #[doc(hidden)]
9661            impl ::core::convert::From<getStrategyAllocationsCall>
9662            for UnderlyingRustTuple<'_> {
9663                fn from(value: getStrategyAllocationsCall) -> Self {
9664                    (value.operator, value.strategy)
9665                }
9666            }
9667            #[automatically_derived]
9668            #[doc(hidden)]
9669            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9670            for getStrategyAllocationsCall {
9671                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9672                    Self {
9673                        operator: tuple.0,
9674                        strategy: tuple.1,
9675                    }
9676                }
9677            }
9678        }
9679        {
9680            #[doc(hidden)]
9681            type UnderlyingSolTuple<'a> = (
9682                alloy::sol_types::sol_data::Array<OperatorSet>,
9683                alloy::sol_types::sol_data::Array<IAllocationManagerTypes::Allocation>,
9684            );
9685            #[doc(hidden)]
9686            type UnderlyingRustTuple<'a> = (
9687                alloy::sol_types::private::Vec<
9688                    <OperatorSet as alloy::sol_types::SolType>::RustType,
9689                >,
9690                alloy::sol_types::private::Vec<
9691                    <IAllocationManagerTypes::Allocation as alloy::sol_types::SolType>::RustType,
9692                >,
9693            );
9694            #[cfg(test)]
9695            #[allow(dead_code, unreachable_patterns)]
9696            fn _type_assertion(
9697                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9698            ) {
9699                match _t {
9700                    alloy_sol_types::private::AssertTypeEq::<
9701                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9702                    >(_) => {}
9703                }
9704            }
9705            #[automatically_derived]
9706            #[doc(hidden)]
9707            impl ::core::convert::From<getStrategyAllocationsReturn>
9708            for UnderlyingRustTuple<'_> {
9709                fn from(value: getStrategyAllocationsReturn) -> Self {
9710                    (value._0, value._1)
9711                }
9712            }
9713            #[automatically_derived]
9714            #[doc(hidden)]
9715            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9716            for getStrategyAllocationsReturn {
9717                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9718                    Self { _0: tuple.0, _1: tuple.1 }
9719                }
9720            }
9721        }
9722        #[automatically_derived]
9723        impl alloy_sol_types::SolCall for getStrategyAllocationsCall {
9724            type Parameters<'a> = (
9725                alloy::sol_types::sol_data::Address,
9726                alloy::sol_types::sol_data::Address,
9727            );
9728            type Token<'a> = <Self::Parameters<
9729                'a,
9730            > as alloy_sol_types::SolType>::Token<'a>;
9731            type Return = getStrategyAllocationsReturn;
9732            type ReturnTuple<'a> = (
9733                alloy::sol_types::sol_data::Array<OperatorSet>,
9734                alloy::sol_types::sol_data::Array<IAllocationManagerTypes::Allocation>,
9735            );
9736            type ReturnToken<'a> = <Self::ReturnTuple<
9737                'a,
9738            > as alloy_sol_types::SolType>::Token<'a>;
9739            const SIGNATURE: &'static str = "getStrategyAllocations(address,address)";
9740            const SELECTOR: [u8; 4] = [64u8, 18u8, 13u8, 171u8];
9741            #[inline]
9742            fn new<'a>(
9743                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9744            ) -> Self {
9745                tuple.into()
9746            }
9747            #[inline]
9748            fn tokenize(&self) -> Self::Token<'_> {
9749                (
9750                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9751                        &self.operator,
9752                    ),
9753                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9754                        &self.strategy,
9755                    ),
9756                )
9757            }
9758            #[inline]
9759            fn abi_decode_returns(
9760                data: &[u8],
9761                validate: bool,
9762            ) -> alloy_sol_types::Result<Self::Return> {
9763                <Self::ReturnTuple<
9764                    '_,
9765                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9766                    .map(Into::into)
9767            }
9768        }
9769    };
9770    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9771    /**Function with signature `initialize(address,uint256)` and selector `0xcd6dc687`.
9772```solidity
9773function initialize(address initialOwner, uint256 initialPausedStatus) external;
9774```*/
9775    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9776    #[derive(Clone)]
9777    pub struct initializeCall {
9778        #[allow(missing_docs)]
9779        pub initialOwner: alloy::sol_types::private::Address,
9780        #[allow(missing_docs)]
9781        pub initialPausedStatus: alloy::sol_types::private::primitives::aliases::U256,
9782    }
9783    ///Container type for the return parameters of the [`initialize(address,uint256)`](initializeCall) function.
9784    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9785    #[derive(Clone)]
9786    pub struct initializeReturn {}
9787    #[allow(
9788        non_camel_case_types,
9789        non_snake_case,
9790        clippy::pub_underscore_fields,
9791        clippy::style
9792    )]
9793    const _: () = {
9794        use alloy::sol_types as alloy_sol_types;
9795        {
9796            #[doc(hidden)]
9797            type UnderlyingSolTuple<'a> = (
9798                alloy::sol_types::sol_data::Address,
9799                alloy::sol_types::sol_data::Uint<256>,
9800            );
9801            #[doc(hidden)]
9802            type UnderlyingRustTuple<'a> = (
9803                alloy::sol_types::private::Address,
9804                alloy::sol_types::private::primitives::aliases::U256,
9805            );
9806            #[cfg(test)]
9807            #[allow(dead_code, unreachable_patterns)]
9808            fn _type_assertion(
9809                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9810            ) {
9811                match _t {
9812                    alloy_sol_types::private::AssertTypeEq::<
9813                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9814                    >(_) => {}
9815                }
9816            }
9817            #[automatically_derived]
9818            #[doc(hidden)]
9819            impl ::core::convert::From<initializeCall> for UnderlyingRustTuple<'_> {
9820                fn from(value: initializeCall) -> Self {
9821                    (value.initialOwner, value.initialPausedStatus)
9822                }
9823            }
9824            #[automatically_derived]
9825            #[doc(hidden)]
9826            impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeCall {
9827                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9828                    Self {
9829                        initialOwner: tuple.0,
9830                        initialPausedStatus: tuple.1,
9831                    }
9832                }
9833            }
9834        }
9835        {
9836            #[doc(hidden)]
9837            type UnderlyingSolTuple<'a> = ();
9838            #[doc(hidden)]
9839            type UnderlyingRustTuple<'a> = ();
9840            #[cfg(test)]
9841            #[allow(dead_code, unreachable_patterns)]
9842            fn _type_assertion(
9843                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9844            ) {
9845                match _t {
9846                    alloy_sol_types::private::AssertTypeEq::<
9847                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9848                    >(_) => {}
9849                }
9850            }
9851            #[automatically_derived]
9852            #[doc(hidden)]
9853            impl ::core::convert::From<initializeReturn> for UnderlyingRustTuple<'_> {
9854                fn from(value: initializeReturn) -> Self {
9855                    ()
9856                }
9857            }
9858            #[automatically_derived]
9859            #[doc(hidden)]
9860            impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeReturn {
9861                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9862                    Self {}
9863                }
9864            }
9865        }
9866        #[automatically_derived]
9867        impl alloy_sol_types::SolCall for initializeCall {
9868            type Parameters<'a> = (
9869                alloy::sol_types::sol_data::Address,
9870                alloy::sol_types::sol_data::Uint<256>,
9871            );
9872            type Token<'a> = <Self::Parameters<
9873                'a,
9874            > as alloy_sol_types::SolType>::Token<'a>;
9875            type Return = initializeReturn;
9876            type ReturnTuple<'a> = ();
9877            type ReturnToken<'a> = <Self::ReturnTuple<
9878                'a,
9879            > as alloy_sol_types::SolType>::Token<'a>;
9880            const SIGNATURE: &'static str = "initialize(address,uint256)";
9881            const SELECTOR: [u8; 4] = [205u8, 109u8, 198u8, 135u8];
9882            #[inline]
9883            fn new<'a>(
9884                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9885            ) -> Self {
9886                tuple.into()
9887            }
9888            #[inline]
9889            fn tokenize(&self) -> Self::Token<'_> {
9890                (
9891                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9892                        &self.initialOwner,
9893                    ),
9894                    <alloy::sol_types::sol_data::Uint<
9895                        256,
9896                    > as alloy_sol_types::SolType>::tokenize(&self.initialPausedStatus),
9897                )
9898            }
9899            #[inline]
9900            fn abi_decode_returns(
9901                data: &[u8],
9902                validate: bool,
9903            ) -> alloy_sol_types::Result<Self::Return> {
9904                <Self::ReturnTuple<
9905                    '_,
9906                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
9907                    .map(Into::into)
9908            }
9909        }
9910    };
9911    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9912    /**Function with signature `isMemberOfOperatorSet(address,(address,uint32))` and selector `0x670d3ba2`.
9913```solidity
9914function isMemberOfOperatorSet(address operator, OperatorSet memory operatorSet) external view returns (bool);
9915```*/
9916    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9917    #[derive(Clone)]
9918    pub struct isMemberOfOperatorSetCall {
9919        #[allow(missing_docs)]
9920        pub operator: alloy::sol_types::private::Address,
9921        #[allow(missing_docs)]
9922        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
9923    }
9924    #[derive(Default, Debug, PartialEq, Eq, Hash)]
9925    ///Container type for the return parameters of the [`isMemberOfOperatorSet(address,(address,uint32))`](isMemberOfOperatorSetCall) function.
9926    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9927    #[derive(Clone)]
9928    pub struct isMemberOfOperatorSetReturn {
9929        #[allow(missing_docs)]
9930        pub _0: bool,
9931    }
9932    #[allow(
9933        non_camel_case_types,
9934        non_snake_case,
9935        clippy::pub_underscore_fields,
9936        clippy::style
9937    )]
9938    const _: () = {
9939        use alloy::sol_types as alloy_sol_types;
9940        {
9941            #[doc(hidden)]
9942            type UnderlyingSolTuple<'a> = (
9943                alloy::sol_types::sol_data::Address,
9944                OperatorSet,
9945            );
9946            #[doc(hidden)]
9947            type UnderlyingRustTuple<'a> = (
9948                alloy::sol_types::private::Address,
9949                <OperatorSet as alloy::sol_types::SolType>::RustType,
9950            );
9951            #[cfg(test)]
9952            #[allow(dead_code, unreachable_patterns)]
9953            fn _type_assertion(
9954                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9955            ) {
9956                match _t {
9957                    alloy_sol_types::private::AssertTypeEq::<
9958                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9959                    >(_) => {}
9960                }
9961            }
9962            #[automatically_derived]
9963            #[doc(hidden)]
9964            impl ::core::convert::From<isMemberOfOperatorSetCall>
9965            for UnderlyingRustTuple<'_> {
9966                fn from(value: isMemberOfOperatorSetCall) -> Self {
9967                    (value.operator, value.operatorSet)
9968                }
9969            }
9970            #[automatically_derived]
9971            #[doc(hidden)]
9972            impl ::core::convert::From<UnderlyingRustTuple<'_>>
9973            for isMemberOfOperatorSetCall {
9974                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9975                    Self {
9976                        operator: tuple.0,
9977                        operatorSet: tuple.1,
9978                    }
9979                }
9980            }
9981        }
9982        {
9983            #[doc(hidden)]
9984            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
9985            #[doc(hidden)]
9986            type UnderlyingRustTuple<'a> = (bool,);
9987            #[cfg(test)]
9988            #[allow(dead_code, unreachable_patterns)]
9989            fn _type_assertion(
9990                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9991            ) {
9992                match _t {
9993                    alloy_sol_types::private::AssertTypeEq::<
9994                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9995                    >(_) => {}
9996                }
9997            }
9998            #[automatically_derived]
9999            #[doc(hidden)]
10000            impl ::core::convert::From<isMemberOfOperatorSetReturn>
10001            for UnderlyingRustTuple<'_> {
10002                fn from(value: isMemberOfOperatorSetReturn) -> Self {
10003                    (value._0,)
10004                }
10005            }
10006            #[automatically_derived]
10007            #[doc(hidden)]
10008            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10009            for isMemberOfOperatorSetReturn {
10010                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10011                    Self { _0: tuple.0 }
10012                }
10013            }
10014        }
10015        #[automatically_derived]
10016        impl alloy_sol_types::SolCall for isMemberOfOperatorSetCall {
10017            type Parameters<'a> = (alloy::sol_types::sol_data::Address, OperatorSet);
10018            type Token<'a> = <Self::Parameters<
10019                'a,
10020            > as alloy_sol_types::SolType>::Token<'a>;
10021            type Return = isMemberOfOperatorSetReturn;
10022            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
10023            type ReturnToken<'a> = <Self::ReturnTuple<
10024                'a,
10025            > as alloy_sol_types::SolType>::Token<'a>;
10026            const SIGNATURE: &'static str = "isMemberOfOperatorSet(address,(address,uint32))";
10027            const SELECTOR: [u8; 4] = [103u8, 13u8, 59u8, 162u8];
10028            #[inline]
10029            fn new<'a>(
10030                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10031            ) -> Self {
10032                tuple.into()
10033            }
10034            #[inline]
10035            fn tokenize(&self) -> Self::Token<'_> {
10036                (
10037                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10038                        &self.operator,
10039                    ),
10040                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
10041                        &self.operatorSet,
10042                    ),
10043                )
10044            }
10045            #[inline]
10046            fn abi_decode_returns(
10047                data: &[u8],
10048                validate: bool,
10049            ) -> alloy_sol_types::Result<Self::Return> {
10050                <Self::ReturnTuple<
10051                    '_,
10052                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
10053                    .map(Into::into)
10054            }
10055        }
10056    };
10057    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10058    /**Function with signature `isOperatorSet((address,uint32))` and selector `0x260dc758`.
10059```solidity
10060function isOperatorSet(OperatorSet memory operatorSet) external view returns (bool);
10061```*/
10062    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10063    #[derive(Clone)]
10064    pub struct isOperatorSetCall {
10065        #[allow(missing_docs)]
10066        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
10067    }
10068    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10069    ///Container type for the return parameters of the [`isOperatorSet((address,uint32))`](isOperatorSetCall) function.
10070    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10071    #[derive(Clone)]
10072    pub struct isOperatorSetReturn {
10073        #[allow(missing_docs)]
10074        pub _0: bool,
10075    }
10076    #[allow(
10077        non_camel_case_types,
10078        non_snake_case,
10079        clippy::pub_underscore_fields,
10080        clippy::style
10081    )]
10082    const _: () = {
10083        use alloy::sol_types as alloy_sol_types;
10084        {
10085            #[doc(hidden)]
10086            type UnderlyingSolTuple<'a> = (OperatorSet,);
10087            #[doc(hidden)]
10088            type UnderlyingRustTuple<'a> = (
10089                <OperatorSet as alloy::sol_types::SolType>::RustType,
10090            );
10091            #[cfg(test)]
10092            #[allow(dead_code, unreachable_patterns)]
10093            fn _type_assertion(
10094                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10095            ) {
10096                match _t {
10097                    alloy_sol_types::private::AssertTypeEq::<
10098                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10099                    >(_) => {}
10100                }
10101            }
10102            #[automatically_derived]
10103            #[doc(hidden)]
10104            impl ::core::convert::From<isOperatorSetCall> for UnderlyingRustTuple<'_> {
10105                fn from(value: isOperatorSetCall) -> Self {
10106                    (value.operatorSet,)
10107                }
10108            }
10109            #[automatically_derived]
10110            #[doc(hidden)]
10111            impl ::core::convert::From<UnderlyingRustTuple<'_>> for isOperatorSetCall {
10112                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10113                    Self { operatorSet: tuple.0 }
10114                }
10115            }
10116        }
10117        {
10118            #[doc(hidden)]
10119            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
10120            #[doc(hidden)]
10121            type UnderlyingRustTuple<'a> = (bool,);
10122            #[cfg(test)]
10123            #[allow(dead_code, unreachable_patterns)]
10124            fn _type_assertion(
10125                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10126            ) {
10127                match _t {
10128                    alloy_sol_types::private::AssertTypeEq::<
10129                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10130                    >(_) => {}
10131                }
10132            }
10133            #[automatically_derived]
10134            #[doc(hidden)]
10135            impl ::core::convert::From<isOperatorSetReturn> for UnderlyingRustTuple<'_> {
10136                fn from(value: isOperatorSetReturn) -> Self {
10137                    (value._0,)
10138                }
10139            }
10140            #[automatically_derived]
10141            #[doc(hidden)]
10142            impl ::core::convert::From<UnderlyingRustTuple<'_>> for isOperatorSetReturn {
10143                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10144                    Self { _0: tuple.0 }
10145                }
10146            }
10147        }
10148        #[automatically_derived]
10149        impl alloy_sol_types::SolCall for isOperatorSetCall {
10150            type Parameters<'a> = (OperatorSet,);
10151            type Token<'a> = <Self::Parameters<
10152                'a,
10153            > as alloy_sol_types::SolType>::Token<'a>;
10154            type Return = isOperatorSetReturn;
10155            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
10156            type ReturnToken<'a> = <Self::ReturnTuple<
10157                'a,
10158            > as alloy_sol_types::SolType>::Token<'a>;
10159            const SIGNATURE: &'static str = "isOperatorSet((address,uint32))";
10160            const SELECTOR: [u8; 4] = [38u8, 13u8, 199u8, 88u8];
10161            #[inline]
10162            fn new<'a>(
10163                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10164            ) -> Self {
10165                tuple.into()
10166            }
10167            #[inline]
10168            fn tokenize(&self) -> Self::Token<'_> {
10169                (<OperatorSet as alloy_sol_types::SolType>::tokenize(&self.operatorSet),)
10170            }
10171            #[inline]
10172            fn abi_decode_returns(
10173                data: &[u8],
10174                validate: bool,
10175            ) -> alloy_sol_types::Result<Self::Return> {
10176                <Self::ReturnTuple<
10177                    '_,
10178                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
10179                    .map(Into::into)
10180            }
10181        }
10182    };
10183    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10184    /**Function with signature `isOperatorSlashable(address,(address,uint32))` and selector `0x1352c3e6`.
10185```solidity
10186function isOperatorSlashable(address operator, OperatorSet memory operatorSet) external view returns (bool);
10187```*/
10188    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10189    #[derive(Clone)]
10190    pub struct isOperatorSlashableCall {
10191        #[allow(missing_docs)]
10192        pub operator: alloy::sol_types::private::Address,
10193        #[allow(missing_docs)]
10194        pub operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
10195    }
10196    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10197    ///Container type for the return parameters of the [`isOperatorSlashable(address,(address,uint32))`](isOperatorSlashableCall) function.
10198    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10199    #[derive(Clone)]
10200    pub struct isOperatorSlashableReturn {
10201        #[allow(missing_docs)]
10202        pub _0: bool,
10203    }
10204    #[allow(
10205        non_camel_case_types,
10206        non_snake_case,
10207        clippy::pub_underscore_fields,
10208        clippy::style
10209    )]
10210    const _: () = {
10211        use alloy::sol_types as alloy_sol_types;
10212        {
10213            #[doc(hidden)]
10214            type UnderlyingSolTuple<'a> = (
10215                alloy::sol_types::sol_data::Address,
10216                OperatorSet,
10217            );
10218            #[doc(hidden)]
10219            type UnderlyingRustTuple<'a> = (
10220                alloy::sol_types::private::Address,
10221                <OperatorSet as alloy::sol_types::SolType>::RustType,
10222            );
10223            #[cfg(test)]
10224            #[allow(dead_code, unreachable_patterns)]
10225            fn _type_assertion(
10226                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10227            ) {
10228                match _t {
10229                    alloy_sol_types::private::AssertTypeEq::<
10230                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10231                    >(_) => {}
10232                }
10233            }
10234            #[automatically_derived]
10235            #[doc(hidden)]
10236            impl ::core::convert::From<isOperatorSlashableCall>
10237            for UnderlyingRustTuple<'_> {
10238                fn from(value: isOperatorSlashableCall) -> Self {
10239                    (value.operator, value.operatorSet)
10240                }
10241            }
10242            #[automatically_derived]
10243            #[doc(hidden)]
10244            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10245            for isOperatorSlashableCall {
10246                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10247                    Self {
10248                        operator: tuple.0,
10249                        operatorSet: tuple.1,
10250                    }
10251                }
10252            }
10253        }
10254        {
10255            #[doc(hidden)]
10256            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
10257            #[doc(hidden)]
10258            type UnderlyingRustTuple<'a> = (bool,);
10259            #[cfg(test)]
10260            #[allow(dead_code, unreachable_patterns)]
10261            fn _type_assertion(
10262                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10263            ) {
10264                match _t {
10265                    alloy_sol_types::private::AssertTypeEq::<
10266                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10267                    >(_) => {}
10268                }
10269            }
10270            #[automatically_derived]
10271            #[doc(hidden)]
10272            impl ::core::convert::From<isOperatorSlashableReturn>
10273            for UnderlyingRustTuple<'_> {
10274                fn from(value: isOperatorSlashableReturn) -> Self {
10275                    (value._0,)
10276                }
10277            }
10278            #[automatically_derived]
10279            #[doc(hidden)]
10280            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10281            for isOperatorSlashableReturn {
10282                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10283                    Self { _0: tuple.0 }
10284                }
10285            }
10286        }
10287        #[automatically_derived]
10288        impl alloy_sol_types::SolCall for isOperatorSlashableCall {
10289            type Parameters<'a> = (alloy::sol_types::sol_data::Address, OperatorSet);
10290            type Token<'a> = <Self::Parameters<
10291                'a,
10292            > as alloy_sol_types::SolType>::Token<'a>;
10293            type Return = isOperatorSlashableReturn;
10294            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
10295            type ReturnToken<'a> = <Self::ReturnTuple<
10296                'a,
10297            > as alloy_sol_types::SolType>::Token<'a>;
10298            const SIGNATURE: &'static str = "isOperatorSlashable(address,(address,uint32))";
10299            const SELECTOR: [u8; 4] = [19u8, 82u8, 195u8, 230u8];
10300            #[inline]
10301            fn new<'a>(
10302                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10303            ) -> Self {
10304                tuple.into()
10305            }
10306            #[inline]
10307            fn tokenize(&self) -> Self::Token<'_> {
10308                (
10309                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10310                        &self.operator,
10311                    ),
10312                    <OperatorSet as alloy_sol_types::SolType>::tokenize(
10313                        &self.operatorSet,
10314                    ),
10315                )
10316            }
10317            #[inline]
10318            fn abi_decode_returns(
10319                data: &[u8],
10320                validate: bool,
10321            ) -> alloy_sol_types::Result<Self::Return> {
10322                <Self::ReturnTuple<
10323                    '_,
10324                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
10325                    .map(Into::into)
10326            }
10327        }
10328    };
10329    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10330    /**Function with signature `modifyAllocations(address,((address,uint32),address[],uint64[])[])` and selector `0x952899ee`.
10331```solidity
10332function modifyAllocations(address operator, IAllocationManagerTypes.AllocateParams[] memory params) external;
10333```*/
10334    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10335    #[derive(Clone)]
10336    pub struct modifyAllocationsCall {
10337        #[allow(missing_docs)]
10338        pub operator: alloy::sol_types::private::Address,
10339        #[allow(missing_docs)]
10340        pub params: alloy::sol_types::private::Vec<
10341            <IAllocationManagerTypes::AllocateParams as alloy::sol_types::SolType>::RustType,
10342        >,
10343    }
10344    ///Container type for the return parameters of the [`modifyAllocations(address,((address,uint32),address[],uint64[])[])`](modifyAllocationsCall) function.
10345    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10346    #[derive(Clone)]
10347    pub struct modifyAllocationsReturn {}
10348    #[allow(
10349        non_camel_case_types,
10350        non_snake_case,
10351        clippy::pub_underscore_fields,
10352        clippy::style
10353    )]
10354    const _: () = {
10355        use alloy::sol_types as alloy_sol_types;
10356        {
10357            #[doc(hidden)]
10358            type UnderlyingSolTuple<'a> = (
10359                alloy::sol_types::sol_data::Address,
10360                alloy::sol_types::sol_data::Array<
10361                    IAllocationManagerTypes::AllocateParams,
10362                >,
10363            );
10364            #[doc(hidden)]
10365            type UnderlyingRustTuple<'a> = (
10366                alloy::sol_types::private::Address,
10367                alloy::sol_types::private::Vec<
10368                    <IAllocationManagerTypes::AllocateParams as alloy::sol_types::SolType>::RustType,
10369                >,
10370            );
10371            #[cfg(test)]
10372            #[allow(dead_code, unreachable_patterns)]
10373            fn _type_assertion(
10374                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10375            ) {
10376                match _t {
10377                    alloy_sol_types::private::AssertTypeEq::<
10378                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10379                    >(_) => {}
10380                }
10381            }
10382            #[automatically_derived]
10383            #[doc(hidden)]
10384            impl ::core::convert::From<modifyAllocationsCall>
10385            for UnderlyingRustTuple<'_> {
10386                fn from(value: modifyAllocationsCall) -> Self {
10387                    (value.operator, value.params)
10388                }
10389            }
10390            #[automatically_derived]
10391            #[doc(hidden)]
10392            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10393            for modifyAllocationsCall {
10394                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10395                    Self {
10396                        operator: tuple.0,
10397                        params: tuple.1,
10398                    }
10399                }
10400            }
10401        }
10402        {
10403            #[doc(hidden)]
10404            type UnderlyingSolTuple<'a> = ();
10405            #[doc(hidden)]
10406            type UnderlyingRustTuple<'a> = ();
10407            #[cfg(test)]
10408            #[allow(dead_code, unreachable_patterns)]
10409            fn _type_assertion(
10410                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10411            ) {
10412                match _t {
10413                    alloy_sol_types::private::AssertTypeEq::<
10414                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10415                    >(_) => {}
10416                }
10417            }
10418            #[automatically_derived]
10419            #[doc(hidden)]
10420            impl ::core::convert::From<modifyAllocationsReturn>
10421            for UnderlyingRustTuple<'_> {
10422                fn from(value: modifyAllocationsReturn) -> Self {
10423                    ()
10424                }
10425            }
10426            #[automatically_derived]
10427            #[doc(hidden)]
10428            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10429            for modifyAllocationsReturn {
10430                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10431                    Self {}
10432                }
10433            }
10434        }
10435        #[automatically_derived]
10436        impl alloy_sol_types::SolCall for modifyAllocationsCall {
10437            type Parameters<'a> = (
10438                alloy::sol_types::sol_data::Address,
10439                alloy::sol_types::sol_data::Array<
10440                    IAllocationManagerTypes::AllocateParams,
10441                >,
10442            );
10443            type Token<'a> = <Self::Parameters<
10444                'a,
10445            > as alloy_sol_types::SolType>::Token<'a>;
10446            type Return = modifyAllocationsReturn;
10447            type ReturnTuple<'a> = ();
10448            type ReturnToken<'a> = <Self::ReturnTuple<
10449                'a,
10450            > as alloy_sol_types::SolType>::Token<'a>;
10451            const SIGNATURE: &'static str = "modifyAllocations(address,((address,uint32),address[],uint64[])[])";
10452            const SELECTOR: [u8; 4] = [149u8, 40u8, 153u8, 238u8];
10453            #[inline]
10454            fn new<'a>(
10455                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10456            ) -> Self {
10457                tuple.into()
10458            }
10459            #[inline]
10460            fn tokenize(&self) -> Self::Token<'_> {
10461                (
10462                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10463                        &self.operator,
10464                    ),
10465                    <alloy::sol_types::sol_data::Array<
10466                        IAllocationManagerTypes::AllocateParams,
10467                    > as alloy_sol_types::SolType>::tokenize(&self.params),
10468                )
10469            }
10470            #[inline]
10471            fn abi_decode_returns(
10472                data: &[u8],
10473                validate: bool,
10474            ) -> alloy_sol_types::Result<Self::Return> {
10475                <Self::ReturnTuple<
10476                    '_,
10477                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
10478                    .map(Into::into)
10479            }
10480        }
10481    };
10482    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10483    /**Function with signature `registerForOperatorSets(address,(address,uint32[],bytes))` and selector `0xadc2e3d9`.
10484```solidity
10485function registerForOperatorSets(address operator, IAllocationManagerTypes.RegisterParams memory params) external;
10486```*/
10487    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10488    #[derive(Clone)]
10489    pub struct registerForOperatorSetsCall {
10490        #[allow(missing_docs)]
10491        pub operator: alloy::sol_types::private::Address,
10492        #[allow(missing_docs)]
10493        pub params: <IAllocationManagerTypes::RegisterParams as alloy::sol_types::SolType>::RustType,
10494    }
10495    ///Container type for the return parameters of the [`registerForOperatorSets(address,(address,uint32[],bytes))`](registerForOperatorSetsCall) function.
10496    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10497    #[derive(Clone)]
10498    pub struct registerForOperatorSetsReturn {}
10499    #[allow(
10500        non_camel_case_types,
10501        non_snake_case,
10502        clippy::pub_underscore_fields,
10503        clippy::style
10504    )]
10505    const _: () = {
10506        use alloy::sol_types as alloy_sol_types;
10507        {
10508            #[doc(hidden)]
10509            type UnderlyingSolTuple<'a> = (
10510                alloy::sol_types::sol_data::Address,
10511                IAllocationManagerTypes::RegisterParams,
10512            );
10513            #[doc(hidden)]
10514            type UnderlyingRustTuple<'a> = (
10515                alloy::sol_types::private::Address,
10516                <IAllocationManagerTypes::RegisterParams as alloy::sol_types::SolType>::RustType,
10517            );
10518            #[cfg(test)]
10519            #[allow(dead_code, unreachable_patterns)]
10520            fn _type_assertion(
10521                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10522            ) {
10523                match _t {
10524                    alloy_sol_types::private::AssertTypeEq::<
10525                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10526                    >(_) => {}
10527                }
10528            }
10529            #[automatically_derived]
10530            #[doc(hidden)]
10531            impl ::core::convert::From<registerForOperatorSetsCall>
10532            for UnderlyingRustTuple<'_> {
10533                fn from(value: registerForOperatorSetsCall) -> Self {
10534                    (value.operator, value.params)
10535                }
10536            }
10537            #[automatically_derived]
10538            #[doc(hidden)]
10539            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10540            for registerForOperatorSetsCall {
10541                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10542                    Self {
10543                        operator: tuple.0,
10544                        params: tuple.1,
10545                    }
10546                }
10547            }
10548        }
10549        {
10550            #[doc(hidden)]
10551            type UnderlyingSolTuple<'a> = ();
10552            #[doc(hidden)]
10553            type UnderlyingRustTuple<'a> = ();
10554            #[cfg(test)]
10555            #[allow(dead_code, unreachable_patterns)]
10556            fn _type_assertion(
10557                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10558            ) {
10559                match _t {
10560                    alloy_sol_types::private::AssertTypeEq::<
10561                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10562                    >(_) => {}
10563                }
10564            }
10565            #[automatically_derived]
10566            #[doc(hidden)]
10567            impl ::core::convert::From<registerForOperatorSetsReturn>
10568            for UnderlyingRustTuple<'_> {
10569                fn from(value: registerForOperatorSetsReturn) -> Self {
10570                    ()
10571                }
10572            }
10573            #[automatically_derived]
10574            #[doc(hidden)]
10575            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10576            for registerForOperatorSetsReturn {
10577                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10578                    Self {}
10579                }
10580            }
10581        }
10582        #[automatically_derived]
10583        impl alloy_sol_types::SolCall for registerForOperatorSetsCall {
10584            type Parameters<'a> = (
10585                alloy::sol_types::sol_data::Address,
10586                IAllocationManagerTypes::RegisterParams,
10587            );
10588            type Token<'a> = <Self::Parameters<
10589                'a,
10590            > as alloy_sol_types::SolType>::Token<'a>;
10591            type Return = registerForOperatorSetsReturn;
10592            type ReturnTuple<'a> = ();
10593            type ReturnToken<'a> = <Self::ReturnTuple<
10594                'a,
10595            > as alloy_sol_types::SolType>::Token<'a>;
10596            const SIGNATURE: &'static str = "registerForOperatorSets(address,(address,uint32[],bytes))";
10597            const SELECTOR: [u8; 4] = [173u8, 194u8, 227u8, 217u8];
10598            #[inline]
10599            fn new<'a>(
10600                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10601            ) -> Self {
10602                tuple.into()
10603            }
10604            #[inline]
10605            fn tokenize(&self) -> Self::Token<'_> {
10606                (
10607                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10608                        &self.operator,
10609                    ),
10610                    <IAllocationManagerTypes::RegisterParams as alloy_sol_types::SolType>::tokenize(
10611                        &self.params,
10612                    ),
10613                )
10614            }
10615            #[inline]
10616            fn abi_decode_returns(
10617                data: &[u8],
10618                validate: bool,
10619            ) -> alloy_sol_types::Result<Self::Return> {
10620                <Self::ReturnTuple<
10621                    '_,
10622                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
10623                    .map(Into::into)
10624            }
10625        }
10626    };
10627    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10628    /**Function with signature `removeStrategiesFromOperatorSet(address,uint32,address[])` and selector `0xb66bd989`.
10629```solidity
10630function removeStrategiesFromOperatorSet(address avs, uint32 operatorSetId, address[] memory strategies) external;
10631```*/
10632    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10633    #[derive(Clone)]
10634    pub struct removeStrategiesFromOperatorSetCall {
10635        #[allow(missing_docs)]
10636        pub avs: alloy::sol_types::private::Address,
10637        #[allow(missing_docs)]
10638        pub operatorSetId: u32,
10639        #[allow(missing_docs)]
10640        pub strategies: alloy::sol_types::private::Vec<
10641            alloy::sol_types::private::Address,
10642        >,
10643    }
10644    ///Container type for the return parameters of the [`removeStrategiesFromOperatorSet(address,uint32,address[])`](removeStrategiesFromOperatorSetCall) function.
10645    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10646    #[derive(Clone)]
10647    pub struct removeStrategiesFromOperatorSetReturn {}
10648    #[allow(
10649        non_camel_case_types,
10650        non_snake_case,
10651        clippy::pub_underscore_fields,
10652        clippy::style
10653    )]
10654    const _: () = {
10655        use alloy::sol_types as alloy_sol_types;
10656        {
10657            #[doc(hidden)]
10658            type UnderlyingSolTuple<'a> = (
10659                alloy::sol_types::sol_data::Address,
10660                alloy::sol_types::sol_data::Uint<32>,
10661                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
10662            );
10663            #[doc(hidden)]
10664            type UnderlyingRustTuple<'a> = (
10665                alloy::sol_types::private::Address,
10666                u32,
10667                alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
10668            );
10669            #[cfg(test)]
10670            #[allow(dead_code, unreachable_patterns)]
10671            fn _type_assertion(
10672                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10673            ) {
10674                match _t {
10675                    alloy_sol_types::private::AssertTypeEq::<
10676                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10677                    >(_) => {}
10678                }
10679            }
10680            #[automatically_derived]
10681            #[doc(hidden)]
10682            impl ::core::convert::From<removeStrategiesFromOperatorSetCall>
10683            for UnderlyingRustTuple<'_> {
10684                fn from(value: removeStrategiesFromOperatorSetCall) -> Self {
10685                    (value.avs, value.operatorSetId, value.strategies)
10686                }
10687            }
10688            #[automatically_derived]
10689            #[doc(hidden)]
10690            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10691            for removeStrategiesFromOperatorSetCall {
10692                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10693                    Self {
10694                        avs: tuple.0,
10695                        operatorSetId: tuple.1,
10696                        strategies: tuple.2,
10697                    }
10698                }
10699            }
10700        }
10701        {
10702            #[doc(hidden)]
10703            type UnderlyingSolTuple<'a> = ();
10704            #[doc(hidden)]
10705            type UnderlyingRustTuple<'a> = ();
10706            #[cfg(test)]
10707            #[allow(dead_code, unreachable_patterns)]
10708            fn _type_assertion(
10709                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10710            ) {
10711                match _t {
10712                    alloy_sol_types::private::AssertTypeEq::<
10713                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10714                    >(_) => {}
10715                }
10716            }
10717            #[automatically_derived]
10718            #[doc(hidden)]
10719            impl ::core::convert::From<removeStrategiesFromOperatorSetReturn>
10720            for UnderlyingRustTuple<'_> {
10721                fn from(value: removeStrategiesFromOperatorSetReturn) -> Self {
10722                    ()
10723                }
10724            }
10725            #[automatically_derived]
10726            #[doc(hidden)]
10727            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10728            for removeStrategiesFromOperatorSetReturn {
10729                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10730                    Self {}
10731                }
10732            }
10733        }
10734        #[automatically_derived]
10735        impl alloy_sol_types::SolCall for removeStrategiesFromOperatorSetCall {
10736            type Parameters<'a> = (
10737                alloy::sol_types::sol_data::Address,
10738                alloy::sol_types::sol_data::Uint<32>,
10739                alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
10740            );
10741            type Token<'a> = <Self::Parameters<
10742                'a,
10743            > as alloy_sol_types::SolType>::Token<'a>;
10744            type Return = removeStrategiesFromOperatorSetReturn;
10745            type ReturnTuple<'a> = ();
10746            type ReturnToken<'a> = <Self::ReturnTuple<
10747                'a,
10748            > as alloy_sol_types::SolType>::Token<'a>;
10749            const SIGNATURE: &'static str = "removeStrategiesFromOperatorSet(address,uint32,address[])";
10750            const SELECTOR: [u8; 4] = [182u8, 107u8, 217u8, 137u8];
10751            #[inline]
10752            fn new<'a>(
10753                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10754            ) -> Self {
10755                tuple.into()
10756            }
10757            #[inline]
10758            fn tokenize(&self) -> Self::Token<'_> {
10759                (
10760                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10761                        &self.avs,
10762                    ),
10763                    <alloy::sol_types::sol_data::Uint<
10764                        32,
10765                    > as alloy_sol_types::SolType>::tokenize(&self.operatorSetId),
10766                    <alloy::sol_types::sol_data::Array<
10767                        alloy::sol_types::sol_data::Address,
10768                    > as alloy_sol_types::SolType>::tokenize(&self.strategies),
10769                )
10770            }
10771            #[inline]
10772            fn abi_decode_returns(
10773                data: &[u8],
10774                validate: bool,
10775            ) -> alloy_sol_types::Result<Self::Return> {
10776                <Self::ReturnTuple<
10777                    '_,
10778                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
10779                    .map(Into::into)
10780            }
10781        }
10782    };
10783    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10784    /**Function with signature `setAVSRegistrar(address,address)` and selector `0xd3d96ff4`.
10785```solidity
10786function setAVSRegistrar(address avs, address registrar) external;
10787```*/
10788    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10789    #[derive(Clone)]
10790    pub struct setAVSRegistrarCall {
10791        #[allow(missing_docs)]
10792        pub avs: alloy::sol_types::private::Address,
10793        #[allow(missing_docs)]
10794        pub registrar: alloy::sol_types::private::Address,
10795    }
10796    ///Container type for the return parameters of the [`setAVSRegistrar(address,address)`](setAVSRegistrarCall) function.
10797    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10798    #[derive(Clone)]
10799    pub struct setAVSRegistrarReturn {}
10800    #[allow(
10801        non_camel_case_types,
10802        non_snake_case,
10803        clippy::pub_underscore_fields,
10804        clippy::style
10805    )]
10806    const _: () = {
10807        use alloy::sol_types as alloy_sol_types;
10808        {
10809            #[doc(hidden)]
10810            type UnderlyingSolTuple<'a> = (
10811                alloy::sol_types::sol_data::Address,
10812                alloy::sol_types::sol_data::Address,
10813            );
10814            #[doc(hidden)]
10815            type UnderlyingRustTuple<'a> = (
10816                alloy::sol_types::private::Address,
10817                alloy::sol_types::private::Address,
10818            );
10819            #[cfg(test)]
10820            #[allow(dead_code, unreachable_patterns)]
10821            fn _type_assertion(
10822                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10823            ) {
10824                match _t {
10825                    alloy_sol_types::private::AssertTypeEq::<
10826                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10827                    >(_) => {}
10828                }
10829            }
10830            #[automatically_derived]
10831            #[doc(hidden)]
10832            impl ::core::convert::From<setAVSRegistrarCall> for UnderlyingRustTuple<'_> {
10833                fn from(value: setAVSRegistrarCall) -> Self {
10834                    (value.avs, value.registrar)
10835                }
10836            }
10837            #[automatically_derived]
10838            #[doc(hidden)]
10839            impl ::core::convert::From<UnderlyingRustTuple<'_>> for setAVSRegistrarCall {
10840                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10841                    Self {
10842                        avs: tuple.0,
10843                        registrar: tuple.1,
10844                    }
10845                }
10846            }
10847        }
10848        {
10849            #[doc(hidden)]
10850            type UnderlyingSolTuple<'a> = ();
10851            #[doc(hidden)]
10852            type UnderlyingRustTuple<'a> = ();
10853            #[cfg(test)]
10854            #[allow(dead_code, unreachable_patterns)]
10855            fn _type_assertion(
10856                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10857            ) {
10858                match _t {
10859                    alloy_sol_types::private::AssertTypeEq::<
10860                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10861                    >(_) => {}
10862                }
10863            }
10864            #[automatically_derived]
10865            #[doc(hidden)]
10866            impl ::core::convert::From<setAVSRegistrarReturn>
10867            for UnderlyingRustTuple<'_> {
10868                fn from(value: setAVSRegistrarReturn) -> Self {
10869                    ()
10870                }
10871            }
10872            #[automatically_derived]
10873            #[doc(hidden)]
10874            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10875            for setAVSRegistrarReturn {
10876                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10877                    Self {}
10878                }
10879            }
10880        }
10881        #[automatically_derived]
10882        impl alloy_sol_types::SolCall for setAVSRegistrarCall {
10883            type Parameters<'a> = (
10884                alloy::sol_types::sol_data::Address,
10885                alloy::sol_types::sol_data::Address,
10886            );
10887            type Token<'a> = <Self::Parameters<
10888                'a,
10889            > as alloy_sol_types::SolType>::Token<'a>;
10890            type Return = setAVSRegistrarReturn;
10891            type ReturnTuple<'a> = ();
10892            type ReturnToken<'a> = <Self::ReturnTuple<
10893                'a,
10894            > as alloy_sol_types::SolType>::Token<'a>;
10895            const SIGNATURE: &'static str = "setAVSRegistrar(address,address)";
10896            const SELECTOR: [u8; 4] = [211u8, 217u8, 111u8, 244u8];
10897            #[inline]
10898            fn new<'a>(
10899                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10900            ) -> Self {
10901                tuple.into()
10902            }
10903            #[inline]
10904            fn tokenize(&self) -> Self::Token<'_> {
10905                (
10906                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10907                        &self.avs,
10908                    ),
10909                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10910                        &self.registrar,
10911                    ),
10912                )
10913            }
10914            #[inline]
10915            fn abi_decode_returns(
10916                data: &[u8],
10917                validate: bool,
10918            ) -> alloy_sol_types::Result<Self::Return> {
10919                <Self::ReturnTuple<
10920                    '_,
10921                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
10922                    .map(Into::into)
10923            }
10924        }
10925    };
10926    #[derive(Default, Debug, PartialEq, Eq, Hash)]
10927    /**Function with signature `setAllocationDelay(address,uint32)` and selector `0x56c483e6`.
10928```solidity
10929function setAllocationDelay(address operator, uint32 delay) external;
10930```*/
10931    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10932    #[derive(Clone)]
10933    pub struct setAllocationDelayCall {
10934        #[allow(missing_docs)]
10935        pub operator: alloy::sol_types::private::Address,
10936        #[allow(missing_docs)]
10937        pub delay: u32,
10938    }
10939    ///Container type for the return parameters of the [`setAllocationDelay(address,uint32)`](setAllocationDelayCall) function.
10940    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10941    #[derive(Clone)]
10942    pub struct setAllocationDelayReturn {}
10943    #[allow(
10944        non_camel_case_types,
10945        non_snake_case,
10946        clippy::pub_underscore_fields,
10947        clippy::style
10948    )]
10949    const _: () = {
10950        use alloy::sol_types as alloy_sol_types;
10951        {
10952            #[doc(hidden)]
10953            type UnderlyingSolTuple<'a> = (
10954                alloy::sol_types::sol_data::Address,
10955                alloy::sol_types::sol_data::Uint<32>,
10956            );
10957            #[doc(hidden)]
10958            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address, u32);
10959            #[cfg(test)]
10960            #[allow(dead_code, unreachable_patterns)]
10961            fn _type_assertion(
10962                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10963            ) {
10964                match _t {
10965                    alloy_sol_types::private::AssertTypeEq::<
10966                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10967                    >(_) => {}
10968                }
10969            }
10970            #[automatically_derived]
10971            #[doc(hidden)]
10972            impl ::core::convert::From<setAllocationDelayCall>
10973            for UnderlyingRustTuple<'_> {
10974                fn from(value: setAllocationDelayCall) -> Self {
10975                    (value.operator, value.delay)
10976                }
10977            }
10978            #[automatically_derived]
10979            #[doc(hidden)]
10980            impl ::core::convert::From<UnderlyingRustTuple<'_>>
10981            for setAllocationDelayCall {
10982                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10983                    Self {
10984                        operator: tuple.0,
10985                        delay: tuple.1,
10986                    }
10987                }
10988            }
10989        }
10990        {
10991            #[doc(hidden)]
10992            type UnderlyingSolTuple<'a> = ();
10993            #[doc(hidden)]
10994            type UnderlyingRustTuple<'a> = ();
10995            #[cfg(test)]
10996            #[allow(dead_code, unreachable_patterns)]
10997            fn _type_assertion(
10998                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10999            ) {
11000                match _t {
11001                    alloy_sol_types::private::AssertTypeEq::<
11002                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11003                    >(_) => {}
11004                }
11005            }
11006            #[automatically_derived]
11007            #[doc(hidden)]
11008            impl ::core::convert::From<setAllocationDelayReturn>
11009            for UnderlyingRustTuple<'_> {
11010                fn from(value: setAllocationDelayReturn) -> Self {
11011                    ()
11012                }
11013            }
11014            #[automatically_derived]
11015            #[doc(hidden)]
11016            impl ::core::convert::From<UnderlyingRustTuple<'_>>
11017            for setAllocationDelayReturn {
11018                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11019                    Self {}
11020                }
11021            }
11022        }
11023        #[automatically_derived]
11024        impl alloy_sol_types::SolCall for setAllocationDelayCall {
11025            type Parameters<'a> = (
11026                alloy::sol_types::sol_data::Address,
11027                alloy::sol_types::sol_data::Uint<32>,
11028            );
11029            type Token<'a> = <Self::Parameters<
11030                'a,
11031            > as alloy_sol_types::SolType>::Token<'a>;
11032            type Return = setAllocationDelayReturn;
11033            type ReturnTuple<'a> = ();
11034            type ReturnToken<'a> = <Self::ReturnTuple<
11035                'a,
11036            > as alloy_sol_types::SolType>::Token<'a>;
11037            const SIGNATURE: &'static str = "setAllocationDelay(address,uint32)";
11038            const SELECTOR: [u8; 4] = [86u8, 196u8, 131u8, 230u8];
11039            #[inline]
11040            fn new<'a>(
11041                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
11042            ) -> Self {
11043                tuple.into()
11044            }
11045            #[inline]
11046            fn tokenize(&self) -> Self::Token<'_> {
11047                (
11048                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
11049                        &self.operator,
11050                    ),
11051                    <alloy::sol_types::sol_data::Uint<
11052                        32,
11053                    > as alloy_sol_types::SolType>::tokenize(&self.delay),
11054                )
11055            }
11056            #[inline]
11057            fn abi_decode_returns(
11058                data: &[u8],
11059                validate: bool,
11060            ) -> alloy_sol_types::Result<Self::Return> {
11061                <Self::ReturnTuple<
11062                    '_,
11063                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
11064                    .map(Into::into)
11065            }
11066        }
11067    };
11068    #[derive(Default, Debug, PartialEq, Eq, Hash)]
11069    /**Function with signature `slashOperator(address,(address,uint32,address[],uint256[],string))` and selector `0x36352057`.
11070```solidity
11071function slashOperator(address avs, IAllocationManagerTypes.SlashingParams memory params) external;
11072```*/
11073    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
11074    #[derive(Clone)]
11075    pub struct slashOperatorCall {
11076        #[allow(missing_docs)]
11077        pub avs: alloy::sol_types::private::Address,
11078        #[allow(missing_docs)]
11079        pub params: <IAllocationManagerTypes::SlashingParams as alloy::sol_types::SolType>::RustType,
11080    }
11081    ///Container type for the return parameters of the [`slashOperator(address,(address,uint32,address[],uint256[],string))`](slashOperatorCall) function.
11082    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
11083    #[derive(Clone)]
11084    pub struct slashOperatorReturn {}
11085    #[allow(
11086        non_camel_case_types,
11087        non_snake_case,
11088        clippy::pub_underscore_fields,
11089        clippy::style
11090    )]
11091    const _: () = {
11092        use alloy::sol_types as alloy_sol_types;
11093        {
11094            #[doc(hidden)]
11095            type UnderlyingSolTuple<'a> = (
11096                alloy::sol_types::sol_data::Address,
11097                IAllocationManagerTypes::SlashingParams,
11098            );
11099            #[doc(hidden)]
11100            type UnderlyingRustTuple<'a> = (
11101                alloy::sol_types::private::Address,
11102                <IAllocationManagerTypes::SlashingParams as alloy::sol_types::SolType>::RustType,
11103            );
11104            #[cfg(test)]
11105            #[allow(dead_code, unreachable_patterns)]
11106            fn _type_assertion(
11107                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
11108            ) {
11109                match _t {
11110                    alloy_sol_types::private::AssertTypeEq::<
11111                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11112                    >(_) => {}
11113                }
11114            }
11115            #[automatically_derived]
11116            #[doc(hidden)]
11117            impl ::core::convert::From<slashOperatorCall> for UnderlyingRustTuple<'_> {
11118                fn from(value: slashOperatorCall) -> Self {
11119                    (value.avs, value.params)
11120                }
11121            }
11122            #[automatically_derived]
11123            #[doc(hidden)]
11124            impl ::core::convert::From<UnderlyingRustTuple<'_>> for slashOperatorCall {
11125                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11126                    Self {
11127                        avs: tuple.0,
11128                        params: tuple.1,
11129                    }
11130                }
11131            }
11132        }
11133        {
11134            #[doc(hidden)]
11135            type UnderlyingSolTuple<'a> = ();
11136            #[doc(hidden)]
11137            type UnderlyingRustTuple<'a> = ();
11138            #[cfg(test)]
11139            #[allow(dead_code, unreachable_patterns)]
11140            fn _type_assertion(
11141                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
11142            ) {
11143                match _t {
11144                    alloy_sol_types::private::AssertTypeEq::<
11145                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11146                    >(_) => {}
11147                }
11148            }
11149            #[automatically_derived]
11150            #[doc(hidden)]
11151            impl ::core::convert::From<slashOperatorReturn> for UnderlyingRustTuple<'_> {
11152                fn from(value: slashOperatorReturn) -> Self {
11153                    ()
11154                }
11155            }
11156            #[automatically_derived]
11157            #[doc(hidden)]
11158            impl ::core::convert::From<UnderlyingRustTuple<'_>> for slashOperatorReturn {
11159                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11160                    Self {}
11161                }
11162            }
11163        }
11164        #[automatically_derived]
11165        impl alloy_sol_types::SolCall for slashOperatorCall {
11166            type Parameters<'a> = (
11167                alloy::sol_types::sol_data::Address,
11168                IAllocationManagerTypes::SlashingParams,
11169            );
11170            type Token<'a> = <Self::Parameters<
11171                'a,
11172            > as alloy_sol_types::SolType>::Token<'a>;
11173            type Return = slashOperatorReturn;
11174            type ReturnTuple<'a> = ();
11175            type ReturnToken<'a> = <Self::ReturnTuple<
11176                'a,
11177            > as alloy_sol_types::SolType>::Token<'a>;
11178            const SIGNATURE: &'static str = "slashOperator(address,(address,uint32,address[],uint256[],string))";
11179            const SELECTOR: [u8; 4] = [54u8, 53u8, 32u8, 87u8];
11180            #[inline]
11181            fn new<'a>(
11182                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
11183            ) -> Self {
11184                tuple.into()
11185            }
11186            #[inline]
11187            fn tokenize(&self) -> Self::Token<'_> {
11188                (
11189                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
11190                        &self.avs,
11191                    ),
11192                    <IAllocationManagerTypes::SlashingParams as alloy_sol_types::SolType>::tokenize(
11193                        &self.params,
11194                    ),
11195                )
11196            }
11197            #[inline]
11198            fn abi_decode_returns(
11199                data: &[u8],
11200                validate: bool,
11201            ) -> alloy_sol_types::Result<Self::Return> {
11202                <Self::ReturnTuple<
11203                    '_,
11204                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
11205                    .map(Into::into)
11206            }
11207        }
11208    };
11209    #[derive(Default, Debug, PartialEq, Eq, Hash)]
11210    /**Function with signature `updateAVSMetadataURI(address,string)` and selector `0xa9821821`.
11211```solidity
11212function updateAVSMetadataURI(address avs, string memory metadataURI) external;
11213```*/
11214    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
11215    #[derive(Clone)]
11216    pub struct updateAVSMetadataURICall {
11217        #[allow(missing_docs)]
11218        pub avs: alloy::sol_types::private::Address,
11219        #[allow(missing_docs)]
11220        pub metadataURI: alloy::sol_types::private::String,
11221    }
11222    ///Container type for the return parameters of the [`updateAVSMetadataURI(address,string)`](updateAVSMetadataURICall) function.
11223    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
11224    #[derive(Clone)]
11225    pub struct updateAVSMetadataURIReturn {}
11226    #[allow(
11227        non_camel_case_types,
11228        non_snake_case,
11229        clippy::pub_underscore_fields,
11230        clippy::style
11231    )]
11232    const _: () = {
11233        use alloy::sol_types as alloy_sol_types;
11234        {
11235            #[doc(hidden)]
11236            type UnderlyingSolTuple<'a> = (
11237                alloy::sol_types::sol_data::Address,
11238                alloy::sol_types::sol_data::String,
11239            );
11240            #[doc(hidden)]
11241            type UnderlyingRustTuple<'a> = (
11242                alloy::sol_types::private::Address,
11243                alloy::sol_types::private::String,
11244            );
11245            #[cfg(test)]
11246            #[allow(dead_code, unreachable_patterns)]
11247            fn _type_assertion(
11248                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
11249            ) {
11250                match _t {
11251                    alloy_sol_types::private::AssertTypeEq::<
11252                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11253                    >(_) => {}
11254                }
11255            }
11256            #[automatically_derived]
11257            #[doc(hidden)]
11258            impl ::core::convert::From<updateAVSMetadataURICall>
11259            for UnderlyingRustTuple<'_> {
11260                fn from(value: updateAVSMetadataURICall) -> Self {
11261                    (value.avs, value.metadataURI)
11262                }
11263            }
11264            #[automatically_derived]
11265            #[doc(hidden)]
11266            impl ::core::convert::From<UnderlyingRustTuple<'_>>
11267            for updateAVSMetadataURICall {
11268                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11269                    Self {
11270                        avs: tuple.0,
11271                        metadataURI: tuple.1,
11272                    }
11273                }
11274            }
11275        }
11276        {
11277            #[doc(hidden)]
11278            type UnderlyingSolTuple<'a> = ();
11279            #[doc(hidden)]
11280            type UnderlyingRustTuple<'a> = ();
11281            #[cfg(test)]
11282            #[allow(dead_code, unreachable_patterns)]
11283            fn _type_assertion(
11284                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
11285            ) {
11286                match _t {
11287                    alloy_sol_types::private::AssertTypeEq::<
11288                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11289                    >(_) => {}
11290                }
11291            }
11292            #[automatically_derived]
11293            #[doc(hidden)]
11294            impl ::core::convert::From<updateAVSMetadataURIReturn>
11295            for UnderlyingRustTuple<'_> {
11296                fn from(value: updateAVSMetadataURIReturn) -> Self {
11297                    ()
11298                }
11299            }
11300            #[automatically_derived]
11301            #[doc(hidden)]
11302            impl ::core::convert::From<UnderlyingRustTuple<'_>>
11303            for updateAVSMetadataURIReturn {
11304                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11305                    Self {}
11306                }
11307            }
11308        }
11309        #[automatically_derived]
11310        impl alloy_sol_types::SolCall for updateAVSMetadataURICall {
11311            type Parameters<'a> = (
11312                alloy::sol_types::sol_data::Address,
11313                alloy::sol_types::sol_data::String,
11314            );
11315            type Token<'a> = <Self::Parameters<
11316                'a,
11317            > as alloy_sol_types::SolType>::Token<'a>;
11318            type Return = updateAVSMetadataURIReturn;
11319            type ReturnTuple<'a> = ();
11320            type ReturnToken<'a> = <Self::ReturnTuple<
11321                'a,
11322            > as alloy_sol_types::SolType>::Token<'a>;
11323            const SIGNATURE: &'static str = "updateAVSMetadataURI(address,string)";
11324            const SELECTOR: [u8; 4] = [169u8, 130u8, 24u8, 33u8];
11325            #[inline]
11326            fn new<'a>(
11327                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
11328            ) -> Self {
11329                tuple.into()
11330            }
11331            #[inline]
11332            fn tokenize(&self) -> Self::Token<'_> {
11333                (
11334                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
11335                        &self.avs,
11336                    ),
11337                    <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
11338                        &self.metadataURI,
11339                    ),
11340                )
11341            }
11342            #[inline]
11343            fn abi_decode_returns(
11344                data: &[u8],
11345                validate: bool,
11346            ) -> alloy_sol_types::Result<Self::Return> {
11347                <Self::ReturnTuple<
11348                    '_,
11349                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
11350                    .map(Into::into)
11351            }
11352        }
11353    };
11354    #[derive(Default, Debug, PartialEq, Eq, Hash)]
11355    /**Function with signature `version()` and selector `0x54fd4d50`.
11356```solidity
11357function version() external view returns (string memory);
11358```*/
11359    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
11360    #[derive(Clone)]
11361    pub struct versionCall {}
11362    #[derive(Default, Debug, PartialEq, Eq, Hash)]
11363    ///Container type for the return parameters of the [`version()`](versionCall) function.
11364    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
11365    #[derive(Clone)]
11366    pub struct versionReturn {
11367        #[allow(missing_docs)]
11368        pub _0: alloy::sol_types::private::String,
11369    }
11370    #[allow(
11371        non_camel_case_types,
11372        non_snake_case,
11373        clippy::pub_underscore_fields,
11374        clippy::style
11375    )]
11376    const _: () = {
11377        use alloy::sol_types as alloy_sol_types;
11378        {
11379            #[doc(hidden)]
11380            type UnderlyingSolTuple<'a> = ();
11381            #[doc(hidden)]
11382            type UnderlyingRustTuple<'a> = ();
11383            #[cfg(test)]
11384            #[allow(dead_code, unreachable_patterns)]
11385            fn _type_assertion(
11386                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
11387            ) {
11388                match _t {
11389                    alloy_sol_types::private::AssertTypeEq::<
11390                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11391                    >(_) => {}
11392                }
11393            }
11394            #[automatically_derived]
11395            #[doc(hidden)]
11396            impl ::core::convert::From<versionCall> for UnderlyingRustTuple<'_> {
11397                fn from(value: versionCall) -> Self {
11398                    ()
11399                }
11400            }
11401            #[automatically_derived]
11402            #[doc(hidden)]
11403            impl ::core::convert::From<UnderlyingRustTuple<'_>> for versionCall {
11404                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11405                    Self {}
11406                }
11407            }
11408        }
11409        {
11410            #[doc(hidden)]
11411            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
11412            #[doc(hidden)]
11413            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
11414            #[cfg(test)]
11415            #[allow(dead_code, unreachable_patterns)]
11416            fn _type_assertion(
11417                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
11418            ) {
11419                match _t {
11420                    alloy_sol_types::private::AssertTypeEq::<
11421                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11422                    >(_) => {}
11423                }
11424            }
11425            #[automatically_derived]
11426            #[doc(hidden)]
11427            impl ::core::convert::From<versionReturn> for UnderlyingRustTuple<'_> {
11428                fn from(value: versionReturn) -> Self {
11429                    (value._0,)
11430                }
11431            }
11432            #[automatically_derived]
11433            #[doc(hidden)]
11434            impl ::core::convert::From<UnderlyingRustTuple<'_>> for versionReturn {
11435                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11436                    Self { _0: tuple.0 }
11437                }
11438            }
11439        }
11440        #[automatically_derived]
11441        impl alloy_sol_types::SolCall for versionCall {
11442            type Parameters<'a> = ();
11443            type Token<'a> = <Self::Parameters<
11444                'a,
11445            > as alloy_sol_types::SolType>::Token<'a>;
11446            type Return = versionReturn;
11447            type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
11448            type ReturnToken<'a> = <Self::ReturnTuple<
11449                'a,
11450            > as alloy_sol_types::SolType>::Token<'a>;
11451            const SIGNATURE: &'static str = "version()";
11452            const SELECTOR: [u8; 4] = [84u8, 253u8, 77u8, 80u8];
11453            #[inline]
11454            fn new<'a>(
11455                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
11456            ) -> Self {
11457                tuple.into()
11458            }
11459            #[inline]
11460            fn tokenize(&self) -> Self::Token<'_> {
11461                ()
11462            }
11463            #[inline]
11464            fn abi_decode_returns(
11465                data: &[u8],
11466                validate: bool,
11467            ) -> alloy_sol_types::Result<Self::Return> {
11468                <Self::ReturnTuple<
11469                    '_,
11470                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
11471                    .map(Into::into)
11472            }
11473        }
11474    };
11475    ///Container for all the [`IAllocationManager`](self) function calls.
11476    #[derive()]
11477    pub enum IAllocationManagerCalls {
11478        #[allow(missing_docs)]
11479        addStrategiesToOperatorSet(addStrategiesToOperatorSetCall),
11480        #[allow(missing_docs)]
11481        clearDeallocationQueue(clearDeallocationQueueCall),
11482        #[allow(missing_docs)]
11483        createOperatorSets(createOperatorSetsCall),
11484        #[allow(missing_docs)]
11485        deregisterFromOperatorSets(deregisterFromOperatorSetsCall),
11486        #[allow(missing_docs)]
11487        getAVSRegistrar(getAVSRegistrarCall),
11488        #[allow(missing_docs)]
11489        getAllocatableMagnitude(getAllocatableMagnitudeCall),
11490        #[allow(missing_docs)]
11491        getAllocatedSets(getAllocatedSetsCall),
11492        #[allow(missing_docs)]
11493        getAllocatedStake(getAllocatedStakeCall),
11494        #[allow(missing_docs)]
11495        getAllocatedStrategies(getAllocatedStrategiesCall),
11496        #[allow(missing_docs)]
11497        getAllocation(getAllocationCall),
11498        #[allow(missing_docs)]
11499        getAllocationDelay(getAllocationDelayCall),
11500        #[allow(missing_docs)]
11501        getAllocations(getAllocationsCall),
11502        #[allow(missing_docs)]
11503        getEncumberedMagnitude(getEncumberedMagnitudeCall),
11504        #[allow(missing_docs)]
11505        getMaxMagnitude(getMaxMagnitudeCall),
11506        #[allow(missing_docs)]
11507        getMaxMagnitudes_0(getMaxMagnitudes_0Call),
11508        #[allow(missing_docs)]
11509        getMaxMagnitudes_1(getMaxMagnitudes_1Call),
11510        #[allow(missing_docs)]
11511        getMaxMagnitudesAtBlock(getMaxMagnitudesAtBlockCall),
11512        #[allow(missing_docs)]
11513        getMemberCount(getMemberCountCall),
11514        #[allow(missing_docs)]
11515        getMembers(getMembersCall),
11516        #[allow(missing_docs)]
11517        getMinimumSlashableStake(getMinimumSlashableStakeCall),
11518        #[allow(missing_docs)]
11519        getOperatorSetCount(getOperatorSetCountCall),
11520        #[allow(missing_docs)]
11521        getRegisteredSets(getRegisteredSetsCall),
11522        #[allow(missing_docs)]
11523        getStrategiesInOperatorSet(getStrategiesInOperatorSetCall),
11524        #[allow(missing_docs)]
11525        getStrategyAllocations(getStrategyAllocationsCall),
11526        #[allow(missing_docs)]
11527        initialize(initializeCall),
11528        #[allow(missing_docs)]
11529        isMemberOfOperatorSet(isMemberOfOperatorSetCall),
11530        #[allow(missing_docs)]
11531        isOperatorSet(isOperatorSetCall),
11532        #[allow(missing_docs)]
11533        isOperatorSlashable(isOperatorSlashableCall),
11534        #[allow(missing_docs)]
11535        modifyAllocations(modifyAllocationsCall),
11536        #[allow(missing_docs)]
11537        registerForOperatorSets(registerForOperatorSetsCall),
11538        #[allow(missing_docs)]
11539        removeStrategiesFromOperatorSet(removeStrategiesFromOperatorSetCall),
11540        #[allow(missing_docs)]
11541        setAVSRegistrar(setAVSRegistrarCall),
11542        #[allow(missing_docs)]
11543        setAllocationDelay(setAllocationDelayCall),
11544        #[allow(missing_docs)]
11545        slashOperator(slashOperatorCall),
11546        #[allow(missing_docs)]
11547        updateAVSMetadataURI(updateAVSMetadataURICall),
11548        #[allow(missing_docs)]
11549        version(versionCall),
11550    }
11551    #[automatically_derived]
11552    impl IAllocationManagerCalls {
11553        /// All the selectors of this enum.
11554        ///
11555        /// Note that the selectors might not be in the same order as the variants.
11556        /// No guarantees are made about the order of the selectors.
11557        ///
11558        /// Prefer using `SolInterface` methods instead.
11559        pub const SELECTORS: &'static [[u8; 4usize]] = &[
11560            [16u8, 225u8, 185u8, 184u8],
11561            [19u8, 82u8, 195u8, 230u8],
11562            [21u8, 254u8, 80u8, 40u8],
11563            [38u8, 13u8, 199u8, 88u8],
11564            [38u8, 31u8, 132u8, 224u8],
11565            [43u8, 69u8, 58u8, 154u8],
11566            [43u8, 171u8, 44u8, 74u8],
11567            [48u8, 76u8, 16u8, 205u8],
11568            [54u8, 53u8, 32u8, 87u8],
11569            [64u8, 18u8, 13u8, 171u8],
11570            [65u8, 119u8, 168u8, 124u8],
11571            [74u8, 16u8, 255u8, 229u8],
11572            [75u8, 80u8, 70u8, 239u8],
11573            [80u8, 254u8, 234u8, 32u8],
11574            [84u8, 122u8, 251u8, 135u8],
11575            [84u8, 253u8, 77u8, 80u8],
11576            [86u8, 196u8, 131u8, 230u8],
11577            [103u8, 13u8, 59u8, 162u8],
11578            [108u8, 251u8, 68u8, 129u8],
11579            [110u8, 52u8, 146u8, 181u8],
11580            [110u8, 135u8, 93u8, 186u8],
11581            [121u8, 174u8, 80u8, 205u8],
11582            [140u8, 230u8, 72u8, 84u8],
11583            [148u8, 215u8, 208u8, 12u8],
11584            [149u8, 40u8, 153u8, 238u8],
11585            [169u8, 51u8, 62u8, 200u8],
11586            [169u8, 130u8, 24u8, 33u8],
11587            [173u8, 194u8, 227u8, 217u8],
11588            [178u8, 68u8, 122u8, 247u8],
11589            [182u8, 107u8, 217u8, 137u8],
11590            [185u8, 251u8, 174u8, 209u8],
11591            [186u8, 26u8, 132u8, 229u8],
11592            [194u8, 33u8, 216u8, 174u8],
11593            [205u8, 109u8, 198u8, 135u8],
11594            [211u8, 217u8, 111u8, 244u8],
11595            [246u8, 5u8, 206u8, 8u8],
11596        ];
11597    }
11598    #[automatically_derived]
11599    impl alloy_sol_types::SolInterface for IAllocationManagerCalls {
11600        const NAME: &'static str = "IAllocationManagerCalls";
11601        const MIN_DATA_LENGTH: usize = 0usize;
11602        const COUNT: usize = 36usize;
11603        #[inline]
11604        fn selector(&self) -> [u8; 4] {
11605            match self {
11606                Self::addStrategiesToOperatorSet(_) => {
11607                    <addStrategiesToOperatorSetCall as alloy_sol_types::SolCall>::SELECTOR
11608                }
11609                Self::clearDeallocationQueue(_) => {
11610                    <clearDeallocationQueueCall as alloy_sol_types::SolCall>::SELECTOR
11611                }
11612                Self::createOperatorSets(_) => {
11613                    <createOperatorSetsCall as alloy_sol_types::SolCall>::SELECTOR
11614                }
11615                Self::deregisterFromOperatorSets(_) => {
11616                    <deregisterFromOperatorSetsCall as alloy_sol_types::SolCall>::SELECTOR
11617                }
11618                Self::getAVSRegistrar(_) => {
11619                    <getAVSRegistrarCall as alloy_sol_types::SolCall>::SELECTOR
11620                }
11621                Self::getAllocatableMagnitude(_) => {
11622                    <getAllocatableMagnitudeCall as alloy_sol_types::SolCall>::SELECTOR
11623                }
11624                Self::getAllocatedSets(_) => {
11625                    <getAllocatedSetsCall as alloy_sol_types::SolCall>::SELECTOR
11626                }
11627                Self::getAllocatedStake(_) => {
11628                    <getAllocatedStakeCall as alloy_sol_types::SolCall>::SELECTOR
11629                }
11630                Self::getAllocatedStrategies(_) => {
11631                    <getAllocatedStrategiesCall as alloy_sol_types::SolCall>::SELECTOR
11632                }
11633                Self::getAllocation(_) => {
11634                    <getAllocationCall as alloy_sol_types::SolCall>::SELECTOR
11635                }
11636                Self::getAllocationDelay(_) => {
11637                    <getAllocationDelayCall as alloy_sol_types::SolCall>::SELECTOR
11638                }
11639                Self::getAllocations(_) => {
11640                    <getAllocationsCall as alloy_sol_types::SolCall>::SELECTOR
11641                }
11642                Self::getEncumberedMagnitude(_) => {
11643                    <getEncumberedMagnitudeCall as alloy_sol_types::SolCall>::SELECTOR
11644                }
11645                Self::getMaxMagnitude(_) => {
11646                    <getMaxMagnitudeCall as alloy_sol_types::SolCall>::SELECTOR
11647                }
11648                Self::getMaxMagnitudes_0(_) => {
11649                    <getMaxMagnitudes_0Call as alloy_sol_types::SolCall>::SELECTOR
11650                }
11651                Self::getMaxMagnitudes_1(_) => {
11652                    <getMaxMagnitudes_1Call as alloy_sol_types::SolCall>::SELECTOR
11653                }
11654                Self::getMaxMagnitudesAtBlock(_) => {
11655                    <getMaxMagnitudesAtBlockCall as alloy_sol_types::SolCall>::SELECTOR
11656                }
11657                Self::getMemberCount(_) => {
11658                    <getMemberCountCall as alloy_sol_types::SolCall>::SELECTOR
11659                }
11660                Self::getMembers(_) => {
11661                    <getMembersCall as alloy_sol_types::SolCall>::SELECTOR
11662                }
11663                Self::getMinimumSlashableStake(_) => {
11664                    <getMinimumSlashableStakeCall as alloy_sol_types::SolCall>::SELECTOR
11665                }
11666                Self::getOperatorSetCount(_) => {
11667                    <getOperatorSetCountCall as alloy_sol_types::SolCall>::SELECTOR
11668                }
11669                Self::getRegisteredSets(_) => {
11670                    <getRegisteredSetsCall as alloy_sol_types::SolCall>::SELECTOR
11671                }
11672                Self::getStrategiesInOperatorSet(_) => {
11673                    <getStrategiesInOperatorSetCall as alloy_sol_types::SolCall>::SELECTOR
11674                }
11675                Self::getStrategyAllocations(_) => {
11676                    <getStrategyAllocationsCall as alloy_sol_types::SolCall>::SELECTOR
11677                }
11678                Self::initialize(_) => {
11679                    <initializeCall as alloy_sol_types::SolCall>::SELECTOR
11680                }
11681                Self::isMemberOfOperatorSet(_) => {
11682                    <isMemberOfOperatorSetCall as alloy_sol_types::SolCall>::SELECTOR
11683                }
11684                Self::isOperatorSet(_) => {
11685                    <isOperatorSetCall as alloy_sol_types::SolCall>::SELECTOR
11686                }
11687                Self::isOperatorSlashable(_) => {
11688                    <isOperatorSlashableCall as alloy_sol_types::SolCall>::SELECTOR
11689                }
11690                Self::modifyAllocations(_) => {
11691                    <modifyAllocationsCall as alloy_sol_types::SolCall>::SELECTOR
11692                }
11693                Self::registerForOperatorSets(_) => {
11694                    <registerForOperatorSetsCall as alloy_sol_types::SolCall>::SELECTOR
11695                }
11696                Self::removeStrategiesFromOperatorSet(_) => {
11697                    <removeStrategiesFromOperatorSetCall as alloy_sol_types::SolCall>::SELECTOR
11698                }
11699                Self::setAVSRegistrar(_) => {
11700                    <setAVSRegistrarCall as alloy_sol_types::SolCall>::SELECTOR
11701                }
11702                Self::setAllocationDelay(_) => {
11703                    <setAllocationDelayCall as alloy_sol_types::SolCall>::SELECTOR
11704                }
11705                Self::slashOperator(_) => {
11706                    <slashOperatorCall as alloy_sol_types::SolCall>::SELECTOR
11707                }
11708                Self::updateAVSMetadataURI(_) => {
11709                    <updateAVSMetadataURICall as alloy_sol_types::SolCall>::SELECTOR
11710                }
11711                Self::version(_) => <versionCall as alloy_sol_types::SolCall>::SELECTOR,
11712            }
11713        }
11714        #[inline]
11715        fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
11716            Self::SELECTORS.get(i).copied()
11717        }
11718        #[inline]
11719        fn valid_selector(selector: [u8; 4]) -> bool {
11720            Self::SELECTORS.binary_search(&selector).is_ok()
11721        }
11722        #[inline]
11723        #[allow(non_snake_case)]
11724        fn abi_decode_raw(
11725            selector: [u8; 4],
11726            data: &[u8],
11727            validate: bool,
11728        ) -> alloy_sol_types::Result<Self> {
11729            static DECODE_SHIMS: &[fn(
11730                &[u8],
11731                bool,
11732            ) -> alloy_sol_types::Result<IAllocationManagerCalls>] = &[
11733                {
11734                    fn getAllocation(
11735                        data: &[u8],
11736                        validate: bool,
11737                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11738                        <getAllocationCall as alloy_sol_types::SolCall>::abi_decode_raw(
11739                                data,
11740                                validate,
11741                            )
11742                            .map(IAllocationManagerCalls::getAllocation)
11743                    }
11744                    getAllocation
11745                },
11746                {
11747                    fn isOperatorSlashable(
11748                        data: &[u8],
11749                        validate: bool,
11750                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11751                        <isOperatorSlashableCall as alloy_sol_types::SolCall>::abi_decode_raw(
11752                                data,
11753                                validate,
11754                            )
11755                            .map(IAllocationManagerCalls::isOperatorSlashable)
11756                    }
11757                    isOperatorSlashable
11758                },
11759                {
11760                    fn getAllocatedSets(
11761                        data: &[u8],
11762                        validate: bool,
11763                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11764                        <getAllocatedSetsCall as alloy_sol_types::SolCall>::abi_decode_raw(
11765                                data,
11766                                validate,
11767                            )
11768                            .map(IAllocationManagerCalls::getAllocatedSets)
11769                    }
11770                    getAllocatedSets
11771                },
11772                {
11773                    fn isOperatorSet(
11774                        data: &[u8],
11775                        validate: bool,
11776                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11777                        <isOperatorSetCall as alloy_sol_types::SolCall>::abi_decode_raw(
11778                                data,
11779                                validate,
11780                            )
11781                            .map(IAllocationManagerCalls::isOperatorSet)
11782                    }
11783                    isOperatorSet
11784                },
11785                {
11786                    fn createOperatorSets(
11787                        data: &[u8],
11788                        validate: bool,
11789                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11790                        <createOperatorSetsCall as alloy_sol_types::SolCall>::abi_decode_raw(
11791                                data,
11792                                validate,
11793                            )
11794                            .map(IAllocationManagerCalls::createOperatorSets)
11795                    }
11796                    createOperatorSets
11797                },
11798                {
11799                    fn getAllocatedStake(
11800                        data: &[u8],
11801                        validate: bool,
11802                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11803                        <getAllocatedStakeCall as alloy_sol_types::SolCall>::abi_decode_raw(
11804                                data,
11805                                validate,
11806                            )
11807                            .map(IAllocationManagerCalls::getAllocatedStake)
11808                    }
11809                    getAllocatedStake
11810                },
11811                {
11812                    fn getMinimumSlashableStake(
11813                        data: &[u8],
11814                        validate: bool,
11815                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11816                        <getMinimumSlashableStakeCall as alloy_sol_types::SolCall>::abi_decode_raw(
11817                                data,
11818                                validate,
11819                            )
11820                            .map(IAllocationManagerCalls::getMinimumSlashableStake)
11821                    }
11822                    getMinimumSlashableStake
11823                },
11824                {
11825                    fn getAVSRegistrar(
11826                        data: &[u8],
11827                        validate: bool,
11828                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11829                        <getAVSRegistrarCall as alloy_sol_types::SolCall>::abi_decode_raw(
11830                                data,
11831                                validate,
11832                            )
11833                            .map(IAllocationManagerCalls::getAVSRegistrar)
11834                    }
11835                    getAVSRegistrar
11836                },
11837                {
11838                    fn slashOperator(
11839                        data: &[u8],
11840                        validate: bool,
11841                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11842                        <slashOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
11843                                data,
11844                                validate,
11845                            )
11846                            .map(IAllocationManagerCalls::slashOperator)
11847                    }
11848                    slashOperator
11849                },
11850                {
11851                    fn getStrategyAllocations(
11852                        data: &[u8],
11853                        validate: bool,
11854                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11855                        <getStrategyAllocationsCall as alloy_sol_types::SolCall>::abi_decode_raw(
11856                                data,
11857                                validate,
11858                            )
11859                            .map(IAllocationManagerCalls::getStrategyAllocations)
11860                    }
11861                    getStrategyAllocations
11862                },
11863                {
11864                    fn getStrategiesInOperatorSet(
11865                        data: &[u8],
11866                        validate: bool,
11867                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11868                        <getStrategiesInOperatorSetCall as alloy_sol_types::SolCall>::abi_decode_raw(
11869                                data,
11870                                validate,
11871                            )
11872                            .map(IAllocationManagerCalls::getStrategiesInOperatorSet)
11873                    }
11874                    getStrategiesInOperatorSet
11875                },
11876                {
11877                    fn getMaxMagnitudes_0(
11878                        data: &[u8],
11879                        validate: bool,
11880                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11881                        <getMaxMagnitudes_0Call as alloy_sol_types::SolCall>::abi_decode_raw(
11882                                data,
11883                                validate,
11884                            )
11885                            .map(IAllocationManagerCalls::getMaxMagnitudes_0)
11886                    }
11887                    getMaxMagnitudes_0
11888                },
11889                {
11890                    fn clearDeallocationQueue(
11891                        data: &[u8],
11892                        validate: bool,
11893                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11894                        <clearDeallocationQueueCall as alloy_sol_types::SolCall>::abi_decode_raw(
11895                                data,
11896                                validate,
11897                            )
11898                            .map(IAllocationManagerCalls::clearDeallocationQueue)
11899                    }
11900                    clearDeallocationQueue
11901                },
11902                {
11903                    fn addStrategiesToOperatorSet(
11904                        data: &[u8],
11905                        validate: bool,
11906                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11907                        <addStrategiesToOperatorSetCall as alloy_sol_types::SolCall>::abi_decode_raw(
11908                                data,
11909                                validate,
11910                            )
11911                            .map(IAllocationManagerCalls::addStrategiesToOperatorSet)
11912                    }
11913                    addStrategiesToOperatorSet
11914                },
11915                {
11916                    fn getMaxMagnitudes_1(
11917                        data: &[u8],
11918                        validate: bool,
11919                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11920                        <getMaxMagnitudes_1Call as alloy_sol_types::SolCall>::abi_decode_raw(
11921                                data,
11922                                validate,
11923                            )
11924                            .map(IAllocationManagerCalls::getMaxMagnitudes_1)
11925                    }
11926                    getMaxMagnitudes_1
11927                },
11928                {
11929                    fn version(
11930                        data: &[u8],
11931                        validate: bool,
11932                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11933                        <versionCall as alloy_sol_types::SolCall>::abi_decode_raw(
11934                                data,
11935                                validate,
11936                            )
11937                            .map(IAllocationManagerCalls::version)
11938                    }
11939                    version
11940                },
11941                {
11942                    fn setAllocationDelay(
11943                        data: &[u8],
11944                        validate: bool,
11945                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11946                        <setAllocationDelayCall as alloy_sol_types::SolCall>::abi_decode_raw(
11947                                data,
11948                                validate,
11949                            )
11950                            .map(IAllocationManagerCalls::setAllocationDelay)
11951                    }
11952                    setAllocationDelay
11953                },
11954                {
11955                    fn isMemberOfOperatorSet(
11956                        data: &[u8],
11957                        validate: bool,
11958                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11959                        <isMemberOfOperatorSetCall as alloy_sol_types::SolCall>::abi_decode_raw(
11960                                data,
11961                                validate,
11962                            )
11963                            .map(IAllocationManagerCalls::isMemberOfOperatorSet)
11964                    }
11965                    isMemberOfOperatorSet
11966                },
11967                {
11968                    fn getAllocatableMagnitude(
11969                        data: &[u8],
11970                        validate: bool,
11971                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11972                        <getAllocatableMagnitudeCall as alloy_sol_types::SolCall>::abi_decode_raw(
11973                                data,
11974                                validate,
11975                            )
11976                            .map(IAllocationManagerCalls::getAllocatableMagnitude)
11977                    }
11978                    getAllocatableMagnitude
11979                },
11980                {
11981                    fn deregisterFromOperatorSets(
11982                        data: &[u8],
11983                        validate: bool,
11984                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11985                        <deregisterFromOperatorSetsCall as alloy_sol_types::SolCall>::abi_decode_raw(
11986                                data,
11987                                validate,
11988                            )
11989                            .map(IAllocationManagerCalls::deregisterFromOperatorSets)
11990                    }
11991                    deregisterFromOperatorSets
11992                },
11993                {
11994                    fn getMembers(
11995                        data: &[u8],
11996                        validate: bool,
11997                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
11998                        <getMembersCall as alloy_sol_types::SolCall>::abi_decode_raw(
11999                                data,
12000                                validate,
12001                            )
12002                            .map(IAllocationManagerCalls::getMembers)
12003                    }
12004                    getMembers
12005                },
12006                {
12007                    fn getRegisteredSets(
12008                        data: &[u8],
12009                        validate: bool,
12010                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12011                        <getRegisteredSetsCall as alloy_sol_types::SolCall>::abi_decode_raw(
12012                                data,
12013                                validate,
12014                            )
12015                            .map(IAllocationManagerCalls::getRegisteredSets)
12016                    }
12017                    getRegisteredSets
12018                },
12019                {
12020                    fn getAllocations(
12021                        data: &[u8],
12022                        validate: bool,
12023                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12024                        <getAllocationsCall as alloy_sol_types::SolCall>::abi_decode_raw(
12025                                data,
12026                                validate,
12027                            )
12028                            .map(IAllocationManagerCalls::getAllocations)
12029                    }
12030                    getAllocations
12031                },
12032                {
12033                    fn getMaxMagnitudesAtBlock(
12034                        data: &[u8],
12035                        validate: bool,
12036                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12037                        <getMaxMagnitudesAtBlockCall as alloy_sol_types::SolCall>::abi_decode_raw(
12038                                data,
12039                                validate,
12040                            )
12041                            .map(IAllocationManagerCalls::getMaxMagnitudesAtBlock)
12042                    }
12043                    getMaxMagnitudesAtBlock
12044                },
12045                {
12046                    fn modifyAllocations(
12047                        data: &[u8],
12048                        validate: bool,
12049                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12050                        <modifyAllocationsCall as alloy_sol_types::SolCall>::abi_decode_raw(
12051                                data,
12052                                validate,
12053                            )
12054                            .map(IAllocationManagerCalls::modifyAllocations)
12055                    }
12056                    modifyAllocations
12057                },
12058                {
12059                    fn getMaxMagnitude(
12060                        data: &[u8],
12061                        validate: bool,
12062                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12063                        <getMaxMagnitudeCall as alloy_sol_types::SolCall>::abi_decode_raw(
12064                                data,
12065                                validate,
12066                            )
12067                            .map(IAllocationManagerCalls::getMaxMagnitude)
12068                    }
12069                    getMaxMagnitude
12070                },
12071                {
12072                    fn updateAVSMetadataURI(
12073                        data: &[u8],
12074                        validate: bool,
12075                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12076                        <updateAVSMetadataURICall as alloy_sol_types::SolCall>::abi_decode_raw(
12077                                data,
12078                                validate,
12079                            )
12080                            .map(IAllocationManagerCalls::updateAVSMetadataURI)
12081                    }
12082                    updateAVSMetadataURI
12083                },
12084                {
12085                    fn registerForOperatorSets(
12086                        data: &[u8],
12087                        validate: bool,
12088                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12089                        <registerForOperatorSetsCall as alloy_sol_types::SolCall>::abi_decode_raw(
12090                                data,
12091                                validate,
12092                            )
12093                            .map(IAllocationManagerCalls::registerForOperatorSets)
12094                    }
12095                    registerForOperatorSets
12096                },
12097                {
12098                    fn getMemberCount(
12099                        data: &[u8],
12100                        validate: bool,
12101                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12102                        <getMemberCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
12103                                data,
12104                                validate,
12105                            )
12106                            .map(IAllocationManagerCalls::getMemberCount)
12107                    }
12108                    getMemberCount
12109                },
12110                {
12111                    fn removeStrategiesFromOperatorSet(
12112                        data: &[u8],
12113                        validate: bool,
12114                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12115                        <removeStrategiesFromOperatorSetCall as alloy_sol_types::SolCall>::abi_decode_raw(
12116                                data,
12117                                validate,
12118                            )
12119                            .map(
12120                                IAllocationManagerCalls::removeStrategiesFromOperatorSet,
12121                            )
12122                    }
12123                    removeStrategiesFromOperatorSet
12124                },
12125                {
12126                    fn getAllocationDelay(
12127                        data: &[u8],
12128                        validate: bool,
12129                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12130                        <getAllocationDelayCall as alloy_sol_types::SolCall>::abi_decode_raw(
12131                                data,
12132                                validate,
12133                            )
12134                            .map(IAllocationManagerCalls::getAllocationDelay)
12135                    }
12136                    getAllocationDelay
12137                },
12138                {
12139                    fn getOperatorSetCount(
12140                        data: &[u8],
12141                        validate: bool,
12142                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12143                        <getOperatorSetCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
12144                                data,
12145                                validate,
12146                            )
12147                            .map(IAllocationManagerCalls::getOperatorSetCount)
12148                    }
12149                    getOperatorSetCount
12150                },
12151                {
12152                    fn getAllocatedStrategies(
12153                        data: &[u8],
12154                        validate: bool,
12155                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12156                        <getAllocatedStrategiesCall as alloy_sol_types::SolCall>::abi_decode_raw(
12157                                data,
12158                                validate,
12159                            )
12160                            .map(IAllocationManagerCalls::getAllocatedStrategies)
12161                    }
12162                    getAllocatedStrategies
12163                },
12164                {
12165                    fn initialize(
12166                        data: &[u8],
12167                        validate: bool,
12168                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12169                        <initializeCall as alloy_sol_types::SolCall>::abi_decode_raw(
12170                                data,
12171                                validate,
12172                            )
12173                            .map(IAllocationManagerCalls::initialize)
12174                    }
12175                    initialize
12176                },
12177                {
12178                    fn setAVSRegistrar(
12179                        data: &[u8],
12180                        validate: bool,
12181                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12182                        <setAVSRegistrarCall as alloy_sol_types::SolCall>::abi_decode_raw(
12183                                data,
12184                                validate,
12185                            )
12186                            .map(IAllocationManagerCalls::setAVSRegistrar)
12187                    }
12188                    setAVSRegistrar
12189                },
12190                {
12191                    fn getEncumberedMagnitude(
12192                        data: &[u8],
12193                        validate: bool,
12194                    ) -> alloy_sol_types::Result<IAllocationManagerCalls> {
12195                        <getEncumberedMagnitudeCall as alloy_sol_types::SolCall>::abi_decode_raw(
12196                                data,
12197                                validate,
12198                            )
12199                            .map(IAllocationManagerCalls::getEncumberedMagnitude)
12200                    }
12201                    getEncumberedMagnitude
12202                },
12203            ];
12204            let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
12205                return Err(
12206                    alloy_sol_types::Error::unknown_selector(
12207                        <Self as alloy_sol_types::SolInterface>::NAME,
12208                        selector,
12209                    ),
12210                );
12211            };
12212            DECODE_SHIMS[idx](data, validate)
12213        }
12214        #[inline]
12215        fn abi_encoded_size(&self) -> usize {
12216            match self {
12217                Self::addStrategiesToOperatorSet(inner) => {
12218                    <addStrategiesToOperatorSetCall as alloy_sol_types::SolCall>::abi_encoded_size(
12219                        inner,
12220                    )
12221                }
12222                Self::clearDeallocationQueue(inner) => {
12223                    <clearDeallocationQueueCall as alloy_sol_types::SolCall>::abi_encoded_size(
12224                        inner,
12225                    )
12226                }
12227                Self::createOperatorSets(inner) => {
12228                    <createOperatorSetsCall as alloy_sol_types::SolCall>::abi_encoded_size(
12229                        inner,
12230                    )
12231                }
12232                Self::deregisterFromOperatorSets(inner) => {
12233                    <deregisterFromOperatorSetsCall as alloy_sol_types::SolCall>::abi_encoded_size(
12234                        inner,
12235                    )
12236                }
12237                Self::getAVSRegistrar(inner) => {
12238                    <getAVSRegistrarCall as alloy_sol_types::SolCall>::abi_encoded_size(
12239                        inner,
12240                    )
12241                }
12242                Self::getAllocatableMagnitude(inner) => {
12243                    <getAllocatableMagnitudeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12244                        inner,
12245                    )
12246                }
12247                Self::getAllocatedSets(inner) => {
12248                    <getAllocatedSetsCall as alloy_sol_types::SolCall>::abi_encoded_size(
12249                        inner,
12250                    )
12251                }
12252                Self::getAllocatedStake(inner) => {
12253                    <getAllocatedStakeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12254                        inner,
12255                    )
12256                }
12257                Self::getAllocatedStrategies(inner) => {
12258                    <getAllocatedStrategiesCall as alloy_sol_types::SolCall>::abi_encoded_size(
12259                        inner,
12260                    )
12261                }
12262                Self::getAllocation(inner) => {
12263                    <getAllocationCall as alloy_sol_types::SolCall>::abi_encoded_size(
12264                        inner,
12265                    )
12266                }
12267                Self::getAllocationDelay(inner) => {
12268                    <getAllocationDelayCall as alloy_sol_types::SolCall>::abi_encoded_size(
12269                        inner,
12270                    )
12271                }
12272                Self::getAllocations(inner) => {
12273                    <getAllocationsCall as alloy_sol_types::SolCall>::abi_encoded_size(
12274                        inner,
12275                    )
12276                }
12277                Self::getEncumberedMagnitude(inner) => {
12278                    <getEncumberedMagnitudeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12279                        inner,
12280                    )
12281                }
12282                Self::getMaxMagnitude(inner) => {
12283                    <getMaxMagnitudeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12284                        inner,
12285                    )
12286                }
12287                Self::getMaxMagnitudes_0(inner) => {
12288                    <getMaxMagnitudes_0Call as alloy_sol_types::SolCall>::abi_encoded_size(
12289                        inner,
12290                    )
12291                }
12292                Self::getMaxMagnitudes_1(inner) => {
12293                    <getMaxMagnitudes_1Call as alloy_sol_types::SolCall>::abi_encoded_size(
12294                        inner,
12295                    )
12296                }
12297                Self::getMaxMagnitudesAtBlock(inner) => {
12298                    <getMaxMagnitudesAtBlockCall as alloy_sol_types::SolCall>::abi_encoded_size(
12299                        inner,
12300                    )
12301                }
12302                Self::getMemberCount(inner) => {
12303                    <getMemberCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
12304                        inner,
12305                    )
12306                }
12307                Self::getMembers(inner) => {
12308                    <getMembersCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
12309                }
12310                Self::getMinimumSlashableStake(inner) => {
12311                    <getMinimumSlashableStakeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12312                        inner,
12313                    )
12314                }
12315                Self::getOperatorSetCount(inner) => {
12316                    <getOperatorSetCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
12317                        inner,
12318                    )
12319                }
12320                Self::getRegisteredSets(inner) => {
12321                    <getRegisteredSetsCall as alloy_sol_types::SolCall>::abi_encoded_size(
12322                        inner,
12323                    )
12324                }
12325                Self::getStrategiesInOperatorSet(inner) => {
12326                    <getStrategiesInOperatorSetCall as alloy_sol_types::SolCall>::abi_encoded_size(
12327                        inner,
12328                    )
12329                }
12330                Self::getStrategyAllocations(inner) => {
12331                    <getStrategyAllocationsCall as alloy_sol_types::SolCall>::abi_encoded_size(
12332                        inner,
12333                    )
12334                }
12335                Self::initialize(inner) => {
12336                    <initializeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
12337                }
12338                Self::isMemberOfOperatorSet(inner) => {
12339                    <isMemberOfOperatorSetCall as alloy_sol_types::SolCall>::abi_encoded_size(
12340                        inner,
12341                    )
12342                }
12343                Self::isOperatorSet(inner) => {
12344                    <isOperatorSetCall as alloy_sol_types::SolCall>::abi_encoded_size(
12345                        inner,
12346                    )
12347                }
12348                Self::isOperatorSlashable(inner) => {
12349                    <isOperatorSlashableCall as alloy_sol_types::SolCall>::abi_encoded_size(
12350                        inner,
12351                    )
12352                }
12353                Self::modifyAllocations(inner) => {
12354                    <modifyAllocationsCall as alloy_sol_types::SolCall>::abi_encoded_size(
12355                        inner,
12356                    )
12357                }
12358                Self::registerForOperatorSets(inner) => {
12359                    <registerForOperatorSetsCall as alloy_sol_types::SolCall>::abi_encoded_size(
12360                        inner,
12361                    )
12362                }
12363                Self::removeStrategiesFromOperatorSet(inner) => {
12364                    <removeStrategiesFromOperatorSetCall as alloy_sol_types::SolCall>::abi_encoded_size(
12365                        inner,
12366                    )
12367                }
12368                Self::setAVSRegistrar(inner) => {
12369                    <setAVSRegistrarCall as alloy_sol_types::SolCall>::abi_encoded_size(
12370                        inner,
12371                    )
12372                }
12373                Self::setAllocationDelay(inner) => {
12374                    <setAllocationDelayCall as alloy_sol_types::SolCall>::abi_encoded_size(
12375                        inner,
12376                    )
12377                }
12378                Self::slashOperator(inner) => {
12379                    <slashOperatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
12380                        inner,
12381                    )
12382                }
12383                Self::updateAVSMetadataURI(inner) => {
12384                    <updateAVSMetadataURICall as alloy_sol_types::SolCall>::abi_encoded_size(
12385                        inner,
12386                    )
12387                }
12388                Self::version(inner) => {
12389                    <versionCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
12390                }
12391            }
12392        }
12393        #[inline]
12394        fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
12395            match self {
12396                Self::addStrategiesToOperatorSet(inner) => {
12397                    <addStrategiesToOperatorSetCall as alloy_sol_types::SolCall>::abi_encode_raw(
12398                        inner,
12399                        out,
12400                    )
12401                }
12402                Self::clearDeallocationQueue(inner) => {
12403                    <clearDeallocationQueueCall as alloy_sol_types::SolCall>::abi_encode_raw(
12404                        inner,
12405                        out,
12406                    )
12407                }
12408                Self::createOperatorSets(inner) => {
12409                    <createOperatorSetsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12410                        inner,
12411                        out,
12412                    )
12413                }
12414                Self::deregisterFromOperatorSets(inner) => {
12415                    <deregisterFromOperatorSetsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12416                        inner,
12417                        out,
12418                    )
12419                }
12420                Self::getAVSRegistrar(inner) => {
12421                    <getAVSRegistrarCall as alloy_sol_types::SolCall>::abi_encode_raw(
12422                        inner,
12423                        out,
12424                    )
12425                }
12426                Self::getAllocatableMagnitude(inner) => {
12427                    <getAllocatableMagnitudeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12428                        inner,
12429                        out,
12430                    )
12431                }
12432                Self::getAllocatedSets(inner) => {
12433                    <getAllocatedSetsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12434                        inner,
12435                        out,
12436                    )
12437                }
12438                Self::getAllocatedStake(inner) => {
12439                    <getAllocatedStakeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12440                        inner,
12441                        out,
12442                    )
12443                }
12444                Self::getAllocatedStrategies(inner) => {
12445                    <getAllocatedStrategiesCall as alloy_sol_types::SolCall>::abi_encode_raw(
12446                        inner,
12447                        out,
12448                    )
12449                }
12450                Self::getAllocation(inner) => {
12451                    <getAllocationCall as alloy_sol_types::SolCall>::abi_encode_raw(
12452                        inner,
12453                        out,
12454                    )
12455                }
12456                Self::getAllocationDelay(inner) => {
12457                    <getAllocationDelayCall as alloy_sol_types::SolCall>::abi_encode_raw(
12458                        inner,
12459                        out,
12460                    )
12461                }
12462                Self::getAllocations(inner) => {
12463                    <getAllocationsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12464                        inner,
12465                        out,
12466                    )
12467                }
12468                Self::getEncumberedMagnitude(inner) => {
12469                    <getEncumberedMagnitudeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12470                        inner,
12471                        out,
12472                    )
12473                }
12474                Self::getMaxMagnitude(inner) => {
12475                    <getMaxMagnitudeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12476                        inner,
12477                        out,
12478                    )
12479                }
12480                Self::getMaxMagnitudes_0(inner) => {
12481                    <getMaxMagnitudes_0Call as alloy_sol_types::SolCall>::abi_encode_raw(
12482                        inner,
12483                        out,
12484                    )
12485                }
12486                Self::getMaxMagnitudes_1(inner) => {
12487                    <getMaxMagnitudes_1Call as alloy_sol_types::SolCall>::abi_encode_raw(
12488                        inner,
12489                        out,
12490                    )
12491                }
12492                Self::getMaxMagnitudesAtBlock(inner) => {
12493                    <getMaxMagnitudesAtBlockCall as alloy_sol_types::SolCall>::abi_encode_raw(
12494                        inner,
12495                        out,
12496                    )
12497                }
12498                Self::getMemberCount(inner) => {
12499                    <getMemberCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
12500                        inner,
12501                        out,
12502                    )
12503                }
12504                Self::getMembers(inner) => {
12505                    <getMembersCall as alloy_sol_types::SolCall>::abi_encode_raw(
12506                        inner,
12507                        out,
12508                    )
12509                }
12510                Self::getMinimumSlashableStake(inner) => {
12511                    <getMinimumSlashableStakeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12512                        inner,
12513                        out,
12514                    )
12515                }
12516                Self::getOperatorSetCount(inner) => {
12517                    <getOperatorSetCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
12518                        inner,
12519                        out,
12520                    )
12521                }
12522                Self::getRegisteredSets(inner) => {
12523                    <getRegisteredSetsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12524                        inner,
12525                        out,
12526                    )
12527                }
12528                Self::getStrategiesInOperatorSet(inner) => {
12529                    <getStrategiesInOperatorSetCall as alloy_sol_types::SolCall>::abi_encode_raw(
12530                        inner,
12531                        out,
12532                    )
12533                }
12534                Self::getStrategyAllocations(inner) => {
12535                    <getStrategyAllocationsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12536                        inner,
12537                        out,
12538                    )
12539                }
12540                Self::initialize(inner) => {
12541                    <initializeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12542                        inner,
12543                        out,
12544                    )
12545                }
12546                Self::isMemberOfOperatorSet(inner) => {
12547                    <isMemberOfOperatorSetCall as alloy_sol_types::SolCall>::abi_encode_raw(
12548                        inner,
12549                        out,
12550                    )
12551                }
12552                Self::isOperatorSet(inner) => {
12553                    <isOperatorSetCall as alloy_sol_types::SolCall>::abi_encode_raw(
12554                        inner,
12555                        out,
12556                    )
12557                }
12558                Self::isOperatorSlashable(inner) => {
12559                    <isOperatorSlashableCall as alloy_sol_types::SolCall>::abi_encode_raw(
12560                        inner,
12561                        out,
12562                    )
12563                }
12564                Self::modifyAllocations(inner) => {
12565                    <modifyAllocationsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12566                        inner,
12567                        out,
12568                    )
12569                }
12570                Self::registerForOperatorSets(inner) => {
12571                    <registerForOperatorSetsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12572                        inner,
12573                        out,
12574                    )
12575                }
12576                Self::removeStrategiesFromOperatorSet(inner) => {
12577                    <removeStrategiesFromOperatorSetCall as alloy_sol_types::SolCall>::abi_encode_raw(
12578                        inner,
12579                        out,
12580                    )
12581                }
12582                Self::setAVSRegistrar(inner) => {
12583                    <setAVSRegistrarCall as alloy_sol_types::SolCall>::abi_encode_raw(
12584                        inner,
12585                        out,
12586                    )
12587                }
12588                Self::setAllocationDelay(inner) => {
12589                    <setAllocationDelayCall as alloy_sol_types::SolCall>::abi_encode_raw(
12590                        inner,
12591                        out,
12592                    )
12593                }
12594                Self::slashOperator(inner) => {
12595                    <slashOperatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
12596                        inner,
12597                        out,
12598                    )
12599                }
12600                Self::updateAVSMetadataURI(inner) => {
12601                    <updateAVSMetadataURICall as alloy_sol_types::SolCall>::abi_encode_raw(
12602                        inner,
12603                        out,
12604                    )
12605                }
12606                Self::version(inner) => {
12607                    <versionCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
12608                }
12609            }
12610        }
12611    }
12612    ///Container for all the [`IAllocationManager`](self) custom errors.
12613    #[derive(Debug, PartialEq, Eq, Hash)]
12614    pub enum IAllocationManagerErrors {
12615        #[allow(missing_docs)]
12616        AlreadyMemberOfSet(AlreadyMemberOfSet),
12617        #[allow(missing_docs)]
12618        InputArrayLengthMismatch(InputArrayLengthMismatch),
12619        #[allow(missing_docs)]
12620        InsufficientMagnitude(InsufficientMagnitude),
12621        #[allow(missing_docs)]
12622        InvalidAVSRegistrar(InvalidAVSRegistrar),
12623        #[allow(missing_docs)]
12624        InvalidCaller(InvalidCaller),
12625        #[allow(missing_docs)]
12626        InvalidOperator(InvalidOperator),
12627        #[allow(missing_docs)]
12628        InvalidOperatorSet(InvalidOperatorSet),
12629        #[allow(missing_docs)]
12630        InvalidWadToSlash(InvalidWadToSlash),
12631        #[allow(missing_docs)]
12632        ModificationAlreadyPending(ModificationAlreadyPending),
12633        #[allow(missing_docs)]
12634        NonexistentAVSMetadata(NonexistentAVSMetadata),
12635        #[allow(missing_docs)]
12636        NotMemberOfSet(NotMemberOfSet),
12637        #[allow(missing_docs)]
12638        OperatorNotSlashable(OperatorNotSlashable),
12639        #[allow(missing_docs)]
12640        SameMagnitude(SameMagnitude),
12641        #[allow(missing_docs)]
12642        StrategiesMustBeInAscendingOrder(StrategiesMustBeInAscendingOrder),
12643        #[allow(missing_docs)]
12644        StrategyAlreadyInOperatorSet(StrategyAlreadyInOperatorSet),
12645        #[allow(missing_docs)]
12646        StrategyNotInOperatorSet(StrategyNotInOperatorSet),
12647        #[allow(missing_docs)]
12648        UninitializedAllocationDelay(UninitializedAllocationDelay),
12649    }
12650    #[automatically_derived]
12651    impl IAllocationManagerErrors {
12652        /// All the selectors of this enum.
12653        ///
12654        /// Note that the selectors might not be in the same order as the variants.
12655        /// No guarantees are made about the order of the selectors.
12656        ///
12657        /// Prefer using `SolInterface` methods instead.
12658        pub const SELECTORS: &'static [[u8; 4usize]] = &[
12659            [19u8, 83u8, 96u8, 49u8],
12660            [37u8, 19u8, 29u8, 79u8],
12661            [67u8, 113u8, 74u8, 253u8],
12662            [72u8, 245u8, 195u8, 237u8],
12663            [72u8, 247u8, 219u8, 185u8],
12664            [88u8, 92u8, 251u8, 47u8],
12665            [99u8, 120u8, 104u8, 78u8],
12666            [108u8, 155u8, 224u8, 191u8],
12667            [126u8, 197u8, 193u8, 84u8],
12668            [140u8, 12u8, 47u8, 38u8],
12669            [159u8, 28u8, 128u8, 83u8],
12670            [204u8, 234u8, 158u8, 111u8],
12671            [216u8, 216u8, 220u8, 78u8],
12672            [216u8, 252u8, 190u8, 48u8],
12673            [232u8, 88u8, 158u8, 8u8],
12674            [235u8, 191u8, 244u8, 151u8],
12675            [250u8, 85u8, 252u8, 129u8],
12676        ];
12677    }
12678    #[automatically_derived]
12679    impl alloy_sol_types::SolInterface for IAllocationManagerErrors {
12680        const NAME: &'static str = "IAllocationManagerErrors";
12681        const MIN_DATA_LENGTH: usize = 0usize;
12682        const COUNT: usize = 17usize;
12683        #[inline]
12684        fn selector(&self) -> [u8; 4] {
12685            match self {
12686                Self::AlreadyMemberOfSet(_) => {
12687                    <AlreadyMemberOfSet as alloy_sol_types::SolError>::SELECTOR
12688                }
12689                Self::InputArrayLengthMismatch(_) => {
12690                    <InputArrayLengthMismatch as alloy_sol_types::SolError>::SELECTOR
12691                }
12692                Self::InsufficientMagnitude(_) => {
12693                    <InsufficientMagnitude as alloy_sol_types::SolError>::SELECTOR
12694                }
12695                Self::InvalidAVSRegistrar(_) => {
12696                    <InvalidAVSRegistrar as alloy_sol_types::SolError>::SELECTOR
12697                }
12698                Self::InvalidCaller(_) => {
12699                    <InvalidCaller as alloy_sol_types::SolError>::SELECTOR
12700                }
12701                Self::InvalidOperator(_) => {
12702                    <InvalidOperator as alloy_sol_types::SolError>::SELECTOR
12703                }
12704                Self::InvalidOperatorSet(_) => {
12705                    <InvalidOperatorSet as alloy_sol_types::SolError>::SELECTOR
12706                }
12707                Self::InvalidWadToSlash(_) => {
12708                    <InvalidWadToSlash as alloy_sol_types::SolError>::SELECTOR
12709                }
12710                Self::ModificationAlreadyPending(_) => {
12711                    <ModificationAlreadyPending as alloy_sol_types::SolError>::SELECTOR
12712                }
12713                Self::NonexistentAVSMetadata(_) => {
12714                    <NonexistentAVSMetadata as alloy_sol_types::SolError>::SELECTOR
12715                }
12716                Self::NotMemberOfSet(_) => {
12717                    <NotMemberOfSet as alloy_sol_types::SolError>::SELECTOR
12718                }
12719                Self::OperatorNotSlashable(_) => {
12720                    <OperatorNotSlashable as alloy_sol_types::SolError>::SELECTOR
12721                }
12722                Self::SameMagnitude(_) => {
12723                    <SameMagnitude as alloy_sol_types::SolError>::SELECTOR
12724                }
12725                Self::StrategiesMustBeInAscendingOrder(_) => {
12726                    <StrategiesMustBeInAscendingOrder as alloy_sol_types::SolError>::SELECTOR
12727                }
12728                Self::StrategyAlreadyInOperatorSet(_) => {
12729                    <StrategyAlreadyInOperatorSet as alloy_sol_types::SolError>::SELECTOR
12730                }
12731                Self::StrategyNotInOperatorSet(_) => {
12732                    <StrategyNotInOperatorSet as alloy_sol_types::SolError>::SELECTOR
12733                }
12734                Self::UninitializedAllocationDelay(_) => {
12735                    <UninitializedAllocationDelay as alloy_sol_types::SolError>::SELECTOR
12736                }
12737            }
12738        }
12739        #[inline]
12740        fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
12741            Self::SELECTORS.get(i).copied()
12742        }
12743        #[inline]
12744        fn valid_selector(selector: [u8; 4]) -> bool {
12745            Self::SELECTORS.binary_search(&selector).is_ok()
12746        }
12747        #[inline]
12748        #[allow(non_snake_case)]
12749        fn abi_decode_raw(
12750            selector: [u8; 4],
12751            data: &[u8],
12752            validate: bool,
12753        ) -> alloy_sol_types::Result<Self> {
12754            static DECODE_SHIMS: &[fn(
12755                &[u8],
12756                bool,
12757            ) -> alloy_sol_types::Result<IAllocationManagerErrors>] = &[
12758                {
12759                    fn InvalidWadToSlash(
12760                        data: &[u8],
12761                        validate: bool,
12762                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12763                        <InvalidWadToSlash as alloy_sol_types::SolError>::abi_decode_raw(
12764                                data,
12765                                validate,
12766                            )
12767                            .map(IAllocationManagerErrors::InvalidWadToSlash)
12768                    }
12769                    InvalidWadToSlash
12770                },
12771                {
12772                    fn NotMemberOfSet(
12773                        data: &[u8],
12774                        validate: bool,
12775                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12776                        <NotMemberOfSet as alloy_sol_types::SolError>::abi_decode_raw(
12777                                data,
12778                                validate,
12779                            )
12780                            .map(IAllocationManagerErrors::NotMemberOfSet)
12781                    }
12782                    NotMemberOfSet
12783                },
12784                {
12785                    fn InputArrayLengthMismatch(
12786                        data: &[u8],
12787                        validate: bool,
12788                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12789                        <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_decode_raw(
12790                                data,
12791                                validate,
12792                            )
12793                            .map(IAllocationManagerErrors::InputArrayLengthMismatch)
12794                    }
12795                    InputArrayLengthMismatch
12796                },
12797                {
12798                    fn InvalidCaller(
12799                        data: &[u8],
12800                        validate: bool,
12801                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12802                        <InvalidCaller as alloy_sol_types::SolError>::abi_decode_raw(
12803                                data,
12804                                validate,
12805                            )
12806                            .map(IAllocationManagerErrors::InvalidCaller)
12807                    }
12808                    InvalidCaller
12809                },
12810                {
12811                    fn NonexistentAVSMetadata(
12812                        data: &[u8],
12813                        validate: bool,
12814                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12815                        <NonexistentAVSMetadata as alloy_sol_types::SolError>::abi_decode_raw(
12816                                data,
12817                                validate,
12818                            )
12819                            .map(IAllocationManagerErrors::NonexistentAVSMetadata)
12820                    }
12821                    NonexistentAVSMetadata
12822                },
12823                {
12824                    fn StrategyAlreadyInOperatorSet(
12825                        data: &[u8],
12826                        validate: bool,
12827                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12828                        <StrategyAlreadyInOperatorSet as alloy_sol_types::SolError>::abi_decode_raw(
12829                                data,
12830                                validate,
12831                            )
12832                            .map(IAllocationManagerErrors::StrategyAlreadyInOperatorSet)
12833                    }
12834                    StrategyAlreadyInOperatorSet
12835                },
12836                {
12837                    fn StrategyNotInOperatorSet(
12838                        data: &[u8],
12839                        validate: bool,
12840                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12841                        <StrategyNotInOperatorSet as alloy_sol_types::SolError>::abi_decode_raw(
12842                                data,
12843                                validate,
12844                            )
12845                            .map(IAllocationManagerErrors::StrategyNotInOperatorSet)
12846                    }
12847                    StrategyNotInOperatorSet
12848                },
12849                {
12850                    fn InsufficientMagnitude(
12851                        data: &[u8],
12852                        validate: bool,
12853                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12854                        <InsufficientMagnitude as alloy_sol_types::SolError>::abi_decode_raw(
12855                                data,
12856                                validate,
12857                            )
12858                            .map(IAllocationManagerErrors::InsufficientMagnitude)
12859                    }
12860                    InsufficientMagnitude
12861                },
12862                {
12863                    fn InvalidOperatorSet(
12864                        data: &[u8],
12865                        validate: bool,
12866                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12867                        <InvalidOperatorSet as alloy_sol_types::SolError>::abi_decode_raw(
12868                                data,
12869                                validate,
12870                            )
12871                            .map(IAllocationManagerErrors::InvalidOperatorSet)
12872                    }
12873                    InvalidOperatorSet
12874                },
12875                {
12876                    fn SameMagnitude(
12877                        data: &[u8],
12878                        validate: bool,
12879                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12880                        <SameMagnitude as alloy_sol_types::SolError>::abi_decode_raw(
12881                                data,
12882                                validate,
12883                            )
12884                            .map(IAllocationManagerErrors::SameMagnitude)
12885                    }
12886                    SameMagnitude
12887                },
12888                {
12889                    fn StrategiesMustBeInAscendingOrder(
12890                        data: &[u8],
12891                        validate: bool,
12892                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12893                        <StrategiesMustBeInAscendingOrder as alloy_sol_types::SolError>::abi_decode_raw(
12894                                data,
12895                                validate,
12896                            )
12897                            .map(
12898                                IAllocationManagerErrors::StrategiesMustBeInAscendingOrder,
12899                            )
12900                    }
12901                    StrategiesMustBeInAscendingOrder
12902                },
12903                {
12904                    fn InvalidOperator(
12905                        data: &[u8],
12906                        validate: bool,
12907                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12908                        <InvalidOperator as alloy_sol_types::SolError>::abi_decode_raw(
12909                                data,
12910                                validate,
12911                            )
12912                            .map(IAllocationManagerErrors::InvalidOperator)
12913                    }
12914                    InvalidOperator
12915                },
12916                {
12917                    fn AlreadyMemberOfSet(
12918                        data: &[u8],
12919                        validate: bool,
12920                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12921                        <AlreadyMemberOfSet as alloy_sol_types::SolError>::abi_decode_raw(
12922                                data,
12923                                validate,
12924                            )
12925                            .map(IAllocationManagerErrors::AlreadyMemberOfSet)
12926                    }
12927                    AlreadyMemberOfSet
12928                },
12929                {
12930                    fn ModificationAlreadyPending(
12931                        data: &[u8],
12932                        validate: bool,
12933                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12934                        <ModificationAlreadyPending as alloy_sol_types::SolError>::abi_decode_raw(
12935                                data,
12936                                validate,
12937                            )
12938                            .map(IAllocationManagerErrors::ModificationAlreadyPending)
12939                    }
12940                    ModificationAlreadyPending
12941                },
12942                {
12943                    fn InvalidAVSRegistrar(
12944                        data: &[u8],
12945                        validate: bool,
12946                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12947                        <InvalidAVSRegistrar as alloy_sol_types::SolError>::abi_decode_raw(
12948                                data,
12949                                validate,
12950                            )
12951                            .map(IAllocationManagerErrors::InvalidAVSRegistrar)
12952                    }
12953                    InvalidAVSRegistrar
12954                },
12955                {
12956                    fn OperatorNotSlashable(
12957                        data: &[u8],
12958                        validate: bool,
12959                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12960                        <OperatorNotSlashable as alloy_sol_types::SolError>::abi_decode_raw(
12961                                data,
12962                                validate,
12963                            )
12964                            .map(IAllocationManagerErrors::OperatorNotSlashable)
12965                    }
12966                    OperatorNotSlashable
12967                },
12968                {
12969                    fn UninitializedAllocationDelay(
12970                        data: &[u8],
12971                        validate: bool,
12972                    ) -> alloy_sol_types::Result<IAllocationManagerErrors> {
12973                        <UninitializedAllocationDelay as alloy_sol_types::SolError>::abi_decode_raw(
12974                                data,
12975                                validate,
12976                            )
12977                            .map(IAllocationManagerErrors::UninitializedAllocationDelay)
12978                    }
12979                    UninitializedAllocationDelay
12980                },
12981            ];
12982            let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
12983                return Err(
12984                    alloy_sol_types::Error::unknown_selector(
12985                        <Self as alloy_sol_types::SolInterface>::NAME,
12986                        selector,
12987                    ),
12988                );
12989            };
12990            DECODE_SHIMS[idx](data, validate)
12991        }
12992        #[inline]
12993        fn abi_encoded_size(&self) -> usize {
12994            match self {
12995                Self::AlreadyMemberOfSet(inner) => {
12996                    <AlreadyMemberOfSet as alloy_sol_types::SolError>::abi_encoded_size(
12997                        inner,
12998                    )
12999                }
13000                Self::InputArrayLengthMismatch(inner) => {
13001                    <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encoded_size(
13002                        inner,
13003                    )
13004                }
13005                Self::InsufficientMagnitude(inner) => {
13006                    <InsufficientMagnitude as alloy_sol_types::SolError>::abi_encoded_size(
13007                        inner,
13008                    )
13009                }
13010                Self::InvalidAVSRegistrar(inner) => {
13011                    <InvalidAVSRegistrar as alloy_sol_types::SolError>::abi_encoded_size(
13012                        inner,
13013                    )
13014                }
13015                Self::InvalidCaller(inner) => {
13016                    <InvalidCaller as alloy_sol_types::SolError>::abi_encoded_size(inner)
13017                }
13018                Self::InvalidOperator(inner) => {
13019                    <InvalidOperator as alloy_sol_types::SolError>::abi_encoded_size(
13020                        inner,
13021                    )
13022                }
13023                Self::InvalidOperatorSet(inner) => {
13024                    <InvalidOperatorSet as alloy_sol_types::SolError>::abi_encoded_size(
13025                        inner,
13026                    )
13027                }
13028                Self::InvalidWadToSlash(inner) => {
13029                    <InvalidWadToSlash as alloy_sol_types::SolError>::abi_encoded_size(
13030                        inner,
13031                    )
13032                }
13033                Self::ModificationAlreadyPending(inner) => {
13034                    <ModificationAlreadyPending as alloy_sol_types::SolError>::abi_encoded_size(
13035                        inner,
13036                    )
13037                }
13038                Self::NonexistentAVSMetadata(inner) => {
13039                    <NonexistentAVSMetadata as alloy_sol_types::SolError>::abi_encoded_size(
13040                        inner,
13041                    )
13042                }
13043                Self::NotMemberOfSet(inner) => {
13044                    <NotMemberOfSet as alloy_sol_types::SolError>::abi_encoded_size(
13045                        inner,
13046                    )
13047                }
13048                Self::OperatorNotSlashable(inner) => {
13049                    <OperatorNotSlashable as alloy_sol_types::SolError>::abi_encoded_size(
13050                        inner,
13051                    )
13052                }
13053                Self::SameMagnitude(inner) => {
13054                    <SameMagnitude as alloy_sol_types::SolError>::abi_encoded_size(inner)
13055                }
13056                Self::StrategiesMustBeInAscendingOrder(inner) => {
13057                    <StrategiesMustBeInAscendingOrder as alloy_sol_types::SolError>::abi_encoded_size(
13058                        inner,
13059                    )
13060                }
13061                Self::StrategyAlreadyInOperatorSet(inner) => {
13062                    <StrategyAlreadyInOperatorSet as alloy_sol_types::SolError>::abi_encoded_size(
13063                        inner,
13064                    )
13065                }
13066                Self::StrategyNotInOperatorSet(inner) => {
13067                    <StrategyNotInOperatorSet as alloy_sol_types::SolError>::abi_encoded_size(
13068                        inner,
13069                    )
13070                }
13071                Self::UninitializedAllocationDelay(inner) => {
13072                    <UninitializedAllocationDelay as alloy_sol_types::SolError>::abi_encoded_size(
13073                        inner,
13074                    )
13075                }
13076            }
13077        }
13078        #[inline]
13079        fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
13080            match self {
13081                Self::AlreadyMemberOfSet(inner) => {
13082                    <AlreadyMemberOfSet as alloy_sol_types::SolError>::abi_encode_raw(
13083                        inner,
13084                        out,
13085                    )
13086                }
13087                Self::InputArrayLengthMismatch(inner) => {
13088                    <InputArrayLengthMismatch as alloy_sol_types::SolError>::abi_encode_raw(
13089                        inner,
13090                        out,
13091                    )
13092                }
13093                Self::InsufficientMagnitude(inner) => {
13094                    <InsufficientMagnitude as alloy_sol_types::SolError>::abi_encode_raw(
13095                        inner,
13096                        out,
13097                    )
13098                }
13099                Self::InvalidAVSRegistrar(inner) => {
13100                    <InvalidAVSRegistrar as alloy_sol_types::SolError>::abi_encode_raw(
13101                        inner,
13102                        out,
13103                    )
13104                }
13105                Self::InvalidCaller(inner) => {
13106                    <InvalidCaller as alloy_sol_types::SolError>::abi_encode_raw(
13107                        inner,
13108                        out,
13109                    )
13110                }
13111                Self::InvalidOperator(inner) => {
13112                    <InvalidOperator as alloy_sol_types::SolError>::abi_encode_raw(
13113                        inner,
13114                        out,
13115                    )
13116                }
13117                Self::InvalidOperatorSet(inner) => {
13118                    <InvalidOperatorSet as alloy_sol_types::SolError>::abi_encode_raw(
13119                        inner,
13120                        out,
13121                    )
13122                }
13123                Self::InvalidWadToSlash(inner) => {
13124                    <InvalidWadToSlash as alloy_sol_types::SolError>::abi_encode_raw(
13125                        inner,
13126                        out,
13127                    )
13128                }
13129                Self::ModificationAlreadyPending(inner) => {
13130                    <ModificationAlreadyPending as alloy_sol_types::SolError>::abi_encode_raw(
13131                        inner,
13132                        out,
13133                    )
13134                }
13135                Self::NonexistentAVSMetadata(inner) => {
13136                    <NonexistentAVSMetadata as alloy_sol_types::SolError>::abi_encode_raw(
13137                        inner,
13138                        out,
13139                    )
13140                }
13141                Self::NotMemberOfSet(inner) => {
13142                    <NotMemberOfSet as alloy_sol_types::SolError>::abi_encode_raw(
13143                        inner,
13144                        out,
13145                    )
13146                }
13147                Self::OperatorNotSlashable(inner) => {
13148                    <OperatorNotSlashable as alloy_sol_types::SolError>::abi_encode_raw(
13149                        inner,
13150                        out,
13151                    )
13152                }
13153                Self::SameMagnitude(inner) => {
13154                    <SameMagnitude as alloy_sol_types::SolError>::abi_encode_raw(
13155                        inner,
13156                        out,
13157                    )
13158                }
13159                Self::StrategiesMustBeInAscendingOrder(inner) => {
13160                    <StrategiesMustBeInAscendingOrder as alloy_sol_types::SolError>::abi_encode_raw(
13161                        inner,
13162                        out,
13163                    )
13164                }
13165                Self::StrategyAlreadyInOperatorSet(inner) => {
13166                    <StrategyAlreadyInOperatorSet as alloy_sol_types::SolError>::abi_encode_raw(
13167                        inner,
13168                        out,
13169                    )
13170                }
13171                Self::StrategyNotInOperatorSet(inner) => {
13172                    <StrategyNotInOperatorSet as alloy_sol_types::SolError>::abi_encode_raw(
13173                        inner,
13174                        out,
13175                    )
13176                }
13177                Self::UninitializedAllocationDelay(inner) => {
13178                    <UninitializedAllocationDelay as alloy_sol_types::SolError>::abi_encode_raw(
13179                        inner,
13180                        out,
13181                    )
13182                }
13183            }
13184        }
13185    }
13186    ///Container for all the [`IAllocationManager`](self) events.
13187    #[derive(Debug, PartialEq, Eq, Hash)]
13188    pub enum IAllocationManagerEvents {
13189        #[allow(missing_docs)]
13190        AVSMetadataURIUpdated(AVSMetadataURIUpdated),
13191        #[allow(missing_docs)]
13192        AVSRegistrarSet(AVSRegistrarSet),
13193        #[allow(missing_docs)]
13194        AllocationDelaySet(AllocationDelaySet),
13195        #[allow(missing_docs)]
13196        AllocationUpdated(AllocationUpdated),
13197        #[allow(missing_docs)]
13198        EncumberedMagnitudeUpdated(EncumberedMagnitudeUpdated),
13199        #[allow(missing_docs)]
13200        MaxMagnitudeUpdated(MaxMagnitudeUpdated),
13201        #[allow(missing_docs)]
13202        OperatorAddedToOperatorSet(OperatorAddedToOperatorSet),
13203        #[allow(missing_docs)]
13204        OperatorRemovedFromOperatorSet(OperatorRemovedFromOperatorSet),
13205        #[allow(missing_docs)]
13206        OperatorSetCreated(OperatorSetCreated),
13207        #[allow(missing_docs)]
13208        OperatorSlashed(OperatorSlashed),
13209        #[allow(missing_docs)]
13210        StrategyAddedToOperatorSet(StrategyAddedToOperatorSet),
13211        #[allow(missing_docs)]
13212        StrategyRemovedFromOperatorSet(StrategyRemovedFromOperatorSet),
13213    }
13214    #[automatically_derived]
13215    impl IAllocationManagerEvents {
13216        /// All the selectors of this enum.
13217        ///
13218        /// Note that the selectors might not be in the same order as the variants.
13219        /// No guarantees are made about the order of the selectors.
13220        ///
13221        /// Prefer using `SolInterface` methods instead.
13222        pub const SELECTORS: &'static [[u8; 32usize]] = &[
13223            [
13224                20u8, 135u8, 175u8, 84u8, 24u8, 196u8, 126u8, 229u8, 234u8, 69u8, 239u8,
13225                74u8, 147u8, 57u8, 134u8, 104u8, 18u8, 8u8, 144u8, 119u8, 74u8, 158u8,
13226                19u8, 72u8, 126u8, 97u8, 233u8, 220u8, 59u8, 175u8, 118u8, 221u8,
13227            ],
13228            [
13229                28u8, 100u8, 88u8, 7u8, 154u8, 65u8, 7u8, 125u8, 0u8, 60u8, 17u8, 250u8,
13230                249u8, 191u8, 9u8, 126u8, 105u8, 59u8, 214u8, 121u8, 121u8, 228u8, 230u8,
13231                80u8, 11u8, 172u8, 123u8, 41u8, 219u8, 119u8, 155u8, 92u8,
13232            ],
13233            [
13234                42u8, 233u8, 69u8, 196u8, 12u8, 68u8, 220u8, 14u8, 194u8, 99u8, 249u8,
13235                86u8, 9u8, 195u8, 253u8, 198u8, 149u8, 46u8, 10u8, 239u8, 162u8, 45u8,
13236                99u8, 116u8, 228u8, 79u8, 44u8, 153u8, 122u8, 206u8, 223u8, 133u8,
13237            ],
13238            [
13239                49u8, 98u8, 146u8, 133u8, 234u8, 210u8, 51u8, 90u8, 224u8, 147u8, 63u8,
13240                134u8, 237u8, 42u8, 230u8, 51u8, 33u8, 247u8, 175u8, 119u8, 180u8, 230u8,
13241                234u8, 171u8, 196u8, 44u8, 5u8, 120u8, 128u8, 151u8, 126u8, 108u8,
13242            ],
13243            [
13244                67u8, 35u8, 46u8, 223u8, 144u8, 113u8, 117u8, 61u8, 35u8, 33u8, 229u8,
13245                250u8, 126u8, 1u8, 131u8, 99u8, 238u8, 36u8, 142u8, 95u8, 33u8, 66u8,
13246                230u8, 192u8, 142u8, 221u8, 50u8, 101u8, 191u8, 180u8, 137u8, 94u8,
13247            ],
13248            [
13249                78u8, 133u8, 117u8, 29u8, 99u8, 49u8, 80u8, 108u8, 108u8, 98u8, 51u8,
13250                95u8, 32u8, 126u8, 179u8, 31u8, 18u8, 166u8, 30u8, 87u8, 15u8, 52u8,
13251                245u8, 193u8, 118u8, 64u8, 48u8, 135u8, 133u8, 198u8, 212u8, 219u8,
13252            ],
13253            [
13254                122u8, 178u8, 96u8, 254u8, 10u8, 241u8, 147u8, 219u8, 95u8, 73u8, 134u8,
13255                119u8, 13u8, 131u8, 27u8, 218u8, 78u8, 164u8, 96u8, 153u8, 220u8, 129u8,
13256                126u8, 139u8, 103u8, 22u8, 220u8, 174u8, 138u8, 248u8, 232u8, 139u8,
13257            ],
13258            [
13259                123u8, 75u8, 7u8, 61u8, 128u8, 220u8, 172u8, 85u8, 161u8, 17u8, 119u8,
13260                216u8, 69u8, 154u8, 217u8, 246u8, 100u8, 206u8, 235u8, 145u8, 247u8,
13261                31u8, 39u8, 22u8, 123u8, 177u8, 79u8, 129u8, 82u8, 167u8, 238u8, 238u8,
13262            ],
13263            [
13264                128u8, 150u8, 154u8, 210u8, 148u8, 40u8, 214u8, 121u8, 126u8, 231u8,
13265                170u8, 208u8, 132u8, 249u8, 228u8, 164u8, 42u8, 130u8, 252u8, 80u8,
13266                109u8, 205u8, 44u8, 163u8, 182u8, 251u8, 67u8, 31u8, 133u8, 204u8, 235u8,
13267                229u8,
13268            ],
13269            [
13270                168u8, 156u8, 29u8, 194u8, 67u8, 216u8, 144u8, 138u8, 150u8, 221u8,
13271                132u8, 148u8, 75u8, 204u8, 151u8, 214u8, 188u8, 106u8, 192u8, 13u8,
13272                215u8, 142u8, 32u8, 98u8, 21u8, 118u8, 190u8, 106u8, 60u8, 148u8, 55u8,
13273                19u8,
13274            ],
13275            [
13276                172u8, 249u8, 9u8, 95u8, 235u8, 58u8, 55u8, 12u8, 156u8, 246u8, 146u8,
13277                66u8, 28u8, 105u8, 239u8, 50u8, 13u8, 77u8, 181u8, 198u8, 110u8, 106u8,
13278                125u8, 41u8, 199u8, 105u8, 78u8, 176u8, 35u8, 100u8, 252u8, 85u8,
13279            ],
13280            [
13281                173u8, 52u8, 195u8, 7u8, 11u8, 225u8, 223u8, 251u8, 202u8, 164u8, 153u8,
13282                208u8, 0u8, 186u8, 43u8, 141u8, 152u8, 72u8, 174u8, 252u8, 172u8, 48u8,
13283                89u8, 223u8, 36u8, 93u8, 217u8, 92u8, 78u8, 206u8, 20u8, 254u8,
13284            ],
13285        ];
13286    }
13287    #[automatically_derived]
13288    impl alloy_sol_types::SolEventInterface for IAllocationManagerEvents {
13289        const NAME: &'static str = "IAllocationManagerEvents";
13290        const COUNT: usize = 12usize;
13291        fn decode_raw_log(
13292            topics: &[alloy_sol_types::Word],
13293            data: &[u8],
13294            validate: bool,
13295        ) -> alloy_sol_types::Result<Self> {
13296            match topics.first().copied() {
13297                Some(
13298                    <AVSMetadataURIUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13299                ) => {
13300                    <AVSMetadataURIUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
13301                            topics,
13302                            data,
13303                            validate,
13304                        )
13305                        .map(Self::AVSMetadataURIUpdated)
13306                }
13307                Some(<AVSRegistrarSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
13308                    <AVSRegistrarSet as alloy_sol_types::SolEvent>::decode_raw_log(
13309                            topics,
13310                            data,
13311                            validate,
13312                        )
13313                        .map(Self::AVSRegistrarSet)
13314                }
13315                Some(
13316                    <AllocationDelaySet as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13317                ) => {
13318                    <AllocationDelaySet as alloy_sol_types::SolEvent>::decode_raw_log(
13319                            topics,
13320                            data,
13321                            validate,
13322                        )
13323                        .map(Self::AllocationDelaySet)
13324                }
13325                Some(
13326                    <AllocationUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13327                ) => {
13328                    <AllocationUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
13329                            topics,
13330                            data,
13331                            validate,
13332                        )
13333                        .map(Self::AllocationUpdated)
13334                }
13335                Some(
13336                    <EncumberedMagnitudeUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13337                ) => {
13338                    <EncumberedMagnitudeUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
13339                            topics,
13340                            data,
13341                            validate,
13342                        )
13343                        .map(Self::EncumberedMagnitudeUpdated)
13344                }
13345                Some(
13346                    <MaxMagnitudeUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13347                ) => {
13348                    <MaxMagnitudeUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
13349                            topics,
13350                            data,
13351                            validate,
13352                        )
13353                        .map(Self::MaxMagnitudeUpdated)
13354                }
13355                Some(
13356                    <OperatorAddedToOperatorSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13357                ) => {
13358                    <OperatorAddedToOperatorSet as alloy_sol_types::SolEvent>::decode_raw_log(
13359                            topics,
13360                            data,
13361                            validate,
13362                        )
13363                        .map(Self::OperatorAddedToOperatorSet)
13364                }
13365                Some(
13366                    <OperatorRemovedFromOperatorSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13367                ) => {
13368                    <OperatorRemovedFromOperatorSet as alloy_sol_types::SolEvent>::decode_raw_log(
13369                            topics,
13370                            data,
13371                            validate,
13372                        )
13373                        .map(Self::OperatorRemovedFromOperatorSet)
13374                }
13375                Some(
13376                    <OperatorSetCreated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13377                ) => {
13378                    <OperatorSetCreated as alloy_sol_types::SolEvent>::decode_raw_log(
13379                            topics,
13380                            data,
13381                            validate,
13382                        )
13383                        .map(Self::OperatorSetCreated)
13384                }
13385                Some(<OperatorSlashed as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
13386                    <OperatorSlashed as alloy_sol_types::SolEvent>::decode_raw_log(
13387                            topics,
13388                            data,
13389                            validate,
13390                        )
13391                        .map(Self::OperatorSlashed)
13392                }
13393                Some(
13394                    <StrategyAddedToOperatorSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13395                ) => {
13396                    <StrategyAddedToOperatorSet as alloy_sol_types::SolEvent>::decode_raw_log(
13397                            topics,
13398                            data,
13399                            validate,
13400                        )
13401                        .map(Self::StrategyAddedToOperatorSet)
13402                }
13403                Some(
13404                    <StrategyRemovedFromOperatorSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13405                ) => {
13406                    <StrategyRemovedFromOperatorSet as alloy_sol_types::SolEvent>::decode_raw_log(
13407                            topics,
13408                            data,
13409                            validate,
13410                        )
13411                        .map(Self::StrategyRemovedFromOperatorSet)
13412                }
13413                _ => {
13414                    alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
13415                        name: <Self as alloy_sol_types::SolEventInterface>::NAME,
13416                        log: alloy_sol_types::private::Box::new(
13417                            alloy_sol_types::private::LogData::new_unchecked(
13418                                topics.to_vec(),
13419                                data.to_vec().into(),
13420                            ),
13421                        ),
13422                    })
13423                }
13424            }
13425        }
13426    }
13427    #[automatically_derived]
13428    impl alloy_sol_types::private::IntoLogData for IAllocationManagerEvents {
13429        fn to_log_data(&self) -> alloy_sol_types::private::LogData {
13430            match self {
13431                Self::AVSMetadataURIUpdated(inner) => {
13432                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13433                }
13434                Self::AVSRegistrarSet(inner) => {
13435                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13436                }
13437                Self::AllocationDelaySet(inner) => {
13438                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13439                }
13440                Self::AllocationUpdated(inner) => {
13441                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13442                }
13443                Self::EncumberedMagnitudeUpdated(inner) => {
13444                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13445                }
13446                Self::MaxMagnitudeUpdated(inner) => {
13447                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13448                }
13449                Self::OperatorAddedToOperatorSet(inner) => {
13450                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13451                }
13452                Self::OperatorRemovedFromOperatorSet(inner) => {
13453                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13454                }
13455                Self::OperatorSetCreated(inner) => {
13456                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13457                }
13458                Self::OperatorSlashed(inner) => {
13459                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13460                }
13461                Self::StrategyAddedToOperatorSet(inner) => {
13462                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13463                }
13464                Self::StrategyRemovedFromOperatorSet(inner) => {
13465                    alloy_sol_types::private::IntoLogData::to_log_data(inner)
13466                }
13467            }
13468        }
13469        fn into_log_data(self) -> alloy_sol_types::private::LogData {
13470            match self {
13471                Self::AVSMetadataURIUpdated(inner) => {
13472                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13473                }
13474                Self::AVSRegistrarSet(inner) => {
13475                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13476                }
13477                Self::AllocationDelaySet(inner) => {
13478                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13479                }
13480                Self::AllocationUpdated(inner) => {
13481                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13482                }
13483                Self::EncumberedMagnitudeUpdated(inner) => {
13484                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13485                }
13486                Self::MaxMagnitudeUpdated(inner) => {
13487                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13488                }
13489                Self::OperatorAddedToOperatorSet(inner) => {
13490                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13491                }
13492                Self::OperatorRemovedFromOperatorSet(inner) => {
13493                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13494                }
13495                Self::OperatorSetCreated(inner) => {
13496                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13497                }
13498                Self::OperatorSlashed(inner) => {
13499                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13500                }
13501                Self::StrategyAddedToOperatorSet(inner) => {
13502                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13503                }
13504                Self::StrategyRemovedFromOperatorSet(inner) => {
13505                    alloy_sol_types::private::IntoLogData::into_log_data(inner)
13506                }
13507            }
13508        }
13509    }
13510    use alloy::contract as alloy_contract;
13511    /**Creates a new wrapper around an on-chain [`IAllocationManager`](self) contract instance.
13512
13513See the [wrapper's documentation](`IAllocationManagerInstance`) for more details.*/
13514    #[inline]
13515    pub const fn new<
13516        T: alloy_contract::private::Transport + ::core::clone::Clone,
13517        P: alloy_contract::private::Provider<T, N>,
13518        N: alloy_contract::private::Network,
13519    >(
13520        address: alloy_sol_types::private::Address,
13521        provider: P,
13522    ) -> IAllocationManagerInstance<T, P, N> {
13523        IAllocationManagerInstance::<T, P, N>::new(address, provider)
13524    }
13525    /**Deploys this contract using the given `provider` and constructor arguments, if any.
13526
13527Returns a new instance of the contract, if the deployment was successful.
13528
13529For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
13530    #[inline]
13531    pub fn deploy<
13532        T: alloy_contract::private::Transport + ::core::clone::Clone,
13533        P: alloy_contract::private::Provider<T, N>,
13534        N: alloy_contract::private::Network,
13535    >(
13536        provider: P,
13537    ) -> impl ::core::future::Future<
13538        Output = alloy_contract::Result<IAllocationManagerInstance<T, P, N>>,
13539    > {
13540        IAllocationManagerInstance::<T, P, N>::deploy(provider)
13541    }
13542    /**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
13543and constructor arguments, if any.
13544
13545This is a simple wrapper around creating a `RawCallBuilder` with the data set to
13546the bytecode concatenated with the constructor's ABI-encoded arguments.*/
13547    #[inline]
13548    pub fn deploy_builder<
13549        T: alloy_contract::private::Transport + ::core::clone::Clone,
13550        P: alloy_contract::private::Provider<T, N>,
13551        N: alloy_contract::private::Network,
13552    >(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
13553        IAllocationManagerInstance::<T, P, N>::deploy_builder(provider)
13554    }
13555    /**A [`IAllocationManager`](self) instance.
13556
13557Contains type-safe methods for interacting with an on-chain instance of the
13558[`IAllocationManager`](self) contract located at a given `address`, using a given
13559provider `P`.
13560
13561If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
13562documentation on how to provide it), the `deploy` and `deploy_builder` methods can
13563be used to deploy a new instance of the contract.
13564
13565See the [module-level documentation](self) for all the available methods.*/
13566    #[derive(Clone)]
13567    pub struct IAllocationManagerInstance<T, P, N = alloy_contract::private::Ethereum> {
13568        address: alloy_sol_types::private::Address,
13569        provider: P,
13570        _network_transport: ::core::marker::PhantomData<(N, T)>,
13571    }
13572    #[automatically_derived]
13573    impl<T, P, N> ::core::fmt::Debug for IAllocationManagerInstance<T, P, N> {
13574        #[inline]
13575        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13576            f.debug_tuple("IAllocationManagerInstance").field(&self.address).finish()
13577        }
13578    }
13579    /// Instantiation and getters/setters.
13580    #[automatically_derived]
13581    impl<
13582        T: alloy_contract::private::Transport + ::core::clone::Clone,
13583        P: alloy_contract::private::Provider<T, N>,
13584        N: alloy_contract::private::Network,
13585    > IAllocationManagerInstance<T, P, N> {
13586        /**Creates a new wrapper around an on-chain [`IAllocationManager`](self) contract instance.
13587
13588See the [wrapper's documentation](`IAllocationManagerInstance`) for more details.*/
13589        #[inline]
13590        pub const fn new(
13591            address: alloy_sol_types::private::Address,
13592            provider: P,
13593        ) -> Self {
13594            Self {
13595                address,
13596                provider,
13597                _network_transport: ::core::marker::PhantomData,
13598            }
13599        }
13600        /**Deploys this contract using the given `provider` and constructor arguments, if any.
13601
13602Returns a new instance of the contract, if the deployment was successful.
13603
13604For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
13605        #[inline]
13606        pub async fn deploy(
13607            provider: P,
13608        ) -> alloy_contract::Result<IAllocationManagerInstance<T, P, N>> {
13609            let call_builder = Self::deploy_builder(provider);
13610            let contract_address = call_builder.deploy().await?;
13611            Ok(Self::new(contract_address, call_builder.provider))
13612        }
13613        /**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
13614and constructor arguments, if any.
13615
13616This is a simple wrapper around creating a `RawCallBuilder` with the data set to
13617the bytecode concatenated with the constructor's ABI-encoded arguments.*/
13618        #[inline]
13619        pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
13620            alloy_contract::RawCallBuilder::new_raw_deploy(
13621                provider,
13622                ::core::clone::Clone::clone(&BYTECODE),
13623            )
13624        }
13625        /// Returns a reference to the address.
13626        #[inline]
13627        pub const fn address(&self) -> &alloy_sol_types::private::Address {
13628            &self.address
13629        }
13630        /// Sets the address.
13631        #[inline]
13632        pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
13633            self.address = address;
13634        }
13635        /// Sets the address and returns `self`.
13636        pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
13637            self.set_address(address);
13638            self
13639        }
13640        /// Returns a reference to the provider.
13641        #[inline]
13642        pub const fn provider(&self) -> &P {
13643            &self.provider
13644        }
13645    }
13646    impl<T, P: ::core::clone::Clone, N> IAllocationManagerInstance<T, &P, N> {
13647        /// Clones the provider and returns a new instance with the cloned provider.
13648        #[inline]
13649        pub fn with_cloned_provider(self) -> IAllocationManagerInstance<T, P, N> {
13650            IAllocationManagerInstance {
13651                address: self.address,
13652                provider: ::core::clone::Clone::clone(&self.provider),
13653                _network_transport: ::core::marker::PhantomData,
13654            }
13655        }
13656    }
13657    /// Function calls.
13658    #[automatically_derived]
13659    impl<
13660        T: alloy_contract::private::Transport + ::core::clone::Clone,
13661        P: alloy_contract::private::Provider<T, N>,
13662        N: alloy_contract::private::Network,
13663    > IAllocationManagerInstance<T, P, N> {
13664        /// Creates a new call builder using this contract instance's provider and address.
13665        ///
13666        /// Note that the call can be any function call, not just those defined in this
13667        /// contract. Prefer using the other methods for building type-safe contract calls.
13668        pub fn call_builder<C: alloy_sol_types::SolCall>(
13669            &self,
13670            call: &C,
13671        ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
13672            alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
13673        }
13674        ///Creates a new call builder for the [`addStrategiesToOperatorSet`] function.
13675        pub fn addStrategiesToOperatorSet(
13676            &self,
13677            avs: alloy::sol_types::private::Address,
13678            operatorSetId: u32,
13679            strategies: alloy::sol_types::private::Vec<
13680                alloy::sol_types::private::Address,
13681            >,
13682        ) -> alloy_contract::SolCallBuilder<T, &P, addStrategiesToOperatorSetCall, N> {
13683            self.call_builder(
13684                &addStrategiesToOperatorSetCall {
13685                    avs,
13686                    operatorSetId,
13687                    strategies,
13688                },
13689            )
13690        }
13691        ///Creates a new call builder for the [`clearDeallocationQueue`] function.
13692        pub fn clearDeallocationQueue(
13693            &self,
13694            operator: alloy::sol_types::private::Address,
13695            strategies: alloy::sol_types::private::Vec<
13696                alloy::sol_types::private::Address,
13697            >,
13698            numToClear: alloy::sol_types::private::Vec<u16>,
13699        ) -> alloy_contract::SolCallBuilder<T, &P, clearDeallocationQueueCall, N> {
13700            self.call_builder(
13701                &clearDeallocationQueueCall {
13702                    operator,
13703                    strategies,
13704                    numToClear,
13705                },
13706            )
13707        }
13708        ///Creates a new call builder for the [`createOperatorSets`] function.
13709        pub fn createOperatorSets(
13710            &self,
13711            avs: alloy::sol_types::private::Address,
13712            params: alloy::sol_types::private::Vec<
13713                <IAllocationManagerTypes::CreateSetParams as alloy::sol_types::SolType>::RustType,
13714            >,
13715        ) -> alloy_contract::SolCallBuilder<T, &P, createOperatorSetsCall, N> {
13716            self.call_builder(
13717                &createOperatorSetsCall {
13718                    avs,
13719                    params,
13720                },
13721            )
13722        }
13723        ///Creates a new call builder for the [`deregisterFromOperatorSets`] function.
13724        pub fn deregisterFromOperatorSets(
13725            &self,
13726            params: <IAllocationManagerTypes::DeregisterParams as alloy::sol_types::SolType>::RustType,
13727        ) -> alloy_contract::SolCallBuilder<T, &P, deregisterFromOperatorSetsCall, N> {
13728            self.call_builder(
13729                &deregisterFromOperatorSetsCall {
13730                    params,
13731                },
13732            )
13733        }
13734        ///Creates a new call builder for the [`getAVSRegistrar`] function.
13735        pub fn getAVSRegistrar(
13736            &self,
13737            avs: alloy::sol_types::private::Address,
13738        ) -> alloy_contract::SolCallBuilder<T, &P, getAVSRegistrarCall, N> {
13739            self.call_builder(&getAVSRegistrarCall { avs })
13740        }
13741        ///Creates a new call builder for the [`getAllocatableMagnitude`] function.
13742        pub fn getAllocatableMagnitude(
13743            &self,
13744            operator: alloy::sol_types::private::Address,
13745            strategy: alloy::sol_types::private::Address,
13746        ) -> alloy_contract::SolCallBuilder<T, &P, getAllocatableMagnitudeCall, N> {
13747            self.call_builder(
13748                &getAllocatableMagnitudeCall {
13749                    operator,
13750                    strategy,
13751                },
13752            )
13753        }
13754        ///Creates a new call builder for the [`getAllocatedSets`] function.
13755        pub fn getAllocatedSets(
13756            &self,
13757            operator: alloy::sol_types::private::Address,
13758        ) -> alloy_contract::SolCallBuilder<T, &P, getAllocatedSetsCall, N> {
13759            self.call_builder(&getAllocatedSetsCall { operator })
13760        }
13761        ///Creates a new call builder for the [`getAllocatedStake`] function.
13762        pub fn getAllocatedStake(
13763            &self,
13764            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13765            operators: alloy::sol_types::private::Vec<
13766                alloy::sol_types::private::Address,
13767            >,
13768            strategies: alloy::sol_types::private::Vec<
13769                alloy::sol_types::private::Address,
13770            >,
13771        ) -> alloy_contract::SolCallBuilder<T, &P, getAllocatedStakeCall, N> {
13772            self.call_builder(
13773                &getAllocatedStakeCall {
13774                    operatorSet,
13775                    operators,
13776                    strategies,
13777                },
13778            )
13779        }
13780        ///Creates a new call builder for the [`getAllocatedStrategies`] function.
13781        pub fn getAllocatedStrategies(
13782            &self,
13783            operator: alloy::sol_types::private::Address,
13784            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13785        ) -> alloy_contract::SolCallBuilder<T, &P, getAllocatedStrategiesCall, N> {
13786            self.call_builder(
13787                &getAllocatedStrategiesCall {
13788                    operator,
13789                    operatorSet,
13790                },
13791            )
13792        }
13793        ///Creates a new call builder for the [`getAllocation`] function.
13794        pub fn getAllocation(
13795            &self,
13796            operator: alloy::sol_types::private::Address,
13797            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13798            strategy: alloy::sol_types::private::Address,
13799        ) -> alloy_contract::SolCallBuilder<T, &P, getAllocationCall, N> {
13800            self.call_builder(
13801                &getAllocationCall {
13802                    operator,
13803                    operatorSet,
13804                    strategy,
13805                },
13806            )
13807        }
13808        ///Creates a new call builder for the [`getAllocationDelay`] function.
13809        pub fn getAllocationDelay(
13810            &self,
13811            operator: alloy::sol_types::private::Address,
13812        ) -> alloy_contract::SolCallBuilder<T, &P, getAllocationDelayCall, N> {
13813            self.call_builder(&getAllocationDelayCall { operator })
13814        }
13815        ///Creates a new call builder for the [`getAllocations`] function.
13816        pub fn getAllocations(
13817            &self,
13818            operators: alloy::sol_types::private::Vec<
13819                alloy::sol_types::private::Address,
13820            >,
13821            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13822            strategy: alloy::sol_types::private::Address,
13823        ) -> alloy_contract::SolCallBuilder<T, &P, getAllocationsCall, N> {
13824            self.call_builder(
13825                &getAllocationsCall {
13826                    operators,
13827                    operatorSet,
13828                    strategy,
13829                },
13830            )
13831        }
13832        ///Creates a new call builder for the [`getEncumberedMagnitude`] function.
13833        pub fn getEncumberedMagnitude(
13834            &self,
13835            operator: alloy::sol_types::private::Address,
13836            strategy: alloy::sol_types::private::Address,
13837        ) -> alloy_contract::SolCallBuilder<T, &P, getEncumberedMagnitudeCall, N> {
13838            self.call_builder(
13839                &getEncumberedMagnitudeCall {
13840                    operator,
13841                    strategy,
13842                },
13843            )
13844        }
13845        ///Creates a new call builder for the [`getMaxMagnitude`] function.
13846        pub fn getMaxMagnitude(
13847            &self,
13848            operator: alloy::sol_types::private::Address,
13849            strategy: alloy::sol_types::private::Address,
13850        ) -> alloy_contract::SolCallBuilder<T, &P, getMaxMagnitudeCall, N> {
13851            self.call_builder(
13852                &getMaxMagnitudeCall {
13853                    operator,
13854                    strategy,
13855                },
13856            )
13857        }
13858        ///Creates a new call builder for the [`getMaxMagnitudes_0`] function.
13859        pub fn getMaxMagnitudes_0(
13860            &self,
13861            operators: alloy::sol_types::private::Vec<
13862                alloy::sol_types::private::Address,
13863            >,
13864            strategy: alloy::sol_types::private::Address,
13865        ) -> alloy_contract::SolCallBuilder<T, &P, getMaxMagnitudes_0Call, N> {
13866            self.call_builder(
13867                &getMaxMagnitudes_0Call {
13868                    operators,
13869                    strategy,
13870                },
13871            )
13872        }
13873        ///Creates a new call builder for the [`getMaxMagnitudes_1`] function.
13874        pub fn getMaxMagnitudes_1(
13875            &self,
13876            operator: alloy::sol_types::private::Address,
13877            strategies: alloy::sol_types::private::Vec<
13878                alloy::sol_types::private::Address,
13879            >,
13880        ) -> alloy_contract::SolCallBuilder<T, &P, getMaxMagnitudes_1Call, N> {
13881            self.call_builder(
13882                &getMaxMagnitudes_1Call {
13883                    operator,
13884                    strategies,
13885                },
13886            )
13887        }
13888        ///Creates a new call builder for the [`getMaxMagnitudesAtBlock`] function.
13889        pub fn getMaxMagnitudesAtBlock(
13890            &self,
13891            operator: alloy::sol_types::private::Address,
13892            strategies: alloy::sol_types::private::Vec<
13893                alloy::sol_types::private::Address,
13894            >,
13895            blockNumber: u32,
13896        ) -> alloy_contract::SolCallBuilder<T, &P, getMaxMagnitudesAtBlockCall, N> {
13897            self.call_builder(
13898                &getMaxMagnitudesAtBlockCall {
13899                    operator,
13900                    strategies,
13901                    blockNumber,
13902                },
13903            )
13904        }
13905        ///Creates a new call builder for the [`getMemberCount`] function.
13906        pub fn getMemberCount(
13907            &self,
13908            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13909        ) -> alloy_contract::SolCallBuilder<T, &P, getMemberCountCall, N> {
13910            self.call_builder(&getMemberCountCall { operatorSet })
13911        }
13912        ///Creates a new call builder for the [`getMembers`] function.
13913        pub fn getMembers(
13914            &self,
13915            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13916        ) -> alloy_contract::SolCallBuilder<T, &P, getMembersCall, N> {
13917            self.call_builder(&getMembersCall { operatorSet })
13918        }
13919        ///Creates a new call builder for the [`getMinimumSlashableStake`] function.
13920        pub fn getMinimumSlashableStake(
13921            &self,
13922            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13923            operators: alloy::sol_types::private::Vec<
13924                alloy::sol_types::private::Address,
13925            >,
13926            strategies: alloy::sol_types::private::Vec<
13927                alloy::sol_types::private::Address,
13928            >,
13929            futureBlock: u32,
13930        ) -> alloy_contract::SolCallBuilder<T, &P, getMinimumSlashableStakeCall, N> {
13931            self.call_builder(
13932                &getMinimumSlashableStakeCall {
13933                    operatorSet,
13934                    operators,
13935                    strategies,
13936                    futureBlock,
13937                },
13938            )
13939        }
13940        ///Creates a new call builder for the [`getOperatorSetCount`] function.
13941        pub fn getOperatorSetCount(
13942            &self,
13943            avs: alloy::sol_types::private::Address,
13944        ) -> alloy_contract::SolCallBuilder<T, &P, getOperatorSetCountCall, N> {
13945            self.call_builder(&getOperatorSetCountCall { avs })
13946        }
13947        ///Creates a new call builder for the [`getRegisteredSets`] function.
13948        pub fn getRegisteredSets(
13949            &self,
13950            operator: alloy::sol_types::private::Address,
13951        ) -> alloy_contract::SolCallBuilder<T, &P, getRegisteredSetsCall, N> {
13952            self.call_builder(&getRegisteredSetsCall { operator })
13953        }
13954        ///Creates a new call builder for the [`getStrategiesInOperatorSet`] function.
13955        pub fn getStrategiesInOperatorSet(
13956            &self,
13957            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13958        ) -> alloy_contract::SolCallBuilder<T, &P, getStrategiesInOperatorSetCall, N> {
13959            self.call_builder(
13960                &getStrategiesInOperatorSetCall {
13961                    operatorSet,
13962                },
13963            )
13964        }
13965        ///Creates a new call builder for the [`getStrategyAllocations`] function.
13966        pub fn getStrategyAllocations(
13967            &self,
13968            operator: alloy::sol_types::private::Address,
13969            strategy: alloy::sol_types::private::Address,
13970        ) -> alloy_contract::SolCallBuilder<T, &P, getStrategyAllocationsCall, N> {
13971            self.call_builder(
13972                &getStrategyAllocationsCall {
13973                    operator,
13974                    strategy,
13975                },
13976            )
13977        }
13978        ///Creates a new call builder for the [`initialize`] function.
13979        pub fn initialize(
13980            &self,
13981            initialOwner: alloy::sol_types::private::Address,
13982            initialPausedStatus: alloy::sol_types::private::primitives::aliases::U256,
13983        ) -> alloy_contract::SolCallBuilder<T, &P, initializeCall, N> {
13984            self.call_builder(
13985                &initializeCall {
13986                    initialOwner,
13987                    initialPausedStatus,
13988                },
13989            )
13990        }
13991        ///Creates a new call builder for the [`isMemberOfOperatorSet`] function.
13992        pub fn isMemberOfOperatorSet(
13993            &self,
13994            operator: alloy::sol_types::private::Address,
13995            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
13996        ) -> alloy_contract::SolCallBuilder<T, &P, isMemberOfOperatorSetCall, N> {
13997            self.call_builder(
13998                &isMemberOfOperatorSetCall {
13999                    operator,
14000                    operatorSet,
14001                },
14002            )
14003        }
14004        ///Creates a new call builder for the [`isOperatorSet`] function.
14005        pub fn isOperatorSet(
14006            &self,
14007            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
14008        ) -> alloy_contract::SolCallBuilder<T, &P, isOperatorSetCall, N> {
14009            self.call_builder(&isOperatorSetCall { operatorSet })
14010        }
14011        ///Creates a new call builder for the [`isOperatorSlashable`] function.
14012        pub fn isOperatorSlashable(
14013            &self,
14014            operator: alloy::sol_types::private::Address,
14015            operatorSet: <OperatorSet as alloy::sol_types::SolType>::RustType,
14016        ) -> alloy_contract::SolCallBuilder<T, &P, isOperatorSlashableCall, N> {
14017            self.call_builder(
14018                &isOperatorSlashableCall {
14019                    operator,
14020                    operatorSet,
14021                },
14022            )
14023        }
14024        ///Creates a new call builder for the [`modifyAllocations`] function.
14025        pub fn modifyAllocations(
14026            &self,
14027            operator: alloy::sol_types::private::Address,
14028            params: alloy::sol_types::private::Vec<
14029                <IAllocationManagerTypes::AllocateParams as alloy::sol_types::SolType>::RustType,
14030            >,
14031        ) -> alloy_contract::SolCallBuilder<T, &P, modifyAllocationsCall, N> {
14032            self.call_builder(
14033                &modifyAllocationsCall {
14034                    operator,
14035                    params,
14036                },
14037            )
14038        }
14039        ///Creates a new call builder for the [`registerForOperatorSets`] function.
14040        pub fn registerForOperatorSets(
14041            &self,
14042            operator: alloy::sol_types::private::Address,
14043            params: <IAllocationManagerTypes::RegisterParams as alloy::sol_types::SolType>::RustType,
14044        ) -> alloy_contract::SolCallBuilder<T, &P, registerForOperatorSetsCall, N> {
14045            self.call_builder(
14046                &registerForOperatorSetsCall {
14047                    operator,
14048                    params,
14049                },
14050            )
14051        }
14052        ///Creates a new call builder for the [`removeStrategiesFromOperatorSet`] function.
14053        pub fn removeStrategiesFromOperatorSet(
14054            &self,
14055            avs: alloy::sol_types::private::Address,
14056            operatorSetId: u32,
14057            strategies: alloy::sol_types::private::Vec<
14058                alloy::sol_types::private::Address,
14059            >,
14060        ) -> alloy_contract::SolCallBuilder<
14061            T,
14062            &P,
14063            removeStrategiesFromOperatorSetCall,
14064            N,
14065        > {
14066            self.call_builder(
14067                &removeStrategiesFromOperatorSetCall {
14068                    avs,
14069                    operatorSetId,
14070                    strategies,
14071                },
14072            )
14073        }
14074        ///Creates a new call builder for the [`setAVSRegistrar`] function.
14075        pub fn setAVSRegistrar(
14076            &self,
14077            avs: alloy::sol_types::private::Address,
14078            registrar: alloy::sol_types::private::Address,
14079        ) -> alloy_contract::SolCallBuilder<T, &P, setAVSRegistrarCall, N> {
14080            self.call_builder(
14081                &setAVSRegistrarCall {
14082                    avs,
14083                    registrar,
14084                },
14085            )
14086        }
14087        ///Creates a new call builder for the [`setAllocationDelay`] function.
14088        pub fn setAllocationDelay(
14089            &self,
14090            operator: alloy::sol_types::private::Address,
14091            delay: u32,
14092        ) -> alloy_contract::SolCallBuilder<T, &P, setAllocationDelayCall, N> {
14093            self.call_builder(
14094                &setAllocationDelayCall {
14095                    operator,
14096                    delay,
14097                },
14098            )
14099        }
14100        ///Creates a new call builder for the [`slashOperator`] function.
14101        pub fn slashOperator(
14102            &self,
14103            avs: alloy::sol_types::private::Address,
14104            params: <IAllocationManagerTypes::SlashingParams as alloy::sol_types::SolType>::RustType,
14105        ) -> alloy_contract::SolCallBuilder<T, &P, slashOperatorCall, N> {
14106            self.call_builder(&slashOperatorCall { avs, params })
14107        }
14108        ///Creates a new call builder for the [`updateAVSMetadataURI`] function.
14109        pub fn updateAVSMetadataURI(
14110            &self,
14111            avs: alloy::sol_types::private::Address,
14112            metadataURI: alloy::sol_types::private::String,
14113        ) -> alloy_contract::SolCallBuilder<T, &P, updateAVSMetadataURICall, N> {
14114            self.call_builder(
14115                &updateAVSMetadataURICall {
14116                    avs,
14117                    metadataURI,
14118                },
14119            )
14120        }
14121        ///Creates a new call builder for the [`version`] function.
14122        pub fn version(&self) -> alloy_contract::SolCallBuilder<T, &P, versionCall, N> {
14123            self.call_builder(&versionCall {})
14124        }
14125    }
14126    /// Event filters.
14127    #[automatically_derived]
14128    impl<
14129        T: alloy_contract::private::Transport + ::core::clone::Clone,
14130        P: alloy_contract::private::Provider<T, N>,
14131        N: alloy_contract::private::Network,
14132    > IAllocationManagerInstance<T, P, N> {
14133        /// Creates a new event filter using this contract instance's provider and address.
14134        ///
14135        /// Note that the type can be any event, not just those defined in this contract.
14136        /// Prefer using the other methods for building type-safe event filters.
14137        pub fn event_filter<E: alloy_sol_types::SolEvent>(
14138            &self,
14139        ) -> alloy_contract::Event<T, &P, E, N> {
14140            alloy_contract::Event::new_sol(&self.provider, &self.address)
14141        }
14142        ///Creates a new event filter for the [`AVSMetadataURIUpdated`] event.
14143        pub fn AVSMetadataURIUpdated_filter(
14144            &self,
14145        ) -> alloy_contract::Event<T, &P, AVSMetadataURIUpdated, N> {
14146            self.event_filter::<AVSMetadataURIUpdated>()
14147        }
14148        ///Creates a new event filter for the [`AVSRegistrarSet`] event.
14149        pub fn AVSRegistrarSet_filter(
14150            &self,
14151        ) -> alloy_contract::Event<T, &P, AVSRegistrarSet, N> {
14152            self.event_filter::<AVSRegistrarSet>()
14153        }
14154        ///Creates a new event filter for the [`AllocationDelaySet`] event.
14155        pub fn AllocationDelaySet_filter(
14156            &self,
14157        ) -> alloy_contract::Event<T, &P, AllocationDelaySet, N> {
14158            self.event_filter::<AllocationDelaySet>()
14159        }
14160        ///Creates a new event filter for the [`AllocationUpdated`] event.
14161        pub fn AllocationUpdated_filter(
14162            &self,
14163        ) -> alloy_contract::Event<T, &P, AllocationUpdated, N> {
14164            self.event_filter::<AllocationUpdated>()
14165        }
14166        ///Creates a new event filter for the [`EncumberedMagnitudeUpdated`] event.
14167        pub fn EncumberedMagnitudeUpdated_filter(
14168            &self,
14169        ) -> alloy_contract::Event<T, &P, EncumberedMagnitudeUpdated, N> {
14170            self.event_filter::<EncumberedMagnitudeUpdated>()
14171        }
14172        ///Creates a new event filter for the [`MaxMagnitudeUpdated`] event.
14173        pub fn MaxMagnitudeUpdated_filter(
14174            &self,
14175        ) -> alloy_contract::Event<T, &P, MaxMagnitudeUpdated, N> {
14176            self.event_filter::<MaxMagnitudeUpdated>()
14177        }
14178        ///Creates a new event filter for the [`OperatorAddedToOperatorSet`] event.
14179        pub fn OperatorAddedToOperatorSet_filter(
14180            &self,
14181        ) -> alloy_contract::Event<T, &P, OperatorAddedToOperatorSet, N> {
14182            self.event_filter::<OperatorAddedToOperatorSet>()
14183        }
14184        ///Creates a new event filter for the [`OperatorRemovedFromOperatorSet`] event.
14185        pub fn OperatorRemovedFromOperatorSet_filter(
14186            &self,
14187        ) -> alloy_contract::Event<T, &P, OperatorRemovedFromOperatorSet, N> {
14188            self.event_filter::<OperatorRemovedFromOperatorSet>()
14189        }
14190        ///Creates a new event filter for the [`OperatorSetCreated`] event.
14191        pub fn OperatorSetCreated_filter(
14192            &self,
14193        ) -> alloy_contract::Event<T, &P, OperatorSetCreated, N> {
14194            self.event_filter::<OperatorSetCreated>()
14195        }
14196        ///Creates a new event filter for the [`OperatorSlashed`] event.
14197        pub fn OperatorSlashed_filter(
14198            &self,
14199        ) -> alloy_contract::Event<T, &P, OperatorSlashed, N> {
14200            self.event_filter::<OperatorSlashed>()
14201        }
14202        ///Creates a new event filter for the [`StrategyAddedToOperatorSet`] event.
14203        pub fn StrategyAddedToOperatorSet_filter(
14204            &self,
14205        ) -> alloy_contract::Event<T, &P, StrategyAddedToOperatorSet, N> {
14206            self.event_filter::<StrategyAddedToOperatorSet>()
14207        }
14208        ///Creates a new event filter for the [`StrategyRemovedFromOperatorSet`] event.
14209        pub fn StrategyRemovedFromOperatorSet_filter(
14210            &self,
14211        ) -> alloy_contract::Event<T, &P, StrategyRemovedFromOperatorSet, N> {
14212            self.event_filter::<StrategyRemovedFromOperatorSet>()
14213        }
14214    }
14215}