1#[allow(
10 non_camel_case_types,
11 non_snake_case,
12 clippy::pub_underscore_fields,
13 clippy::style,
14 clippy::empty_structs_with_brackets
15)]
16pub mod Enum {
17 use super::*;
18 use alloy::sol_types as alloy_sol_types;
19 #[derive(serde::Serialize, serde::Deserialize)]
20 #[derive(Default, Debug, PartialEq, Eq, Hash)]
21 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
22 #[derive(Clone)]
23 pub struct Operation(u8);
24 const _: () = {
25 use alloy::sol_types as alloy_sol_types;
26 #[automatically_derived]
27 impl alloy_sol_types::private::SolTypeValue<Operation> for u8 {
28 #[inline]
29 fn stv_to_tokens(
30 &self,
31 ) -> <alloy::sol_types::sol_data::Uint<
32 8,
33 > as alloy_sol_types::SolType>::Token<'_> {
34 alloy_sol_types::private::SolTypeValue::<
35 alloy::sol_types::sol_data::Uint<8>,
36 >::stv_to_tokens(self)
37 }
38 #[inline]
39 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
40 <alloy::sol_types::sol_data::Uint<
41 8,
42 > as alloy_sol_types::SolType>::tokenize(self)
43 .0
44 }
45 #[inline]
46 fn stv_abi_encode_packed_to(
47 &self,
48 out: &mut alloy_sol_types::private::Vec<u8>,
49 ) {
50 <alloy::sol_types::sol_data::Uint<
51 8,
52 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
53 }
54 #[inline]
55 fn stv_abi_packed_encoded_size(&self) -> usize {
56 <alloy::sol_types::sol_data::Uint<
57 8,
58 > as alloy_sol_types::SolType>::abi_encoded_size(self)
59 }
60 }
61 #[automatically_derived]
62 impl Operation {
63 pub const NAME: &'static str = stringify!(@ name);
65 #[inline]
67 pub const fn from_underlying(value: u8) -> Self {
68 Self(value)
69 }
70 #[inline]
72 pub const fn into_underlying(self) -> u8 {
73 self.0
74 }
75 #[inline]
78 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
79 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
80 }
81 #[inline]
84 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
85 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
86 }
87 }
88 #[automatically_derived]
89 impl From<u8> for Operation {
90 fn from(value: u8) -> Self {
91 Self::from_underlying(value)
92 }
93 }
94 #[automatically_derived]
95 impl From<Operation> for u8 {
96 fn from(value: Operation) -> Self {
97 value.into_underlying()
98 }
99 }
100 #[automatically_derived]
101 impl alloy_sol_types::SolType for Operation {
102 type RustType = u8;
103 type Token<'a> = <alloy::sol_types::sol_data::Uint<
104 8,
105 > as alloy_sol_types::SolType>::Token<'a>;
106 const SOL_NAME: &'static str = Self::NAME;
107 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
108 8,
109 > as alloy_sol_types::SolType>::ENCODED_SIZE;
110 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
111 8,
112 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
113 #[inline]
114 fn valid_token(token: &Self::Token<'_>) -> bool {
115 Self::type_check(token).is_ok()
116 }
117 #[inline]
118 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
119 <alloy::sol_types::sol_data::Uint<
120 8,
121 > as alloy_sol_types::SolType>::type_check(token)
122 }
123 #[inline]
124 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
125 <alloy::sol_types::sol_data::Uint<
126 8,
127 > as alloy_sol_types::SolType>::detokenize(token)
128 }
129 }
130 #[automatically_derived]
131 impl alloy_sol_types::EventTopic for Operation {
132 #[inline]
133 fn topic_preimage_length(rust: &Self::RustType) -> usize {
134 <alloy::sol_types::sol_data::Uint<
135 8,
136 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
137 }
138 #[inline]
139 fn encode_topic_preimage(
140 rust: &Self::RustType,
141 out: &mut alloy_sol_types::private::Vec<u8>,
142 ) {
143 <alloy::sol_types::sol_data::Uint<
144 8,
145 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
146 }
147 #[inline]
148 fn encode_topic(
149 rust: &Self::RustType,
150 ) -> alloy_sol_types::abi::token::WordToken {
151 <alloy::sol_types::sol_data::Uint<
152 8,
153 > as alloy_sol_types::EventTopic>::encode_topic(rust)
154 }
155 }
156 };
157 use alloy::contract as alloy_contract;
158 #[inline]
162 pub const fn new<
163 P: alloy_contract::private::Provider<N>,
164 N: alloy_contract::private::Network,
165 >(address: alloy_sol_types::private::Address, provider: P) -> EnumInstance<P, N> {
166 EnumInstance::<P, N>::new(address, provider)
167 }
168 #[derive(Clone)]
180 pub struct EnumInstance<P, N = alloy_contract::private::Ethereum> {
181 address: alloy_sol_types::private::Address,
182 provider: P,
183 _network: ::core::marker::PhantomData<N>,
184 }
185 #[automatically_derived]
186 impl<P, N> ::core::fmt::Debug for EnumInstance<P, N> {
187 #[inline]
188 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
189 f.debug_tuple("EnumInstance").field(&self.address).finish()
190 }
191 }
192 #[automatically_derived]
194 impl<
195 P: alloy_contract::private::Provider<N>,
196 N: alloy_contract::private::Network,
197 > EnumInstance<P, N> {
198 #[inline]
202 pub const fn new(
203 address: alloy_sol_types::private::Address,
204 provider: P,
205 ) -> Self {
206 Self {
207 address,
208 provider,
209 _network: ::core::marker::PhantomData,
210 }
211 }
212 #[inline]
214 pub const fn address(&self) -> &alloy_sol_types::private::Address {
215 &self.address
216 }
217 #[inline]
219 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
220 self.address = address;
221 }
222 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
224 self.set_address(address);
225 self
226 }
227 #[inline]
229 pub const fn provider(&self) -> &P {
230 &self.provider
231 }
232 }
233 impl<P: ::core::clone::Clone, N> EnumInstance<&P, N> {
234 #[inline]
236 pub fn with_cloned_provider(self) -> EnumInstance<P, N> {
237 EnumInstance {
238 address: self.address,
239 provider: ::core::clone::Clone::clone(&self.provider),
240 _network: ::core::marker::PhantomData,
241 }
242 }
243 }
244 #[automatically_derived]
246 impl<
247 P: alloy_contract::private::Provider<N>,
248 N: alloy_contract::private::Network,
249 > EnumInstance<P, N> {
250 pub fn call_builder<C: alloy_sol_types::SolCall>(
255 &self,
256 call: &C,
257 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
258 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
259 }
260 }
261 #[automatically_derived]
263 impl<
264 P: alloy_contract::private::Provider<N>,
265 N: alloy_contract::private::Network,
266 > EnumInstance<P, N> {
267 pub fn event_filter<E: alloy_sol_types::SolEvent>(
272 &self,
273 ) -> alloy_contract::Event<&P, E, N> {
274 alloy_contract::Event::new_sol(&self.provider, &self.address)
275 }
276 }
277}
278#[allow(
1137 non_camel_case_types,
1138 non_snake_case,
1139 clippy::pub_underscore_fields,
1140 clippy::style,
1141 clippy::empty_structs_with_brackets
1142)]
1143pub mod HoprNodeManagementModule {
1144 use super::*;
1145 use alloy::sol_types as alloy_sol_types;
1146 #[rustfmt::skip]
1152 #[allow(clippy::all)]
1153 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
1154 b"`\xA0`@R0`\x80R4\x80\x15b\0\0\x15W`\0\x80\xFD[Pb\0\0 b\0\0&V[b\0\0\xE7V[`\0Ta\x01\0\x90\x04`\xFF\x16\x15b\0\0\x93W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FInitializable: contract is initi`D\x82\x01Rfalizing`\xC8\x1B`d\x82\x01R`\x84\x01`@Q\x80\x91\x03\x90\xFD[`\0T`\xFF\x90\x81\x16\x14b\0\0\xE5W`\0\x80T`\xFF\x19\x16`\xFF\x90\x81\x17\x90\x91U`@Q\x90\x81R\x7F\x7F&\xB8?\xF9n\x1F+jh/\x138R\xF6y\x8A\t\xC4e\xDA\x95\x92\x14`\xCE\xFB8G@$\x98\x90` \x01`@Q\x80\x91\x03\x90\xA1[V[`\x80Qa6\x80b\0\x01\x1F`\09`\0\x81\x81a\x06\x04\x01R\x81\x81a\x06M\x01R\x81\x81a\t\xCF\x01R\x81\x81a\n\x0F\x01Ra\x0B?\x01Ra6\x80`\0\xF3\xFE`\x80`@R`\x046\x10a\x01\xC2W`\x005`\xE0\x1C\x80cs\x9CK\x08\x11a\0\xF7W\x80c\xB5sib\x11a\0\x95W\x80c\xDCDjJ\x11a\0dW\x80c\xDCDjJ\x14a\x05@W\x80c\xDFNo\x8A\x14a\x05mW\x80c\xF2\xFD\xE3\x8B\x14a\x05\xA4W\x80c\xFA\x19P\x1D\x14a\x05\xC4W`\0\x80\xFD[\x80c\xB5sib\x14a\x04\xC0W\x80c\xC6\x86\x05\xC8\x14a\x04\xE0W\x80c\xC6\x8C:\x83\x14a\x05\0W\x80c\xDC\x06\x10\x9D\x14a\x05 W`\0\x80\xFD[\x80c\x9D\x95\xF1\xCC\x11a\0\xD1W\x80c\x9D\x95\xF1\xCC\x14a\x04@W\x80c\xA2E\x0F\x89\x14a\x04`W\x80c\xA7l\x9A/\x14a\x04\x80W\x80c\xB2\xB9\x9E\xC9\x14a\x04\xA0W`\0\x80\xFD[\x80cs\x9CK\x08\x14a\x03\xE2W\x80c\x8B\x95\xEC\xCD\x14a\x04\x02W\x80c\x8D\xA5\xCB[\x14a\x04\"W`\0\x80\xFD[\x80cO\x1E\xF2\x86\x11a\x01dW\x80cV\xF5Q\x17\x11a\x01>W\x80cV\xF5Q\x17\x14a\x03HW\x80c`\x97lK\x14a\x03}W\x80cc\xFE;V\x14a\x03\xABW\x80cqP\x18\xA6\x14a\x03\xCDW`\0\x80\xFD[\x80cO\x1E\xF2\x86\x14a\x02\xE4W\x80cR)\x07?\x14a\x02\xF7W\x80cR\xD1\x90-\x14a\x03%W`\0\x80\xFD[\x80c6Y\xCF\xE6\x11a\x01\xA0W\x80c6Y\xCF\xE6\x14a\x02oW\x80cC\x9F\xAB\x91\x14a\x02\x8FW\x80cF\x87!\xA7\x14a\x02\xAFW\x80cJ\x1B\xA4\x08\x14a\x02\xCFW`\0\x80\xFD[\x80c\x01u\x01R\x14a\x01\xC7W\x80c)D\x02\xCC\x14a\x02\x15W\x80c4\x01\xCD\xE8\x14a\x02MW[`\0\x80\xFD[4\x80\x15a\x01\xD3W`\0\x80\xFD[Pa\x02\0a\x01\xE26`\x04a,\xA4V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\xCC` R`@\x90 T`\xFF\x16\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02!W`\0\x80\xFD[P`\xC9Ta\x025\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x0CV[4\x80\x15a\x02YW`\0\x80\xFD[Pa\x02ma\x02h6`\x04a,\xA4V[a\x05\xE4V[\0[4\x80\x15a\x02{W`\0\x80\xFD[Pa\x02ma\x02\x8A6`\x04a,\xA4V[a\x05\xFAV[4\x80\x15a\x02\x9BW`\0\x80\xFD[Pa\x02ma\x02\xAA6`\x04a-\x86V[a\x06\xDFV[4\x80\x15a\x02\xBBW`\0\x80\xFD[Pa\x02\0a\x02\xCA6`\x04a-\xBBV[a\t+V[4\x80\x15a\x02\xDBW`\0\x80\xFD[Pa\x02\0`\x01\x81V[a\x02ma\x02\xF26`\x04a.cV[a\t\xC5V[4\x80\x15a\x03\x03W`\0\x80\xFD[Pa\x03\x17a\x03\x126`\x04a-\xBBV[a\n\x91V[`@Qa\x02\x0C\x92\x91\x90a/\x03V[4\x80\x15a\x031W`\0\x80\xFD[Pa\x03:a\x0B2V[`@Q\x90\x81R` \x01a\x02\x0CV[4\x80\x15a\x03TW`\0\x80\xFD[Pa\x03ha\x03c6`\x04a/\xC3V[a\x0B\xE5V[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x0CV[4\x80\x15a\x03\x89W`\0\x80\xFD[Pa\x03\x9Da\x03\x986`\x04a0\x89V[a\x0B\xFEV[`@Qa\x02\x0C\x92\x91\x90a0\xD5V[4\x80\x15a\x03\xB7W`\0\x80\xFD[Pa\x03\xC0a\x0C\x0BV[`@Qa\x02\x0C\x91\x90a1aV[4\x80\x15a\x03\xD9W`\0\x80\xFD[Pa\x02ma\x0C\x1CV[4\x80\x15a\x03\xEEW`\0\x80\xFD[Pa\x02ma\x03\xFD6`\x04a1\xA5V[a\x0C0V[4\x80\x15a\x04\x0EW`\0\x80\xFD[Pa\x02ma\x04\x1D6`\x04a,\xA4V[a\x0CCV[4\x80\x15a\x04.W`\0\x80\xFD[P`\x97T`\x01`\x01`\xA0\x1B\x03\x16a\x025V[4\x80\x15a\x04LW`\0\x80\xFD[Pa\x02ma\x04[6`\x04a,\xA4V[a\x0C\x95V[4\x80\x15a\x04lW`\0\x80\xFD[Pa\x02ma\x04{6`\x04a1\xA5V[a\x0C\xA6V[4\x80\x15a\x04\x8CW`\0\x80\xFD[Pa\x02ma\x04\x9B6`\x04a1\xA5V[a\x0C\xB7V[4\x80\x15a\x04\xACW`\0\x80\xFD[Pa\x02ma\x04\xBB6`\x04a,\xA4V[a\x0C\xCAV[4\x80\x15a\x04\xCCW`\0\x80\xFD[Pa\x02ma\x04\xDB6`\x04a1\xA5V[a\rTV[4\x80\x15a\x04\xECW`\0\x80\xFD[Pa\x02ma\x04\xFB6`\x04a1\xBEV[a\r\x8CV[4\x80\x15a\x05\x0CW`\0\x80\xFD[Pa\x02ma\x05\x1B6`\x04a2\x0FV[a\r\xA8V[4\x80\x15a\x05,W`\0\x80\xFD[Pa\x02ma\x05;6`\x04a1\xA5V[a\r\xC2V[4\x80\x15a\x05LW`\0\x80\xFD[Pa\x05`a\x05[6`\x04a0\x89V[a\x0E\x1DV[`@Qa\x02\x0C\x91\x90a2VV[4\x80\x15a\x05yW`\0\x80\xFD[Pa\x05\x8Da\x05\x886`\x04a,\xA4V[a\x0EAV[`@\x80Q\x92\x15\x15\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x0CV[4\x80\x15a\x05\xB0W`\0\x80\xFD[Pa\x02ma\x05\xBF6`\x04a,\xA4V[a\x0EXV[4\x80\x15a\x05\xD0W`\0\x80\xFD[Pa\x02ma\x05\xDF6`\x04a2dV[a\x0E\xCEV[a\x05\xECa\x0E\xE3V[a\x05\xF7`\xCA\x82a\x0F=V[PV[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x160\x03a\x06KW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x90a2\x99V[`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x06\x94`\0\x80Q` a6\x04\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x06\xBAW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x90a2\xE5V[a\x06\xC3\x81a\x0F\xA3V[`@\x80Q`\0\x80\x82R` \x82\x01\x90\x92Ra\x05\xF7\x91\x83\x91\x90a\x0F\xABV[`\0Ta\x01\0\x90\x04`\xFF\x16\x15\x80\x80\x15a\x06\xFFWP`\0T`\x01`\xFF\x90\x91\x16\x10[\x80a\x07\x19WP0;\x15\x80\x15a\x07\x19WP`\0T`\xFF\x16`\x01\x14[a\x07|W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`.`$\x82\x01R\x7FInitializable: contract is alrea`D\x82\x01Rm\x19\x1EH\x1A[\x9A]\x1AX[\x1A^\x99Y`\x92\x1B`d\x82\x01R`\x84\x01a\x06BV[`\0\x80T`\xFF\x19\x16`\x01\x17\x90U\x80\x15a\x07\x9FW`\0\x80Ta\xFF\0\x19\x16a\x01\0\x17\x90U[`\0\x80`\0\x84\x80` \x01\x90Q\x81\x01\x90a\x07\xB8\x91\x90a31V[\x91\x94P\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x83\x16\x15\x80a\x07\xDCWP`\x01`\x01`\xA0\x1B\x03\x82\x16\x15[\x15a\x07\xFAW`@Qc\x86y\x15\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x03a\x08,W`@QcY\x8A\x0E!`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x08@`\x97T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15\x80a\x08`WP`\xC9T`\x01`\x01`\xA0\x1B\x03\x16\x15\x15[\x15a\x08}W`@Qb\xDC\x14\x9F`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xC9\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x17\x90Ua\x08\xA1\x81a\x11\x16V[a\x08\xAA\x83a\x11\xDCV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F_\xE6\xAA\xBFNy\x08C\xDFC\xAE\x0E\"\xB5\x86 \x06o\xB3\x89)[\xED\xC0j\x92\xDFl;(w}\x90`\0\x90\xA2PPP\x80\x15a\t'W`\0\x80Ta\xFF\0\x19\x16\x90U`@Q`\x01\x81R\x7F\x7F&\xB8?\xF9n\x1F+jh/\x138R\xF6y\x8A\t\xC4e\xDA\x95\x92\x14`\xCE\xFB8G@$\x98\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPV[3`\0\x90\x81R`\xCC` R`@\x81 T`\xFF\x16a\t[W`@Qc\x1F\xB1\xD3\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xC9Ta\tx\x90`\xCA\x90`\x01`\x01`\xA0\x1B\x03\x16\x88\x88\x88\x88\x88a\x12.V[a\t\xBB\x86\x86\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x88\x92Pa\x12\xD9\x91PPV[\x96\x95PPPPPPV[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x160\x03a\n\rW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x90a2\x99V[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\nV`\0\x80Q` a6\x04\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14a\n|W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x90a2\xE5V[a\n\x85\x82a\x0F\xA3V[a\t'\x82\x82`\x01a\x0F\xABV[3`\0\x90\x81R`\xCC` R`@\x81 T``\x90`\xFF\x16a\n\xC4W`@Qc\x1F\xB1\xD3\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xC9Ta\n\xE1\x90`\xCA\x90`\x01`\x01`\xA0\x1B\x03\x16\x89\x89\x89\x89\x89a\x12.V[a\x0B$\x87\x87\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x89\x92Pa\x13\xC9\x91PPV[\x91P\x91P\x95P\x95\x93PPPPV[`\x000`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0B\xD2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`8`$\x82\x01R\x7FUUPSUpgradeable: must not be cal`D\x82\x01R\x7Fled through delegatecall\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06BV[P`\0\x80Q` a6\x04\x839\x81Q\x91R\x90V[`\0\x80a\x0B\xF2\x84\x84a\x14\xC3V[\x91P\x91P[\x92P\x92\x90PV[``\x80a\x0B\xF2\x84\x84a\x15\xD7V[``a\x0C\x17`\xCAa\x17\x86V[\x90P\x90V[a\x0C$a\x0E\xE3V[a\x0C.`\0a\x11\xDCV[V[a\x0C8a\x0E\xE3V[a\x05\xF7`\xCA\x82a\x17\xE2V[a\x0CKa\x0E\xE3V[`\xC9\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F_\xE6\xAA\xBFNy\x08C\xDFC\xAE\x0E\"\xB5\x86 \x06o\xB3\x89)[\xED\xC0j\x92\xDFl;(w}\x90`\0\x90\xA2PV[a\x0C\x9Da\x0E\xE3V[a\x05\xF7\x81a\x18\xA2V[a\x0C\xAEa\x0E\xE3V[a\x05\xF7\x81a\x11\x16V[a\x0C\xBFa\x0E\xE3V[a\x05\xF7`\xCA\x82a\x19(V[a\x0C\xD2a\x0E\xE3V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\xCC` R`@\x90 T`\xFF\x16a\r\x0BW`@Qc\x1F\xB1\xD3\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\xCC` R`@\x80\x82 \x80T`\xFF\x19\x16\x90UQ\x7F\xCF\xC2Af\xDBK\xB6w\xE8W\xCA\xCA\xBD\x15A\xFB+0dP!\xB2|Q0A\x95\x89\xB8M\xB5+\x91\x90\xA2PV[a\r\\a\x0E\xE3V[`\0a\rh\x82``\x1C\x90V[\x90Pa\rs\x81a\x18\xA2V[a\r~`\xCA\x83a\x19\xD9V[a\t'`\xCA\x82\x83`\x01a\x1A\x8BV[a\r\x94a\x0E\xE3V[a\r\xA2`\xCA\x85\x85\x85\x85a\x1B'V[PPPPV[a\r\xB0a\x0E\xE3V[a\r\xBD`\xCA\x84\x84\x84a\x1A\x8BV[PPPV[a\r\xCAa\x0E\xE3V[`\0a\r\xD6\x82``\x1C\x90V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\xCC` R`@\x90 T\x90\x91P`\xFF\x16a\x0E\x12W`@Qc\x1F\xB1\xD3\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t'`\xCA\x83a\x19\xD9V[`\0\x82\x81R`\xCD` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16[\x92\x91PPV[`\0\x80a\x0EO`\xCA\x84a\x1C\xABV[\x91P\x91P\x91P\x91V[a\x0E`a\x0E\xE3V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x0E\xC5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x06BV[a\x05\xF7\x81a\x11\xDCV[a\x0E\xD6a\x0E\xE3V[a\r\xBD`\xCA\x84\x84\x84a\x1D\x0EV[`\x97T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0C.W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01a\x06BV[`\0a\x0FI\x83\x83a\x1EUV[\x90P\x80\x15a\x0F\x8AW`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\r\xFC\xE1\xEAK\xA1\xEE\xBA\x89\x1F\xFB*\x06g\x90\xFB\xC2\x93\xA9\xE5\x17\xFEa\xD4\x9D\x15j0\x16_\x93\xF3\x90`\0\x90\xA2PPPV[`@QcJ\x89\x03!`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x05\xF7a\x0E\xE3V[\x7FI\x10\xFD\xFA\x16\xFE\xD3&\x0E\xD0\xE7\x14\x7F|\xC6\xDA\x11\xA6\x02\x08\xB5\xB9@m\x12\xA65aO\xFD\x91CT`\xFF\x16\x15a\x0F\xDEWa\r\xBD\x83a\x1F}V[\x82`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x108WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x105\x91\x81\x01\x90a3tV[`\x01[a\x10\x9BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`.`$\x82\x01R\x7FERC1967Upgrade: new implementati`D\x82\x01Rmon is not UUPS`\x90\x1B`d\x82\x01R`\x84\x01a\x06BV[`\0\x80Q` a6\x04\x839\x81Q\x91R\x81\x14a\x11\nW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FERC1967Upgrade: unsupported prox`D\x82\x01Rh\x1AXX\x9B\x19UURQ`\xBA\x1B`d\x82\x01R`\x84\x01a\x06BV[Pa\r\xBD\x83\x83\x83a \x19V[`\0a\x11\"\x82``\x1C\x90V[\x90P`\0\x81`\x01`\x01`\xA0\x1B\x03\x16c\xFC\x0CTj`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x11dW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x11\x88\x91\x90a3\x8DV[\x90Pa\x11\xB3`\xCAk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16``\x85\x90\x1B`\x01`\x01``\x1B\x03\x19\x16\x17a\x17\xE2V[a\r\xBD`\xCAk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16``\x84\x90\x1B`\x01`\x01``\x1B\x03\x19\x16\x17a\x19(V[`\x97\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x90\x93U`@Q\x91\x16\x91\x90\x82\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90`\0\x90\xA3PPV[\x84`\x01`\x01`\xA0\x1B\x03\x16\x86`\x01`\x01`\xA0\x1B\x03\x16\x03a\x12\x8CWa\x12\x87\x87\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa >\x92PPPV[a\x12\xD0V[a\x12\xD0\x87\x86\x86\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x88\x92Pa \xDF\x91PPV[PPPPPPPV[`\0a\x12\xED`\x97T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16cF\x87!\xA7\x86\x86\x86\x86`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x13\x1E\x94\x93\x92\x91\x90a3\xAAV[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x13=W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x13a\x91\x90a4\x02V[\x90P\x80\x15a\x13\x97W`@Q\x7FN.\x86\xD2\x13u\xEB\xCB\xF6\xE9=\xF5\xEB\xDDZ\x91[\xF80$Y\x04\xC3\xB5OH\xAD\xF0\x17\n\xAEK\x90`\0\x90\xA1a\x13\xC1V[`@Q\x7F\xC2M\x93`\x8A\x03\xD2c\xFF\x19\x1Dvw\x14\x1F^\x94\xC4\x96\xE5\x93\x10\x8F:\xAE\x0C\xB5\xB7\x04\x94\xC4\xD3\x90`\0\x90\xA1[\x94\x93PPPPV[`\0``a\x13\xDF`\x97T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16cR)\x07?\x87\x87\x87\x87`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x14\x10\x94\x93\x92\x91\x90a3\xAAV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x14/W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x14W\x91\x90\x81\x01\x90a4\x1DV[\x90\x92P\x90P\x81\x15a\x14\x90W`@Q\x7FN.\x86\xD2\x13u\xEB\xCB\xF6\xE9=\xF5\xEB\xDDZ\x91[\xF80$Y\x04\xC3\xB5OH\xAD\xF0\x17\n\xAEK\x90`\0\x90\xA1a\x14\xBAV[`@Q\x7F\xC2M\x93`\x8A\x03\xD2c\xFF\x19\x1Dvw\x14\x1F^\x94\xC4\x96\xE5\x93\x10\x8F:\xAE\x0C\xB5\xB7\x04\x94\xC4\xD3\x90`\0\x90\xA1[\x94P\x94\x92PPPV[\x81Q`\0\x90\x81\x90`\x07\x81\x11\x15a\x14\xECW`@Qc\x17\xA4\xD9\x87`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83Q\x85Q\x14a\x15\x0EW`@Qct\xF4\xD57`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80[\x82\x81\x10\x15a\x15qWa\x15%\x81` a4\xBDV[a\x150\x90`\xE0a4\xD4V[`\xE0\x88\x83\x81Q\x81\x10a\x15DWa\x15Da4\xE7V[` \x02` \x01\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x16\x90\x1C\x90\x1B\x82\x17\x91P\x80\x80a\x15i\x90a4\xFDV[\x91PPa\x15\x12V[P`\0[\x82\x81\x10\x15a\x15\xCCWa\x15\x88\x81`\x02a4\xBDV[\x86\x82\x81Q\x81\x10a\x15\x9AWa\x15\x9Aa4\xE7V[` \x02` \x01\x01Q`\x02\x81\x11\x15a\x15\xB3Wa\x15\xB3a0\xABV[\x90\x1B\x91\x90\x91\x17\x90\x80a\x15\xC4\x81a4\xFDV[\x91PPa\x15uV[P\x95\x90\x94P\x92PPPV[``\x80`\x07\x83\x11\x15a\x15\xFCW`@Qc\x17\xA4\xD9\x87`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x16\x15Wa\x16\x15a,\xC1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x16>W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x91P\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x16ZWa\x16Za,\xC1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x16\x83W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P`\0[\x83\x81\x10\x15a\x16\xEBW`\xE0a\x16\x9E\x82` a4\xBDV[a\x16\xA9\x90`\xE0a4\xD4V[\x86\x90\x1C\x90\x1B\x83\x82\x81Q\x81\x10a\x16\xC0Wa\x16\xC0a4\xE7V[`\x01`\x01`\xE0\x1B\x03\x19\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R\x80a\x16\xE3\x81a4\xFDV[\x91PPa\x16\x89V[P`\0[\x83\x81\x10\x15a\x17~W`\xFEa\x17\x04\x82`\x02a4\xBDV[a\x17\x0F\x90`\xFEa4\xD4V[\x86`\0\x1C\x90\x1B\x90\x1C`\xFF\x16`\x02\x81\x11\x15a\x17+Wa\x17+a0\xABV[\x82\x82\x81Q\x81\x10a\x17=Wa\x17=a4\xE7V[` \x02` \x01\x01\x90`\x02\x81\x11\x15a\x17VWa\x17Va0\xABV[\x90\x81`\x02\x81\x11\x15a\x17iWa\x17ia0\xABV[\x90RP\x80a\x17v\x81a4\xFDV[\x91PPa\x16\xEFV[P\x92P\x92\x90PV[``\x81`\0\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x17\xD6W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R` \x01\x90`\x01\x01\x90\x80\x83\x11a\x17\xC2W[PPPPP\x90P\x91\x90PV[`\0a\x17\xEE\x82``\x1C\x90V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\x18\x17W`@Qc\x86y\x15\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x18!\x83\x82a#\x1FV[\x15a\x18?W`@Qct`>\x95`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x18L\x83`\x01a#@V[\x90Pa\x18X\x84\x82a#\xD2V[P\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F_\xFB\x06\xB0\xB0\xE8\xADj\x8F<X1\xD4\x99\xDF\xA6\x12\xD9\xC9\xD4\xDC\x10{\xBDf\xF1\x8Fa\xA6I.q\x82`@Qa\x18\x94\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\xCC` R`@\x90 T`\xFF\x16\x15a\x18\xDCW`@Qc8\xE8\x16\xA5`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\xCC` R`@\x80\x82 \x80T`\xFF\x19\x16`\x01\x17\x90UQ\x7F\xB2]\x03\xAA\xF3\x08\xD7)\x17\t\xBE\x1E\xA2\x8B\x80\x04c\xCF:\x9ALJUU\xD73:\x96L\x1D\xFE\xBD\x91\x90\xA2PV[`\0a\x194\x82``\x1C\x90V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\x19]W`@Qc\x86y\x15\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x19g\x83\x82a#\x1FV[\x15a\x19\x85W`@Qct`>\x95`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x19\x91\x83\x82a#@V[\x90Pa\x19\x9D\x84\x82a#\xD2V[P\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\xAA\xF2k\xB1*\xA8\x9E\xE9k\xBE\x19fzj\x05W'\xB7]?n\xD7\xB8\xB6\x11\xEFe\x19\x18\x02\t\xD6\x82`@Qa\x18\x94\x91\x81R` \x01\x90V[`\0a\x19\xE5\x82``\x1C\x90V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\x1A\x0EW`@Qc\x86y\x15\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1A\x18\x83\x82a#\x1FV[\x15a\x1A6W`@Qct`>\x95`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1AC\x83`\x02a#@V[\x90Pa\x1AO\x84\x82a#\xD2V[P\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x1E\xE2y\x1F,\xAF\x0E\x92\xA9\xDC2\xA3z\x9E\xA5:\xB6\xACzo\xB8\xF2\xD0\x90\xE5:\x06}:C\xF6\xAC\x82`@Qa\x18\x94\x91\x81R` \x01\x90V[`\0\x80\x80R`\x03\x85\x01` R`@\x81 \x82\x91a\x1A\xA7\x86\x86a$>V[\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 \x80T`\xFF\x19\x16`\x01\x83`\x02\x81\x11\x15a\x1A\xD1Wa\x1A\xD1a0\xABV[\x02\x17\x90UP\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7Ft\x87S\r\xDF\xF1 y\x95\x05\xE5+\x1B\x19\xB6\x93?\x85\xA9\xEE\xAE\x92 \xC8\nz\xD7\xC4)\xB6\x12\xAE\x83`@Qa\x1B\x19\x91\x90a2VV[`@Q\x80\x91\x03\x90\xA3PPPPV[`\0\x80a\x1B5\x83`\x02a\x15\xD7V[\x91P\x91P`\0[`\x02\x81\x10\x15a\x1C\xA1W\x82Q`\0\x90\x84\x90\x83\x90\x81\x10a\x1B\\Wa\x1B\\a4\xE7V[` \x02` \x01\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x16\x14a\x1C\x8FW`\0a\x1B\x98\x87\x85\x84\x81Q\x81\x10a\x1B\x8BWa\x1B\x8Ba4\xE7V[` \x02` \x01\x01Qa$\x83V[\x90P\x82\x82\x81Q\x81\x10a\x1B\xACWa\x1B\xACa4\xE7V[` \x02` \x01\x01Q\x89`\x03\x01`\0\x83\x81R` \x01\x90\x81R` \x01`\0 `\0a\x1B\xD5\x8B\x8Ba$>V[\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 \x80T`\xFF\x19\x16`\x01\x83`\x02\x81\x11\x15a\x1B\xFFWa\x1B\xFFa0\xABV[\x02\x17\x90UP\x85`\x01`\x01`\xA0\x1B\x03\x16\x87`\x01`\x01`\xA0\x1B\x03\x16\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\xA3\xDFq\x04 \xB0\x1C\xC3\x0F\xF3\x000\x9A\xBB\xC7\xFA\xDDF0\xD4\xAB8[\x0FZ\x12o\xB4\xBA\xBEv+\x87\x86\x81Q\x81\x10a\x1CUWa\x1CUa4\xE7V[` \x02` \x01\x01Q\x87\x87\x81Q\x81\x10a\x1CoWa\x1Coa4\xE7V[` \x02` \x01\x01Q`@Qa\x1C\x85\x92\x91\x90a5\x16V[`@Q\x80\x91\x03\x90\xA4P[\x80a\x1C\x99\x81a4\xFDV[\x91PPa\x1B<V[PPPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x83\x01` R`@\x81 T\x81\x90\x80\x82\x03a\x1C\xDCW`\0\x80\x92P\x92PPa\x0B\xF7V[`\x01\x85a\x1C\xE9\x82\x84a4\xD4V[\x81T\x81\x10a\x1C\xF9Wa\x1C\xF9a4\xE7V[\x90`\0R` `\0 \x01T\x92P\x92PPa\x0B\xF7V[`\0\x80a\x1D\x1C\x83`\x07a\x15\xD7V[\x91P\x91P`\0[`\x07\x81\x10\x15a\x12\xD0W\x82Q`\0\x90\x84\x90\x83\x90\x81\x10a\x1DCWa\x1DCa4\xE7V[` \x02` \x01\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x16\x14a\x1ECW`\0a\x1Dr\x87\x85\x84\x81Q\x81\x10a\x1B\x8BWa\x1B\x8Ba4\xE7V[\x90P\x82\x82\x81Q\x81\x10a\x1D\x86Wa\x1D\x86a4\xE7V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01Q`\0\x83\x81R`\x03\x8B\x01\x83R`@\x80\x82 \x8A\x83R\x90\x93R\x91\x90\x91 \x80T`\xFF\x19\x16`\x01\x83`\x02\x81\x11\x15a\x1D\xC6Wa\x1D\xC6a0\xABV[\x02\x17\x90UP\x85\x87`\x01`\x01`\xA0\x1B\x03\x16\x7F\xF2\xFF\xD4\xF0\x9DX\xD0h$\x18\x803\xD31\x8D\x06\xEB\x95{\xFB\x1A\x8F\xFE\xD9\xAFx\xE1\xF1\x91h\xB9\x04\x86\x85\x81Q\x81\x10a\x1E\tWa\x1E\ta4\xE7V[` \x02` \x01\x01Q\x86\x86\x81Q\x81\x10a\x1E#Wa\x1E#a4\xE7V[` \x02` \x01\x01Q`@Qa\x1E9\x92\x91\x90a5\x16V[`@Q\x80\x91\x03\x90\xA3P[\x80a\x1EM\x81a4\xFDV[\x91PPa\x1D#V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x83\x01` R`@\x81 T\x80\x15a\x1FsW`\0a\x1E\x83`\x01\x83a4\xD4V[\x85T\x90\x91P`\0\x90a\x1E\x97\x90`\x01\x90a4\xD4V[\x90P\x81\x81\x14a\x1F\x15W`\0\x86`\0\x01\x82\x81T\x81\x10a\x1E\xB7Wa\x1E\xB7a4\xE7V[\x90`\0R` `\0 \x01T\x90P\x80\x87`\0\x01\x84\x81T\x81\x10a\x1E\xDAWa\x1E\xDAa4\xE7V[\x90`\0R` `\0 \x01\x81\x90UP\x83\x87`\x01\x01`\0a\x1E\xF9\x84``\x1C\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 UP[\x85T\x86\x90\x80a\x1F&Wa\x1F&a54V[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x85`\x01\x01`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x90U`\x01\x93PPPPa\x0E;V[`\0\x91PPa\x0E;V[`\x01`\x01`\xA0\x1B\x03\x81\x16;a\x1F\xEAW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`-`$\x82\x01R\x7FERC1967: new implementation is n`D\x82\x01Rl\x1B\xDD\x08\x18H\x18\xDB\xDB\x9D\x1C\x98X\xDD`\x9A\x1B`d\x82\x01R`\x84\x01a\x06BV[`\0\x80Q` a6\x04\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[a \"\x83a$\xCFV[`\0\x82Q\x11\x80a /WP\x80[\x15a\r\xBDWa\r\xA2\x83\x83a%\x0FV[`\0\x80`\0```\0\x80`$\x87\x01Q\x90P\x80` \x14a pW`@Qc~\xD1\x117`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`d[\x87Q\x81\x10\x15a \xD4W\x80\x88\x01Q`\xF8\x1C\x96P`\x01\x81\x01\x88\x01Q``\x1C\x95P`\x15\x81\x01\x88\x01Q\x94P`5\x81\x01\x88\x01Q\x92P`5\x81\x01\x88\x01\x93Pa \xB8\x89\x87\x87\x87\x8Ba \xDFV[a \xC3\x83`Ua5JV[a \xCD\x90\x82a5JV[\x90Pa sV[PPPPPPPPPV[\x81Q\x15\x80\x15\x90a \xF0WP`\x04\x82Q\x10[\x15a!\x0EW`@Qc#B`\x91`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!\x1A\x86\x86a%4V[\x90Pa!'\x84\x83\x83a%\x9FV[`\0a!2\x84a5]V[\x90P`\0a!B\x85Q\x84\x84a&AV[\x90P`\0\x81`\x03\x81\x11\x15a!XWa!Xa0\xABV[\x03a!vW`@QcXr07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03\x81`\x03\x81\x11\x15a!\x8AWa!\x8Aa0\xABV[\x03a!\x97WPPPa#\x18V[`\0\x80a!\xA3\x85a'\xE9V[`\x02\x81\x11\x15a!\xB4Wa!\xB4a0\xABV[\x03a!\xD5Wa!\xCE\x89a!\xC7\x8A\x86a$\x83V[\x85\x89a(\x04V[\x90Pa\"9V[`\x01a!\xE0\x85a'\xE9V[`\x02\x81\x11\x15a!\xF1Wa!\xF1a0\xABV[\x03a\"\x0BWa!\xCE\x89a\"\x04\x8A\x86a$\x83V[\x85\x89a(\x9BV[`\x02a\"\x16\x85a'\xE9V[`\x02\x81\x11\x15a\"'Wa\"'a0\xABV[\x03a\"9Wa\"6\x89\x89a)\xCAV[\x90P[`\x02\x81`\x02\x81\x11\x15a\"MWa\"Ma0\xABV[\x14\x80a\"\x86WP`\0\x81`\x02\x81\x11\x15a\"hWa\"ha0\xABV[\x14\x80\x15a\"\x86WP`\x01\x82`\x03\x81\x11\x15a\"\x84Wa\"\x84a0\xABV[\x14[\x15a\"\xA4W`@Qc\x86M\xD1\xE7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x81`\x02\x81\x11\x15a\"\xB8Wa\"\xB8a0\xABV[\x14\x80a\"\xF1WP`\0\x81`\x02\x81\x11\x15a\"\xD3Wa\"\xD3a0\xABV[\x14\x80\x15a\"\xF1WP`\x02\x82`\x03\x81\x11\x15a\"\xEFWa\"\xEFa0\xABV[\x14[\x15a\"\xFFWPPPPa#\x18V[`@Qc\x08\xD5\xA8\xB1`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x01\x91\x90\x91\x01` R`@\x90 T\x15\x15\x90V[`\0\x80\x80`\x01\x84`\x02\x81\x11\x15a#XWa#Xa0\xABV[\x03a#pWPj\xFF\0\0\0\0\0\0\0\0\xFF\xFF\x19a#\xABV[`\0\x84`\x02\x81\x11\x15a#\x84Wa#\x84a0\xABV[\x03a#\x9CWPj\xFF\0\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\x19a#\xABV[Pj\xFF\0\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19[\x80\x85\x16\x91P`P\x84`\x02\x81\x11\x15a#\xC4Wa#\xC4a0\xABV[\x90\x1B\x91\x90\x91\x17\x94\x93PPPPV[`\0a#\xE7\x83a#\xE2\x84``\x1C\x90V[a#\x1FV[a$6W\x82T`\x01\x81\x81\x01\x85U`\0\x85\x81R` \x81 \x90\x92\x01\x84\x90U\x84T\x91\x90\x85\x01\x90a$\x14\x85``\x1C\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 UP`\x01a\x0E;V[P`\0a\x0E;V[`@Q`\x01`\x01``\x1B\x03\x19``\x84\x81\x1B\x82\x16` \x84\x01R\x83\x90\x1B\x16`4\x82\x01R`\0\x90`H\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x92\x91PPV[`@Q`\x01`\x01``\x1B\x03\x19``\x84\x90\x1B\x16` \x82\x01R`\x01`\x01`\xE0\x1B\x03\x19\x82\x16`4\x82\x01R`\0\x90`8\x01`@Q` \x81\x83\x03\x03\x81R\x90`@Ra$\xC8\x90a5\x94V[\x93\x92PPPV[a$\xD8\x81a\x1F}V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2PV[``a$\xC8\x83\x83`@Q\x80``\x01`@R\x80`'\x81R` \x01a6$`'\x919a)\xFEV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x83\x01` R`@\x81 T\x80\x82\x03a%oW`@Qc-\x05\x19\xAD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83a%{`\x01\x83a4\xD4V[\x81T\x81\x10a%\x8BWa%\x8Ba4\xE7V[\x90`\0R` `\0 \x01T\x91PP\x92\x91PPV[`\x01a%\xAA\x82a*lV[`\x01\x81\x11\x15a%\xBBWa%\xBBa0\xABV[\x14a%\xD9W`@Qc;\xCD\x10+`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x82`\x01\x81\x11\x15a%\xEDWa%\xEDa0\xABV[\x03a&\x0BW`@Qc\x06\xC4\xA1\xC7`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x11\x80\x15a&#WPa&!\x81`\x02a*\x87V[\x15[\x15a\r\xBDW`@Qc\t\xE9\xCDI`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a&M\x84a*\xBDV[\x90P\x84\x15\x80a&dWP`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x15[\x80a&\x80WP`\x03\x81`\x03\x81\x11\x15a&~Wa&~a0\xABV[\x14[\x80a&\x9CWP`\0\x81`\x03\x81\x11\x15a&\x9AWa&\x9Aa0\xABV[\x14[\x15a&\xA8W\x90Pa$\xC8V[`\0cy\x93\xB9G`\xE1\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a&\xD4Wa&\xCD\x85`\0a*\xD8V[\x90Pa'\xBFV[c\xAB]\x12\x0B`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a&\xF7Wa&\xCD\x85`\x02a*\xD8V[cBY\xA0\xBB`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'\x1AWa&\xCD\x85`\x03a*\xD8V[c\x9A\xEA\xEBA`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'=Wa&\xCD\x85`\x04a*\xD8V[c\xF5A:q`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'`Wa&\xCD\x85`\x05a*\xD8V[c\xF6\xA1XM`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'\x83Wa&\xCD\x85`\x07a*\xD8V[c2\x13\"\x1D`\xE1\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'\xA6Wa&\xCD\x85`\x08a*\xD8V[`@Qc\x18\xF4\xC1#`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81`\x04\x81\x11\x15a'\xD3Wa'\xD3a0\xABV[\x03a'\xE0WP\x90Pa$\xC8V[a\t\xBB\x81a+,V[`\0`\xFF`P\x83\x90\x1C\x16`\x02\x81\x11\x15a\x0E;Wa\x0E;a0\xABV[`\0`\x01`\x01`\xE0\x1B\x03\x19\x83\x16c\t^\xA7\xB3`\xE0\x1B\x14\x80\x15\x90a(8WP`\x01`\x01`\xE0\x1B\x03\x19\x83\x16cM\xEC\xDD\xE3`\xE1\x1B\x14\x15[\x15a(VW`@Qc\x18\xF4\xC1#`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a(c`\0\x84a+\x86V[\x90P`\0a(q3\x83a$>V[`\0\x87\x81R`\x03\x89\x01` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x92PPP\x94\x93PPPPV[`\0\x80a(\xA9`\0\x84a+\x86V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a(\xD4W`@Qcn\xB01_`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0cy\x93\xB9G`\xE1\x1B`\x01`\x01`\xE0\x1B\x03\x19\x86\x16\x01a)\0Wa(\xF9`\x01\x85a+\x86V[\x90Pa)\xA1V[c\xAB]\x12\x0B`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x86\x16\x01a)9W`\0a)%`\x01\x86a+\x86V[\x90Pa)1\x81\x84a$>V[\x91PPa)\xA1V[`\x01`\x01`\xE0\x1B\x03\x19\x85\x16c\xBD\xA6_E`\xE0\x1B\x14\x80a)hWP`\x01`\x01`\xE0\x1B\x03\x19\x85\x16ce\x15\x14\xBF`\xE0\x1B\x14[\x80a)\x83WP`\x01`\x01`\xE0\x1B\x03\x19\x85\x16c\n\xBE\xC5\x8F`\xE0\x1B\x14[\x15a'\xA6W`\0a)\x95`\x01\x86a+\x86V[\x90Pa)1\x83\x82a$>V[`\0\x86\x81R`\x03\x88\x01` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x91PP\x94\x93PPPPV[`\0\x80a)\xD73\x84a$>V[`\0\x80\x80R`\x03\x86\x01` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x91PP\x92\x91PPV[```\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x85`@Qa*\x1B\x91\x90a5\xBBV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a*VW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a*[V[``\x91P[P\x91P\x91Pa\t\xBB\x86\x83\x83\x87a+\xF1V[`\0`\xFF`X\x83\x90\x1C\x16`\x01\x81\x11\x15a\x0E;Wa\x0E;a0\xABV[`\0\x81`\x02\x81\x11\x15a*\x9BWa*\x9Ba0\xABV[a*\xA4\x84a'\xE9V[`\x02\x81\x11\x15a*\xB5Wa*\xB5a0\xABV[\x14\x93\x92PPPV[`\0`\xFF`H\x83\x90\x1C\x16`\x03\x81\x11\x15a\x0E;Wa\x0E;a0\xABV[`\0`\t\x82\x10a*\xFBW`@Qc\xB4J\xF9\xAF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a+\x08\x83`\x08a4\xBDV[a+\x13\x90`\xB8a5JV[\x90P\x83\x81\x1B`\xF8\x1C`\x04\x81\x11\x15a\x13\xC1Wa\x13\xC1a0\xABV[`\0\x80\x82`\x04\x81\x11\x15a+AWa+Aa0\xABV[\x90P\x80`\xFF\x16`\0\x03a+gW`@Qc\xD8EZ\x13`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a+r`\x01\x82a5\xD7V[`\xFF\x16`\x03\x81\x11\x15a$\xC8Wa$\xC8a0\xABV[`\0a+\x93\x83` a4\xBDV[a+\x9E\x90`\x04a5JV[a+\xA9\x90` a5JV[\x82Q\x10\x15a+\xCAW`@Qc\x1D\t\x8E-`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a+\xD7\x84` a4\xBDV[a+\xE2\x90`\x04a5JV[\x92\x90\x92\x01` \x01Q\x93\x92PPPV[``\x83\x15a,`W\x82Q`\0\x03a,YW`\x01`\x01`\xA0\x1B\x03\x85\x16;a,YW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: call to non-contract\0\0\0`D\x82\x01R`d\x01a\x06BV[P\x81a\x13\xC1V[a\x13\xC1\x83\x83\x81Q\x15a,uW\x81Q\x80\x83` \x01\xFD[\x80`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x91\x90a5\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x05\xF7W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a,\xB6W`\0\x80\xFD[\x815a$\xC8\x81a,\x8FV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a-\0Wa-\0a,\xC1V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a-\"Wa-\"a,\xC1V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a-AW`\0\x80\xFD[\x815a-Ta-O\x82a-\x08V[a,\xD7V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a-iW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a-\x98W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a-\xAFW`\0\x80\xFD[a\x13\xC1\x84\x82\x85\x01a-0V[`\0\x80`\0\x80`\0`\x80\x86\x88\x03\x12\x15a-\xD3W`\0\x80\xFD[\x855a-\xDE\x81a,\x8FV[\x94P` \x86\x015\x93P`@\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a.\x02W`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a.\x16W`\0\x80\xFD[\x815\x81\x81\x11\x15a.%W`\0\x80\xFD[\x89` \x82\x85\x01\x01\x11\x15a.7W`\0\x80\xFD[` \x83\x01\x95P\x80\x94PPPP``\x86\x015`\x02\x81\x10a.UW`\0\x80\xFD[\x80\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0\x80`@\x83\x85\x03\x12\x15a.vW`\0\x80\xFD[\x825a.\x81\x81a,\x8FV[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a.\x9DW`\0\x80\xFD[a.\xA9\x85\x82\x86\x01a-0V[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a.\xCEW\x81\x81\x01Q\x83\x82\x01R` \x01a.\xB6V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra.\xEF\x81` \x86\x01` \x86\x01a.\xB3V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[\x82\x15\x15\x81R`@` \x82\x01R`\0a\x13\xC1`@\x83\x01\x84a.\xD7V[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a/8Wa/8a,\xC1V[P`\x05\x1B` \x01\x90V[\x805`\x03\x81\x10a/QW`\0\x80\xFD[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a/gW`\0\x80\xFD[\x815` a/wa-O\x83a/\x1EV[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a/\x96W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a/\xB8Wa/\xAB\x81a/BV[\x83R\x91\x83\x01\x91\x83\x01a/\x9AV[P\x96\x95PPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a/\xD6W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a/\xEEW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a0\x02W`\0\x80\xFD[\x815` a0\x12a-O\x83a/\x1EV[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a01W`\0\x80\xFD[\x94\x82\x01\x94[\x83\x86\x10\x15a0fW\x855`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a0WW`\0\x80\x81\xFD[\x82R\x94\x82\x01\x94\x90\x82\x01\x90a06V[\x96PP\x86\x015\x92PP\x80\x82\x11\x15a0|W`\0\x80\xFD[Pa.\xA9\x85\x82\x86\x01a/VV[`\0\x80`@\x83\x85\x03\x12\x15a0\x9CW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x03\x81\x10a0\xD1Wa0\xD1a0\xABV[\x90RV[`@\x80\x82R\x83Q\x90\x82\x01\x81\x90R`\0\x90` \x90``\x84\x01\x90\x82\x87\x01\x84[\x82\x81\x10\x15a1\x18W\x81Q`\x01`\x01`\xE0\x1B\x03\x19\x16\x84R\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a0\xF2V[PPP\x83\x81\x03\x82\x85\x01R\x84Q\x80\x82R\x85\x83\x01\x91\x83\x01\x90`\0[\x81\x81\x10\x15a1TWa1D\x83\x85Qa0\xC1V[\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a11V[P\x90\x97\x96PPPPPPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a1\x99W\x83Q\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a1}V[P\x90\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a1\xB7W`\0\x80\xFD[P5\x91\x90PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a1\xD4W`\0\x80\xFD[\x845a1\xDF\x81a,\x8FV[\x93P` \x85\x015a1\xEF\x81a,\x8FV[\x92P`@\x85\x015a1\xFF\x81a,\x8FV[\x93\x96\x92\x95P\x92\x93``\x015\x92PPV[`\0\x80`\0``\x84\x86\x03\x12\x15a2$W`\0\x80\xFD[\x835a2/\x81a,\x8FV[\x92P` \x84\x015a2?\x81a,\x8FV[\x91Pa2M`@\x85\x01a/BV[\x90P\x92P\x92P\x92V[` \x81\x01a\x0E;\x82\x84a0\xC1V[`\0\x80`\0``\x84\x86\x03\x12\x15a2yW`\0\x80\xFD[\x835a2\x84\x81a,\x8FV[\x95` \x85\x015\x95P`@\x90\x94\x015\x93\x92PPPV[` \x80\x82R`,\x90\x82\x01R\x7FFunction must be called through `@\x82\x01Rk\x19\x19[\x19Y\xD8]\x19X\xD8[\x1B`\xA2\x1B``\x82\x01R`\x80\x01\x90V[` \x80\x82R`,\x90\x82\x01R\x7FFunction must be called through `@\x82\x01Rkactive proxy`\xA0\x1B``\x82\x01R`\x80\x01\x90V[`\0\x80`\0``\x84\x86\x03\x12\x15a3FW`\0\x80\xFD[\x83Qa3Q\x81a,\x8FV[` \x85\x01Q\x90\x93Pa3b\x81a,\x8FV[\x80\x92PP`@\x84\x01Q\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a3\x86W`\0\x80\xFD[PQ\x91\x90PV[`\0` \x82\x84\x03\x12\x15a3\x9FW`\0\x80\xFD[\x81Qa$\xC8\x81a,\x8FV[`\x01\x80`\xA0\x1B\x03\x85\x16\x81R\x83` \x82\x01R`\x80`@\x82\x01R`\0a3\xD1`\x80\x83\x01\x85a.\xD7V[\x90P`\x02\x83\x10a3\xE3Wa3\xE3a0\xABV[\x82``\x83\x01R\x95\x94PPPPPV[\x80Q\x80\x15\x15\x81\x14a/QW`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a4\x14W`\0\x80\xFD[a$\xC8\x82a3\xF2V[`\0\x80`@\x83\x85\x03\x12\x15a40W`\0\x80\xFD[a49\x83a3\xF2V[\x91P` \x83\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4UW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a4fW`\0\x80\xFD[\x80Qa4ta-O\x82a-\x08V[\x81\x81R\x86` \x83\x85\x01\x01\x11\x15a4\x89W`\0\x80\xFD[a4\x9A\x82` \x83\x01` \x86\x01a.\xB3V[\x80\x93PPPP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0E;Wa\x0E;a4\xA7V[\x81\x81\x03\x81\x81\x11\x15a\x0E;Wa\x0E;a4\xA7V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0`\x01\x82\x01a5\x0FWa5\x0Fa4\xA7V[P`\x01\x01\x90V[`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x81R`@\x81\x01a$\xC8` \x83\x01\x84a0\xC1V[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x0E;Wa\x0E;a4\xA7V[\x80Q` \x82\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x80\x82\x16\x92\x91\x90`\x04\x83\x10\x15a5\x8CW\x80\x81\x84`\x04\x03`\x03\x1B\x1B\x83\x16\x16\x93P[PPP\x91\x90PV[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a5\xB5W`\0\x19\x81` \x03`\x03\x1B\x1B\x82\x16\x91P[P\x91\x90PV[`\0\x82Qa5\xCD\x81\x84` \x87\x01a.\xB3V[\x91\x90\x91\x01\x92\x91PPV[`\xFF\x82\x81\x16\x82\x82\x16\x03\x90\x81\x11\x15a\x0E;Wa\x0E;a4\xA7V[` \x81R`\0a$\xC8` \x83\x01\x84a.\xD7V\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCAddress: low-level delegate call failed\xA2dipfsX\"\x12 \xEC\x1BB0\x9C\xA1\xBEN\x1D\xEA\x19\xD2\x1A\xCDm6@\x96\xF0\x19\xA0\x9D\x08\x8F\xDEwZ\xB0\x84FTUdsolcC\0\x08\x13\x003",
1155 );
1156 #[rustfmt::skip]
1162 #[allow(clippy::all)]
1163 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
1164 b"`\x80`@R`\x046\x10a\x01\xC2W`\x005`\xE0\x1C\x80cs\x9CK\x08\x11a\0\xF7W\x80c\xB5sib\x11a\0\x95W\x80c\xDCDjJ\x11a\0dW\x80c\xDCDjJ\x14a\x05@W\x80c\xDFNo\x8A\x14a\x05mW\x80c\xF2\xFD\xE3\x8B\x14a\x05\xA4W\x80c\xFA\x19P\x1D\x14a\x05\xC4W`\0\x80\xFD[\x80c\xB5sib\x14a\x04\xC0W\x80c\xC6\x86\x05\xC8\x14a\x04\xE0W\x80c\xC6\x8C:\x83\x14a\x05\0W\x80c\xDC\x06\x10\x9D\x14a\x05 W`\0\x80\xFD[\x80c\x9D\x95\xF1\xCC\x11a\0\xD1W\x80c\x9D\x95\xF1\xCC\x14a\x04@W\x80c\xA2E\x0F\x89\x14a\x04`W\x80c\xA7l\x9A/\x14a\x04\x80W\x80c\xB2\xB9\x9E\xC9\x14a\x04\xA0W`\0\x80\xFD[\x80cs\x9CK\x08\x14a\x03\xE2W\x80c\x8B\x95\xEC\xCD\x14a\x04\x02W\x80c\x8D\xA5\xCB[\x14a\x04\"W`\0\x80\xFD[\x80cO\x1E\xF2\x86\x11a\x01dW\x80cV\xF5Q\x17\x11a\x01>W\x80cV\xF5Q\x17\x14a\x03HW\x80c`\x97lK\x14a\x03}W\x80cc\xFE;V\x14a\x03\xABW\x80cqP\x18\xA6\x14a\x03\xCDW`\0\x80\xFD[\x80cO\x1E\xF2\x86\x14a\x02\xE4W\x80cR)\x07?\x14a\x02\xF7W\x80cR\xD1\x90-\x14a\x03%W`\0\x80\xFD[\x80c6Y\xCF\xE6\x11a\x01\xA0W\x80c6Y\xCF\xE6\x14a\x02oW\x80cC\x9F\xAB\x91\x14a\x02\x8FW\x80cF\x87!\xA7\x14a\x02\xAFW\x80cJ\x1B\xA4\x08\x14a\x02\xCFW`\0\x80\xFD[\x80c\x01u\x01R\x14a\x01\xC7W\x80c)D\x02\xCC\x14a\x02\x15W\x80c4\x01\xCD\xE8\x14a\x02MW[`\0\x80\xFD[4\x80\x15a\x01\xD3W`\0\x80\xFD[Pa\x02\0a\x01\xE26`\x04a,\xA4V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\xCC` R`@\x90 T`\xFF\x16\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02!W`\0\x80\xFD[P`\xC9Ta\x025\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x0CV[4\x80\x15a\x02YW`\0\x80\xFD[Pa\x02ma\x02h6`\x04a,\xA4V[a\x05\xE4V[\0[4\x80\x15a\x02{W`\0\x80\xFD[Pa\x02ma\x02\x8A6`\x04a,\xA4V[a\x05\xFAV[4\x80\x15a\x02\x9BW`\0\x80\xFD[Pa\x02ma\x02\xAA6`\x04a-\x86V[a\x06\xDFV[4\x80\x15a\x02\xBBW`\0\x80\xFD[Pa\x02\0a\x02\xCA6`\x04a-\xBBV[a\t+V[4\x80\x15a\x02\xDBW`\0\x80\xFD[Pa\x02\0`\x01\x81V[a\x02ma\x02\xF26`\x04a.cV[a\t\xC5V[4\x80\x15a\x03\x03W`\0\x80\xFD[Pa\x03\x17a\x03\x126`\x04a-\xBBV[a\n\x91V[`@Qa\x02\x0C\x92\x91\x90a/\x03V[4\x80\x15a\x031W`\0\x80\xFD[Pa\x03:a\x0B2V[`@Q\x90\x81R` \x01a\x02\x0CV[4\x80\x15a\x03TW`\0\x80\xFD[Pa\x03ha\x03c6`\x04a/\xC3V[a\x0B\xE5V[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x0CV[4\x80\x15a\x03\x89W`\0\x80\xFD[Pa\x03\x9Da\x03\x986`\x04a0\x89V[a\x0B\xFEV[`@Qa\x02\x0C\x92\x91\x90a0\xD5V[4\x80\x15a\x03\xB7W`\0\x80\xFD[Pa\x03\xC0a\x0C\x0BV[`@Qa\x02\x0C\x91\x90a1aV[4\x80\x15a\x03\xD9W`\0\x80\xFD[Pa\x02ma\x0C\x1CV[4\x80\x15a\x03\xEEW`\0\x80\xFD[Pa\x02ma\x03\xFD6`\x04a1\xA5V[a\x0C0V[4\x80\x15a\x04\x0EW`\0\x80\xFD[Pa\x02ma\x04\x1D6`\x04a,\xA4V[a\x0CCV[4\x80\x15a\x04.W`\0\x80\xFD[P`\x97T`\x01`\x01`\xA0\x1B\x03\x16a\x025V[4\x80\x15a\x04LW`\0\x80\xFD[Pa\x02ma\x04[6`\x04a,\xA4V[a\x0C\x95V[4\x80\x15a\x04lW`\0\x80\xFD[Pa\x02ma\x04{6`\x04a1\xA5V[a\x0C\xA6V[4\x80\x15a\x04\x8CW`\0\x80\xFD[Pa\x02ma\x04\x9B6`\x04a1\xA5V[a\x0C\xB7V[4\x80\x15a\x04\xACW`\0\x80\xFD[Pa\x02ma\x04\xBB6`\x04a,\xA4V[a\x0C\xCAV[4\x80\x15a\x04\xCCW`\0\x80\xFD[Pa\x02ma\x04\xDB6`\x04a1\xA5V[a\rTV[4\x80\x15a\x04\xECW`\0\x80\xFD[Pa\x02ma\x04\xFB6`\x04a1\xBEV[a\r\x8CV[4\x80\x15a\x05\x0CW`\0\x80\xFD[Pa\x02ma\x05\x1B6`\x04a2\x0FV[a\r\xA8V[4\x80\x15a\x05,W`\0\x80\xFD[Pa\x02ma\x05;6`\x04a1\xA5V[a\r\xC2V[4\x80\x15a\x05LW`\0\x80\xFD[Pa\x05`a\x05[6`\x04a0\x89V[a\x0E\x1DV[`@Qa\x02\x0C\x91\x90a2VV[4\x80\x15a\x05yW`\0\x80\xFD[Pa\x05\x8Da\x05\x886`\x04a,\xA4V[a\x0EAV[`@\x80Q\x92\x15\x15\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x0CV[4\x80\x15a\x05\xB0W`\0\x80\xFD[Pa\x02ma\x05\xBF6`\x04a,\xA4V[a\x0EXV[4\x80\x15a\x05\xD0W`\0\x80\xFD[Pa\x02ma\x05\xDF6`\x04a2dV[a\x0E\xCEV[a\x05\xECa\x0E\xE3V[a\x05\xF7`\xCA\x82a\x0F=V[PV[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x160\x03a\x06KW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x90a2\x99V[`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x06\x94`\0\x80Q` a6\x04\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x06\xBAW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x90a2\xE5V[a\x06\xC3\x81a\x0F\xA3V[`@\x80Q`\0\x80\x82R` \x82\x01\x90\x92Ra\x05\xF7\x91\x83\x91\x90a\x0F\xABV[`\0Ta\x01\0\x90\x04`\xFF\x16\x15\x80\x80\x15a\x06\xFFWP`\0T`\x01`\xFF\x90\x91\x16\x10[\x80a\x07\x19WP0;\x15\x80\x15a\x07\x19WP`\0T`\xFF\x16`\x01\x14[a\x07|W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`.`$\x82\x01R\x7FInitializable: contract is alrea`D\x82\x01Rm\x19\x1EH\x1A[\x9A]\x1AX[\x1A^\x99Y`\x92\x1B`d\x82\x01R`\x84\x01a\x06BV[`\0\x80T`\xFF\x19\x16`\x01\x17\x90U\x80\x15a\x07\x9FW`\0\x80Ta\xFF\0\x19\x16a\x01\0\x17\x90U[`\0\x80`\0\x84\x80` \x01\x90Q\x81\x01\x90a\x07\xB8\x91\x90a31V[\x91\x94P\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x83\x16\x15\x80a\x07\xDCWP`\x01`\x01`\xA0\x1B\x03\x82\x16\x15[\x15a\x07\xFAW`@Qc\x86y\x15\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x03a\x08,W`@QcY\x8A\x0E!`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x08@`\x97T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15\x80a\x08`WP`\xC9T`\x01`\x01`\xA0\x1B\x03\x16\x15\x15[\x15a\x08}W`@Qb\xDC\x14\x9F`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xC9\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x17\x90Ua\x08\xA1\x81a\x11\x16V[a\x08\xAA\x83a\x11\xDCV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F_\xE6\xAA\xBFNy\x08C\xDFC\xAE\x0E\"\xB5\x86 \x06o\xB3\x89)[\xED\xC0j\x92\xDFl;(w}\x90`\0\x90\xA2PPP\x80\x15a\t'W`\0\x80Ta\xFF\0\x19\x16\x90U`@Q`\x01\x81R\x7F\x7F&\xB8?\xF9n\x1F+jh/\x138R\xF6y\x8A\t\xC4e\xDA\x95\x92\x14`\xCE\xFB8G@$\x98\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPV[3`\0\x90\x81R`\xCC` R`@\x81 T`\xFF\x16a\t[W`@Qc\x1F\xB1\xD3\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xC9Ta\tx\x90`\xCA\x90`\x01`\x01`\xA0\x1B\x03\x16\x88\x88\x88\x88\x88a\x12.V[a\t\xBB\x86\x86\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x88\x92Pa\x12\xD9\x91PPV[\x96\x95PPPPPPV[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x160\x03a\n\rW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x90a2\x99V[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\nV`\0\x80Q` a6\x04\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14a\n|W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x90a2\xE5V[a\n\x85\x82a\x0F\xA3V[a\t'\x82\x82`\x01a\x0F\xABV[3`\0\x90\x81R`\xCC` R`@\x81 T``\x90`\xFF\x16a\n\xC4W`@Qc\x1F\xB1\xD3\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xC9Ta\n\xE1\x90`\xCA\x90`\x01`\x01`\xA0\x1B\x03\x16\x89\x89\x89\x89\x89a\x12.V[a\x0B$\x87\x87\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x89\x92Pa\x13\xC9\x91PPV[\x91P\x91P\x95P\x95\x93PPPPV[`\x000`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0B\xD2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`8`$\x82\x01R\x7FUUPSUpgradeable: must not be cal`D\x82\x01R\x7Fled through delegatecall\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06BV[P`\0\x80Q` a6\x04\x839\x81Q\x91R\x90V[`\0\x80a\x0B\xF2\x84\x84a\x14\xC3V[\x91P\x91P[\x92P\x92\x90PV[``\x80a\x0B\xF2\x84\x84a\x15\xD7V[``a\x0C\x17`\xCAa\x17\x86V[\x90P\x90V[a\x0C$a\x0E\xE3V[a\x0C.`\0a\x11\xDCV[V[a\x0C8a\x0E\xE3V[a\x05\xF7`\xCA\x82a\x17\xE2V[a\x0CKa\x0E\xE3V[`\xC9\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F_\xE6\xAA\xBFNy\x08C\xDFC\xAE\x0E\"\xB5\x86 \x06o\xB3\x89)[\xED\xC0j\x92\xDFl;(w}\x90`\0\x90\xA2PV[a\x0C\x9Da\x0E\xE3V[a\x05\xF7\x81a\x18\xA2V[a\x0C\xAEa\x0E\xE3V[a\x05\xF7\x81a\x11\x16V[a\x0C\xBFa\x0E\xE3V[a\x05\xF7`\xCA\x82a\x19(V[a\x0C\xD2a\x0E\xE3V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\xCC` R`@\x90 T`\xFF\x16a\r\x0BW`@Qc\x1F\xB1\xD3\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\xCC` R`@\x80\x82 \x80T`\xFF\x19\x16\x90UQ\x7F\xCF\xC2Af\xDBK\xB6w\xE8W\xCA\xCA\xBD\x15A\xFB+0dP!\xB2|Q0A\x95\x89\xB8M\xB5+\x91\x90\xA2PV[a\r\\a\x0E\xE3V[`\0a\rh\x82``\x1C\x90V[\x90Pa\rs\x81a\x18\xA2V[a\r~`\xCA\x83a\x19\xD9V[a\t'`\xCA\x82\x83`\x01a\x1A\x8BV[a\r\x94a\x0E\xE3V[a\r\xA2`\xCA\x85\x85\x85\x85a\x1B'V[PPPPV[a\r\xB0a\x0E\xE3V[a\r\xBD`\xCA\x84\x84\x84a\x1A\x8BV[PPPV[a\r\xCAa\x0E\xE3V[`\0a\r\xD6\x82``\x1C\x90V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\xCC` R`@\x90 T\x90\x91P`\xFF\x16a\x0E\x12W`@Qc\x1F\xB1\xD3\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t'`\xCA\x83a\x19\xD9V[`\0\x82\x81R`\xCD` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16[\x92\x91PPV[`\0\x80a\x0EO`\xCA\x84a\x1C\xABV[\x91P\x91P\x91P\x91V[a\x0E`a\x0E\xE3V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x0E\xC5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x06BV[a\x05\xF7\x81a\x11\xDCV[a\x0E\xD6a\x0E\xE3V[a\r\xBD`\xCA\x84\x84\x84a\x1D\x0EV[`\x97T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0C.W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01a\x06BV[`\0a\x0FI\x83\x83a\x1EUV[\x90P\x80\x15a\x0F\x8AW`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\r\xFC\xE1\xEAK\xA1\xEE\xBA\x89\x1F\xFB*\x06g\x90\xFB\xC2\x93\xA9\xE5\x17\xFEa\xD4\x9D\x15j0\x16_\x93\xF3\x90`\0\x90\xA2PPPV[`@QcJ\x89\x03!`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x05\xF7a\x0E\xE3V[\x7FI\x10\xFD\xFA\x16\xFE\xD3&\x0E\xD0\xE7\x14\x7F|\xC6\xDA\x11\xA6\x02\x08\xB5\xB9@m\x12\xA65aO\xFD\x91CT`\xFF\x16\x15a\x0F\xDEWa\r\xBD\x83a\x1F}V[\x82`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x108WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x105\x91\x81\x01\x90a3tV[`\x01[a\x10\x9BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`.`$\x82\x01R\x7FERC1967Upgrade: new implementati`D\x82\x01Rmon is not UUPS`\x90\x1B`d\x82\x01R`\x84\x01a\x06BV[`\0\x80Q` a6\x04\x839\x81Q\x91R\x81\x14a\x11\nW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FERC1967Upgrade: unsupported prox`D\x82\x01Rh\x1AXX\x9B\x19UURQ`\xBA\x1B`d\x82\x01R`\x84\x01a\x06BV[Pa\r\xBD\x83\x83\x83a \x19V[`\0a\x11\"\x82``\x1C\x90V[\x90P`\0\x81`\x01`\x01`\xA0\x1B\x03\x16c\xFC\x0CTj`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x11dW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x11\x88\x91\x90a3\x8DV[\x90Pa\x11\xB3`\xCAk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16``\x85\x90\x1B`\x01`\x01``\x1B\x03\x19\x16\x17a\x17\xE2V[a\r\xBD`\xCAk\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16``\x84\x90\x1B`\x01`\x01``\x1B\x03\x19\x16\x17a\x19(V[`\x97\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x90\x93U`@Q\x91\x16\x91\x90\x82\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90`\0\x90\xA3PPV[\x84`\x01`\x01`\xA0\x1B\x03\x16\x86`\x01`\x01`\xA0\x1B\x03\x16\x03a\x12\x8CWa\x12\x87\x87\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa >\x92PPPV[a\x12\xD0V[a\x12\xD0\x87\x86\x86\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x88\x92Pa \xDF\x91PPV[PPPPPPPV[`\0a\x12\xED`\x97T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16cF\x87!\xA7\x86\x86\x86\x86`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x13\x1E\x94\x93\x92\x91\x90a3\xAAV[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x13=W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x13a\x91\x90a4\x02V[\x90P\x80\x15a\x13\x97W`@Q\x7FN.\x86\xD2\x13u\xEB\xCB\xF6\xE9=\xF5\xEB\xDDZ\x91[\xF80$Y\x04\xC3\xB5OH\xAD\xF0\x17\n\xAEK\x90`\0\x90\xA1a\x13\xC1V[`@Q\x7F\xC2M\x93`\x8A\x03\xD2c\xFF\x19\x1Dvw\x14\x1F^\x94\xC4\x96\xE5\x93\x10\x8F:\xAE\x0C\xB5\xB7\x04\x94\xC4\xD3\x90`\0\x90\xA1[\x94\x93PPPPV[`\0``a\x13\xDF`\x97T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16cR)\x07?\x87\x87\x87\x87`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x14\x10\x94\x93\x92\x91\x90a3\xAAV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x14/W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x14W\x91\x90\x81\x01\x90a4\x1DV[\x90\x92P\x90P\x81\x15a\x14\x90W`@Q\x7FN.\x86\xD2\x13u\xEB\xCB\xF6\xE9=\xF5\xEB\xDDZ\x91[\xF80$Y\x04\xC3\xB5OH\xAD\xF0\x17\n\xAEK\x90`\0\x90\xA1a\x14\xBAV[`@Q\x7F\xC2M\x93`\x8A\x03\xD2c\xFF\x19\x1Dvw\x14\x1F^\x94\xC4\x96\xE5\x93\x10\x8F:\xAE\x0C\xB5\xB7\x04\x94\xC4\xD3\x90`\0\x90\xA1[\x94P\x94\x92PPPV[\x81Q`\0\x90\x81\x90`\x07\x81\x11\x15a\x14\xECW`@Qc\x17\xA4\xD9\x87`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83Q\x85Q\x14a\x15\x0EW`@Qct\xF4\xD57`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80[\x82\x81\x10\x15a\x15qWa\x15%\x81` a4\xBDV[a\x150\x90`\xE0a4\xD4V[`\xE0\x88\x83\x81Q\x81\x10a\x15DWa\x15Da4\xE7V[` \x02` \x01\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x16\x90\x1C\x90\x1B\x82\x17\x91P\x80\x80a\x15i\x90a4\xFDV[\x91PPa\x15\x12V[P`\0[\x82\x81\x10\x15a\x15\xCCWa\x15\x88\x81`\x02a4\xBDV[\x86\x82\x81Q\x81\x10a\x15\x9AWa\x15\x9Aa4\xE7V[` \x02` \x01\x01Q`\x02\x81\x11\x15a\x15\xB3Wa\x15\xB3a0\xABV[\x90\x1B\x91\x90\x91\x17\x90\x80a\x15\xC4\x81a4\xFDV[\x91PPa\x15uV[P\x95\x90\x94P\x92PPPV[``\x80`\x07\x83\x11\x15a\x15\xFCW`@Qc\x17\xA4\xD9\x87`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x16\x15Wa\x16\x15a,\xC1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x16>W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x91P\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x16ZWa\x16Za,\xC1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x16\x83W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P`\0[\x83\x81\x10\x15a\x16\xEBW`\xE0a\x16\x9E\x82` a4\xBDV[a\x16\xA9\x90`\xE0a4\xD4V[\x86\x90\x1C\x90\x1B\x83\x82\x81Q\x81\x10a\x16\xC0Wa\x16\xC0a4\xE7V[`\x01`\x01`\xE0\x1B\x03\x19\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R\x80a\x16\xE3\x81a4\xFDV[\x91PPa\x16\x89V[P`\0[\x83\x81\x10\x15a\x17~W`\xFEa\x17\x04\x82`\x02a4\xBDV[a\x17\x0F\x90`\xFEa4\xD4V[\x86`\0\x1C\x90\x1B\x90\x1C`\xFF\x16`\x02\x81\x11\x15a\x17+Wa\x17+a0\xABV[\x82\x82\x81Q\x81\x10a\x17=Wa\x17=a4\xE7V[` \x02` \x01\x01\x90`\x02\x81\x11\x15a\x17VWa\x17Va0\xABV[\x90\x81`\x02\x81\x11\x15a\x17iWa\x17ia0\xABV[\x90RP\x80a\x17v\x81a4\xFDV[\x91PPa\x16\xEFV[P\x92P\x92\x90PV[``\x81`\0\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x17\xD6W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R` \x01\x90`\x01\x01\x90\x80\x83\x11a\x17\xC2W[PPPPP\x90P\x91\x90PV[`\0a\x17\xEE\x82``\x1C\x90V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\x18\x17W`@Qc\x86y\x15\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x18!\x83\x82a#\x1FV[\x15a\x18?W`@Qct`>\x95`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x18L\x83`\x01a#@V[\x90Pa\x18X\x84\x82a#\xD2V[P\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F_\xFB\x06\xB0\xB0\xE8\xADj\x8F<X1\xD4\x99\xDF\xA6\x12\xD9\xC9\xD4\xDC\x10{\xBDf\xF1\x8Fa\xA6I.q\x82`@Qa\x18\x94\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\xCC` R`@\x90 T`\xFF\x16\x15a\x18\xDCW`@Qc8\xE8\x16\xA5`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\xCC` R`@\x80\x82 \x80T`\xFF\x19\x16`\x01\x17\x90UQ\x7F\xB2]\x03\xAA\xF3\x08\xD7)\x17\t\xBE\x1E\xA2\x8B\x80\x04c\xCF:\x9ALJUU\xD73:\x96L\x1D\xFE\xBD\x91\x90\xA2PV[`\0a\x194\x82``\x1C\x90V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\x19]W`@Qc\x86y\x15\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x19g\x83\x82a#\x1FV[\x15a\x19\x85W`@Qct`>\x95`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x19\x91\x83\x82a#@V[\x90Pa\x19\x9D\x84\x82a#\xD2V[P\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\xAA\xF2k\xB1*\xA8\x9E\xE9k\xBE\x19fzj\x05W'\xB7]?n\xD7\xB8\xB6\x11\xEFe\x19\x18\x02\t\xD6\x82`@Qa\x18\x94\x91\x81R` \x01\x90V[`\0a\x19\xE5\x82``\x1C\x90V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\x1A\x0EW`@Qc\x86y\x15\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1A\x18\x83\x82a#\x1FV[\x15a\x1A6W`@Qct`>\x95`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1AC\x83`\x02a#@V[\x90Pa\x1AO\x84\x82a#\xD2V[P\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x1E\xE2y\x1F,\xAF\x0E\x92\xA9\xDC2\xA3z\x9E\xA5:\xB6\xACzo\xB8\xF2\xD0\x90\xE5:\x06}:C\xF6\xAC\x82`@Qa\x18\x94\x91\x81R` \x01\x90V[`\0\x80\x80R`\x03\x85\x01` R`@\x81 \x82\x91a\x1A\xA7\x86\x86a$>V[\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 \x80T`\xFF\x19\x16`\x01\x83`\x02\x81\x11\x15a\x1A\xD1Wa\x1A\xD1a0\xABV[\x02\x17\x90UP\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7Ft\x87S\r\xDF\xF1 y\x95\x05\xE5+\x1B\x19\xB6\x93?\x85\xA9\xEE\xAE\x92 \xC8\nz\xD7\xC4)\xB6\x12\xAE\x83`@Qa\x1B\x19\x91\x90a2VV[`@Q\x80\x91\x03\x90\xA3PPPPV[`\0\x80a\x1B5\x83`\x02a\x15\xD7V[\x91P\x91P`\0[`\x02\x81\x10\x15a\x1C\xA1W\x82Q`\0\x90\x84\x90\x83\x90\x81\x10a\x1B\\Wa\x1B\\a4\xE7V[` \x02` \x01\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x16\x14a\x1C\x8FW`\0a\x1B\x98\x87\x85\x84\x81Q\x81\x10a\x1B\x8BWa\x1B\x8Ba4\xE7V[` \x02` \x01\x01Qa$\x83V[\x90P\x82\x82\x81Q\x81\x10a\x1B\xACWa\x1B\xACa4\xE7V[` \x02` \x01\x01Q\x89`\x03\x01`\0\x83\x81R` \x01\x90\x81R` \x01`\0 `\0a\x1B\xD5\x8B\x8Ba$>V[\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 \x80T`\xFF\x19\x16`\x01\x83`\x02\x81\x11\x15a\x1B\xFFWa\x1B\xFFa0\xABV[\x02\x17\x90UP\x85`\x01`\x01`\xA0\x1B\x03\x16\x87`\x01`\x01`\xA0\x1B\x03\x16\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\xA3\xDFq\x04 \xB0\x1C\xC3\x0F\xF3\x000\x9A\xBB\xC7\xFA\xDDF0\xD4\xAB8[\x0FZ\x12o\xB4\xBA\xBEv+\x87\x86\x81Q\x81\x10a\x1CUWa\x1CUa4\xE7V[` \x02` \x01\x01Q\x87\x87\x81Q\x81\x10a\x1CoWa\x1Coa4\xE7V[` \x02` \x01\x01Q`@Qa\x1C\x85\x92\x91\x90a5\x16V[`@Q\x80\x91\x03\x90\xA4P[\x80a\x1C\x99\x81a4\xFDV[\x91PPa\x1B<V[PPPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x83\x01` R`@\x81 T\x81\x90\x80\x82\x03a\x1C\xDCW`\0\x80\x92P\x92PPa\x0B\xF7V[`\x01\x85a\x1C\xE9\x82\x84a4\xD4V[\x81T\x81\x10a\x1C\xF9Wa\x1C\xF9a4\xE7V[\x90`\0R` `\0 \x01T\x92P\x92PPa\x0B\xF7V[`\0\x80a\x1D\x1C\x83`\x07a\x15\xD7V[\x91P\x91P`\0[`\x07\x81\x10\x15a\x12\xD0W\x82Q`\0\x90\x84\x90\x83\x90\x81\x10a\x1DCWa\x1DCa4\xE7V[` \x02` \x01\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x16\x14a\x1ECW`\0a\x1Dr\x87\x85\x84\x81Q\x81\x10a\x1B\x8BWa\x1B\x8Ba4\xE7V[\x90P\x82\x82\x81Q\x81\x10a\x1D\x86Wa\x1D\x86a4\xE7V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01Q`\0\x83\x81R`\x03\x8B\x01\x83R`@\x80\x82 \x8A\x83R\x90\x93R\x91\x90\x91 \x80T`\xFF\x19\x16`\x01\x83`\x02\x81\x11\x15a\x1D\xC6Wa\x1D\xC6a0\xABV[\x02\x17\x90UP\x85\x87`\x01`\x01`\xA0\x1B\x03\x16\x7F\xF2\xFF\xD4\xF0\x9DX\xD0h$\x18\x803\xD31\x8D\x06\xEB\x95{\xFB\x1A\x8F\xFE\xD9\xAFx\xE1\xF1\x91h\xB9\x04\x86\x85\x81Q\x81\x10a\x1E\tWa\x1E\ta4\xE7V[` \x02` \x01\x01Q\x86\x86\x81Q\x81\x10a\x1E#Wa\x1E#a4\xE7V[` \x02` \x01\x01Q`@Qa\x1E9\x92\x91\x90a5\x16V[`@Q\x80\x91\x03\x90\xA3P[\x80a\x1EM\x81a4\xFDV[\x91PPa\x1D#V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x83\x01` R`@\x81 T\x80\x15a\x1FsW`\0a\x1E\x83`\x01\x83a4\xD4V[\x85T\x90\x91P`\0\x90a\x1E\x97\x90`\x01\x90a4\xD4V[\x90P\x81\x81\x14a\x1F\x15W`\0\x86`\0\x01\x82\x81T\x81\x10a\x1E\xB7Wa\x1E\xB7a4\xE7V[\x90`\0R` `\0 \x01T\x90P\x80\x87`\0\x01\x84\x81T\x81\x10a\x1E\xDAWa\x1E\xDAa4\xE7V[\x90`\0R` `\0 \x01\x81\x90UP\x83\x87`\x01\x01`\0a\x1E\xF9\x84``\x1C\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 UP[\x85T\x86\x90\x80a\x1F&Wa\x1F&a54V[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x85`\x01\x01`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x90U`\x01\x93PPPPa\x0E;V[`\0\x91PPa\x0E;V[`\x01`\x01`\xA0\x1B\x03\x81\x16;a\x1F\xEAW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`-`$\x82\x01R\x7FERC1967: new implementation is n`D\x82\x01Rl\x1B\xDD\x08\x18H\x18\xDB\xDB\x9D\x1C\x98X\xDD`\x9A\x1B`d\x82\x01R`\x84\x01a\x06BV[`\0\x80Q` a6\x04\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[a \"\x83a$\xCFV[`\0\x82Q\x11\x80a /WP\x80[\x15a\r\xBDWa\r\xA2\x83\x83a%\x0FV[`\0\x80`\0```\0\x80`$\x87\x01Q\x90P\x80` \x14a pW`@Qc~\xD1\x117`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`d[\x87Q\x81\x10\x15a \xD4W\x80\x88\x01Q`\xF8\x1C\x96P`\x01\x81\x01\x88\x01Q``\x1C\x95P`\x15\x81\x01\x88\x01Q\x94P`5\x81\x01\x88\x01Q\x92P`5\x81\x01\x88\x01\x93Pa \xB8\x89\x87\x87\x87\x8Ba \xDFV[a \xC3\x83`Ua5JV[a \xCD\x90\x82a5JV[\x90Pa sV[PPPPPPPPPV[\x81Q\x15\x80\x15\x90a \xF0WP`\x04\x82Q\x10[\x15a!\x0EW`@Qc#B`\x91`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!\x1A\x86\x86a%4V[\x90Pa!'\x84\x83\x83a%\x9FV[`\0a!2\x84a5]V[\x90P`\0a!B\x85Q\x84\x84a&AV[\x90P`\0\x81`\x03\x81\x11\x15a!XWa!Xa0\xABV[\x03a!vW`@QcXr07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03\x81`\x03\x81\x11\x15a!\x8AWa!\x8Aa0\xABV[\x03a!\x97WPPPa#\x18V[`\0\x80a!\xA3\x85a'\xE9V[`\x02\x81\x11\x15a!\xB4Wa!\xB4a0\xABV[\x03a!\xD5Wa!\xCE\x89a!\xC7\x8A\x86a$\x83V[\x85\x89a(\x04V[\x90Pa\"9V[`\x01a!\xE0\x85a'\xE9V[`\x02\x81\x11\x15a!\xF1Wa!\xF1a0\xABV[\x03a\"\x0BWa!\xCE\x89a\"\x04\x8A\x86a$\x83V[\x85\x89a(\x9BV[`\x02a\"\x16\x85a'\xE9V[`\x02\x81\x11\x15a\"'Wa\"'a0\xABV[\x03a\"9Wa\"6\x89\x89a)\xCAV[\x90P[`\x02\x81`\x02\x81\x11\x15a\"MWa\"Ma0\xABV[\x14\x80a\"\x86WP`\0\x81`\x02\x81\x11\x15a\"hWa\"ha0\xABV[\x14\x80\x15a\"\x86WP`\x01\x82`\x03\x81\x11\x15a\"\x84Wa\"\x84a0\xABV[\x14[\x15a\"\xA4W`@Qc\x86M\xD1\xE7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x81`\x02\x81\x11\x15a\"\xB8Wa\"\xB8a0\xABV[\x14\x80a\"\xF1WP`\0\x81`\x02\x81\x11\x15a\"\xD3Wa\"\xD3a0\xABV[\x14\x80\x15a\"\xF1WP`\x02\x82`\x03\x81\x11\x15a\"\xEFWa\"\xEFa0\xABV[\x14[\x15a\"\xFFWPPPPa#\x18V[`@Qc\x08\xD5\xA8\xB1`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x01\x91\x90\x91\x01` R`@\x90 T\x15\x15\x90V[`\0\x80\x80`\x01\x84`\x02\x81\x11\x15a#XWa#Xa0\xABV[\x03a#pWPj\xFF\0\0\0\0\0\0\0\0\xFF\xFF\x19a#\xABV[`\0\x84`\x02\x81\x11\x15a#\x84Wa#\x84a0\xABV[\x03a#\x9CWPj\xFF\0\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\x19a#\xABV[Pj\xFF\0\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19[\x80\x85\x16\x91P`P\x84`\x02\x81\x11\x15a#\xC4Wa#\xC4a0\xABV[\x90\x1B\x91\x90\x91\x17\x94\x93PPPPV[`\0a#\xE7\x83a#\xE2\x84``\x1C\x90V[a#\x1FV[a$6W\x82T`\x01\x81\x81\x01\x85U`\0\x85\x81R` \x81 \x90\x92\x01\x84\x90U\x84T\x91\x90\x85\x01\x90a$\x14\x85``\x1C\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 UP`\x01a\x0E;V[P`\0a\x0E;V[`@Q`\x01`\x01``\x1B\x03\x19``\x84\x81\x1B\x82\x16` \x84\x01R\x83\x90\x1B\x16`4\x82\x01R`\0\x90`H\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x92\x91PPV[`@Q`\x01`\x01``\x1B\x03\x19``\x84\x90\x1B\x16` \x82\x01R`\x01`\x01`\xE0\x1B\x03\x19\x82\x16`4\x82\x01R`\0\x90`8\x01`@Q` \x81\x83\x03\x03\x81R\x90`@Ra$\xC8\x90a5\x94V[\x93\x92PPPV[a$\xD8\x81a\x1F}V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2PV[``a$\xC8\x83\x83`@Q\x80``\x01`@R\x80`'\x81R` \x01a6$`'\x919a)\xFEV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x83\x01` R`@\x81 T\x80\x82\x03a%oW`@Qc-\x05\x19\xAD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83a%{`\x01\x83a4\xD4V[\x81T\x81\x10a%\x8BWa%\x8Ba4\xE7V[\x90`\0R` `\0 \x01T\x91PP\x92\x91PPV[`\x01a%\xAA\x82a*lV[`\x01\x81\x11\x15a%\xBBWa%\xBBa0\xABV[\x14a%\xD9W`@Qc;\xCD\x10+`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x82`\x01\x81\x11\x15a%\xEDWa%\xEDa0\xABV[\x03a&\x0BW`@Qc\x06\xC4\xA1\xC7`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x11\x80\x15a&#WPa&!\x81`\x02a*\x87V[\x15[\x15a\r\xBDW`@Qc\t\xE9\xCDI`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a&M\x84a*\xBDV[\x90P\x84\x15\x80a&dWP`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x15[\x80a&\x80WP`\x03\x81`\x03\x81\x11\x15a&~Wa&~a0\xABV[\x14[\x80a&\x9CWP`\0\x81`\x03\x81\x11\x15a&\x9AWa&\x9Aa0\xABV[\x14[\x15a&\xA8W\x90Pa$\xC8V[`\0cy\x93\xB9G`\xE1\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a&\xD4Wa&\xCD\x85`\0a*\xD8V[\x90Pa'\xBFV[c\xAB]\x12\x0B`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a&\xF7Wa&\xCD\x85`\x02a*\xD8V[cBY\xA0\xBB`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'\x1AWa&\xCD\x85`\x03a*\xD8V[c\x9A\xEA\xEBA`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'=Wa&\xCD\x85`\x04a*\xD8V[c\xF5A:q`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'`Wa&\xCD\x85`\x05a*\xD8V[c\xF6\xA1XM`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'\x83Wa&\xCD\x85`\x07a*\xD8V[c2\x13\"\x1D`\xE1\x1B`\x01`\x01`\xE0\x1B\x03\x19\x85\x16\x01a'\xA6Wa&\xCD\x85`\x08a*\xD8V[`@Qc\x18\xF4\xC1#`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81`\x04\x81\x11\x15a'\xD3Wa'\xD3a0\xABV[\x03a'\xE0WP\x90Pa$\xC8V[a\t\xBB\x81a+,V[`\0`\xFF`P\x83\x90\x1C\x16`\x02\x81\x11\x15a\x0E;Wa\x0E;a0\xABV[`\0`\x01`\x01`\xE0\x1B\x03\x19\x83\x16c\t^\xA7\xB3`\xE0\x1B\x14\x80\x15\x90a(8WP`\x01`\x01`\xE0\x1B\x03\x19\x83\x16cM\xEC\xDD\xE3`\xE1\x1B\x14\x15[\x15a(VW`@Qc\x18\xF4\xC1#`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a(c`\0\x84a+\x86V[\x90P`\0a(q3\x83a$>V[`\0\x87\x81R`\x03\x89\x01` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x92PPP\x94\x93PPPPV[`\0\x80a(\xA9`\0\x84a+\x86V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a(\xD4W`@Qcn\xB01_`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0cy\x93\xB9G`\xE1\x1B`\x01`\x01`\xE0\x1B\x03\x19\x86\x16\x01a)\0Wa(\xF9`\x01\x85a+\x86V[\x90Pa)\xA1V[c\xAB]\x12\x0B`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x86\x16\x01a)9W`\0a)%`\x01\x86a+\x86V[\x90Pa)1\x81\x84a$>V[\x91PPa)\xA1V[`\x01`\x01`\xE0\x1B\x03\x19\x85\x16c\xBD\xA6_E`\xE0\x1B\x14\x80a)hWP`\x01`\x01`\xE0\x1B\x03\x19\x85\x16ce\x15\x14\xBF`\xE0\x1B\x14[\x80a)\x83WP`\x01`\x01`\xE0\x1B\x03\x19\x85\x16c\n\xBE\xC5\x8F`\xE0\x1B\x14[\x15a'\xA6W`\0a)\x95`\x01\x86a+\x86V[\x90Pa)1\x83\x82a$>V[`\0\x86\x81R`\x03\x88\x01` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x91PP\x94\x93PPPPV[`\0\x80a)\xD73\x84a$>V[`\0\x80\x80R`\x03\x86\x01` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x91PP\x92\x91PPV[```\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x85`@Qa*\x1B\x91\x90a5\xBBV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a*VW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a*[V[``\x91P[P\x91P\x91Pa\t\xBB\x86\x83\x83\x87a+\xF1V[`\0`\xFF`X\x83\x90\x1C\x16`\x01\x81\x11\x15a\x0E;Wa\x0E;a0\xABV[`\0\x81`\x02\x81\x11\x15a*\x9BWa*\x9Ba0\xABV[a*\xA4\x84a'\xE9V[`\x02\x81\x11\x15a*\xB5Wa*\xB5a0\xABV[\x14\x93\x92PPPV[`\0`\xFF`H\x83\x90\x1C\x16`\x03\x81\x11\x15a\x0E;Wa\x0E;a0\xABV[`\0`\t\x82\x10a*\xFBW`@Qc\xB4J\xF9\xAF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a+\x08\x83`\x08a4\xBDV[a+\x13\x90`\xB8a5JV[\x90P\x83\x81\x1B`\xF8\x1C`\x04\x81\x11\x15a\x13\xC1Wa\x13\xC1a0\xABV[`\0\x80\x82`\x04\x81\x11\x15a+AWa+Aa0\xABV[\x90P\x80`\xFF\x16`\0\x03a+gW`@Qc\xD8EZ\x13`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a+r`\x01\x82a5\xD7V[`\xFF\x16`\x03\x81\x11\x15a$\xC8Wa$\xC8a0\xABV[`\0a+\x93\x83` a4\xBDV[a+\x9E\x90`\x04a5JV[a+\xA9\x90` a5JV[\x82Q\x10\x15a+\xCAW`@Qc\x1D\t\x8E-`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a+\xD7\x84` a4\xBDV[a+\xE2\x90`\x04a5JV[\x92\x90\x92\x01` \x01Q\x93\x92PPPV[``\x83\x15a,`W\x82Q`\0\x03a,YW`\x01`\x01`\xA0\x1B\x03\x85\x16;a,YW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: call to non-contract\0\0\0`D\x82\x01R`d\x01a\x06BV[P\x81a\x13\xC1V[a\x13\xC1\x83\x83\x81Q\x15a,uW\x81Q\x80\x83` \x01\xFD[\x80`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06B\x91\x90a5\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x05\xF7W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a,\xB6W`\0\x80\xFD[\x815a$\xC8\x81a,\x8FV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a-\0Wa-\0a,\xC1V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a-\"Wa-\"a,\xC1V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a-AW`\0\x80\xFD[\x815a-Ta-O\x82a-\x08V[a,\xD7V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a-iW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a-\x98W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a-\xAFW`\0\x80\xFD[a\x13\xC1\x84\x82\x85\x01a-0V[`\0\x80`\0\x80`\0`\x80\x86\x88\x03\x12\x15a-\xD3W`\0\x80\xFD[\x855a-\xDE\x81a,\x8FV[\x94P` \x86\x015\x93P`@\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a.\x02W`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a.\x16W`\0\x80\xFD[\x815\x81\x81\x11\x15a.%W`\0\x80\xFD[\x89` \x82\x85\x01\x01\x11\x15a.7W`\0\x80\xFD[` \x83\x01\x95P\x80\x94PPPP``\x86\x015`\x02\x81\x10a.UW`\0\x80\xFD[\x80\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0\x80`@\x83\x85\x03\x12\x15a.vW`\0\x80\xFD[\x825a.\x81\x81a,\x8FV[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a.\x9DW`\0\x80\xFD[a.\xA9\x85\x82\x86\x01a-0V[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a.\xCEW\x81\x81\x01Q\x83\x82\x01R` \x01a.\xB6V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra.\xEF\x81` \x86\x01` \x86\x01a.\xB3V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[\x82\x15\x15\x81R`@` \x82\x01R`\0a\x13\xC1`@\x83\x01\x84a.\xD7V[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a/8Wa/8a,\xC1V[P`\x05\x1B` \x01\x90V[\x805`\x03\x81\x10a/QW`\0\x80\xFD[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a/gW`\0\x80\xFD[\x815` a/wa-O\x83a/\x1EV[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a/\x96W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a/\xB8Wa/\xAB\x81a/BV[\x83R\x91\x83\x01\x91\x83\x01a/\x9AV[P\x96\x95PPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a/\xD6W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a/\xEEW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a0\x02W`\0\x80\xFD[\x815` a0\x12a-O\x83a/\x1EV[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a01W`\0\x80\xFD[\x94\x82\x01\x94[\x83\x86\x10\x15a0fW\x855`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a0WW`\0\x80\x81\xFD[\x82R\x94\x82\x01\x94\x90\x82\x01\x90a06V[\x96PP\x86\x015\x92PP\x80\x82\x11\x15a0|W`\0\x80\xFD[Pa.\xA9\x85\x82\x86\x01a/VV[`\0\x80`@\x83\x85\x03\x12\x15a0\x9CW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x03\x81\x10a0\xD1Wa0\xD1a0\xABV[\x90RV[`@\x80\x82R\x83Q\x90\x82\x01\x81\x90R`\0\x90` \x90``\x84\x01\x90\x82\x87\x01\x84[\x82\x81\x10\x15a1\x18W\x81Q`\x01`\x01`\xE0\x1B\x03\x19\x16\x84R\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a0\xF2V[PPP\x83\x81\x03\x82\x85\x01R\x84Q\x80\x82R\x85\x83\x01\x91\x83\x01\x90`\0[\x81\x81\x10\x15a1TWa1D\x83\x85Qa0\xC1V[\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a11V[P\x90\x97\x96PPPPPPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a1\x99W\x83Q\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a1}V[P\x90\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a1\xB7W`\0\x80\xFD[P5\x91\x90PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a1\xD4W`\0\x80\xFD[\x845a1\xDF\x81a,\x8FV[\x93P` \x85\x015a1\xEF\x81a,\x8FV[\x92P`@\x85\x015a1\xFF\x81a,\x8FV[\x93\x96\x92\x95P\x92\x93``\x015\x92PPV[`\0\x80`\0``\x84\x86\x03\x12\x15a2$W`\0\x80\xFD[\x835a2/\x81a,\x8FV[\x92P` \x84\x015a2?\x81a,\x8FV[\x91Pa2M`@\x85\x01a/BV[\x90P\x92P\x92P\x92V[` \x81\x01a\x0E;\x82\x84a0\xC1V[`\0\x80`\0``\x84\x86\x03\x12\x15a2yW`\0\x80\xFD[\x835a2\x84\x81a,\x8FV[\x95` \x85\x015\x95P`@\x90\x94\x015\x93\x92PPPV[` \x80\x82R`,\x90\x82\x01R\x7FFunction must be called through `@\x82\x01Rk\x19\x19[\x19Y\xD8]\x19X\xD8[\x1B`\xA2\x1B``\x82\x01R`\x80\x01\x90V[` \x80\x82R`,\x90\x82\x01R\x7FFunction must be called through `@\x82\x01Rkactive proxy`\xA0\x1B``\x82\x01R`\x80\x01\x90V[`\0\x80`\0``\x84\x86\x03\x12\x15a3FW`\0\x80\xFD[\x83Qa3Q\x81a,\x8FV[` \x85\x01Q\x90\x93Pa3b\x81a,\x8FV[\x80\x92PP`@\x84\x01Q\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a3\x86W`\0\x80\xFD[PQ\x91\x90PV[`\0` \x82\x84\x03\x12\x15a3\x9FW`\0\x80\xFD[\x81Qa$\xC8\x81a,\x8FV[`\x01\x80`\xA0\x1B\x03\x85\x16\x81R\x83` \x82\x01R`\x80`@\x82\x01R`\0a3\xD1`\x80\x83\x01\x85a.\xD7V[\x90P`\x02\x83\x10a3\xE3Wa3\xE3a0\xABV[\x82``\x83\x01R\x95\x94PPPPPV[\x80Q\x80\x15\x15\x81\x14a/QW`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a4\x14W`\0\x80\xFD[a$\xC8\x82a3\xF2V[`\0\x80`@\x83\x85\x03\x12\x15a40W`\0\x80\xFD[a49\x83a3\xF2V[\x91P` \x83\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4UW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a4fW`\0\x80\xFD[\x80Qa4ta-O\x82a-\x08V[\x81\x81R\x86` \x83\x85\x01\x01\x11\x15a4\x89W`\0\x80\xFD[a4\x9A\x82` \x83\x01` \x86\x01a.\xB3V[\x80\x93PPPP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0E;Wa\x0E;a4\xA7V[\x81\x81\x03\x81\x81\x11\x15a\x0E;Wa\x0E;a4\xA7V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0`\x01\x82\x01a5\x0FWa5\x0Fa4\xA7V[P`\x01\x01\x90V[`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x81R`@\x81\x01a$\xC8` \x83\x01\x84a0\xC1V[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x0E;Wa\x0E;a4\xA7V[\x80Q` \x82\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x80\x82\x16\x92\x91\x90`\x04\x83\x10\x15a5\x8CW\x80\x81\x84`\x04\x03`\x03\x1B\x1B\x83\x16\x16\x93P[PPP\x91\x90PV[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a5\xB5W`\0\x19\x81` \x03`\x03\x1B\x1B\x82\x16\x91P[P\x91\x90PV[`\0\x82Qa5\xCD\x81\x84` \x87\x01a.\xB3V[\x91\x90\x91\x01\x92\x91PPV[`\xFF\x82\x81\x16\x82\x82\x16\x03\x90\x81\x11\x15a\x0E;Wa\x0E;a4\xA7V[` \x81R`\0a$\xC8` \x83\x01\x84a.\xD7V\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCAddress: low-level delegate call failed\xA2dipfsX\"\x12 \xEC\x1BB0\x9C\xA1\xBEN\x1D\xEA\x19\xD2\x1A\xCDm6@\x96\xF0\x19\xA0\x9D\x08\x8F\xDEwZ\xB0\x84FTUdsolcC\0\x08\x13\x003",
1165 );
1166 #[derive(serde::Serialize, serde::Deserialize)]
1167 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1168 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1169 #[derive(Clone)]
1170 pub struct GranularPermission(u8);
1171 const _: () = {
1172 use alloy::sol_types as alloy_sol_types;
1173 #[automatically_derived]
1174 impl alloy_sol_types::private::SolTypeValue<GranularPermission> for u8 {
1175 #[inline]
1176 fn stv_to_tokens(
1177 &self,
1178 ) -> <alloy::sol_types::sol_data::Uint<
1179 8,
1180 > as alloy_sol_types::SolType>::Token<'_> {
1181 alloy_sol_types::private::SolTypeValue::<
1182 alloy::sol_types::sol_data::Uint<8>,
1183 >::stv_to_tokens(self)
1184 }
1185 #[inline]
1186 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1187 <alloy::sol_types::sol_data::Uint<
1188 8,
1189 > as alloy_sol_types::SolType>::tokenize(self)
1190 .0
1191 }
1192 #[inline]
1193 fn stv_abi_encode_packed_to(
1194 &self,
1195 out: &mut alloy_sol_types::private::Vec<u8>,
1196 ) {
1197 <alloy::sol_types::sol_data::Uint<
1198 8,
1199 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
1200 }
1201 #[inline]
1202 fn stv_abi_packed_encoded_size(&self) -> usize {
1203 <alloy::sol_types::sol_data::Uint<
1204 8,
1205 > as alloy_sol_types::SolType>::abi_encoded_size(self)
1206 }
1207 }
1208 #[automatically_derived]
1209 impl GranularPermission {
1210 pub const NAME: &'static str = stringify!(@ name);
1212 #[inline]
1214 pub const fn from_underlying(value: u8) -> Self {
1215 Self(value)
1216 }
1217 #[inline]
1219 pub const fn into_underlying(self) -> u8 {
1220 self.0
1221 }
1222 #[inline]
1225 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
1226 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
1227 }
1228 #[inline]
1231 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
1232 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
1233 }
1234 }
1235 #[automatically_derived]
1236 impl From<u8> for GranularPermission {
1237 fn from(value: u8) -> Self {
1238 Self::from_underlying(value)
1239 }
1240 }
1241 #[automatically_derived]
1242 impl From<GranularPermission> for u8 {
1243 fn from(value: GranularPermission) -> Self {
1244 value.into_underlying()
1245 }
1246 }
1247 #[automatically_derived]
1248 impl alloy_sol_types::SolType for GranularPermission {
1249 type RustType = u8;
1250 type Token<'a> = <alloy::sol_types::sol_data::Uint<
1251 8,
1252 > as alloy_sol_types::SolType>::Token<'a>;
1253 const SOL_NAME: &'static str = Self::NAME;
1254 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
1255 8,
1256 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1257 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
1258 8,
1259 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1260 #[inline]
1261 fn valid_token(token: &Self::Token<'_>) -> bool {
1262 Self::type_check(token).is_ok()
1263 }
1264 #[inline]
1265 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
1266 <alloy::sol_types::sol_data::Uint<
1267 8,
1268 > as alloy_sol_types::SolType>::type_check(token)
1269 }
1270 #[inline]
1271 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1272 <alloy::sol_types::sol_data::Uint<
1273 8,
1274 > as alloy_sol_types::SolType>::detokenize(token)
1275 }
1276 }
1277 #[automatically_derived]
1278 impl alloy_sol_types::EventTopic for GranularPermission {
1279 #[inline]
1280 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1281 <alloy::sol_types::sol_data::Uint<
1282 8,
1283 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
1284 }
1285 #[inline]
1286 fn encode_topic_preimage(
1287 rust: &Self::RustType,
1288 out: &mut alloy_sol_types::private::Vec<u8>,
1289 ) {
1290 <alloy::sol_types::sol_data::Uint<
1291 8,
1292 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
1293 }
1294 #[inline]
1295 fn encode_topic(
1296 rust: &Self::RustType,
1297 ) -> alloy_sol_types::abi::token::WordToken {
1298 <alloy::sol_types::sol_data::Uint<
1299 8,
1300 > as alloy_sol_types::EventTopic>::encode_topic(rust)
1301 }
1302 }
1303 };
1304 #[derive(serde::Serialize, serde::Deserialize)]
1305 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1306 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1307 #[derive(Clone)]
1308 pub struct Target(alloy::sol_types::private::primitives::aliases::U256);
1309 const _: () = {
1310 use alloy::sol_types as alloy_sol_types;
1311 #[automatically_derived]
1312 impl alloy_sol_types::private::SolTypeValue<Target>
1313 for alloy::sol_types::private::primitives::aliases::U256 {
1314 #[inline]
1315 fn stv_to_tokens(
1316 &self,
1317 ) -> <alloy::sol_types::sol_data::Uint<
1318 256,
1319 > as alloy_sol_types::SolType>::Token<'_> {
1320 alloy_sol_types::private::SolTypeValue::<
1321 alloy::sol_types::sol_data::Uint<256>,
1322 >::stv_to_tokens(self)
1323 }
1324 #[inline]
1325 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1326 <alloy::sol_types::sol_data::Uint<
1327 256,
1328 > as alloy_sol_types::SolType>::tokenize(self)
1329 .0
1330 }
1331 #[inline]
1332 fn stv_abi_encode_packed_to(
1333 &self,
1334 out: &mut alloy_sol_types::private::Vec<u8>,
1335 ) {
1336 <alloy::sol_types::sol_data::Uint<
1337 256,
1338 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
1339 }
1340 #[inline]
1341 fn stv_abi_packed_encoded_size(&self) -> usize {
1342 <alloy::sol_types::sol_data::Uint<
1343 256,
1344 > as alloy_sol_types::SolType>::abi_encoded_size(self)
1345 }
1346 }
1347 #[automatically_derived]
1348 impl Target {
1349 pub const NAME: &'static str = stringify!(@ name);
1351 #[inline]
1353 pub const fn from_underlying(
1354 value: alloy::sol_types::private::primitives::aliases::U256,
1355 ) -> Self {
1356 Self(value)
1357 }
1358 #[inline]
1360 pub const fn into_underlying(
1361 self,
1362 ) -> alloy::sol_types::private::primitives::aliases::U256 {
1363 self.0
1364 }
1365 #[inline]
1368 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
1369 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
1370 }
1371 #[inline]
1374 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
1375 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
1376 }
1377 }
1378 #[automatically_derived]
1379 impl From<alloy::sol_types::private::primitives::aliases::U256> for Target {
1380 fn from(
1381 value: alloy::sol_types::private::primitives::aliases::U256,
1382 ) -> Self {
1383 Self::from_underlying(value)
1384 }
1385 }
1386 #[automatically_derived]
1387 impl From<Target> for alloy::sol_types::private::primitives::aliases::U256 {
1388 fn from(value: Target) -> Self {
1389 value.into_underlying()
1390 }
1391 }
1392 #[automatically_derived]
1393 impl alloy_sol_types::SolType for Target {
1394 type RustType = alloy::sol_types::private::primitives::aliases::U256;
1395 type Token<'a> = <alloy::sol_types::sol_data::Uint<
1396 256,
1397 > as alloy_sol_types::SolType>::Token<'a>;
1398 const SOL_NAME: &'static str = Self::NAME;
1399 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
1400 256,
1401 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1402 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
1403 256,
1404 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1405 #[inline]
1406 fn valid_token(token: &Self::Token<'_>) -> bool {
1407 Self::type_check(token).is_ok()
1408 }
1409 #[inline]
1410 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
1411 <alloy::sol_types::sol_data::Uint<
1412 256,
1413 > as alloy_sol_types::SolType>::type_check(token)
1414 }
1415 #[inline]
1416 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1417 <alloy::sol_types::sol_data::Uint<
1418 256,
1419 > as alloy_sol_types::SolType>::detokenize(token)
1420 }
1421 }
1422 #[automatically_derived]
1423 impl alloy_sol_types::EventTopic for Target {
1424 #[inline]
1425 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1426 <alloy::sol_types::sol_data::Uint<
1427 256,
1428 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
1429 }
1430 #[inline]
1431 fn encode_topic_preimage(
1432 rust: &Self::RustType,
1433 out: &mut alloy_sol_types::private::Vec<u8>,
1434 ) {
1435 <alloy::sol_types::sol_data::Uint<
1436 256,
1437 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
1438 }
1439 #[inline]
1440 fn encode_topic(
1441 rust: &Self::RustType,
1442 ) -> alloy_sol_types::abi::token::WordToken {
1443 <alloy::sol_types::sol_data::Uint<
1444 256,
1445 > as alloy_sol_types::EventTopic>::encode_topic(rust)
1446 }
1447 }
1448 };
1449 #[derive(serde::Serialize, serde::Deserialize)]
1450 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1451 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1456 #[derive(Clone)]
1457 pub struct AddressIsZero;
1458 #[allow(
1459 non_camel_case_types,
1460 non_snake_case,
1461 clippy::pub_underscore_fields,
1462 clippy::style
1463 )]
1464 const _: () = {
1465 use alloy::sol_types as alloy_sol_types;
1466 #[doc(hidden)]
1467 type UnderlyingSolTuple<'a> = ();
1468 #[doc(hidden)]
1469 type UnderlyingRustTuple<'a> = ();
1470 #[cfg(test)]
1471 #[allow(dead_code, unreachable_patterns)]
1472 fn _type_assertion(
1473 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1474 ) {
1475 match _t {
1476 alloy_sol_types::private::AssertTypeEq::<
1477 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1478 >(_) => {}
1479 }
1480 }
1481 #[automatically_derived]
1482 #[doc(hidden)]
1483 impl ::core::convert::From<AddressIsZero> for UnderlyingRustTuple<'_> {
1484 fn from(value: AddressIsZero) -> Self {
1485 ()
1486 }
1487 }
1488 #[automatically_derived]
1489 #[doc(hidden)]
1490 impl ::core::convert::From<UnderlyingRustTuple<'_>> for AddressIsZero {
1491 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1492 Self
1493 }
1494 }
1495 #[automatically_derived]
1496 impl alloy_sol_types::SolError for AddressIsZero {
1497 type Parameters<'a> = UnderlyingSolTuple<'a>;
1498 type Token<'a> = <Self::Parameters<
1499 'a,
1500 > as alloy_sol_types::SolType>::Token<'a>;
1501 const SIGNATURE: &'static str = "AddressIsZero()";
1502 const SELECTOR: [u8; 4] = [134u8, 121u8, 21u8, 171u8];
1503 #[inline]
1504 fn new<'a>(
1505 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1506 ) -> Self {
1507 tuple.into()
1508 }
1509 #[inline]
1510 fn tokenize(&self) -> Self::Token<'_> {
1511 ()
1512 }
1513 #[inline]
1514 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
1515 <Self::Parameters<
1516 '_,
1517 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1518 .map(Self::new)
1519 }
1520 }
1521 };
1522 #[derive(serde::Serialize, serde::Deserialize)]
1523 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1524 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1529 #[derive(Clone)]
1530 pub struct AlreadyInitialized;
1531 #[allow(
1532 non_camel_case_types,
1533 non_snake_case,
1534 clippy::pub_underscore_fields,
1535 clippy::style
1536 )]
1537 const _: () = {
1538 use alloy::sol_types as alloy_sol_types;
1539 #[doc(hidden)]
1540 type UnderlyingSolTuple<'a> = ();
1541 #[doc(hidden)]
1542 type UnderlyingRustTuple<'a> = ();
1543 #[cfg(test)]
1544 #[allow(dead_code, unreachable_patterns)]
1545 fn _type_assertion(
1546 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1547 ) {
1548 match _t {
1549 alloy_sol_types::private::AssertTypeEq::<
1550 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1551 >(_) => {}
1552 }
1553 }
1554 #[automatically_derived]
1555 #[doc(hidden)]
1556 impl ::core::convert::From<AlreadyInitialized> for UnderlyingRustTuple<'_> {
1557 fn from(value: AlreadyInitialized) -> Self {
1558 ()
1559 }
1560 }
1561 #[automatically_derived]
1562 #[doc(hidden)]
1563 impl ::core::convert::From<UnderlyingRustTuple<'_>> for AlreadyInitialized {
1564 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1565 Self
1566 }
1567 }
1568 #[automatically_derived]
1569 impl alloy_sol_types::SolError for AlreadyInitialized {
1570 type Parameters<'a> = UnderlyingSolTuple<'a>;
1571 type Token<'a> = <Self::Parameters<
1572 'a,
1573 > as alloy_sol_types::SolType>::Token<'a>;
1574 const SIGNATURE: &'static str = "AlreadyInitialized()";
1575 const SELECTOR: [u8; 4] = [13u8, 193u8, 73u8, 240u8];
1576 #[inline]
1577 fn new<'a>(
1578 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1579 ) -> Self {
1580 tuple.into()
1581 }
1582 #[inline]
1583 fn tokenize(&self) -> Self::Token<'_> {
1584 ()
1585 }
1586 #[inline]
1587 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
1588 <Self::Parameters<
1589 '_,
1590 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1591 .map(Self::new)
1592 }
1593 }
1594 };
1595 #[derive(serde::Serialize, serde::Deserialize)]
1596 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1597 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1602 #[derive(Clone)]
1603 pub struct ArrayTooLong;
1604 #[allow(
1605 non_camel_case_types,
1606 non_snake_case,
1607 clippy::pub_underscore_fields,
1608 clippy::style
1609 )]
1610 const _: () = {
1611 use alloy::sol_types as alloy_sol_types;
1612 #[doc(hidden)]
1613 type UnderlyingSolTuple<'a> = ();
1614 #[doc(hidden)]
1615 type UnderlyingRustTuple<'a> = ();
1616 #[cfg(test)]
1617 #[allow(dead_code, unreachable_patterns)]
1618 fn _type_assertion(
1619 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1620 ) {
1621 match _t {
1622 alloy_sol_types::private::AssertTypeEq::<
1623 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1624 >(_) => {}
1625 }
1626 }
1627 #[automatically_derived]
1628 #[doc(hidden)]
1629 impl ::core::convert::From<ArrayTooLong> for UnderlyingRustTuple<'_> {
1630 fn from(value: ArrayTooLong) -> Self {
1631 ()
1632 }
1633 }
1634 #[automatically_derived]
1635 #[doc(hidden)]
1636 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ArrayTooLong {
1637 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1638 Self
1639 }
1640 }
1641 #[automatically_derived]
1642 impl alloy_sol_types::SolError for ArrayTooLong {
1643 type Parameters<'a> = UnderlyingSolTuple<'a>;
1644 type Token<'a> = <Self::Parameters<
1645 'a,
1646 > as alloy_sol_types::SolType>::Token<'a>;
1647 const SIGNATURE: &'static str = "ArrayTooLong()";
1648 const SELECTOR: [u8; 4] = [189u8, 38u8, 204u8, 56u8];
1649 #[inline]
1650 fn new<'a>(
1651 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1652 ) -> Self {
1653 tuple.into()
1654 }
1655 #[inline]
1656 fn tokenize(&self) -> Self::Token<'_> {
1657 ()
1658 }
1659 #[inline]
1660 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
1661 <Self::Parameters<
1662 '_,
1663 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1664 .map(Self::new)
1665 }
1666 }
1667 };
1668 #[derive(serde::Serialize, serde::Deserialize)]
1669 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1670 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1675 #[derive(Clone)]
1676 pub struct ArraysDifferentLength;
1677 #[allow(
1678 non_camel_case_types,
1679 non_snake_case,
1680 clippy::pub_underscore_fields,
1681 clippy::style
1682 )]
1683 const _: () = {
1684 use alloy::sol_types as alloy_sol_types;
1685 #[doc(hidden)]
1686 type UnderlyingSolTuple<'a> = ();
1687 #[doc(hidden)]
1688 type UnderlyingRustTuple<'a> = ();
1689 #[cfg(test)]
1690 #[allow(dead_code, unreachable_patterns)]
1691 fn _type_assertion(
1692 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1693 ) {
1694 match _t {
1695 alloy_sol_types::private::AssertTypeEq::<
1696 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1697 >(_) => {}
1698 }
1699 }
1700 #[automatically_derived]
1701 #[doc(hidden)]
1702 impl ::core::convert::From<ArraysDifferentLength> for UnderlyingRustTuple<'_> {
1703 fn from(value: ArraysDifferentLength) -> Self {
1704 ()
1705 }
1706 }
1707 #[automatically_derived]
1708 #[doc(hidden)]
1709 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ArraysDifferentLength {
1710 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1711 Self
1712 }
1713 }
1714 #[automatically_derived]
1715 impl alloy_sol_types::SolError for ArraysDifferentLength {
1716 type Parameters<'a> = UnderlyingSolTuple<'a>;
1717 type Token<'a> = <Self::Parameters<
1718 'a,
1719 > as alloy_sol_types::SolType>::Token<'a>;
1720 const SIGNATURE: &'static str = "ArraysDifferentLength()";
1721 const SELECTOR: [u8; 4] = [116u8, 244u8, 213u8, 55u8];
1722 #[inline]
1723 fn new<'a>(
1724 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1725 ) -> Self {
1726 tuple.into()
1727 }
1728 #[inline]
1729 fn tokenize(&self) -> Self::Token<'_> {
1730 ()
1731 }
1732 #[inline]
1733 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
1734 <Self::Parameters<
1735 '_,
1736 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1737 .map(Self::new)
1738 }
1739 }
1740 };
1741 #[derive(serde::Serialize, serde::Deserialize)]
1742 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1743 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1748 #[derive(Clone)]
1749 pub struct CalldataOutOfBounds;
1750 #[allow(
1751 non_camel_case_types,
1752 non_snake_case,
1753 clippy::pub_underscore_fields,
1754 clippy::style
1755 )]
1756 const _: () = {
1757 use alloy::sol_types as alloy_sol_types;
1758 #[doc(hidden)]
1759 type UnderlyingSolTuple<'a> = ();
1760 #[doc(hidden)]
1761 type UnderlyingRustTuple<'a> = ();
1762 #[cfg(test)]
1763 #[allow(dead_code, unreachable_patterns)]
1764 fn _type_assertion(
1765 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1766 ) {
1767 match _t {
1768 alloy_sol_types::private::AssertTypeEq::<
1769 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1770 >(_) => {}
1771 }
1772 }
1773 #[automatically_derived]
1774 #[doc(hidden)]
1775 impl ::core::convert::From<CalldataOutOfBounds> for UnderlyingRustTuple<'_> {
1776 fn from(value: CalldataOutOfBounds) -> Self {
1777 ()
1778 }
1779 }
1780 #[automatically_derived]
1781 #[doc(hidden)]
1782 impl ::core::convert::From<UnderlyingRustTuple<'_>> for CalldataOutOfBounds {
1783 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1784 Self
1785 }
1786 }
1787 #[automatically_derived]
1788 impl alloy_sol_types::SolError for CalldataOutOfBounds {
1789 type Parameters<'a> = UnderlyingSolTuple<'a>;
1790 type Token<'a> = <Self::Parameters<
1791 'a,
1792 > as alloy_sol_types::SolType>::Token<'a>;
1793 const SIGNATURE: &'static str = "CalldataOutOfBounds()";
1794 const SELECTOR: [u8; 4] = [116u8, 38u8, 56u8, 180u8];
1795 #[inline]
1796 fn new<'a>(
1797 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1798 ) -> Self {
1799 tuple.into()
1800 }
1801 #[inline]
1802 fn tokenize(&self) -> Self::Token<'_> {
1803 ()
1804 }
1805 #[inline]
1806 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
1807 <Self::Parameters<
1808 '_,
1809 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1810 .map(Self::new)
1811 }
1812 }
1813 };
1814 #[derive(serde::Serialize, serde::Deserialize)]
1815 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1816 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1821 #[derive(Clone)]
1822 pub struct CannotChangeOwner;
1823 #[allow(
1824 non_camel_case_types,
1825 non_snake_case,
1826 clippy::pub_underscore_fields,
1827 clippy::style
1828 )]
1829 const _: () = {
1830 use alloy::sol_types as alloy_sol_types;
1831 #[doc(hidden)]
1832 type UnderlyingSolTuple<'a> = ();
1833 #[doc(hidden)]
1834 type UnderlyingRustTuple<'a> = ();
1835 #[cfg(test)]
1836 #[allow(dead_code, unreachable_patterns)]
1837 fn _type_assertion(
1838 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1839 ) {
1840 match _t {
1841 alloy_sol_types::private::AssertTypeEq::<
1842 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1843 >(_) => {}
1844 }
1845 }
1846 #[automatically_derived]
1847 #[doc(hidden)]
1848 impl ::core::convert::From<CannotChangeOwner> for UnderlyingRustTuple<'_> {
1849 fn from(value: CannotChangeOwner) -> Self {
1850 ()
1851 }
1852 }
1853 #[automatically_derived]
1854 #[doc(hidden)]
1855 impl ::core::convert::From<UnderlyingRustTuple<'_>> for CannotChangeOwner {
1856 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1857 Self
1858 }
1859 }
1860 #[automatically_derived]
1861 impl alloy_sol_types::SolError for CannotChangeOwner {
1862 type Parameters<'a> = UnderlyingSolTuple<'a>;
1863 type Token<'a> = <Self::Parameters<
1864 'a,
1865 > as alloy_sol_types::SolType>::Token<'a>;
1866 const SIGNATURE: &'static str = "CannotChangeOwner()";
1867 const SELECTOR: [u8; 4] = [253u8, 103u8, 14u8, 190u8];
1868 #[inline]
1869 fn new<'a>(
1870 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1871 ) -> Self {
1872 tuple.into()
1873 }
1874 #[inline]
1875 fn tokenize(&self) -> Self::Token<'_> {
1876 ()
1877 }
1878 #[inline]
1879 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
1880 <Self::Parameters<
1881 '_,
1882 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1883 .map(Self::new)
1884 }
1885 }
1886 };
1887 #[derive(serde::Serialize, serde::Deserialize)]
1888 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1889 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1894 #[derive(Clone)]
1895 pub struct DefaultPermissionRejected;
1896 #[allow(
1897 non_camel_case_types,
1898 non_snake_case,
1899 clippy::pub_underscore_fields,
1900 clippy::style
1901 )]
1902 const _: () = {
1903 use alloy::sol_types as alloy_sol_types;
1904 #[doc(hidden)]
1905 type UnderlyingSolTuple<'a> = ();
1906 #[doc(hidden)]
1907 type UnderlyingRustTuple<'a> = ();
1908 #[cfg(test)]
1909 #[allow(dead_code, unreachable_patterns)]
1910 fn _type_assertion(
1911 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1912 ) {
1913 match _t {
1914 alloy_sol_types::private::AssertTypeEq::<
1915 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1916 >(_) => {}
1917 }
1918 }
1919 #[automatically_derived]
1920 #[doc(hidden)]
1921 impl ::core::convert::From<DefaultPermissionRejected>
1922 for UnderlyingRustTuple<'_> {
1923 fn from(value: DefaultPermissionRejected) -> Self {
1924 ()
1925 }
1926 }
1927 #[automatically_derived]
1928 #[doc(hidden)]
1929 impl ::core::convert::From<UnderlyingRustTuple<'_>>
1930 for DefaultPermissionRejected {
1931 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1932 Self
1933 }
1934 }
1935 #[automatically_derived]
1936 impl alloy_sol_types::SolError for DefaultPermissionRejected {
1937 type Parameters<'a> = UnderlyingSolTuple<'a>;
1938 type Token<'a> = <Self::Parameters<
1939 'a,
1940 > as alloy_sol_types::SolType>::Token<'a>;
1941 const SIGNATURE: &'static str = "DefaultPermissionRejected()";
1942 const SELECTOR: [u8; 4] = [88u8, 114u8, 48u8, 55u8];
1943 #[inline]
1944 fn new<'a>(
1945 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1946 ) -> Self {
1947 tuple.into()
1948 }
1949 #[inline]
1950 fn tokenize(&self) -> Self::Token<'_> {
1951 ()
1952 }
1953 #[inline]
1954 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
1955 <Self::Parameters<
1956 '_,
1957 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1958 .map(Self::new)
1959 }
1960 }
1961 };
1962 #[derive(serde::Serialize, serde::Deserialize)]
1963 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1964 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1969 #[derive(Clone)]
1970 pub struct DelegateCallNotAllowed;
1971 #[allow(
1972 non_camel_case_types,
1973 non_snake_case,
1974 clippy::pub_underscore_fields,
1975 clippy::style
1976 )]
1977 const _: () = {
1978 use alloy::sol_types as alloy_sol_types;
1979 #[doc(hidden)]
1980 type UnderlyingSolTuple<'a> = ();
1981 #[doc(hidden)]
1982 type UnderlyingRustTuple<'a> = ();
1983 #[cfg(test)]
1984 #[allow(dead_code, unreachable_patterns)]
1985 fn _type_assertion(
1986 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1987 ) {
1988 match _t {
1989 alloy_sol_types::private::AssertTypeEq::<
1990 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1991 >(_) => {}
1992 }
1993 }
1994 #[automatically_derived]
1995 #[doc(hidden)]
1996 impl ::core::convert::From<DelegateCallNotAllowed> for UnderlyingRustTuple<'_> {
1997 fn from(value: DelegateCallNotAllowed) -> Self {
1998 ()
1999 }
2000 }
2001 #[automatically_derived]
2002 #[doc(hidden)]
2003 impl ::core::convert::From<UnderlyingRustTuple<'_>> for DelegateCallNotAllowed {
2004 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2005 Self
2006 }
2007 }
2008 #[automatically_derived]
2009 impl alloy_sol_types::SolError for DelegateCallNotAllowed {
2010 type Parameters<'a> = UnderlyingSolTuple<'a>;
2011 type Token<'a> = <Self::Parameters<
2012 'a,
2013 > as alloy_sol_types::SolType>::Token<'a>;
2014 const SIGNATURE: &'static str = "DelegateCallNotAllowed()";
2015 const SELECTOR: [u8; 4] = [13u8, 137u8, 67u8, 142u8];
2016 #[inline]
2017 fn new<'a>(
2018 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2019 ) -> Self {
2020 tuple.into()
2021 }
2022 #[inline]
2023 fn tokenize(&self) -> Self::Token<'_> {
2024 ()
2025 }
2026 #[inline]
2027 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2028 <Self::Parameters<
2029 '_,
2030 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2031 .map(Self::new)
2032 }
2033 }
2034 };
2035 #[derive(serde::Serialize, serde::Deserialize)]
2036 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2037 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2042 #[derive(Clone)]
2043 pub struct FunctionSignatureTooShort;
2044 #[allow(
2045 non_camel_case_types,
2046 non_snake_case,
2047 clippy::pub_underscore_fields,
2048 clippy::style
2049 )]
2050 const _: () = {
2051 use alloy::sol_types as alloy_sol_types;
2052 #[doc(hidden)]
2053 type UnderlyingSolTuple<'a> = ();
2054 #[doc(hidden)]
2055 type UnderlyingRustTuple<'a> = ();
2056 #[cfg(test)]
2057 #[allow(dead_code, unreachable_patterns)]
2058 fn _type_assertion(
2059 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2060 ) {
2061 match _t {
2062 alloy_sol_types::private::AssertTypeEq::<
2063 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2064 >(_) => {}
2065 }
2066 }
2067 #[automatically_derived]
2068 #[doc(hidden)]
2069 impl ::core::convert::From<FunctionSignatureTooShort>
2070 for UnderlyingRustTuple<'_> {
2071 fn from(value: FunctionSignatureTooShort) -> Self {
2072 ()
2073 }
2074 }
2075 #[automatically_derived]
2076 #[doc(hidden)]
2077 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2078 for FunctionSignatureTooShort {
2079 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2080 Self
2081 }
2082 }
2083 #[automatically_derived]
2084 impl alloy_sol_types::SolError for FunctionSignatureTooShort {
2085 type Parameters<'a> = UnderlyingSolTuple<'a>;
2086 type Token<'a> = <Self::Parameters<
2087 'a,
2088 > as alloy_sol_types::SolType>::Token<'a>;
2089 const SIGNATURE: &'static str = "FunctionSignatureTooShort()";
2090 const SELECTOR: [u8; 4] = [70u8, 132u8, 193u8, 34u8];
2091 #[inline]
2092 fn new<'a>(
2093 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2094 ) -> Self {
2095 tuple.into()
2096 }
2097 #[inline]
2098 fn tokenize(&self) -> Self::Token<'_> {
2099 ()
2100 }
2101 #[inline]
2102 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2103 <Self::Parameters<
2104 '_,
2105 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2106 .map(Self::new)
2107 }
2108 }
2109 };
2110 #[derive(serde::Serialize, serde::Deserialize)]
2111 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2112 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2117 #[derive(Clone)]
2118 pub struct GranularPermissionRejected;
2119 #[allow(
2120 non_camel_case_types,
2121 non_snake_case,
2122 clippy::pub_underscore_fields,
2123 clippy::style
2124 )]
2125 const _: () = {
2126 use alloy::sol_types as alloy_sol_types;
2127 #[doc(hidden)]
2128 type UnderlyingSolTuple<'a> = ();
2129 #[doc(hidden)]
2130 type UnderlyingRustTuple<'a> = ();
2131 #[cfg(test)]
2132 #[allow(dead_code, unreachable_patterns)]
2133 fn _type_assertion(
2134 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2135 ) {
2136 match _t {
2137 alloy_sol_types::private::AssertTypeEq::<
2138 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2139 >(_) => {}
2140 }
2141 }
2142 #[automatically_derived]
2143 #[doc(hidden)]
2144 impl ::core::convert::From<GranularPermissionRejected>
2145 for UnderlyingRustTuple<'_> {
2146 fn from(value: GranularPermissionRejected) -> Self {
2147 ()
2148 }
2149 }
2150 #[automatically_derived]
2151 #[doc(hidden)]
2152 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2153 for GranularPermissionRejected {
2154 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2155 Self
2156 }
2157 }
2158 #[automatically_derived]
2159 impl alloy_sol_types::SolError for GranularPermissionRejected {
2160 type Parameters<'a> = UnderlyingSolTuple<'a>;
2161 type Token<'a> = <Self::Parameters<
2162 'a,
2163 > as alloy_sol_types::SolType>::Token<'a>;
2164 const SIGNATURE: &'static str = "GranularPermissionRejected()";
2165 const SELECTOR: [u8; 4] = [134u8, 77u8, 209u8, 231u8];
2166 #[inline]
2167 fn new<'a>(
2168 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2169 ) -> Self {
2170 tuple.into()
2171 }
2172 #[inline]
2173 fn tokenize(&self) -> Self::Token<'_> {
2174 ()
2175 }
2176 #[inline]
2177 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2178 <Self::Parameters<
2179 '_,
2180 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2181 .map(Self::new)
2182 }
2183 }
2184 };
2185 #[derive(serde::Serialize, serde::Deserialize)]
2186 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2187 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2192 #[derive(Clone)]
2193 pub struct NoMembership;
2194 #[allow(
2195 non_camel_case_types,
2196 non_snake_case,
2197 clippy::pub_underscore_fields,
2198 clippy::style
2199 )]
2200 const _: () = {
2201 use alloy::sol_types as alloy_sol_types;
2202 #[doc(hidden)]
2203 type UnderlyingSolTuple<'a> = ();
2204 #[doc(hidden)]
2205 type UnderlyingRustTuple<'a> = ();
2206 #[cfg(test)]
2207 #[allow(dead_code, unreachable_patterns)]
2208 fn _type_assertion(
2209 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2210 ) {
2211 match _t {
2212 alloy_sol_types::private::AssertTypeEq::<
2213 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2214 >(_) => {}
2215 }
2216 }
2217 #[automatically_derived]
2218 #[doc(hidden)]
2219 impl ::core::convert::From<NoMembership> for UnderlyingRustTuple<'_> {
2220 fn from(value: NoMembership) -> Self {
2221 ()
2222 }
2223 }
2224 #[automatically_derived]
2225 #[doc(hidden)]
2226 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NoMembership {
2227 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2228 Self
2229 }
2230 }
2231 #[automatically_derived]
2232 impl alloy_sol_types::SolError for NoMembership {
2233 type Parameters<'a> = UnderlyingSolTuple<'a>;
2234 type Token<'a> = <Self::Parameters<
2235 'a,
2236 > as alloy_sol_types::SolType>::Token<'a>;
2237 const SIGNATURE: &'static str = "NoMembership()";
2238 const SELECTOR: [u8; 4] = [253u8, 142u8, 159u8, 40u8];
2239 #[inline]
2240 fn new<'a>(
2241 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2242 ) -> Self {
2243 tuple.into()
2244 }
2245 #[inline]
2246 fn tokenize(&self) -> Self::Token<'_> {
2247 ()
2248 }
2249 #[inline]
2250 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2251 <Self::Parameters<
2252 '_,
2253 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2254 .map(Self::new)
2255 }
2256 }
2257 };
2258 #[derive(serde::Serialize, serde::Deserialize)]
2259 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2260 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2265 #[derive(Clone)]
2266 pub struct NodePermissionRejected;
2267 #[allow(
2268 non_camel_case_types,
2269 non_snake_case,
2270 clippy::pub_underscore_fields,
2271 clippy::style
2272 )]
2273 const _: () = {
2274 use alloy::sol_types as alloy_sol_types;
2275 #[doc(hidden)]
2276 type UnderlyingSolTuple<'a> = ();
2277 #[doc(hidden)]
2278 type UnderlyingRustTuple<'a> = ();
2279 #[cfg(test)]
2280 #[allow(dead_code, unreachable_patterns)]
2281 fn _type_assertion(
2282 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2283 ) {
2284 match _t {
2285 alloy_sol_types::private::AssertTypeEq::<
2286 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2287 >(_) => {}
2288 }
2289 }
2290 #[automatically_derived]
2291 #[doc(hidden)]
2292 impl ::core::convert::From<NodePermissionRejected> for UnderlyingRustTuple<'_> {
2293 fn from(value: NodePermissionRejected) -> Self {
2294 ()
2295 }
2296 }
2297 #[automatically_derived]
2298 #[doc(hidden)]
2299 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NodePermissionRejected {
2300 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2301 Self
2302 }
2303 }
2304 #[automatically_derived]
2305 impl alloy_sol_types::SolError for NodePermissionRejected {
2306 type Parameters<'a> = UnderlyingSolTuple<'a>;
2307 type Token<'a> = <Self::Parameters<
2308 'a,
2309 > as alloy_sol_types::SolType>::Token<'a>;
2310 const SIGNATURE: &'static str = "NodePermissionRejected()";
2311 const SELECTOR: [u8; 4] = [110u8, 176u8, 49u8, 95u8];
2312 #[inline]
2313 fn new<'a>(
2314 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2315 ) -> Self {
2316 tuple.into()
2317 }
2318 #[inline]
2319 fn tokenize(&self) -> Self::Token<'_> {
2320 ()
2321 }
2322 #[inline]
2323 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2324 <Self::Parameters<
2325 '_,
2326 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2327 .map(Self::new)
2328 }
2329 }
2330 };
2331 #[derive(serde::Serialize, serde::Deserialize)]
2332 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2333 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2338 #[derive(Clone)]
2339 pub struct NonExistentKey;
2340 #[allow(
2341 non_camel_case_types,
2342 non_snake_case,
2343 clippy::pub_underscore_fields,
2344 clippy::style
2345 )]
2346 const _: () = {
2347 use alloy::sol_types as alloy_sol_types;
2348 #[doc(hidden)]
2349 type UnderlyingSolTuple<'a> = ();
2350 #[doc(hidden)]
2351 type UnderlyingRustTuple<'a> = ();
2352 #[cfg(test)]
2353 #[allow(dead_code, unreachable_patterns)]
2354 fn _type_assertion(
2355 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2356 ) {
2357 match _t {
2358 alloy_sol_types::private::AssertTypeEq::<
2359 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2360 >(_) => {}
2361 }
2362 }
2363 #[automatically_derived]
2364 #[doc(hidden)]
2365 impl ::core::convert::From<NonExistentKey> for UnderlyingRustTuple<'_> {
2366 fn from(value: NonExistentKey) -> Self {
2367 ()
2368 }
2369 }
2370 #[automatically_derived]
2371 #[doc(hidden)]
2372 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NonExistentKey {
2373 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2374 Self
2375 }
2376 }
2377 #[automatically_derived]
2378 impl alloy_sol_types::SolError for NonExistentKey {
2379 type Parameters<'a> = UnderlyingSolTuple<'a>;
2380 type Token<'a> = <Self::Parameters<
2381 'a,
2382 > as alloy_sol_types::SolType>::Token<'a>;
2383 const SIGNATURE: &'static str = "NonExistentKey()";
2384 const SELECTOR: [u8; 4] = [45u8, 5u8, 25u8, 173u8];
2385 #[inline]
2386 fn new<'a>(
2387 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2388 ) -> Self {
2389 tuple.into()
2390 }
2391 #[inline]
2392 fn tokenize(&self) -> Self::Token<'_> {
2393 ()
2394 }
2395 #[inline]
2396 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2397 <Self::Parameters<
2398 '_,
2399 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2400 .map(Self::new)
2401 }
2402 }
2403 };
2404 #[derive(serde::Serialize, serde::Deserialize)]
2405 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2406 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2411 #[derive(Clone)]
2412 pub struct ParameterNotAllowed;
2413 #[allow(
2414 non_camel_case_types,
2415 non_snake_case,
2416 clippy::pub_underscore_fields,
2417 clippy::style
2418 )]
2419 const _: () = {
2420 use alloy::sol_types as alloy_sol_types;
2421 #[doc(hidden)]
2422 type UnderlyingSolTuple<'a> = ();
2423 #[doc(hidden)]
2424 type UnderlyingRustTuple<'a> = ();
2425 #[cfg(test)]
2426 #[allow(dead_code, unreachable_patterns)]
2427 fn _type_assertion(
2428 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2429 ) {
2430 match _t {
2431 alloy_sol_types::private::AssertTypeEq::<
2432 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2433 >(_) => {}
2434 }
2435 }
2436 #[automatically_derived]
2437 #[doc(hidden)]
2438 impl ::core::convert::From<ParameterNotAllowed> for UnderlyingRustTuple<'_> {
2439 fn from(value: ParameterNotAllowed) -> Self {
2440 ()
2441 }
2442 }
2443 #[automatically_derived]
2444 #[doc(hidden)]
2445 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ParameterNotAllowed {
2446 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2447 Self
2448 }
2449 }
2450 #[automatically_derived]
2451 impl alloy_sol_types::SolError for ParameterNotAllowed {
2452 type Parameters<'a> = UnderlyingSolTuple<'a>;
2453 type Token<'a> = <Self::Parameters<
2454 'a,
2455 > as alloy_sol_types::SolType>::Token<'a>;
2456 const SIGNATURE: &'static str = "ParameterNotAllowed()";
2457 const SELECTOR: [u8; 4] = [49u8, 233u8, 130u8, 70u8];
2458 #[inline]
2459 fn new<'a>(
2460 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2461 ) -> Self {
2462 tuple.into()
2463 }
2464 #[inline]
2465 fn tokenize(&self) -> Self::Token<'_> {
2466 ()
2467 }
2468 #[inline]
2469 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2470 <Self::Parameters<
2471 '_,
2472 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2473 .map(Self::new)
2474 }
2475 }
2476 };
2477 #[derive(serde::Serialize, serde::Deserialize)]
2478 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2479 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2484 #[derive(Clone)]
2485 pub struct PermissionNotConfigured;
2486 #[allow(
2487 non_camel_case_types,
2488 non_snake_case,
2489 clippy::pub_underscore_fields,
2490 clippy::style
2491 )]
2492 const _: () = {
2493 use alloy::sol_types as alloy_sol_types;
2494 #[doc(hidden)]
2495 type UnderlyingSolTuple<'a> = ();
2496 #[doc(hidden)]
2497 type UnderlyingRustTuple<'a> = ();
2498 #[cfg(test)]
2499 #[allow(dead_code, unreachable_patterns)]
2500 fn _type_assertion(
2501 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2502 ) {
2503 match _t {
2504 alloy_sol_types::private::AssertTypeEq::<
2505 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2506 >(_) => {}
2507 }
2508 }
2509 #[automatically_derived]
2510 #[doc(hidden)]
2511 impl ::core::convert::From<PermissionNotConfigured> for UnderlyingRustTuple<'_> {
2512 fn from(value: PermissionNotConfigured) -> Self {
2513 ()
2514 }
2515 }
2516 #[automatically_derived]
2517 #[doc(hidden)]
2518 impl ::core::convert::From<UnderlyingRustTuple<'_>> for PermissionNotConfigured {
2519 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2520 Self
2521 }
2522 }
2523 #[automatically_derived]
2524 impl alloy_sol_types::SolError for PermissionNotConfigured {
2525 type Parameters<'a> = UnderlyingSolTuple<'a>;
2526 type Token<'a> = <Self::Parameters<
2527 'a,
2528 > as alloy_sol_types::SolType>::Token<'a>;
2529 const SIGNATURE: &'static str = "PermissionNotConfigured()";
2530 const SELECTOR: [u8; 4] = [70u8, 173u8, 69u8, 136u8];
2531 #[inline]
2532 fn new<'a>(
2533 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2534 ) -> Self {
2535 tuple.into()
2536 }
2537 #[inline]
2538 fn tokenize(&self) -> Self::Token<'_> {
2539 ()
2540 }
2541 #[inline]
2542 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2543 <Self::Parameters<
2544 '_,
2545 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2546 .map(Self::new)
2547 }
2548 }
2549 };
2550 #[derive(serde::Serialize, serde::Deserialize)]
2551 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2552 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2557 #[derive(Clone)]
2558 pub struct PermissionNotFound;
2559 #[allow(
2560 non_camel_case_types,
2561 non_snake_case,
2562 clippy::pub_underscore_fields,
2563 clippy::style
2564 )]
2565 const _: () = {
2566 use alloy::sol_types as alloy_sol_types;
2567 #[doc(hidden)]
2568 type UnderlyingSolTuple<'a> = ();
2569 #[doc(hidden)]
2570 type UnderlyingRustTuple<'a> = ();
2571 #[cfg(test)]
2572 #[allow(dead_code, unreachable_patterns)]
2573 fn _type_assertion(
2574 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2575 ) {
2576 match _t {
2577 alloy_sol_types::private::AssertTypeEq::<
2578 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2579 >(_) => {}
2580 }
2581 }
2582 #[automatically_derived]
2583 #[doc(hidden)]
2584 impl ::core::convert::From<PermissionNotFound> for UnderlyingRustTuple<'_> {
2585 fn from(value: PermissionNotFound) -> Self {
2586 ()
2587 }
2588 }
2589 #[automatically_derived]
2590 #[doc(hidden)]
2591 impl ::core::convert::From<UnderlyingRustTuple<'_>> for PermissionNotFound {
2592 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2593 Self
2594 }
2595 }
2596 #[automatically_derived]
2597 impl alloy_sol_types::SolError for PermissionNotFound {
2598 type Parameters<'a> = UnderlyingSolTuple<'a>;
2599 type Token<'a> = <Self::Parameters<
2600 'a,
2601 > as alloy_sol_types::SolType>::Token<'a>;
2602 const SIGNATURE: &'static str = "PermissionNotFound()";
2603 const SELECTOR: [u8; 4] = [216u8, 69u8, 90u8, 19u8];
2604 #[inline]
2605 fn new<'a>(
2606 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2607 ) -> Self {
2608 tuple.into()
2609 }
2610 #[inline]
2611 fn tokenize(&self) -> Self::Token<'_> {
2612 ()
2613 }
2614 #[inline]
2615 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2616 <Self::Parameters<
2617 '_,
2618 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2619 .map(Self::new)
2620 }
2621 }
2622 };
2623 #[derive(serde::Serialize, serde::Deserialize)]
2624 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2625 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2630 #[derive(Clone)]
2631 pub struct SafeMultisendSameAddress;
2632 #[allow(
2633 non_camel_case_types,
2634 non_snake_case,
2635 clippy::pub_underscore_fields,
2636 clippy::style
2637 )]
2638 const _: () = {
2639 use alloy::sol_types as alloy_sol_types;
2640 #[doc(hidden)]
2641 type UnderlyingSolTuple<'a> = ();
2642 #[doc(hidden)]
2643 type UnderlyingRustTuple<'a> = ();
2644 #[cfg(test)]
2645 #[allow(dead_code, unreachable_patterns)]
2646 fn _type_assertion(
2647 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2648 ) {
2649 match _t {
2650 alloy_sol_types::private::AssertTypeEq::<
2651 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2652 >(_) => {}
2653 }
2654 }
2655 #[automatically_derived]
2656 #[doc(hidden)]
2657 impl ::core::convert::From<SafeMultisendSameAddress>
2658 for UnderlyingRustTuple<'_> {
2659 fn from(value: SafeMultisendSameAddress) -> Self {
2660 ()
2661 }
2662 }
2663 #[automatically_derived]
2664 #[doc(hidden)]
2665 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2666 for SafeMultisendSameAddress {
2667 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2668 Self
2669 }
2670 }
2671 #[automatically_derived]
2672 impl alloy_sol_types::SolError for SafeMultisendSameAddress {
2673 type Parameters<'a> = UnderlyingSolTuple<'a>;
2674 type Token<'a> = <Self::Parameters<
2675 'a,
2676 > as alloy_sol_types::SolType>::Token<'a>;
2677 const SIGNATURE: &'static str = "SafeMultisendSameAddress()";
2678 const SELECTOR: [u8; 4] = [89u8, 138u8, 14u8, 33u8];
2679 #[inline]
2680 fn new<'a>(
2681 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2682 ) -> Self {
2683 tuple.into()
2684 }
2685 #[inline]
2686 fn tokenize(&self) -> Self::Token<'_> {
2687 ()
2688 }
2689 #[inline]
2690 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2691 <Self::Parameters<
2692 '_,
2693 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2694 .map(Self::new)
2695 }
2696 }
2697 };
2698 #[derive(serde::Serialize, serde::Deserialize)]
2699 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2700 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2705 #[derive(Clone)]
2706 pub struct SendNotAllowed;
2707 #[allow(
2708 non_camel_case_types,
2709 non_snake_case,
2710 clippy::pub_underscore_fields,
2711 clippy::style
2712 )]
2713 const _: () = {
2714 use alloy::sol_types as alloy_sol_types;
2715 #[doc(hidden)]
2716 type UnderlyingSolTuple<'a> = ();
2717 #[doc(hidden)]
2718 type UnderlyingRustTuple<'a> = ();
2719 #[cfg(test)]
2720 #[allow(dead_code, unreachable_patterns)]
2721 fn _type_assertion(
2722 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2723 ) {
2724 match _t {
2725 alloy_sol_types::private::AssertTypeEq::<
2726 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2727 >(_) => {}
2728 }
2729 }
2730 #[automatically_derived]
2731 #[doc(hidden)]
2732 impl ::core::convert::From<SendNotAllowed> for UnderlyingRustTuple<'_> {
2733 fn from(value: SendNotAllowed) -> Self {
2734 ()
2735 }
2736 }
2737 #[automatically_derived]
2738 #[doc(hidden)]
2739 impl ::core::convert::From<UnderlyingRustTuple<'_>> for SendNotAllowed {
2740 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2741 Self
2742 }
2743 }
2744 #[automatically_derived]
2745 impl alloy_sol_types::SolError for SendNotAllowed {
2746 type Parameters<'a> = UnderlyingSolTuple<'a>;
2747 type Token<'a> = <Self::Parameters<
2748 'a,
2749 > as alloy_sol_types::SolType>::Token<'a>;
2750 const SIGNATURE: &'static str = "SendNotAllowed()";
2751 const SELECTOR: [u8; 4] = [9u8, 233u8, 205u8, 73u8];
2752 #[inline]
2753 fn new<'a>(
2754 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2755 ) -> Self {
2756 tuple.into()
2757 }
2758 #[inline]
2759 fn tokenize(&self) -> Self::Token<'_> {
2760 ()
2761 }
2762 #[inline]
2763 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2764 <Self::Parameters<
2765 '_,
2766 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2767 .map(Self::new)
2768 }
2769 }
2770 };
2771 #[derive(serde::Serialize, serde::Deserialize)]
2772 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2773 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2778 #[derive(Clone)]
2779 pub struct TargetAddressNotAllowed;
2780 #[allow(
2781 non_camel_case_types,
2782 non_snake_case,
2783 clippy::pub_underscore_fields,
2784 clippy::style
2785 )]
2786 const _: () = {
2787 use alloy::sol_types as alloy_sol_types;
2788 #[doc(hidden)]
2789 type UnderlyingSolTuple<'a> = ();
2790 #[doc(hidden)]
2791 type UnderlyingRustTuple<'a> = ();
2792 #[cfg(test)]
2793 #[allow(dead_code, unreachable_patterns)]
2794 fn _type_assertion(
2795 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2796 ) {
2797 match _t {
2798 alloy_sol_types::private::AssertTypeEq::<
2799 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2800 >(_) => {}
2801 }
2802 }
2803 #[automatically_derived]
2804 #[doc(hidden)]
2805 impl ::core::convert::From<TargetAddressNotAllowed> for UnderlyingRustTuple<'_> {
2806 fn from(value: TargetAddressNotAllowed) -> Self {
2807 ()
2808 }
2809 }
2810 #[automatically_derived]
2811 #[doc(hidden)]
2812 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TargetAddressNotAllowed {
2813 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2814 Self
2815 }
2816 }
2817 #[automatically_derived]
2818 impl alloy_sol_types::SolError for TargetAddressNotAllowed {
2819 type Parameters<'a> = UnderlyingSolTuple<'a>;
2820 type Token<'a> = <Self::Parameters<
2821 'a,
2822 > as alloy_sol_types::SolType>::Token<'a>;
2823 const SIGNATURE: &'static str = "TargetAddressNotAllowed()";
2824 const SELECTOR: [u8; 4] = [239u8, 52u8, 64u8, 172u8];
2825 #[inline]
2826 fn new<'a>(
2827 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2828 ) -> Self {
2829 tuple.into()
2830 }
2831 #[inline]
2832 fn tokenize(&self) -> Self::Token<'_> {
2833 ()
2834 }
2835 #[inline]
2836 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2837 <Self::Parameters<
2838 '_,
2839 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2840 .map(Self::new)
2841 }
2842 }
2843 };
2844 #[derive(serde::Serialize, serde::Deserialize)]
2845 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2846 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2851 #[derive(Clone)]
2852 pub struct TargetIsNotScoped;
2853 #[allow(
2854 non_camel_case_types,
2855 non_snake_case,
2856 clippy::pub_underscore_fields,
2857 clippy::style
2858 )]
2859 const _: () = {
2860 use alloy::sol_types as alloy_sol_types;
2861 #[doc(hidden)]
2862 type UnderlyingSolTuple<'a> = ();
2863 #[doc(hidden)]
2864 type UnderlyingRustTuple<'a> = ();
2865 #[cfg(test)]
2866 #[allow(dead_code, unreachable_patterns)]
2867 fn _type_assertion(
2868 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2869 ) {
2870 match _t {
2871 alloy_sol_types::private::AssertTypeEq::<
2872 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2873 >(_) => {}
2874 }
2875 }
2876 #[automatically_derived]
2877 #[doc(hidden)]
2878 impl ::core::convert::From<TargetIsNotScoped> for UnderlyingRustTuple<'_> {
2879 fn from(value: TargetIsNotScoped) -> Self {
2880 ()
2881 }
2882 }
2883 #[automatically_derived]
2884 #[doc(hidden)]
2885 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TargetIsNotScoped {
2886 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2887 Self
2888 }
2889 }
2890 #[automatically_derived]
2891 impl alloy_sol_types::SolError for TargetIsNotScoped {
2892 type Parameters<'a> = UnderlyingSolTuple<'a>;
2893 type Token<'a> = <Self::Parameters<
2894 'a,
2895 > as alloy_sol_types::SolType>::Token<'a>;
2896 const SIGNATURE: &'static str = "TargetIsNotScoped()";
2897 const SELECTOR: [u8; 4] = [74u8, 137u8, 3u8, 33u8];
2898 #[inline]
2899 fn new<'a>(
2900 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2901 ) -> Self {
2902 tuple.into()
2903 }
2904 #[inline]
2905 fn tokenize(&self) -> Self::Token<'_> {
2906 ()
2907 }
2908 #[inline]
2909 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2910 <Self::Parameters<
2911 '_,
2912 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2913 .map(Self::new)
2914 }
2915 }
2916 };
2917 #[derive(serde::Serialize, serde::Deserialize)]
2918 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2919 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2924 #[derive(Clone)]
2925 pub struct TargetIsScoped;
2926 #[allow(
2927 non_camel_case_types,
2928 non_snake_case,
2929 clippy::pub_underscore_fields,
2930 clippy::style
2931 )]
2932 const _: () = {
2933 use alloy::sol_types as alloy_sol_types;
2934 #[doc(hidden)]
2935 type UnderlyingSolTuple<'a> = ();
2936 #[doc(hidden)]
2937 type UnderlyingRustTuple<'a> = ();
2938 #[cfg(test)]
2939 #[allow(dead_code, unreachable_patterns)]
2940 fn _type_assertion(
2941 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2942 ) {
2943 match _t {
2944 alloy_sol_types::private::AssertTypeEq::<
2945 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2946 >(_) => {}
2947 }
2948 }
2949 #[automatically_derived]
2950 #[doc(hidden)]
2951 impl ::core::convert::From<TargetIsScoped> for UnderlyingRustTuple<'_> {
2952 fn from(value: TargetIsScoped) -> Self {
2953 ()
2954 }
2955 }
2956 #[automatically_derived]
2957 #[doc(hidden)]
2958 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TargetIsScoped {
2959 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2960 Self
2961 }
2962 }
2963 #[automatically_derived]
2964 impl alloy_sol_types::SolError for TargetIsScoped {
2965 type Parameters<'a> = UnderlyingSolTuple<'a>;
2966 type Token<'a> = <Self::Parameters<
2967 'a,
2968 > as alloy_sol_types::SolType>::Token<'a>;
2969 const SIGNATURE: &'static str = "TargetIsScoped()";
2970 const SELECTOR: [u8; 4] = [232u8, 192u8, 125u8, 42u8];
2971 #[inline]
2972 fn new<'a>(
2973 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2974 ) -> Self {
2975 tuple.into()
2976 }
2977 #[inline]
2978 fn tokenize(&self) -> Self::Token<'_> {
2979 ()
2980 }
2981 #[inline]
2982 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
2983 <Self::Parameters<
2984 '_,
2985 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2986 .map(Self::new)
2987 }
2988 }
2989 };
2990 #[derive(serde::Serialize, serde::Deserialize)]
2991 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2992 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2997 #[derive(Clone)]
2998 pub struct TooManyCapabilities;
2999 #[allow(
3000 non_camel_case_types,
3001 non_snake_case,
3002 clippy::pub_underscore_fields,
3003 clippy::style
3004 )]
3005 const _: () = {
3006 use alloy::sol_types as alloy_sol_types;
3007 #[doc(hidden)]
3008 type UnderlyingSolTuple<'a> = ();
3009 #[doc(hidden)]
3010 type UnderlyingRustTuple<'a> = ();
3011 #[cfg(test)]
3012 #[allow(dead_code, unreachable_patterns)]
3013 fn _type_assertion(
3014 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3015 ) {
3016 match _t {
3017 alloy_sol_types::private::AssertTypeEq::<
3018 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3019 >(_) => {}
3020 }
3021 }
3022 #[automatically_derived]
3023 #[doc(hidden)]
3024 impl ::core::convert::From<TooManyCapabilities> for UnderlyingRustTuple<'_> {
3025 fn from(value: TooManyCapabilities) -> Self {
3026 ()
3027 }
3028 }
3029 #[automatically_derived]
3030 #[doc(hidden)]
3031 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TooManyCapabilities {
3032 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3033 Self
3034 }
3035 }
3036 #[automatically_derived]
3037 impl alloy_sol_types::SolError for TooManyCapabilities {
3038 type Parameters<'a> = UnderlyingSolTuple<'a>;
3039 type Token<'a> = <Self::Parameters<
3040 'a,
3041 > as alloy_sol_types::SolType>::Token<'a>;
3042 const SIGNATURE: &'static str = "TooManyCapabilities()";
3043 const SELECTOR: [u8; 4] = [180u8, 74u8, 249u8, 175u8];
3044 #[inline]
3045 fn new<'a>(
3046 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3047 ) -> Self {
3048 tuple.into()
3049 }
3050 #[inline]
3051 fn tokenize(&self) -> Self::Token<'_> {
3052 ()
3053 }
3054 #[inline]
3055 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3056 <Self::Parameters<
3057 '_,
3058 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3059 .map(Self::new)
3060 }
3061 }
3062 };
3063 #[derive(serde::Serialize, serde::Deserialize)]
3064 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3065 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3070 #[derive(Clone)]
3071 pub struct UnacceptableMultiSendOffset;
3072 #[allow(
3073 non_camel_case_types,
3074 non_snake_case,
3075 clippy::pub_underscore_fields,
3076 clippy::style
3077 )]
3078 const _: () = {
3079 use alloy::sol_types as alloy_sol_types;
3080 #[doc(hidden)]
3081 type UnderlyingSolTuple<'a> = ();
3082 #[doc(hidden)]
3083 type UnderlyingRustTuple<'a> = ();
3084 #[cfg(test)]
3085 #[allow(dead_code, unreachable_patterns)]
3086 fn _type_assertion(
3087 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3088 ) {
3089 match _t {
3090 alloy_sol_types::private::AssertTypeEq::<
3091 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3092 >(_) => {}
3093 }
3094 }
3095 #[automatically_derived]
3096 #[doc(hidden)]
3097 impl ::core::convert::From<UnacceptableMultiSendOffset>
3098 for UnderlyingRustTuple<'_> {
3099 fn from(value: UnacceptableMultiSendOffset) -> Self {
3100 ()
3101 }
3102 }
3103 #[automatically_derived]
3104 #[doc(hidden)]
3105 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3106 for UnacceptableMultiSendOffset {
3107 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3108 Self
3109 }
3110 }
3111 #[automatically_derived]
3112 impl alloy_sol_types::SolError for UnacceptableMultiSendOffset {
3113 type Parameters<'a> = UnderlyingSolTuple<'a>;
3114 type Token<'a> = <Self::Parameters<
3115 'a,
3116 > as alloy_sol_types::SolType>::Token<'a>;
3117 const SIGNATURE: &'static str = "UnacceptableMultiSendOffset()";
3118 const SELECTOR: [u8; 4] = [126u8, 209u8, 17u8, 55u8];
3119 #[inline]
3120 fn new<'a>(
3121 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3122 ) -> Self {
3123 tuple.into()
3124 }
3125 #[inline]
3126 fn tokenize(&self) -> Self::Token<'_> {
3127 ()
3128 }
3129 #[inline]
3130 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3131 <Self::Parameters<
3132 '_,
3133 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3134 .map(Self::new)
3135 }
3136 }
3137 };
3138 #[derive(serde::Serialize, serde::Deserialize)]
3139 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3140 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3145 #[derive(Clone)]
3146 pub struct WithMembership;
3147 #[allow(
3148 non_camel_case_types,
3149 non_snake_case,
3150 clippy::pub_underscore_fields,
3151 clippy::style
3152 )]
3153 const _: () = {
3154 use alloy::sol_types as alloy_sol_types;
3155 #[doc(hidden)]
3156 type UnderlyingSolTuple<'a> = ();
3157 #[doc(hidden)]
3158 type UnderlyingRustTuple<'a> = ();
3159 #[cfg(test)]
3160 #[allow(dead_code, unreachable_patterns)]
3161 fn _type_assertion(
3162 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3163 ) {
3164 match _t {
3165 alloy_sol_types::private::AssertTypeEq::<
3166 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3167 >(_) => {}
3168 }
3169 }
3170 #[automatically_derived]
3171 #[doc(hidden)]
3172 impl ::core::convert::From<WithMembership> for UnderlyingRustTuple<'_> {
3173 fn from(value: WithMembership) -> Self {
3174 ()
3175 }
3176 }
3177 #[automatically_derived]
3178 #[doc(hidden)]
3179 impl ::core::convert::From<UnderlyingRustTuple<'_>> for WithMembership {
3180 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3181 Self
3182 }
3183 }
3184 #[automatically_derived]
3185 impl alloy_sol_types::SolError for WithMembership {
3186 type Parameters<'a> = UnderlyingSolTuple<'a>;
3187 type Token<'a> = <Self::Parameters<
3188 'a,
3189 > as alloy_sol_types::SolType>::Token<'a>;
3190 const SIGNATURE: &'static str = "WithMembership()";
3191 const SELECTOR: [u8; 4] = [227u8, 160u8, 90u8, 148u8];
3192 #[inline]
3193 fn new<'a>(
3194 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3195 ) -> Self {
3196 tuple.into()
3197 }
3198 #[inline]
3199 fn tokenize(&self) -> Self::Token<'_> {
3200 ()
3201 }
3202 #[inline]
3203 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3204 <Self::Parameters<
3205 '_,
3206 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3207 .map(Self::new)
3208 }
3209 }
3210 };
3211 #[derive(serde::Serialize, serde::Deserialize)]
3212 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3213 #[allow(
3218 non_camel_case_types,
3219 non_snake_case,
3220 clippy::pub_underscore_fields,
3221 clippy::style
3222 )]
3223 #[derive(Clone)]
3224 pub struct AdminChanged {
3225 #[allow(missing_docs)]
3226 pub previousAdmin: alloy::sol_types::private::Address,
3227 #[allow(missing_docs)]
3228 pub newAdmin: alloy::sol_types::private::Address,
3229 }
3230 #[allow(
3231 non_camel_case_types,
3232 non_snake_case,
3233 clippy::pub_underscore_fields,
3234 clippy::style
3235 )]
3236 const _: () = {
3237 use alloy::sol_types as alloy_sol_types;
3238 #[automatically_derived]
3239 impl alloy_sol_types::SolEvent for AdminChanged {
3240 type DataTuple<'a> = (
3241 alloy::sol_types::sol_data::Address,
3242 alloy::sol_types::sol_data::Address,
3243 );
3244 type DataToken<'a> = <Self::DataTuple<
3245 'a,
3246 > as alloy_sol_types::SolType>::Token<'a>;
3247 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
3248 const SIGNATURE: &'static str = "AdminChanged(address,address)";
3249 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3250 126u8, 100u8, 77u8, 121u8, 66u8, 47u8, 23u8, 192u8, 30u8, 72u8, 148u8,
3251 181u8, 244u8, 245u8, 136u8, 211u8, 49u8, 235u8, 250u8, 40u8, 101u8, 61u8,
3252 66u8, 174u8, 131u8, 45u8, 197u8, 158u8, 56u8, 201u8, 121u8, 143u8,
3253 ]);
3254 const ANONYMOUS: bool = false;
3255 #[allow(unused_variables)]
3256 #[inline]
3257 fn new(
3258 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3259 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3260 ) -> Self {
3261 Self {
3262 previousAdmin: data.0,
3263 newAdmin: data.1,
3264 }
3265 }
3266 #[inline]
3267 fn check_signature(
3268 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3269 ) -> alloy_sol_types::Result<()> {
3270 if topics.0 != Self::SIGNATURE_HASH {
3271 return Err(
3272 alloy_sol_types::Error::invalid_event_signature_hash(
3273 Self::SIGNATURE,
3274 topics.0,
3275 Self::SIGNATURE_HASH,
3276 ),
3277 );
3278 }
3279 Ok(())
3280 }
3281 #[inline]
3282 fn tokenize_body(&self) -> Self::DataToken<'_> {
3283 (
3284 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3285 &self.previousAdmin,
3286 ),
3287 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3288 &self.newAdmin,
3289 ),
3290 )
3291 }
3292 #[inline]
3293 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3294 (Self::SIGNATURE_HASH.into(),)
3295 }
3296 #[inline]
3297 fn encode_topics_raw(
3298 &self,
3299 out: &mut [alloy_sol_types::abi::token::WordToken],
3300 ) -> alloy_sol_types::Result<()> {
3301 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3302 return Err(alloy_sol_types::Error::Overrun);
3303 }
3304 out[0usize] = alloy_sol_types::abi::token::WordToken(
3305 Self::SIGNATURE_HASH,
3306 );
3307 Ok(())
3308 }
3309 }
3310 #[automatically_derived]
3311 impl alloy_sol_types::private::IntoLogData for AdminChanged {
3312 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3313 From::from(self)
3314 }
3315 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3316 From::from(&self)
3317 }
3318 }
3319 #[automatically_derived]
3320 impl From<&AdminChanged> for alloy_sol_types::private::LogData {
3321 #[inline]
3322 fn from(this: &AdminChanged) -> alloy_sol_types::private::LogData {
3323 alloy_sol_types::SolEvent::encode_log_data(this)
3324 }
3325 }
3326 };
3327 #[derive(serde::Serialize, serde::Deserialize)]
3328 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3329 #[allow(
3334 non_camel_case_types,
3335 non_snake_case,
3336 clippy::pub_underscore_fields,
3337 clippy::style
3338 )]
3339 #[derive(Clone)]
3340 pub struct BeaconUpgraded {
3341 #[allow(missing_docs)]
3342 pub beacon: alloy::sol_types::private::Address,
3343 }
3344 #[allow(
3345 non_camel_case_types,
3346 non_snake_case,
3347 clippy::pub_underscore_fields,
3348 clippy::style
3349 )]
3350 const _: () = {
3351 use alloy::sol_types as alloy_sol_types;
3352 #[automatically_derived]
3353 impl alloy_sol_types::SolEvent for BeaconUpgraded {
3354 type DataTuple<'a> = ();
3355 type DataToken<'a> = <Self::DataTuple<
3356 'a,
3357 > as alloy_sol_types::SolType>::Token<'a>;
3358 type TopicList = (
3359 alloy_sol_types::sol_data::FixedBytes<32>,
3360 alloy::sol_types::sol_data::Address,
3361 );
3362 const SIGNATURE: &'static str = "BeaconUpgraded(address)";
3363 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3364 28u8, 243u8, 176u8, 58u8, 108u8, 241u8, 159u8, 162u8, 186u8, 186u8, 77u8,
3365 241u8, 72u8, 233u8, 220u8, 171u8, 237u8, 234u8, 127u8, 138u8, 92u8, 7u8,
3366 132u8, 14u8, 32u8, 126u8, 92u8, 8u8, 155u8, 233u8, 93u8, 62u8,
3367 ]);
3368 const ANONYMOUS: bool = false;
3369 #[allow(unused_variables)]
3370 #[inline]
3371 fn new(
3372 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3373 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3374 ) -> Self {
3375 Self { beacon: topics.1 }
3376 }
3377 #[inline]
3378 fn check_signature(
3379 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3380 ) -> alloy_sol_types::Result<()> {
3381 if topics.0 != Self::SIGNATURE_HASH {
3382 return Err(
3383 alloy_sol_types::Error::invalid_event_signature_hash(
3384 Self::SIGNATURE,
3385 topics.0,
3386 Self::SIGNATURE_HASH,
3387 ),
3388 );
3389 }
3390 Ok(())
3391 }
3392 #[inline]
3393 fn tokenize_body(&self) -> Self::DataToken<'_> {
3394 ()
3395 }
3396 #[inline]
3397 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3398 (Self::SIGNATURE_HASH.into(), self.beacon.clone())
3399 }
3400 #[inline]
3401 fn encode_topics_raw(
3402 &self,
3403 out: &mut [alloy_sol_types::abi::token::WordToken],
3404 ) -> alloy_sol_types::Result<()> {
3405 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3406 return Err(alloy_sol_types::Error::Overrun);
3407 }
3408 out[0usize] = alloy_sol_types::abi::token::WordToken(
3409 Self::SIGNATURE_HASH,
3410 );
3411 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
3412 &self.beacon,
3413 );
3414 Ok(())
3415 }
3416 }
3417 #[automatically_derived]
3418 impl alloy_sol_types::private::IntoLogData for BeaconUpgraded {
3419 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3420 From::from(self)
3421 }
3422 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3423 From::from(&self)
3424 }
3425 }
3426 #[automatically_derived]
3427 impl From<&BeaconUpgraded> for alloy_sol_types::private::LogData {
3428 #[inline]
3429 fn from(this: &BeaconUpgraded) -> alloy_sol_types::private::LogData {
3430 alloy_sol_types::SolEvent::encode_log_data(this)
3431 }
3432 }
3433 };
3434 #[derive(serde::Serialize, serde::Deserialize)]
3435 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3436 #[allow(
3441 non_camel_case_types,
3442 non_snake_case,
3443 clippy::pub_underscore_fields,
3444 clippy::style
3445 )]
3446 #[derive(Clone)]
3447 pub struct ExecutionFailure;
3448 #[allow(
3449 non_camel_case_types,
3450 non_snake_case,
3451 clippy::pub_underscore_fields,
3452 clippy::style
3453 )]
3454 const _: () = {
3455 use alloy::sol_types as alloy_sol_types;
3456 #[automatically_derived]
3457 impl alloy_sol_types::SolEvent for ExecutionFailure {
3458 type DataTuple<'a> = ();
3459 type DataToken<'a> = <Self::DataTuple<
3460 'a,
3461 > as alloy_sol_types::SolType>::Token<'a>;
3462 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
3463 const SIGNATURE: &'static str = "ExecutionFailure()";
3464 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3465 194u8, 77u8, 147u8, 96u8, 138u8, 3u8, 210u8, 99u8, 255u8, 25u8, 29u8,
3466 118u8, 119u8, 20u8, 31u8, 94u8, 148u8, 196u8, 150u8, 229u8, 147u8, 16u8,
3467 143u8, 58u8, 174u8, 12u8, 181u8, 183u8, 4u8, 148u8, 196u8, 211u8,
3468 ]);
3469 const ANONYMOUS: bool = false;
3470 #[allow(unused_variables)]
3471 #[inline]
3472 fn new(
3473 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3474 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3475 ) -> Self {
3476 Self {}
3477 }
3478 #[inline]
3479 fn check_signature(
3480 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3481 ) -> alloy_sol_types::Result<()> {
3482 if topics.0 != Self::SIGNATURE_HASH {
3483 return Err(
3484 alloy_sol_types::Error::invalid_event_signature_hash(
3485 Self::SIGNATURE,
3486 topics.0,
3487 Self::SIGNATURE_HASH,
3488 ),
3489 );
3490 }
3491 Ok(())
3492 }
3493 #[inline]
3494 fn tokenize_body(&self) -> Self::DataToken<'_> {
3495 ()
3496 }
3497 #[inline]
3498 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3499 (Self::SIGNATURE_HASH.into(),)
3500 }
3501 #[inline]
3502 fn encode_topics_raw(
3503 &self,
3504 out: &mut [alloy_sol_types::abi::token::WordToken],
3505 ) -> alloy_sol_types::Result<()> {
3506 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3507 return Err(alloy_sol_types::Error::Overrun);
3508 }
3509 out[0usize] = alloy_sol_types::abi::token::WordToken(
3510 Self::SIGNATURE_HASH,
3511 );
3512 Ok(())
3513 }
3514 }
3515 #[automatically_derived]
3516 impl alloy_sol_types::private::IntoLogData for ExecutionFailure {
3517 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3518 From::from(self)
3519 }
3520 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3521 From::from(&self)
3522 }
3523 }
3524 #[automatically_derived]
3525 impl From<&ExecutionFailure> for alloy_sol_types::private::LogData {
3526 #[inline]
3527 fn from(this: &ExecutionFailure) -> alloy_sol_types::private::LogData {
3528 alloy_sol_types::SolEvent::encode_log_data(this)
3529 }
3530 }
3531 };
3532 #[derive(serde::Serialize, serde::Deserialize)]
3533 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3534 #[allow(
3539 non_camel_case_types,
3540 non_snake_case,
3541 clippy::pub_underscore_fields,
3542 clippy::style
3543 )]
3544 #[derive(Clone)]
3545 pub struct ExecutionSuccess;
3546 #[allow(
3547 non_camel_case_types,
3548 non_snake_case,
3549 clippy::pub_underscore_fields,
3550 clippy::style
3551 )]
3552 const _: () = {
3553 use alloy::sol_types as alloy_sol_types;
3554 #[automatically_derived]
3555 impl alloy_sol_types::SolEvent for ExecutionSuccess {
3556 type DataTuple<'a> = ();
3557 type DataToken<'a> = <Self::DataTuple<
3558 'a,
3559 > as alloy_sol_types::SolType>::Token<'a>;
3560 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
3561 const SIGNATURE: &'static str = "ExecutionSuccess()";
3562 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3563 78u8, 46u8, 134u8, 210u8, 19u8, 117u8, 235u8, 203u8, 246u8, 233u8, 61u8,
3564 245u8, 235u8, 221u8, 90u8, 145u8, 91u8, 248u8, 48u8, 36u8, 89u8, 4u8,
3565 195u8, 181u8, 79u8, 72u8, 173u8, 240u8, 23u8, 10u8, 174u8, 75u8,
3566 ]);
3567 const ANONYMOUS: bool = false;
3568 #[allow(unused_variables)]
3569 #[inline]
3570 fn new(
3571 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3572 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3573 ) -> Self {
3574 Self {}
3575 }
3576 #[inline]
3577 fn check_signature(
3578 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3579 ) -> alloy_sol_types::Result<()> {
3580 if topics.0 != Self::SIGNATURE_HASH {
3581 return Err(
3582 alloy_sol_types::Error::invalid_event_signature_hash(
3583 Self::SIGNATURE,
3584 topics.0,
3585 Self::SIGNATURE_HASH,
3586 ),
3587 );
3588 }
3589 Ok(())
3590 }
3591 #[inline]
3592 fn tokenize_body(&self) -> Self::DataToken<'_> {
3593 ()
3594 }
3595 #[inline]
3596 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3597 (Self::SIGNATURE_HASH.into(),)
3598 }
3599 #[inline]
3600 fn encode_topics_raw(
3601 &self,
3602 out: &mut [alloy_sol_types::abi::token::WordToken],
3603 ) -> alloy_sol_types::Result<()> {
3604 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3605 return Err(alloy_sol_types::Error::Overrun);
3606 }
3607 out[0usize] = alloy_sol_types::abi::token::WordToken(
3608 Self::SIGNATURE_HASH,
3609 );
3610 Ok(())
3611 }
3612 }
3613 #[automatically_derived]
3614 impl alloy_sol_types::private::IntoLogData for ExecutionSuccess {
3615 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3616 From::from(self)
3617 }
3618 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3619 From::from(&self)
3620 }
3621 }
3622 #[automatically_derived]
3623 impl From<&ExecutionSuccess> for alloy_sol_types::private::LogData {
3624 #[inline]
3625 fn from(this: &ExecutionSuccess) -> alloy_sol_types::private::LogData {
3626 alloy_sol_types::SolEvent::encode_log_data(this)
3627 }
3628 }
3629 };
3630 #[derive(serde::Serialize, serde::Deserialize)]
3631 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3632 #[allow(
3637 non_camel_case_types,
3638 non_snake_case,
3639 clippy::pub_underscore_fields,
3640 clippy::style
3641 )]
3642 #[derive(Clone)]
3643 pub struct Initialized {
3644 #[allow(missing_docs)]
3645 pub version: u8,
3646 }
3647 #[allow(
3648 non_camel_case_types,
3649 non_snake_case,
3650 clippy::pub_underscore_fields,
3651 clippy::style
3652 )]
3653 const _: () = {
3654 use alloy::sol_types as alloy_sol_types;
3655 #[automatically_derived]
3656 impl alloy_sol_types::SolEvent for Initialized {
3657 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
3658 type DataToken<'a> = <Self::DataTuple<
3659 'a,
3660 > as alloy_sol_types::SolType>::Token<'a>;
3661 type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
3662 const SIGNATURE: &'static str = "Initialized(uint8)";
3663 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3664 127u8, 38u8, 184u8, 63u8, 249u8, 110u8, 31u8, 43u8, 106u8, 104u8, 47u8,
3665 19u8, 56u8, 82u8, 246u8, 121u8, 138u8, 9u8, 196u8, 101u8, 218u8, 149u8,
3666 146u8, 20u8, 96u8, 206u8, 251u8, 56u8, 71u8, 64u8, 36u8, 152u8,
3667 ]);
3668 const ANONYMOUS: bool = false;
3669 #[allow(unused_variables)]
3670 #[inline]
3671 fn new(
3672 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3673 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3674 ) -> Self {
3675 Self { version: data.0 }
3676 }
3677 #[inline]
3678 fn check_signature(
3679 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3680 ) -> alloy_sol_types::Result<()> {
3681 if topics.0 != Self::SIGNATURE_HASH {
3682 return Err(
3683 alloy_sol_types::Error::invalid_event_signature_hash(
3684 Self::SIGNATURE,
3685 topics.0,
3686 Self::SIGNATURE_HASH,
3687 ),
3688 );
3689 }
3690 Ok(())
3691 }
3692 #[inline]
3693 fn tokenize_body(&self) -> Self::DataToken<'_> {
3694 (
3695 <alloy::sol_types::sol_data::Uint<
3696 8,
3697 > as alloy_sol_types::SolType>::tokenize(&self.version),
3698 )
3699 }
3700 #[inline]
3701 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3702 (Self::SIGNATURE_HASH.into(),)
3703 }
3704 #[inline]
3705 fn encode_topics_raw(
3706 &self,
3707 out: &mut [alloy_sol_types::abi::token::WordToken],
3708 ) -> alloy_sol_types::Result<()> {
3709 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3710 return Err(alloy_sol_types::Error::Overrun);
3711 }
3712 out[0usize] = alloy_sol_types::abi::token::WordToken(
3713 Self::SIGNATURE_HASH,
3714 );
3715 Ok(())
3716 }
3717 }
3718 #[automatically_derived]
3719 impl alloy_sol_types::private::IntoLogData for Initialized {
3720 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3721 From::from(self)
3722 }
3723 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3724 From::from(&self)
3725 }
3726 }
3727 #[automatically_derived]
3728 impl From<&Initialized> for alloy_sol_types::private::LogData {
3729 #[inline]
3730 fn from(this: &Initialized) -> alloy_sol_types::private::LogData {
3731 alloy_sol_types::SolEvent::encode_log_data(this)
3732 }
3733 }
3734 };
3735 #[derive(serde::Serialize, serde::Deserialize)]
3736 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3737 #[allow(
3742 non_camel_case_types,
3743 non_snake_case,
3744 clippy::pub_underscore_fields,
3745 clippy::style
3746 )]
3747 #[derive(Clone)]
3748 pub struct NodeAdded {
3749 #[allow(missing_docs)]
3750 pub node: alloy::sol_types::private::Address,
3751 }
3752 #[allow(
3753 non_camel_case_types,
3754 non_snake_case,
3755 clippy::pub_underscore_fields,
3756 clippy::style
3757 )]
3758 const _: () = {
3759 use alloy::sol_types as alloy_sol_types;
3760 #[automatically_derived]
3761 impl alloy_sol_types::SolEvent for NodeAdded {
3762 type DataTuple<'a> = ();
3763 type DataToken<'a> = <Self::DataTuple<
3764 'a,
3765 > as alloy_sol_types::SolType>::Token<'a>;
3766 type TopicList = (
3767 alloy_sol_types::sol_data::FixedBytes<32>,
3768 alloy::sol_types::sol_data::Address,
3769 );
3770 const SIGNATURE: &'static str = "NodeAdded(address)";
3771 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3772 178u8, 93u8, 3u8, 170u8, 243u8, 8u8, 215u8, 41u8, 23u8, 9u8, 190u8, 30u8,
3773 162u8, 139u8, 128u8, 4u8, 99u8, 207u8, 58u8, 154u8, 76u8, 74u8, 85u8,
3774 85u8, 215u8, 51u8, 58u8, 150u8, 76u8, 29u8, 254u8, 189u8,
3775 ]);
3776 const ANONYMOUS: bool = false;
3777 #[allow(unused_variables)]
3778 #[inline]
3779 fn new(
3780 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3781 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3782 ) -> Self {
3783 Self { node: topics.1 }
3784 }
3785 #[inline]
3786 fn check_signature(
3787 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3788 ) -> alloy_sol_types::Result<()> {
3789 if topics.0 != Self::SIGNATURE_HASH {
3790 return Err(
3791 alloy_sol_types::Error::invalid_event_signature_hash(
3792 Self::SIGNATURE,
3793 topics.0,
3794 Self::SIGNATURE_HASH,
3795 ),
3796 );
3797 }
3798 Ok(())
3799 }
3800 #[inline]
3801 fn tokenize_body(&self) -> Self::DataToken<'_> {
3802 ()
3803 }
3804 #[inline]
3805 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3806 (Self::SIGNATURE_HASH.into(), self.node.clone())
3807 }
3808 #[inline]
3809 fn encode_topics_raw(
3810 &self,
3811 out: &mut [alloy_sol_types::abi::token::WordToken],
3812 ) -> alloy_sol_types::Result<()> {
3813 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3814 return Err(alloy_sol_types::Error::Overrun);
3815 }
3816 out[0usize] = alloy_sol_types::abi::token::WordToken(
3817 Self::SIGNATURE_HASH,
3818 );
3819 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
3820 &self.node,
3821 );
3822 Ok(())
3823 }
3824 }
3825 #[automatically_derived]
3826 impl alloy_sol_types::private::IntoLogData for NodeAdded {
3827 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3828 From::from(self)
3829 }
3830 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3831 From::from(&self)
3832 }
3833 }
3834 #[automatically_derived]
3835 impl From<&NodeAdded> for alloy_sol_types::private::LogData {
3836 #[inline]
3837 fn from(this: &NodeAdded) -> alloy_sol_types::private::LogData {
3838 alloy_sol_types::SolEvent::encode_log_data(this)
3839 }
3840 }
3841 };
3842 #[derive(serde::Serialize, serde::Deserialize)]
3843 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3844 #[allow(
3849 non_camel_case_types,
3850 non_snake_case,
3851 clippy::pub_underscore_fields,
3852 clippy::style
3853 )]
3854 #[derive(Clone)]
3855 pub struct NodeRemoved {
3856 #[allow(missing_docs)]
3857 pub node: alloy::sol_types::private::Address,
3858 }
3859 #[allow(
3860 non_camel_case_types,
3861 non_snake_case,
3862 clippy::pub_underscore_fields,
3863 clippy::style
3864 )]
3865 const _: () = {
3866 use alloy::sol_types as alloy_sol_types;
3867 #[automatically_derived]
3868 impl alloy_sol_types::SolEvent for NodeRemoved {
3869 type DataTuple<'a> = ();
3870 type DataToken<'a> = <Self::DataTuple<
3871 'a,
3872 > as alloy_sol_types::SolType>::Token<'a>;
3873 type TopicList = (
3874 alloy_sol_types::sol_data::FixedBytes<32>,
3875 alloy::sol_types::sol_data::Address,
3876 );
3877 const SIGNATURE: &'static str = "NodeRemoved(address)";
3878 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3879 207u8, 194u8, 65u8, 102u8, 219u8, 75u8, 182u8, 119u8, 232u8, 87u8, 202u8,
3880 202u8, 189u8, 21u8, 65u8, 251u8, 43u8, 48u8, 100u8, 80u8, 33u8, 178u8,
3881 124u8, 81u8, 48u8, 65u8, 149u8, 137u8, 184u8, 77u8, 181u8, 43u8,
3882 ]);
3883 const ANONYMOUS: bool = false;
3884 #[allow(unused_variables)]
3885 #[inline]
3886 fn new(
3887 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3888 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3889 ) -> Self {
3890 Self { node: topics.1 }
3891 }
3892 #[inline]
3893 fn check_signature(
3894 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
3895 ) -> alloy_sol_types::Result<()> {
3896 if topics.0 != Self::SIGNATURE_HASH {
3897 return Err(
3898 alloy_sol_types::Error::invalid_event_signature_hash(
3899 Self::SIGNATURE,
3900 topics.0,
3901 Self::SIGNATURE_HASH,
3902 ),
3903 );
3904 }
3905 Ok(())
3906 }
3907 #[inline]
3908 fn tokenize_body(&self) -> Self::DataToken<'_> {
3909 ()
3910 }
3911 #[inline]
3912 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
3913 (Self::SIGNATURE_HASH.into(), self.node.clone())
3914 }
3915 #[inline]
3916 fn encode_topics_raw(
3917 &self,
3918 out: &mut [alloy_sol_types::abi::token::WordToken],
3919 ) -> alloy_sol_types::Result<()> {
3920 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
3921 return Err(alloy_sol_types::Error::Overrun);
3922 }
3923 out[0usize] = alloy_sol_types::abi::token::WordToken(
3924 Self::SIGNATURE_HASH,
3925 );
3926 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
3927 &self.node,
3928 );
3929 Ok(())
3930 }
3931 }
3932 #[automatically_derived]
3933 impl alloy_sol_types::private::IntoLogData for NodeRemoved {
3934 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
3935 From::from(self)
3936 }
3937 fn into_log_data(self) -> alloy_sol_types::private::LogData {
3938 From::from(&self)
3939 }
3940 }
3941 #[automatically_derived]
3942 impl From<&NodeRemoved> for alloy_sol_types::private::LogData {
3943 #[inline]
3944 fn from(this: &NodeRemoved) -> alloy_sol_types::private::LogData {
3945 alloy_sol_types::SolEvent::encode_log_data(this)
3946 }
3947 }
3948 };
3949 #[derive(serde::Serialize, serde::Deserialize)]
3950 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3951 #[allow(
3956 non_camel_case_types,
3957 non_snake_case,
3958 clippy::pub_underscore_fields,
3959 clippy::style
3960 )]
3961 #[derive(Clone)]
3962 pub struct OwnershipTransferred {
3963 #[allow(missing_docs)]
3964 pub previousOwner: alloy::sol_types::private::Address,
3965 #[allow(missing_docs)]
3966 pub newOwner: alloy::sol_types::private::Address,
3967 }
3968 #[allow(
3969 non_camel_case_types,
3970 non_snake_case,
3971 clippy::pub_underscore_fields,
3972 clippy::style
3973 )]
3974 const _: () = {
3975 use alloy::sol_types as alloy_sol_types;
3976 #[automatically_derived]
3977 impl alloy_sol_types::SolEvent for OwnershipTransferred {
3978 type DataTuple<'a> = ();
3979 type DataToken<'a> = <Self::DataTuple<
3980 'a,
3981 > as alloy_sol_types::SolType>::Token<'a>;
3982 type TopicList = (
3983 alloy_sol_types::sol_data::FixedBytes<32>,
3984 alloy::sol_types::sol_data::Address,
3985 alloy::sol_types::sol_data::Address,
3986 );
3987 const SIGNATURE: &'static str = "OwnershipTransferred(address,address)";
3988 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
3989 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
3990 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
3991 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
3992 ]);
3993 const ANONYMOUS: bool = false;
3994 #[allow(unused_variables)]
3995 #[inline]
3996 fn new(
3997 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
3998 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
3999 ) -> Self {
4000 Self {
4001 previousOwner: topics.1,
4002 newOwner: topics.2,
4003 }
4004 }
4005 #[inline]
4006 fn check_signature(
4007 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4008 ) -> alloy_sol_types::Result<()> {
4009 if topics.0 != Self::SIGNATURE_HASH {
4010 return Err(
4011 alloy_sol_types::Error::invalid_event_signature_hash(
4012 Self::SIGNATURE,
4013 topics.0,
4014 Self::SIGNATURE_HASH,
4015 ),
4016 );
4017 }
4018 Ok(())
4019 }
4020 #[inline]
4021 fn tokenize_body(&self) -> Self::DataToken<'_> {
4022 ()
4023 }
4024 #[inline]
4025 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4026 (
4027 Self::SIGNATURE_HASH.into(),
4028 self.previousOwner.clone(),
4029 self.newOwner.clone(),
4030 )
4031 }
4032 #[inline]
4033 fn encode_topics_raw(
4034 &self,
4035 out: &mut [alloy_sol_types::abi::token::WordToken],
4036 ) -> alloy_sol_types::Result<()> {
4037 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4038 return Err(alloy_sol_types::Error::Overrun);
4039 }
4040 out[0usize] = alloy_sol_types::abi::token::WordToken(
4041 Self::SIGNATURE_HASH,
4042 );
4043 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4044 &self.previousOwner,
4045 );
4046 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4047 &self.newOwner,
4048 );
4049 Ok(())
4050 }
4051 }
4052 #[automatically_derived]
4053 impl alloy_sol_types::private::IntoLogData for OwnershipTransferred {
4054 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4055 From::from(self)
4056 }
4057 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4058 From::from(&self)
4059 }
4060 }
4061 #[automatically_derived]
4062 impl From<&OwnershipTransferred> for alloy_sol_types::private::LogData {
4063 #[inline]
4064 fn from(this: &OwnershipTransferred) -> alloy_sol_types::private::LogData {
4065 alloy_sol_types::SolEvent::encode_log_data(this)
4066 }
4067 }
4068 };
4069 #[derive(serde::Serialize, serde::Deserialize)]
4070 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4071 #[allow(
4076 non_camel_case_types,
4077 non_snake_case,
4078 clippy::pub_underscore_fields,
4079 clippy::style
4080 )]
4081 #[derive(Clone)]
4082 pub struct SetMultisendAddress {
4083 #[allow(missing_docs)]
4084 pub multisendAddress: alloy::sol_types::private::Address,
4085 }
4086 #[allow(
4087 non_camel_case_types,
4088 non_snake_case,
4089 clippy::pub_underscore_fields,
4090 clippy::style
4091 )]
4092 const _: () = {
4093 use alloy::sol_types as alloy_sol_types;
4094 #[automatically_derived]
4095 impl alloy_sol_types::SolEvent for SetMultisendAddress {
4096 type DataTuple<'a> = ();
4097 type DataToken<'a> = <Self::DataTuple<
4098 'a,
4099 > as alloy_sol_types::SolType>::Token<'a>;
4100 type TopicList = (
4101 alloy_sol_types::sol_data::FixedBytes<32>,
4102 alloy::sol_types::sol_data::Address,
4103 );
4104 const SIGNATURE: &'static str = "SetMultisendAddress(address)";
4105 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4106 95u8, 230u8, 170u8, 191u8, 78u8, 121u8, 8u8, 67u8, 223u8, 67u8, 174u8,
4107 14u8, 34u8, 181u8, 134u8, 32u8, 6u8, 111u8, 179u8, 137u8, 41u8, 91u8,
4108 237u8, 192u8, 106u8, 146u8, 223u8, 108u8, 59u8, 40u8, 119u8, 125u8,
4109 ]);
4110 const ANONYMOUS: bool = false;
4111 #[allow(unused_variables)]
4112 #[inline]
4113 fn new(
4114 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4115 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4116 ) -> Self {
4117 Self { multisendAddress: topics.1 }
4118 }
4119 #[inline]
4120 fn check_signature(
4121 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4122 ) -> alloy_sol_types::Result<()> {
4123 if topics.0 != Self::SIGNATURE_HASH {
4124 return Err(
4125 alloy_sol_types::Error::invalid_event_signature_hash(
4126 Self::SIGNATURE,
4127 topics.0,
4128 Self::SIGNATURE_HASH,
4129 ),
4130 );
4131 }
4132 Ok(())
4133 }
4134 #[inline]
4135 fn tokenize_body(&self) -> Self::DataToken<'_> {
4136 ()
4137 }
4138 #[inline]
4139 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4140 (Self::SIGNATURE_HASH.into(), self.multisendAddress.clone())
4141 }
4142 #[inline]
4143 fn encode_topics_raw(
4144 &self,
4145 out: &mut [alloy_sol_types::abi::token::WordToken],
4146 ) -> alloy_sol_types::Result<()> {
4147 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4148 return Err(alloy_sol_types::Error::Overrun);
4149 }
4150 out[0usize] = alloy_sol_types::abi::token::WordToken(
4151 Self::SIGNATURE_HASH,
4152 );
4153 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4154 &self.multisendAddress,
4155 );
4156 Ok(())
4157 }
4158 }
4159 #[automatically_derived]
4160 impl alloy_sol_types::private::IntoLogData for SetMultisendAddress {
4161 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4162 From::from(self)
4163 }
4164 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4165 From::from(&self)
4166 }
4167 }
4168 #[automatically_derived]
4169 impl From<&SetMultisendAddress> for alloy_sol_types::private::LogData {
4170 #[inline]
4171 fn from(this: &SetMultisendAddress) -> alloy_sol_types::private::LogData {
4172 alloy_sol_types::SolEvent::encode_log_data(this)
4173 }
4174 }
4175 };
4176 #[derive(serde::Serialize, serde::Deserialize)]
4177 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4178 #[allow(
4183 non_camel_case_types,
4184 non_snake_case,
4185 clippy::pub_underscore_fields,
4186 clippy::style
4187 )]
4188 #[derive(Clone)]
4189 pub struct Upgraded {
4190 #[allow(missing_docs)]
4191 pub implementation: alloy::sol_types::private::Address,
4192 }
4193 #[allow(
4194 non_camel_case_types,
4195 non_snake_case,
4196 clippy::pub_underscore_fields,
4197 clippy::style
4198 )]
4199 const _: () = {
4200 use alloy::sol_types as alloy_sol_types;
4201 #[automatically_derived]
4202 impl alloy_sol_types::SolEvent for Upgraded {
4203 type DataTuple<'a> = ();
4204 type DataToken<'a> = <Self::DataTuple<
4205 'a,
4206 > as alloy_sol_types::SolType>::Token<'a>;
4207 type TopicList = (
4208 alloy_sol_types::sol_data::FixedBytes<32>,
4209 alloy::sol_types::sol_data::Address,
4210 );
4211 const SIGNATURE: &'static str = "Upgraded(address)";
4212 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
4213 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
4214 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
4215 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
4216 ]);
4217 const ANONYMOUS: bool = false;
4218 #[allow(unused_variables)]
4219 #[inline]
4220 fn new(
4221 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
4222 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
4223 ) -> Self {
4224 Self { implementation: topics.1 }
4225 }
4226 #[inline]
4227 fn check_signature(
4228 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
4229 ) -> alloy_sol_types::Result<()> {
4230 if topics.0 != Self::SIGNATURE_HASH {
4231 return Err(
4232 alloy_sol_types::Error::invalid_event_signature_hash(
4233 Self::SIGNATURE,
4234 topics.0,
4235 Self::SIGNATURE_HASH,
4236 ),
4237 );
4238 }
4239 Ok(())
4240 }
4241 #[inline]
4242 fn tokenize_body(&self) -> Self::DataToken<'_> {
4243 ()
4244 }
4245 #[inline]
4246 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
4247 (Self::SIGNATURE_HASH.into(), self.implementation.clone())
4248 }
4249 #[inline]
4250 fn encode_topics_raw(
4251 &self,
4252 out: &mut [alloy_sol_types::abi::token::WordToken],
4253 ) -> alloy_sol_types::Result<()> {
4254 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
4255 return Err(alloy_sol_types::Error::Overrun);
4256 }
4257 out[0usize] = alloy_sol_types::abi::token::WordToken(
4258 Self::SIGNATURE_HASH,
4259 );
4260 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
4261 &self.implementation,
4262 );
4263 Ok(())
4264 }
4265 }
4266 #[automatically_derived]
4267 impl alloy_sol_types::private::IntoLogData for Upgraded {
4268 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
4269 From::from(self)
4270 }
4271 fn into_log_data(self) -> alloy_sol_types::private::LogData {
4272 From::from(&self)
4273 }
4274 }
4275 #[automatically_derived]
4276 impl From<&Upgraded> for alloy_sol_types::private::LogData {
4277 #[inline]
4278 fn from(this: &Upgraded) -> alloy_sol_types::private::LogData {
4279 alloy_sol_types::SolEvent::encode_log_data(this)
4280 }
4281 }
4282 };
4283 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4288 #[derive(Clone)]
4289 pub struct constructorCall {}
4290 const _: () = {
4291 use alloy::sol_types as alloy_sol_types;
4292 {
4293 #[doc(hidden)]
4294 type UnderlyingSolTuple<'a> = ();
4295 #[doc(hidden)]
4296 type UnderlyingRustTuple<'a> = ();
4297 #[cfg(test)]
4298 #[allow(dead_code, unreachable_patterns)]
4299 fn _type_assertion(
4300 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4301 ) {
4302 match _t {
4303 alloy_sol_types::private::AssertTypeEq::<
4304 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4305 >(_) => {}
4306 }
4307 }
4308 #[automatically_derived]
4309 #[doc(hidden)]
4310 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
4311 fn from(value: constructorCall) -> Self {
4312 ()
4313 }
4314 }
4315 #[automatically_derived]
4316 #[doc(hidden)]
4317 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
4318 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4319 Self {}
4320 }
4321 }
4322 }
4323 #[automatically_derived]
4324 impl alloy_sol_types::SolConstructor for constructorCall {
4325 type Parameters<'a> = ();
4326 type Token<'a> = <Self::Parameters<
4327 'a,
4328 > as alloy_sol_types::SolType>::Token<'a>;
4329 #[inline]
4330 fn new<'a>(
4331 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4332 ) -> Self {
4333 tuple.into()
4334 }
4335 #[inline]
4336 fn tokenize(&self) -> Self::Token<'_> {
4337 ()
4338 }
4339 }
4340 };
4341 #[derive(serde::Serialize, serde::Deserialize)]
4342 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4343 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4348 #[derive(Clone)]
4349 pub struct addChannelsAndTokenTargetCall {
4350 #[allow(missing_docs)]
4351 pub defaultTarget: <Target as alloy::sol_types::SolType>::RustType,
4352 }
4353 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4355 #[derive(Clone)]
4356 pub struct addChannelsAndTokenTargetReturn {}
4357 #[allow(
4358 non_camel_case_types,
4359 non_snake_case,
4360 clippy::pub_underscore_fields,
4361 clippy::style
4362 )]
4363 const _: () = {
4364 use alloy::sol_types as alloy_sol_types;
4365 {
4366 #[doc(hidden)]
4367 type UnderlyingSolTuple<'a> = (Target,);
4368 #[doc(hidden)]
4369 type UnderlyingRustTuple<'a> = (
4370 <Target as alloy::sol_types::SolType>::RustType,
4371 );
4372 #[cfg(test)]
4373 #[allow(dead_code, unreachable_patterns)]
4374 fn _type_assertion(
4375 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4376 ) {
4377 match _t {
4378 alloy_sol_types::private::AssertTypeEq::<
4379 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4380 >(_) => {}
4381 }
4382 }
4383 #[automatically_derived]
4384 #[doc(hidden)]
4385 impl ::core::convert::From<addChannelsAndTokenTargetCall>
4386 for UnderlyingRustTuple<'_> {
4387 fn from(value: addChannelsAndTokenTargetCall) -> Self {
4388 (value.defaultTarget,)
4389 }
4390 }
4391 #[automatically_derived]
4392 #[doc(hidden)]
4393 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4394 for addChannelsAndTokenTargetCall {
4395 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4396 Self { defaultTarget: tuple.0 }
4397 }
4398 }
4399 }
4400 {
4401 #[doc(hidden)]
4402 type UnderlyingSolTuple<'a> = ();
4403 #[doc(hidden)]
4404 type UnderlyingRustTuple<'a> = ();
4405 #[cfg(test)]
4406 #[allow(dead_code, unreachable_patterns)]
4407 fn _type_assertion(
4408 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4409 ) {
4410 match _t {
4411 alloy_sol_types::private::AssertTypeEq::<
4412 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4413 >(_) => {}
4414 }
4415 }
4416 #[automatically_derived]
4417 #[doc(hidden)]
4418 impl ::core::convert::From<addChannelsAndTokenTargetReturn>
4419 for UnderlyingRustTuple<'_> {
4420 fn from(value: addChannelsAndTokenTargetReturn) -> Self {
4421 ()
4422 }
4423 }
4424 #[automatically_derived]
4425 #[doc(hidden)]
4426 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4427 for addChannelsAndTokenTargetReturn {
4428 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4429 Self {}
4430 }
4431 }
4432 }
4433 impl addChannelsAndTokenTargetReturn {
4434 fn _tokenize(
4435 &self,
4436 ) -> <addChannelsAndTokenTargetCall as alloy_sol_types::SolCall>::ReturnToken<
4437 '_,
4438 > {
4439 ()
4440 }
4441 }
4442 #[automatically_derived]
4443 impl alloy_sol_types::SolCall for addChannelsAndTokenTargetCall {
4444 type Parameters<'a> = (Target,);
4445 type Token<'a> = <Self::Parameters<
4446 'a,
4447 > as alloy_sol_types::SolType>::Token<'a>;
4448 type Return = addChannelsAndTokenTargetReturn;
4449 type ReturnTuple<'a> = ();
4450 type ReturnToken<'a> = <Self::ReturnTuple<
4451 'a,
4452 > as alloy_sol_types::SolType>::Token<'a>;
4453 const SIGNATURE: &'static str = "addChannelsAndTokenTarget(uint256)";
4454 const SELECTOR: [u8; 4] = [162u8, 69u8, 15u8, 137u8];
4455 #[inline]
4456 fn new<'a>(
4457 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4458 ) -> Self {
4459 tuple.into()
4460 }
4461 #[inline]
4462 fn tokenize(&self) -> Self::Token<'_> {
4463 (<Target as alloy_sol_types::SolType>::tokenize(&self.defaultTarget),)
4464 }
4465 #[inline]
4466 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4467 addChannelsAndTokenTargetReturn::_tokenize(ret)
4468 }
4469 #[inline]
4470 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4471 <Self::ReturnTuple<
4472 '_,
4473 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4474 .map(Into::into)
4475 }
4476 #[inline]
4477 fn abi_decode_returns_validate(
4478 data: &[u8],
4479 ) -> alloy_sol_types::Result<Self::Return> {
4480 <Self::ReturnTuple<
4481 '_,
4482 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4483 .map(Into::into)
4484 }
4485 }
4486 };
4487 #[derive(serde::Serialize, serde::Deserialize)]
4488 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4489 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4494 #[derive(Clone)]
4495 pub struct addNodeCall {
4496 #[allow(missing_docs)]
4497 pub nodeAddress: alloy::sol_types::private::Address,
4498 }
4499 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4501 #[derive(Clone)]
4502 pub struct addNodeReturn {}
4503 #[allow(
4504 non_camel_case_types,
4505 non_snake_case,
4506 clippy::pub_underscore_fields,
4507 clippy::style
4508 )]
4509 const _: () = {
4510 use alloy::sol_types as alloy_sol_types;
4511 {
4512 #[doc(hidden)]
4513 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4514 #[doc(hidden)]
4515 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4516 #[cfg(test)]
4517 #[allow(dead_code, unreachable_patterns)]
4518 fn _type_assertion(
4519 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4520 ) {
4521 match _t {
4522 alloy_sol_types::private::AssertTypeEq::<
4523 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4524 >(_) => {}
4525 }
4526 }
4527 #[automatically_derived]
4528 #[doc(hidden)]
4529 impl ::core::convert::From<addNodeCall> for UnderlyingRustTuple<'_> {
4530 fn from(value: addNodeCall) -> Self {
4531 (value.nodeAddress,)
4532 }
4533 }
4534 #[automatically_derived]
4535 #[doc(hidden)]
4536 impl ::core::convert::From<UnderlyingRustTuple<'_>> for addNodeCall {
4537 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4538 Self { nodeAddress: tuple.0 }
4539 }
4540 }
4541 }
4542 {
4543 #[doc(hidden)]
4544 type UnderlyingSolTuple<'a> = ();
4545 #[doc(hidden)]
4546 type UnderlyingRustTuple<'a> = ();
4547 #[cfg(test)]
4548 #[allow(dead_code, unreachable_patterns)]
4549 fn _type_assertion(
4550 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4551 ) {
4552 match _t {
4553 alloy_sol_types::private::AssertTypeEq::<
4554 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4555 >(_) => {}
4556 }
4557 }
4558 #[automatically_derived]
4559 #[doc(hidden)]
4560 impl ::core::convert::From<addNodeReturn> for UnderlyingRustTuple<'_> {
4561 fn from(value: addNodeReturn) -> Self {
4562 ()
4563 }
4564 }
4565 #[automatically_derived]
4566 #[doc(hidden)]
4567 impl ::core::convert::From<UnderlyingRustTuple<'_>> for addNodeReturn {
4568 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4569 Self {}
4570 }
4571 }
4572 }
4573 impl addNodeReturn {
4574 fn _tokenize(
4575 &self,
4576 ) -> <addNodeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
4577 ()
4578 }
4579 }
4580 #[automatically_derived]
4581 impl alloy_sol_types::SolCall for addNodeCall {
4582 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
4583 type Token<'a> = <Self::Parameters<
4584 'a,
4585 > as alloy_sol_types::SolType>::Token<'a>;
4586 type Return = addNodeReturn;
4587 type ReturnTuple<'a> = ();
4588 type ReturnToken<'a> = <Self::ReturnTuple<
4589 'a,
4590 > as alloy_sol_types::SolType>::Token<'a>;
4591 const SIGNATURE: &'static str = "addNode(address)";
4592 const SELECTOR: [u8; 4] = [157u8, 149u8, 241u8, 204u8];
4593 #[inline]
4594 fn new<'a>(
4595 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4596 ) -> Self {
4597 tuple.into()
4598 }
4599 #[inline]
4600 fn tokenize(&self) -> Self::Token<'_> {
4601 (
4602 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4603 &self.nodeAddress,
4604 ),
4605 )
4606 }
4607 #[inline]
4608 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4609 addNodeReturn::_tokenize(ret)
4610 }
4611 #[inline]
4612 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4613 <Self::ReturnTuple<
4614 '_,
4615 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4616 .map(Into::into)
4617 }
4618 #[inline]
4619 fn abi_decode_returns_validate(
4620 data: &[u8],
4621 ) -> alloy_sol_types::Result<Self::Return> {
4622 <Self::ReturnTuple<
4623 '_,
4624 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4625 .map(Into::into)
4626 }
4627 }
4628 };
4629 #[derive(serde::Serialize, serde::Deserialize)]
4630 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4631 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4636 #[derive(Clone)]
4637 pub struct decodeFunctionSigsAndPermissionsCall {
4638 #[allow(missing_docs)]
4639 pub encoded: alloy::sol_types::private::FixedBytes<32>,
4640 #[allow(missing_docs)]
4641 pub length: alloy::sol_types::private::primitives::aliases::U256,
4642 }
4643 #[derive(serde::Serialize, serde::Deserialize)]
4644 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4645 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4647 #[derive(Clone)]
4648 pub struct decodeFunctionSigsAndPermissionsReturn {
4649 #[allow(missing_docs)]
4650 pub functionSigs: alloy::sol_types::private::Vec<
4651 alloy::sol_types::private::FixedBytes<4>,
4652 >,
4653 #[allow(missing_docs)]
4654 pub permissions: alloy::sol_types::private::Vec<
4655 <GranularPermission as alloy::sol_types::SolType>::RustType,
4656 >,
4657 }
4658 #[allow(
4659 non_camel_case_types,
4660 non_snake_case,
4661 clippy::pub_underscore_fields,
4662 clippy::style
4663 )]
4664 const _: () = {
4665 use alloy::sol_types as alloy_sol_types;
4666 {
4667 #[doc(hidden)]
4668 type UnderlyingSolTuple<'a> = (
4669 alloy::sol_types::sol_data::FixedBytes<32>,
4670 alloy::sol_types::sol_data::Uint<256>,
4671 );
4672 #[doc(hidden)]
4673 type UnderlyingRustTuple<'a> = (
4674 alloy::sol_types::private::FixedBytes<32>,
4675 alloy::sol_types::private::primitives::aliases::U256,
4676 );
4677 #[cfg(test)]
4678 #[allow(dead_code, unreachable_patterns)]
4679 fn _type_assertion(
4680 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4681 ) {
4682 match _t {
4683 alloy_sol_types::private::AssertTypeEq::<
4684 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4685 >(_) => {}
4686 }
4687 }
4688 #[automatically_derived]
4689 #[doc(hidden)]
4690 impl ::core::convert::From<decodeFunctionSigsAndPermissionsCall>
4691 for UnderlyingRustTuple<'_> {
4692 fn from(value: decodeFunctionSigsAndPermissionsCall) -> Self {
4693 (value.encoded, value.length)
4694 }
4695 }
4696 #[automatically_derived]
4697 #[doc(hidden)]
4698 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4699 for decodeFunctionSigsAndPermissionsCall {
4700 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4701 Self {
4702 encoded: tuple.0,
4703 length: tuple.1,
4704 }
4705 }
4706 }
4707 }
4708 {
4709 #[doc(hidden)]
4710 type UnderlyingSolTuple<'a> = (
4711 alloy::sol_types::sol_data::Array<
4712 alloy::sol_types::sol_data::FixedBytes<4>,
4713 >,
4714 alloy::sol_types::sol_data::Array<GranularPermission>,
4715 );
4716 #[doc(hidden)]
4717 type UnderlyingRustTuple<'a> = (
4718 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<4>>,
4719 alloy::sol_types::private::Vec<
4720 <GranularPermission as alloy::sol_types::SolType>::RustType,
4721 >,
4722 );
4723 #[cfg(test)]
4724 #[allow(dead_code, unreachable_patterns)]
4725 fn _type_assertion(
4726 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4727 ) {
4728 match _t {
4729 alloy_sol_types::private::AssertTypeEq::<
4730 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4731 >(_) => {}
4732 }
4733 }
4734 #[automatically_derived]
4735 #[doc(hidden)]
4736 impl ::core::convert::From<decodeFunctionSigsAndPermissionsReturn>
4737 for UnderlyingRustTuple<'_> {
4738 fn from(value: decodeFunctionSigsAndPermissionsReturn) -> Self {
4739 (value.functionSigs, value.permissions)
4740 }
4741 }
4742 #[automatically_derived]
4743 #[doc(hidden)]
4744 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4745 for decodeFunctionSigsAndPermissionsReturn {
4746 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4747 Self {
4748 functionSigs: tuple.0,
4749 permissions: tuple.1,
4750 }
4751 }
4752 }
4753 }
4754 impl decodeFunctionSigsAndPermissionsReturn {
4755 fn _tokenize(
4756 &self,
4757 ) -> <decodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::ReturnToken<
4758 '_,
4759 > {
4760 (
4761 <alloy::sol_types::sol_data::Array<
4762 alloy::sol_types::sol_data::FixedBytes<4>,
4763 > as alloy_sol_types::SolType>::tokenize(&self.functionSigs),
4764 <alloy::sol_types::sol_data::Array<
4765 GranularPermission,
4766 > as alloy_sol_types::SolType>::tokenize(&self.permissions),
4767 )
4768 }
4769 }
4770 #[automatically_derived]
4771 impl alloy_sol_types::SolCall for decodeFunctionSigsAndPermissionsCall {
4772 type Parameters<'a> = (
4773 alloy::sol_types::sol_data::FixedBytes<32>,
4774 alloy::sol_types::sol_data::Uint<256>,
4775 );
4776 type Token<'a> = <Self::Parameters<
4777 'a,
4778 > as alloy_sol_types::SolType>::Token<'a>;
4779 type Return = decodeFunctionSigsAndPermissionsReturn;
4780 type ReturnTuple<'a> = (
4781 alloy::sol_types::sol_data::Array<
4782 alloy::sol_types::sol_data::FixedBytes<4>,
4783 >,
4784 alloy::sol_types::sol_data::Array<GranularPermission>,
4785 );
4786 type ReturnToken<'a> = <Self::ReturnTuple<
4787 'a,
4788 > as alloy_sol_types::SolType>::Token<'a>;
4789 const SIGNATURE: &'static str = "decodeFunctionSigsAndPermissions(bytes32,uint256)";
4790 const SELECTOR: [u8; 4] = [96u8, 151u8, 108u8, 75u8];
4791 #[inline]
4792 fn new<'a>(
4793 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4794 ) -> Self {
4795 tuple.into()
4796 }
4797 #[inline]
4798 fn tokenize(&self) -> Self::Token<'_> {
4799 (
4800 <alloy::sol_types::sol_data::FixedBytes<
4801 32,
4802 > as alloy_sol_types::SolType>::tokenize(&self.encoded),
4803 <alloy::sol_types::sol_data::Uint<
4804 256,
4805 > as alloy_sol_types::SolType>::tokenize(&self.length),
4806 )
4807 }
4808 #[inline]
4809 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4810 decodeFunctionSigsAndPermissionsReturn::_tokenize(ret)
4811 }
4812 #[inline]
4813 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4814 <Self::ReturnTuple<
4815 '_,
4816 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4817 .map(Into::into)
4818 }
4819 #[inline]
4820 fn abi_decode_returns_validate(
4821 data: &[u8],
4822 ) -> alloy_sol_types::Result<Self::Return> {
4823 <Self::ReturnTuple<
4824 '_,
4825 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4826 .map(Into::into)
4827 }
4828 }
4829 };
4830 #[derive(serde::Serialize, serde::Deserialize)]
4831 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4832 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4837 #[derive(Clone)]
4838 pub struct encodeFunctionSigsAndPermissionsCall {
4839 #[allow(missing_docs)]
4840 pub functionSigs: alloy::sol_types::private::Vec<
4841 alloy::sol_types::private::FixedBytes<4>,
4842 >,
4843 #[allow(missing_docs)]
4844 pub permissions: alloy::sol_types::private::Vec<
4845 <GranularPermission as alloy::sol_types::SolType>::RustType,
4846 >,
4847 }
4848 #[derive(serde::Serialize, serde::Deserialize)]
4849 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4850 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4852 #[derive(Clone)]
4853 pub struct encodeFunctionSigsAndPermissionsReturn {
4854 #[allow(missing_docs)]
4855 pub encoded: alloy::sol_types::private::FixedBytes<32>,
4856 #[allow(missing_docs)]
4857 pub length: alloy::sol_types::private::primitives::aliases::U256,
4858 }
4859 #[allow(
4860 non_camel_case_types,
4861 non_snake_case,
4862 clippy::pub_underscore_fields,
4863 clippy::style
4864 )]
4865 const _: () = {
4866 use alloy::sol_types as alloy_sol_types;
4867 {
4868 #[doc(hidden)]
4869 type UnderlyingSolTuple<'a> = (
4870 alloy::sol_types::sol_data::Array<
4871 alloy::sol_types::sol_data::FixedBytes<4>,
4872 >,
4873 alloy::sol_types::sol_data::Array<GranularPermission>,
4874 );
4875 #[doc(hidden)]
4876 type UnderlyingRustTuple<'a> = (
4877 alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<4>>,
4878 alloy::sol_types::private::Vec<
4879 <GranularPermission as alloy::sol_types::SolType>::RustType,
4880 >,
4881 );
4882 #[cfg(test)]
4883 #[allow(dead_code, unreachable_patterns)]
4884 fn _type_assertion(
4885 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4886 ) {
4887 match _t {
4888 alloy_sol_types::private::AssertTypeEq::<
4889 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4890 >(_) => {}
4891 }
4892 }
4893 #[automatically_derived]
4894 #[doc(hidden)]
4895 impl ::core::convert::From<encodeFunctionSigsAndPermissionsCall>
4896 for UnderlyingRustTuple<'_> {
4897 fn from(value: encodeFunctionSigsAndPermissionsCall) -> Self {
4898 (value.functionSigs, value.permissions)
4899 }
4900 }
4901 #[automatically_derived]
4902 #[doc(hidden)]
4903 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4904 for encodeFunctionSigsAndPermissionsCall {
4905 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4906 Self {
4907 functionSigs: tuple.0,
4908 permissions: tuple.1,
4909 }
4910 }
4911 }
4912 }
4913 {
4914 #[doc(hidden)]
4915 type UnderlyingSolTuple<'a> = (
4916 alloy::sol_types::sol_data::FixedBytes<32>,
4917 alloy::sol_types::sol_data::Uint<256>,
4918 );
4919 #[doc(hidden)]
4920 type UnderlyingRustTuple<'a> = (
4921 alloy::sol_types::private::FixedBytes<32>,
4922 alloy::sol_types::private::primitives::aliases::U256,
4923 );
4924 #[cfg(test)]
4925 #[allow(dead_code, unreachable_patterns)]
4926 fn _type_assertion(
4927 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4928 ) {
4929 match _t {
4930 alloy_sol_types::private::AssertTypeEq::<
4931 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4932 >(_) => {}
4933 }
4934 }
4935 #[automatically_derived]
4936 #[doc(hidden)]
4937 impl ::core::convert::From<encodeFunctionSigsAndPermissionsReturn>
4938 for UnderlyingRustTuple<'_> {
4939 fn from(value: encodeFunctionSigsAndPermissionsReturn) -> Self {
4940 (value.encoded, value.length)
4941 }
4942 }
4943 #[automatically_derived]
4944 #[doc(hidden)]
4945 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4946 for encodeFunctionSigsAndPermissionsReturn {
4947 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4948 Self {
4949 encoded: tuple.0,
4950 length: tuple.1,
4951 }
4952 }
4953 }
4954 }
4955 impl encodeFunctionSigsAndPermissionsReturn {
4956 fn _tokenize(
4957 &self,
4958 ) -> <encodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::ReturnToken<
4959 '_,
4960 > {
4961 (
4962 <alloy::sol_types::sol_data::FixedBytes<
4963 32,
4964 > as alloy_sol_types::SolType>::tokenize(&self.encoded),
4965 <alloy::sol_types::sol_data::Uint<
4966 256,
4967 > as alloy_sol_types::SolType>::tokenize(&self.length),
4968 )
4969 }
4970 }
4971 #[automatically_derived]
4972 impl alloy_sol_types::SolCall for encodeFunctionSigsAndPermissionsCall {
4973 type Parameters<'a> = (
4974 alloy::sol_types::sol_data::Array<
4975 alloy::sol_types::sol_data::FixedBytes<4>,
4976 >,
4977 alloy::sol_types::sol_data::Array<GranularPermission>,
4978 );
4979 type Token<'a> = <Self::Parameters<
4980 'a,
4981 > as alloy_sol_types::SolType>::Token<'a>;
4982 type Return = encodeFunctionSigsAndPermissionsReturn;
4983 type ReturnTuple<'a> = (
4984 alloy::sol_types::sol_data::FixedBytes<32>,
4985 alloy::sol_types::sol_data::Uint<256>,
4986 );
4987 type ReturnToken<'a> = <Self::ReturnTuple<
4988 'a,
4989 > as alloy_sol_types::SolType>::Token<'a>;
4990 const SIGNATURE: &'static str = "encodeFunctionSigsAndPermissions(bytes4[],uint8[])";
4991 const SELECTOR: [u8; 4] = [86u8, 245u8, 81u8, 23u8];
4992 #[inline]
4993 fn new<'a>(
4994 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4995 ) -> Self {
4996 tuple.into()
4997 }
4998 #[inline]
4999 fn tokenize(&self) -> Self::Token<'_> {
5000 (
5001 <alloy::sol_types::sol_data::Array<
5002 alloy::sol_types::sol_data::FixedBytes<4>,
5003 > as alloy_sol_types::SolType>::tokenize(&self.functionSigs),
5004 <alloy::sol_types::sol_data::Array<
5005 GranularPermission,
5006 > as alloy_sol_types::SolType>::tokenize(&self.permissions),
5007 )
5008 }
5009 #[inline]
5010 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5011 encodeFunctionSigsAndPermissionsReturn::_tokenize(ret)
5012 }
5013 #[inline]
5014 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5015 <Self::ReturnTuple<
5016 '_,
5017 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5018 .map(Into::into)
5019 }
5020 #[inline]
5021 fn abi_decode_returns_validate(
5022 data: &[u8],
5023 ) -> alloy_sol_types::Result<Self::Return> {
5024 <Self::ReturnTuple<
5025 '_,
5026 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5027 .map(Into::into)
5028 }
5029 }
5030 };
5031 #[derive(serde::Serialize, serde::Deserialize)]
5032 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5033 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5038 #[derive(Clone)]
5039 pub struct execTransactionFromModuleCall {
5040 #[allow(missing_docs)]
5041 pub to: alloy::sol_types::private::Address,
5042 #[allow(missing_docs)]
5043 pub value: alloy::sol_types::private::primitives::aliases::U256,
5044 #[allow(missing_docs)]
5045 pub data: alloy::sol_types::private::Bytes,
5046 #[allow(missing_docs)]
5047 pub operation: <Enum::Operation as alloy::sol_types::SolType>::RustType,
5048 }
5049 #[derive(serde::Serialize, serde::Deserialize)]
5050 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5051 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5053 #[derive(Clone)]
5054 pub struct execTransactionFromModuleReturn {
5055 #[allow(missing_docs)]
5056 pub success: bool,
5057 }
5058 #[allow(
5059 non_camel_case_types,
5060 non_snake_case,
5061 clippy::pub_underscore_fields,
5062 clippy::style
5063 )]
5064 const _: () = {
5065 use alloy::sol_types as alloy_sol_types;
5066 {
5067 #[doc(hidden)]
5068 type UnderlyingSolTuple<'a> = (
5069 alloy::sol_types::sol_data::Address,
5070 alloy::sol_types::sol_data::Uint<256>,
5071 alloy::sol_types::sol_data::Bytes,
5072 Enum::Operation,
5073 );
5074 #[doc(hidden)]
5075 type UnderlyingRustTuple<'a> = (
5076 alloy::sol_types::private::Address,
5077 alloy::sol_types::private::primitives::aliases::U256,
5078 alloy::sol_types::private::Bytes,
5079 <Enum::Operation as alloy::sol_types::SolType>::RustType,
5080 );
5081 #[cfg(test)]
5082 #[allow(dead_code, unreachable_patterns)]
5083 fn _type_assertion(
5084 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5085 ) {
5086 match _t {
5087 alloy_sol_types::private::AssertTypeEq::<
5088 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5089 >(_) => {}
5090 }
5091 }
5092 #[automatically_derived]
5093 #[doc(hidden)]
5094 impl ::core::convert::From<execTransactionFromModuleCall>
5095 for UnderlyingRustTuple<'_> {
5096 fn from(value: execTransactionFromModuleCall) -> Self {
5097 (value.to, value.value, value.data, value.operation)
5098 }
5099 }
5100 #[automatically_derived]
5101 #[doc(hidden)]
5102 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5103 for execTransactionFromModuleCall {
5104 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5105 Self {
5106 to: tuple.0,
5107 value: tuple.1,
5108 data: tuple.2,
5109 operation: tuple.3,
5110 }
5111 }
5112 }
5113 }
5114 {
5115 #[doc(hidden)]
5116 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5117 #[doc(hidden)]
5118 type UnderlyingRustTuple<'a> = (bool,);
5119 #[cfg(test)]
5120 #[allow(dead_code, unreachable_patterns)]
5121 fn _type_assertion(
5122 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5123 ) {
5124 match _t {
5125 alloy_sol_types::private::AssertTypeEq::<
5126 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5127 >(_) => {}
5128 }
5129 }
5130 #[automatically_derived]
5131 #[doc(hidden)]
5132 impl ::core::convert::From<execTransactionFromModuleReturn>
5133 for UnderlyingRustTuple<'_> {
5134 fn from(value: execTransactionFromModuleReturn) -> Self {
5135 (value.success,)
5136 }
5137 }
5138 #[automatically_derived]
5139 #[doc(hidden)]
5140 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5141 for execTransactionFromModuleReturn {
5142 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5143 Self { success: tuple.0 }
5144 }
5145 }
5146 }
5147 #[automatically_derived]
5148 impl alloy_sol_types::SolCall for execTransactionFromModuleCall {
5149 type Parameters<'a> = (
5150 alloy::sol_types::sol_data::Address,
5151 alloy::sol_types::sol_data::Uint<256>,
5152 alloy::sol_types::sol_data::Bytes,
5153 Enum::Operation,
5154 );
5155 type Token<'a> = <Self::Parameters<
5156 'a,
5157 > as alloy_sol_types::SolType>::Token<'a>;
5158 type Return = bool;
5159 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5160 type ReturnToken<'a> = <Self::ReturnTuple<
5161 'a,
5162 > as alloy_sol_types::SolType>::Token<'a>;
5163 const SIGNATURE: &'static str = "execTransactionFromModule(address,uint256,bytes,uint8)";
5164 const SELECTOR: [u8; 4] = [70u8, 135u8, 33u8, 167u8];
5165 #[inline]
5166 fn new<'a>(
5167 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5168 ) -> Self {
5169 tuple.into()
5170 }
5171 #[inline]
5172 fn tokenize(&self) -> Self::Token<'_> {
5173 (
5174 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5175 &self.to,
5176 ),
5177 <alloy::sol_types::sol_data::Uint<
5178 256,
5179 > as alloy_sol_types::SolType>::tokenize(&self.value),
5180 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5181 &self.data,
5182 ),
5183 <Enum::Operation as alloy_sol_types::SolType>::tokenize(
5184 &self.operation,
5185 ),
5186 )
5187 }
5188 #[inline]
5189 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5190 (
5191 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
5192 ret,
5193 ),
5194 )
5195 }
5196 #[inline]
5197 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5198 <Self::ReturnTuple<
5199 '_,
5200 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5201 .map(|r| {
5202 let r: execTransactionFromModuleReturn = r.into();
5203 r.success
5204 })
5205 }
5206 #[inline]
5207 fn abi_decode_returns_validate(
5208 data: &[u8],
5209 ) -> alloy_sol_types::Result<Self::Return> {
5210 <Self::ReturnTuple<
5211 '_,
5212 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5213 .map(|r| {
5214 let r: execTransactionFromModuleReturn = r.into();
5215 r.success
5216 })
5217 }
5218 }
5219 };
5220 #[derive(serde::Serialize, serde::Deserialize)]
5221 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5222 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5227 #[derive(Clone)]
5228 pub struct execTransactionFromModuleReturnDataCall {
5229 #[allow(missing_docs)]
5230 pub to: alloy::sol_types::private::Address,
5231 #[allow(missing_docs)]
5232 pub value: alloy::sol_types::private::primitives::aliases::U256,
5233 #[allow(missing_docs)]
5234 pub data: alloy::sol_types::private::Bytes,
5235 #[allow(missing_docs)]
5236 pub operation: <Enum::Operation as alloy::sol_types::SolType>::RustType,
5237 }
5238 #[derive(serde::Serialize, serde::Deserialize)]
5239 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5240 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5242 #[derive(Clone)]
5243 pub struct execTransactionFromModuleReturnDataReturn {
5244 #[allow(missing_docs)]
5245 pub _0: bool,
5246 #[allow(missing_docs)]
5247 pub _1: alloy::sol_types::private::Bytes,
5248 }
5249 #[allow(
5250 non_camel_case_types,
5251 non_snake_case,
5252 clippy::pub_underscore_fields,
5253 clippy::style
5254 )]
5255 const _: () = {
5256 use alloy::sol_types as alloy_sol_types;
5257 {
5258 #[doc(hidden)]
5259 type UnderlyingSolTuple<'a> = (
5260 alloy::sol_types::sol_data::Address,
5261 alloy::sol_types::sol_data::Uint<256>,
5262 alloy::sol_types::sol_data::Bytes,
5263 Enum::Operation,
5264 );
5265 #[doc(hidden)]
5266 type UnderlyingRustTuple<'a> = (
5267 alloy::sol_types::private::Address,
5268 alloy::sol_types::private::primitives::aliases::U256,
5269 alloy::sol_types::private::Bytes,
5270 <Enum::Operation as alloy::sol_types::SolType>::RustType,
5271 );
5272 #[cfg(test)]
5273 #[allow(dead_code, unreachable_patterns)]
5274 fn _type_assertion(
5275 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5276 ) {
5277 match _t {
5278 alloy_sol_types::private::AssertTypeEq::<
5279 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5280 >(_) => {}
5281 }
5282 }
5283 #[automatically_derived]
5284 #[doc(hidden)]
5285 impl ::core::convert::From<execTransactionFromModuleReturnDataCall>
5286 for UnderlyingRustTuple<'_> {
5287 fn from(value: execTransactionFromModuleReturnDataCall) -> Self {
5288 (value.to, value.value, value.data, value.operation)
5289 }
5290 }
5291 #[automatically_derived]
5292 #[doc(hidden)]
5293 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5294 for execTransactionFromModuleReturnDataCall {
5295 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5296 Self {
5297 to: tuple.0,
5298 value: tuple.1,
5299 data: tuple.2,
5300 operation: tuple.3,
5301 }
5302 }
5303 }
5304 }
5305 {
5306 #[doc(hidden)]
5307 type UnderlyingSolTuple<'a> = (
5308 alloy::sol_types::sol_data::Bool,
5309 alloy::sol_types::sol_data::Bytes,
5310 );
5311 #[doc(hidden)]
5312 type UnderlyingRustTuple<'a> = (bool, alloy::sol_types::private::Bytes);
5313 #[cfg(test)]
5314 #[allow(dead_code, unreachable_patterns)]
5315 fn _type_assertion(
5316 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5317 ) {
5318 match _t {
5319 alloy_sol_types::private::AssertTypeEq::<
5320 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5321 >(_) => {}
5322 }
5323 }
5324 #[automatically_derived]
5325 #[doc(hidden)]
5326 impl ::core::convert::From<execTransactionFromModuleReturnDataReturn>
5327 for UnderlyingRustTuple<'_> {
5328 fn from(value: execTransactionFromModuleReturnDataReturn) -> Self {
5329 (value._0, value._1)
5330 }
5331 }
5332 #[automatically_derived]
5333 #[doc(hidden)]
5334 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5335 for execTransactionFromModuleReturnDataReturn {
5336 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5337 Self { _0: tuple.0, _1: tuple.1 }
5338 }
5339 }
5340 }
5341 impl execTransactionFromModuleReturnDataReturn {
5342 fn _tokenize(
5343 &self,
5344 ) -> <execTransactionFromModuleReturnDataCall as alloy_sol_types::SolCall>::ReturnToken<
5345 '_,
5346 > {
5347 (
5348 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
5349 &self._0,
5350 ),
5351 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5352 &self._1,
5353 ),
5354 )
5355 }
5356 }
5357 #[automatically_derived]
5358 impl alloy_sol_types::SolCall for execTransactionFromModuleReturnDataCall {
5359 type Parameters<'a> = (
5360 alloy::sol_types::sol_data::Address,
5361 alloy::sol_types::sol_data::Uint<256>,
5362 alloy::sol_types::sol_data::Bytes,
5363 Enum::Operation,
5364 );
5365 type Token<'a> = <Self::Parameters<
5366 'a,
5367 > as alloy_sol_types::SolType>::Token<'a>;
5368 type Return = execTransactionFromModuleReturnDataReturn;
5369 type ReturnTuple<'a> = (
5370 alloy::sol_types::sol_data::Bool,
5371 alloy::sol_types::sol_data::Bytes,
5372 );
5373 type ReturnToken<'a> = <Self::ReturnTuple<
5374 'a,
5375 > as alloy_sol_types::SolType>::Token<'a>;
5376 const SIGNATURE: &'static str = "execTransactionFromModuleReturnData(address,uint256,bytes,uint8)";
5377 const SELECTOR: [u8; 4] = [82u8, 41u8, 7u8, 63u8];
5378 #[inline]
5379 fn new<'a>(
5380 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5381 ) -> Self {
5382 tuple.into()
5383 }
5384 #[inline]
5385 fn tokenize(&self) -> Self::Token<'_> {
5386 (
5387 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5388 &self.to,
5389 ),
5390 <alloy::sol_types::sol_data::Uint<
5391 256,
5392 > as alloy_sol_types::SolType>::tokenize(&self.value),
5393 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5394 &self.data,
5395 ),
5396 <Enum::Operation as alloy_sol_types::SolType>::tokenize(
5397 &self.operation,
5398 ),
5399 )
5400 }
5401 #[inline]
5402 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5403 execTransactionFromModuleReturnDataReturn::_tokenize(ret)
5404 }
5405 #[inline]
5406 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5407 <Self::ReturnTuple<
5408 '_,
5409 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5410 .map(Into::into)
5411 }
5412 #[inline]
5413 fn abi_decode_returns_validate(
5414 data: &[u8],
5415 ) -> alloy_sol_types::Result<Self::Return> {
5416 <Self::ReturnTuple<
5417 '_,
5418 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5419 .map(Into::into)
5420 }
5421 }
5422 };
5423 #[derive(serde::Serialize, serde::Deserialize)]
5424 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5425 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5430 #[derive(Clone)]
5431 pub struct getGranularPermissionsCall {
5432 #[allow(missing_docs)]
5433 pub capabilityKey: alloy::sol_types::private::FixedBytes<32>,
5434 #[allow(missing_docs)]
5435 pub pairId: alloy::sol_types::private::FixedBytes<32>,
5436 }
5437 #[derive(serde::Serialize, serde::Deserialize)]
5438 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5439 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5441 #[derive(Clone)]
5442 pub struct getGranularPermissionsReturn {
5443 #[allow(missing_docs)]
5444 pub _0: <GranularPermission as alloy::sol_types::SolType>::RustType,
5445 }
5446 #[allow(
5447 non_camel_case_types,
5448 non_snake_case,
5449 clippy::pub_underscore_fields,
5450 clippy::style
5451 )]
5452 const _: () = {
5453 use alloy::sol_types as alloy_sol_types;
5454 {
5455 #[doc(hidden)]
5456 type UnderlyingSolTuple<'a> = (
5457 alloy::sol_types::sol_data::FixedBytes<32>,
5458 alloy::sol_types::sol_data::FixedBytes<32>,
5459 );
5460 #[doc(hidden)]
5461 type UnderlyingRustTuple<'a> = (
5462 alloy::sol_types::private::FixedBytes<32>,
5463 alloy::sol_types::private::FixedBytes<32>,
5464 );
5465 #[cfg(test)]
5466 #[allow(dead_code, unreachable_patterns)]
5467 fn _type_assertion(
5468 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5469 ) {
5470 match _t {
5471 alloy_sol_types::private::AssertTypeEq::<
5472 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5473 >(_) => {}
5474 }
5475 }
5476 #[automatically_derived]
5477 #[doc(hidden)]
5478 impl ::core::convert::From<getGranularPermissionsCall>
5479 for UnderlyingRustTuple<'_> {
5480 fn from(value: getGranularPermissionsCall) -> Self {
5481 (value.capabilityKey, value.pairId)
5482 }
5483 }
5484 #[automatically_derived]
5485 #[doc(hidden)]
5486 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5487 for getGranularPermissionsCall {
5488 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5489 Self {
5490 capabilityKey: tuple.0,
5491 pairId: tuple.1,
5492 }
5493 }
5494 }
5495 }
5496 {
5497 #[doc(hidden)]
5498 type UnderlyingSolTuple<'a> = (GranularPermission,);
5499 #[doc(hidden)]
5500 type UnderlyingRustTuple<'a> = (
5501 <GranularPermission as alloy::sol_types::SolType>::RustType,
5502 );
5503 #[cfg(test)]
5504 #[allow(dead_code, unreachable_patterns)]
5505 fn _type_assertion(
5506 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5507 ) {
5508 match _t {
5509 alloy_sol_types::private::AssertTypeEq::<
5510 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5511 >(_) => {}
5512 }
5513 }
5514 #[automatically_derived]
5515 #[doc(hidden)]
5516 impl ::core::convert::From<getGranularPermissionsReturn>
5517 for UnderlyingRustTuple<'_> {
5518 fn from(value: getGranularPermissionsReturn) -> Self {
5519 (value._0,)
5520 }
5521 }
5522 #[automatically_derived]
5523 #[doc(hidden)]
5524 impl ::core::convert::From<UnderlyingRustTuple<'_>>
5525 for getGranularPermissionsReturn {
5526 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5527 Self { _0: tuple.0 }
5528 }
5529 }
5530 }
5531 #[automatically_derived]
5532 impl alloy_sol_types::SolCall for getGranularPermissionsCall {
5533 type Parameters<'a> = (
5534 alloy::sol_types::sol_data::FixedBytes<32>,
5535 alloy::sol_types::sol_data::FixedBytes<32>,
5536 );
5537 type Token<'a> = <Self::Parameters<
5538 'a,
5539 > as alloy_sol_types::SolType>::Token<'a>;
5540 type Return = <GranularPermission as alloy::sol_types::SolType>::RustType;
5541 type ReturnTuple<'a> = (GranularPermission,);
5542 type ReturnToken<'a> = <Self::ReturnTuple<
5543 'a,
5544 > as alloy_sol_types::SolType>::Token<'a>;
5545 const SIGNATURE: &'static str = "getGranularPermissions(bytes32,bytes32)";
5546 const SELECTOR: [u8; 4] = [220u8, 68u8, 106u8, 74u8];
5547 #[inline]
5548 fn new<'a>(
5549 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5550 ) -> Self {
5551 tuple.into()
5552 }
5553 #[inline]
5554 fn tokenize(&self) -> Self::Token<'_> {
5555 (
5556 <alloy::sol_types::sol_data::FixedBytes<
5557 32,
5558 > as alloy_sol_types::SolType>::tokenize(&self.capabilityKey),
5559 <alloy::sol_types::sol_data::FixedBytes<
5560 32,
5561 > as alloy_sol_types::SolType>::tokenize(&self.pairId),
5562 )
5563 }
5564 #[inline]
5565 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5566 (<GranularPermission as alloy_sol_types::SolType>::tokenize(ret),)
5567 }
5568 #[inline]
5569 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5570 <Self::ReturnTuple<
5571 '_,
5572 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5573 .map(|r| {
5574 let r: getGranularPermissionsReturn = r.into();
5575 r._0
5576 })
5577 }
5578 #[inline]
5579 fn abi_decode_returns_validate(
5580 data: &[u8],
5581 ) -> alloy_sol_types::Result<Self::Return> {
5582 <Self::ReturnTuple<
5583 '_,
5584 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5585 .map(|r| {
5586 let r: getGranularPermissionsReturn = r.into();
5587 r._0
5588 })
5589 }
5590 }
5591 };
5592 #[derive(serde::Serialize, serde::Deserialize)]
5593 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5594 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5599 #[derive(Clone)]
5600 pub struct getTargetsCall;
5601 #[derive(serde::Serialize, serde::Deserialize)]
5602 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5603 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5605 #[derive(Clone)]
5606 pub struct getTargetsReturn {
5607 #[allow(missing_docs)]
5608 pub _0: alloy::sol_types::private::Vec<
5609 <Target as alloy::sol_types::SolType>::RustType,
5610 >,
5611 }
5612 #[allow(
5613 non_camel_case_types,
5614 non_snake_case,
5615 clippy::pub_underscore_fields,
5616 clippy::style
5617 )]
5618 const _: () = {
5619 use alloy::sol_types as alloy_sol_types;
5620 {
5621 #[doc(hidden)]
5622 type UnderlyingSolTuple<'a> = ();
5623 #[doc(hidden)]
5624 type UnderlyingRustTuple<'a> = ();
5625 #[cfg(test)]
5626 #[allow(dead_code, unreachable_patterns)]
5627 fn _type_assertion(
5628 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5629 ) {
5630 match _t {
5631 alloy_sol_types::private::AssertTypeEq::<
5632 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5633 >(_) => {}
5634 }
5635 }
5636 #[automatically_derived]
5637 #[doc(hidden)]
5638 impl ::core::convert::From<getTargetsCall> for UnderlyingRustTuple<'_> {
5639 fn from(value: getTargetsCall) -> Self {
5640 ()
5641 }
5642 }
5643 #[automatically_derived]
5644 #[doc(hidden)]
5645 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTargetsCall {
5646 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5647 Self
5648 }
5649 }
5650 }
5651 {
5652 #[doc(hidden)]
5653 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Array<Target>,);
5654 #[doc(hidden)]
5655 type UnderlyingRustTuple<'a> = (
5656 alloy::sol_types::private::Vec<
5657 <Target as alloy::sol_types::SolType>::RustType,
5658 >,
5659 );
5660 #[cfg(test)]
5661 #[allow(dead_code, unreachable_patterns)]
5662 fn _type_assertion(
5663 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5664 ) {
5665 match _t {
5666 alloy_sol_types::private::AssertTypeEq::<
5667 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5668 >(_) => {}
5669 }
5670 }
5671 #[automatically_derived]
5672 #[doc(hidden)]
5673 impl ::core::convert::From<getTargetsReturn> for UnderlyingRustTuple<'_> {
5674 fn from(value: getTargetsReturn) -> Self {
5675 (value._0,)
5676 }
5677 }
5678 #[automatically_derived]
5679 #[doc(hidden)]
5680 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getTargetsReturn {
5681 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5682 Self { _0: tuple.0 }
5683 }
5684 }
5685 }
5686 #[automatically_derived]
5687 impl alloy_sol_types::SolCall for getTargetsCall {
5688 type Parameters<'a> = ();
5689 type Token<'a> = <Self::Parameters<
5690 'a,
5691 > as alloy_sol_types::SolType>::Token<'a>;
5692 type Return = alloy::sol_types::private::Vec<
5693 <Target as alloy::sol_types::SolType>::RustType,
5694 >;
5695 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Array<Target>,);
5696 type ReturnToken<'a> = <Self::ReturnTuple<
5697 'a,
5698 > as alloy_sol_types::SolType>::Token<'a>;
5699 const SIGNATURE: &'static str = "getTargets()";
5700 const SELECTOR: [u8; 4] = [99u8, 254u8, 59u8, 86u8];
5701 #[inline]
5702 fn new<'a>(
5703 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5704 ) -> Self {
5705 tuple.into()
5706 }
5707 #[inline]
5708 fn tokenize(&self) -> Self::Token<'_> {
5709 ()
5710 }
5711 #[inline]
5712 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5713 (
5714 <alloy::sol_types::sol_data::Array<
5715 Target,
5716 > as alloy_sol_types::SolType>::tokenize(ret),
5717 )
5718 }
5719 #[inline]
5720 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5721 <Self::ReturnTuple<
5722 '_,
5723 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5724 .map(|r| {
5725 let r: getTargetsReturn = r.into();
5726 r._0
5727 })
5728 }
5729 #[inline]
5730 fn abi_decode_returns_validate(
5731 data: &[u8],
5732 ) -> alloy_sol_types::Result<Self::Return> {
5733 <Self::ReturnTuple<
5734 '_,
5735 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5736 .map(|r| {
5737 let r: getTargetsReturn = r.into();
5738 r._0
5739 })
5740 }
5741 }
5742 };
5743 #[derive(serde::Serialize, serde::Deserialize)]
5744 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5745 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5750 #[derive(Clone)]
5751 pub struct includeNodeCall {
5752 #[allow(missing_docs)]
5753 pub nodeDefaultTarget: <Target as alloy::sol_types::SolType>::RustType,
5754 }
5755 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5757 #[derive(Clone)]
5758 pub struct includeNodeReturn {}
5759 #[allow(
5760 non_camel_case_types,
5761 non_snake_case,
5762 clippy::pub_underscore_fields,
5763 clippy::style
5764 )]
5765 const _: () = {
5766 use alloy::sol_types as alloy_sol_types;
5767 {
5768 #[doc(hidden)]
5769 type UnderlyingSolTuple<'a> = (Target,);
5770 #[doc(hidden)]
5771 type UnderlyingRustTuple<'a> = (
5772 <Target as alloy::sol_types::SolType>::RustType,
5773 );
5774 #[cfg(test)]
5775 #[allow(dead_code, unreachable_patterns)]
5776 fn _type_assertion(
5777 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5778 ) {
5779 match _t {
5780 alloy_sol_types::private::AssertTypeEq::<
5781 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5782 >(_) => {}
5783 }
5784 }
5785 #[automatically_derived]
5786 #[doc(hidden)]
5787 impl ::core::convert::From<includeNodeCall> for UnderlyingRustTuple<'_> {
5788 fn from(value: includeNodeCall) -> Self {
5789 (value.nodeDefaultTarget,)
5790 }
5791 }
5792 #[automatically_derived]
5793 #[doc(hidden)]
5794 impl ::core::convert::From<UnderlyingRustTuple<'_>> for includeNodeCall {
5795 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5796 Self { nodeDefaultTarget: tuple.0 }
5797 }
5798 }
5799 }
5800 {
5801 #[doc(hidden)]
5802 type UnderlyingSolTuple<'a> = ();
5803 #[doc(hidden)]
5804 type UnderlyingRustTuple<'a> = ();
5805 #[cfg(test)]
5806 #[allow(dead_code, unreachable_patterns)]
5807 fn _type_assertion(
5808 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5809 ) {
5810 match _t {
5811 alloy_sol_types::private::AssertTypeEq::<
5812 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5813 >(_) => {}
5814 }
5815 }
5816 #[automatically_derived]
5817 #[doc(hidden)]
5818 impl ::core::convert::From<includeNodeReturn> for UnderlyingRustTuple<'_> {
5819 fn from(value: includeNodeReturn) -> Self {
5820 ()
5821 }
5822 }
5823 #[automatically_derived]
5824 #[doc(hidden)]
5825 impl ::core::convert::From<UnderlyingRustTuple<'_>> for includeNodeReturn {
5826 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5827 Self {}
5828 }
5829 }
5830 }
5831 impl includeNodeReturn {
5832 fn _tokenize(
5833 &self,
5834 ) -> <includeNodeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
5835 ()
5836 }
5837 }
5838 #[automatically_derived]
5839 impl alloy_sol_types::SolCall for includeNodeCall {
5840 type Parameters<'a> = (Target,);
5841 type Token<'a> = <Self::Parameters<
5842 'a,
5843 > as alloy_sol_types::SolType>::Token<'a>;
5844 type Return = includeNodeReturn;
5845 type ReturnTuple<'a> = ();
5846 type ReturnToken<'a> = <Self::ReturnTuple<
5847 'a,
5848 > as alloy_sol_types::SolType>::Token<'a>;
5849 const SIGNATURE: &'static str = "includeNode(uint256)";
5850 const SELECTOR: [u8; 4] = [181u8, 115u8, 105u8, 98u8];
5851 #[inline]
5852 fn new<'a>(
5853 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5854 ) -> Self {
5855 tuple.into()
5856 }
5857 #[inline]
5858 fn tokenize(&self) -> Self::Token<'_> {
5859 (
5860 <Target as alloy_sol_types::SolType>::tokenize(
5861 &self.nodeDefaultTarget,
5862 ),
5863 )
5864 }
5865 #[inline]
5866 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5867 includeNodeReturn::_tokenize(ret)
5868 }
5869 #[inline]
5870 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5871 <Self::ReturnTuple<
5872 '_,
5873 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5874 .map(Into::into)
5875 }
5876 #[inline]
5877 fn abi_decode_returns_validate(
5878 data: &[u8],
5879 ) -> alloy_sol_types::Result<Self::Return> {
5880 <Self::ReturnTuple<
5881 '_,
5882 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5883 .map(Into::into)
5884 }
5885 }
5886 };
5887 #[derive(serde::Serialize, serde::Deserialize)]
5888 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5889 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5894 #[derive(Clone)]
5895 pub struct initializeCall {
5896 #[allow(missing_docs)]
5897 pub initParams: alloy::sol_types::private::Bytes,
5898 }
5899 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5901 #[derive(Clone)]
5902 pub struct initializeReturn {}
5903 #[allow(
5904 non_camel_case_types,
5905 non_snake_case,
5906 clippy::pub_underscore_fields,
5907 clippy::style
5908 )]
5909 const _: () = {
5910 use alloy::sol_types as alloy_sol_types;
5911 {
5912 #[doc(hidden)]
5913 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bytes,);
5914 #[doc(hidden)]
5915 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Bytes,);
5916 #[cfg(test)]
5917 #[allow(dead_code, unreachable_patterns)]
5918 fn _type_assertion(
5919 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5920 ) {
5921 match _t {
5922 alloy_sol_types::private::AssertTypeEq::<
5923 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5924 >(_) => {}
5925 }
5926 }
5927 #[automatically_derived]
5928 #[doc(hidden)]
5929 impl ::core::convert::From<initializeCall> for UnderlyingRustTuple<'_> {
5930 fn from(value: initializeCall) -> Self {
5931 (value.initParams,)
5932 }
5933 }
5934 #[automatically_derived]
5935 #[doc(hidden)]
5936 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeCall {
5937 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5938 Self { initParams: tuple.0 }
5939 }
5940 }
5941 }
5942 {
5943 #[doc(hidden)]
5944 type UnderlyingSolTuple<'a> = ();
5945 #[doc(hidden)]
5946 type UnderlyingRustTuple<'a> = ();
5947 #[cfg(test)]
5948 #[allow(dead_code, unreachable_patterns)]
5949 fn _type_assertion(
5950 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5951 ) {
5952 match _t {
5953 alloy_sol_types::private::AssertTypeEq::<
5954 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5955 >(_) => {}
5956 }
5957 }
5958 #[automatically_derived]
5959 #[doc(hidden)]
5960 impl ::core::convert::From<initializeReturn> for UnderlyingRustTuple<'_> {
5961 fn from(value: initializeReturn) -> Self {
5962 ()
5963 }
5964 }
5965 #[automatically_derived]
5966 #[doc(hidden)]
5967 impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeReturn {
5968 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5969 Self {}
5970 }
5971 }
5972 }
5973 impl initializeReturn {
5974 fn _tokenize(
5975 &self,
5976 ) -> <initializeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
5977 ()
5978 }
5979 }
5980 #[automatically_derived]
5981 impl alloy_sol_types::SolCall for initializeCall {
5982 type Parameters<'a> = (alloy::sol_types::sol_data::Bytes,);
5983 type Token<'a> = <Self::Parameters<
5984 'a,
5985 > as alloy_sol_types::SolType>::Token<'a>;
5986 type Return = initializeReturn;
5987 type ReturnTuple<'a> = ();
5988 type ReturnToken<'a> = <Self::ReturnTuple<
5989 'a,
5990 > as alloy_sol_types::SolType>::Token<'a>;
5991 const SIGNATURE: &'static str = "initialize(bytes)";
5992 const SELECTOR: [u8; 4] = [67u8, 159u8, 171u8, 145u8];
5993 #[inline]
5994 fn new<'a>(
5995 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5996 ) -> Self {
5997 tuple.into()
5998 }
5999 #[inline]
6000 fn tokenize(&self) -> Self::Token<'_> {
6001 (
6002 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
6003 &self.initParams,
6004 ),
6005 )
6006 }
6007 #[inline]
6008 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6009 initializeReturn::_tokenize(ret)
6010 }
6011 #[inline]
6012 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6013 <Self::ReturnTuple<
6014 '_,
6015 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6016 .map(Into::into)
6017 }
6018 #[inline]
6019 fn abi_decode_returns_validate(
6020 data: &[u8],
6021 ) -> alloy_sol_types::Result<Self::Return> {
6022 <Self::ReturnTuple<
6023 '_,
6024 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6025 .map(Into::into)
6026 }
6027 }
6028 };
6029 #[derive(serde::Serialize, serde::Deserialize)]
6030 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6031 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6036 #[derive(Clone)]
6037 pub struct isHoprNodeManagementModuleCall;
6038 #[derive(serde::Serialize, serde::Deserialize)]
6039 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6040 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6042 #[derive(Clone)]
6043 pub struct isHoprNodeManagementModuleReturn {
6044 #[allow(missing_docs)]
6045 pub _0: bool,
6046 }
6047 #[allow(
6048 non_camel_case_types,
6049 non_snake_case,
6050 clippy::pub_underscore_fields,
6051 clippy::style
6052 )]
6053 const _: () = {
6054 use alloy::sol_types as alloy_sol_types;
6055 {
6056 #[doc(hidden)]
6057 type UnderlyingSolTuple<'a> = ();
6058 #[doc(hidden)]
6059 type UnderlyingRustTuple<'a> = ();
6060 #[cfg(test)]
6061 #[allow(dead_code, unreachable_patterns)]
6062 fn _type_assertion(
6063 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6064 ) {
6065 match _t {
6066 alloy_sol_types::private::AssertTypeEq::<
6067 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6068 >(_) => {}
6069 }
6070 }
6071 #[automatically_derived]
6072 #[doc(hidden)]
6073 impl ::core::convert::From<isHoprNodeManagementModuleCall>
6074 for UnderlyingRustTuple<'_> {
6075 fn from(value: isHoprNodeManagementModuleCall) -> Self {
6076 ()
6077 }
6078 }
6079 #[automatically_derived]
6080 #[doc(hidden)]
6081 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6082 for isHoprNodeManagementModuleCall {
6083 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6084 Self
6085 }
6086 }
6087 }
6088 {
6089 #[doc(hidden)]
6090 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
6091 #[doc(hidden)]
6092 type UnderlyingRustTuple<'a> = (bool,);
6093 #[cfg(test)]
6094 #[allow(dead_code, unreachable_patterns)]
6095 fn _type_assertion(
6096 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6097 ) {
6098 match _t {
6099 alloy_sol_types::private::AssertTypeEq::<
6100 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6101 >(_) => {}
6102 }
6103 }
6104 #[automatically_derived]
6105 #[doc(hidden)]
6106 impl ::core::convert::From<isHoprNodeManagementModuleReturn>
6107 for UnderlyingRustTuple<'_> {
6108 fn from(value: isHoprNodeManagementModuleReturn) -> Self {
6109 (value._0,)
6110 }
6111 }
6112 #[automatically_derived]
6113 #[doc(hidden)]
6114 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6115 for isHoprNodeManagementModuleReturn {
6116 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6117 Self { _0: tuple.0 }
6118 }
6119 }
6120 }
6121 #[automatically_derived]
6122 impl alloy_sol_types::SolCall for isHoprNodeManagementModuleCall {
6123 type Parameters<'a> = ();
6124 type Token<'a> = <Self::Parameters<
6125 'a,
6126 > as alloy_sol_types::SolType>::Token<'a>;
6127 type Return = bool;
6128 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
6129 type ReturnToken<'a> = <Self::ReturnTuple<
6130 'a,
6131 > as alloy_sol_types::SolType>::Token<'a>;
6132 const SIGNATURE: &'static str = "isHoprNodeManagementModule()";
6133 const SELECTOR: [u8; 4] = [74u8, 27u8, 164u8, 8u8];
6134 #[inline]
6135 fn new<'a>(
6136 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6137 ) -> Self {
6138 tuple.into()
6139 }
6140 #[inline]
6141 fn tokenize(&self) -> Self::Token<'_> {
6142 ()
6143 }
6144 #[inline]
6145 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6146 (
6147 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
6148 ret,
6149 ),
6150 )
6151 }
6152 #[inline]
6153 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6154 <Self::ReturnTuple<
6155 '_,
6156 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6157 .map(|r| {
6158 let r: isHoprNodeManagementModuleReturn = r.into();
6159 r._0
6160 })
6161 }
6162 #[inline]
6163 fn abi_decode_returns_validate(
6164 data: &[u8],
6165 ) -> alloy_sol_types::Result<Self::Return> {
6166 <Self::ReturnTuple<
6167 '_,
6168 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6169 .map(|r| {
6170 let r: isHoprNodeManagementModuleReturn = r.into();
6171 r._0
6172 })
6173 }
6174 }
6175 };
6176 #[derive(serde::Serialize, serde::Deserialize)]
6177 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6178 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6183 #[derive(Clone)]
6184 pub struct isNodeCall {
6185 #[allow(missing_docs)]
6186 pub nodeAddress: alloy::sol_types::private::Address,
6187 }
6188 #[derive(serde::Serialize, serde::Deserialize)]
6189 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6190 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6192 #[derive(Clone)]
6193 pub struct isNodeReturn {
6194 #[allow(missing_docs)]
6195 pub _0: bool,
6196 }
6197 #[allow(
6198 non_camel_case_types,
6199 non_snake_case,
6200 clippy::pub_underscore_fields,
6201 clippy::style
6202 )]
6203 const _: () = {
6204 use alloy::sol_types as alloy_sol_types;
6205 {
6206 #[doc(hidden)]
6207 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6208 #[doc(hidden)]
6209 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6210 #[cfg(test)]
6211 #[allow(dead_code, unreachable_patterns)]
6212 fn _type_assertion(
6213 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6214 ) {
6215 match _t {
6216 alloy_sol_types::private::AssertTypeEq::<
6217 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6218 >(_) => {}
6219 }
6220 }
6221 #[automatically_derived]
6222 #[doc(hidden)]
6223 impl ::core::convert::From<isNodeCall> for UnderlyingRustTuple<'_> {
6224 fn from(value: isNodeCall) -> Self {
6225 (value.nodeAddress,)
6226 }
6227 }
6228 #[automatically_derived]
6229 #[doc(hidden)]
6230 impl ::core::convert::From<UnderlyingRustTuple<'_>> for isNodeCall {
6231 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6232 Self { nodeAddress: tuple.0 }
6233 }
6234 }
6235 }
6236 {
6237 #[doc(hidden)]
6238 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
6239 #[doc(hidden)]
6240 type UnderlyingRustTuple<'a> = (bool,);
6241 #[cfg(test)]
6242 #[allow(dead_code, unreachable_patterns)]
6243 fn _type_assertion(
6244 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6245 ) {
6246 match _t {
6247 alloy_sol_types::private::AssertTypeEq::<
6248 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6249 >(_) => {}
6250 }
6251 }
6252 #[automatically_derived]
6253 #[doc(hidden)]
6254 impl ::core::convert::From<isNodeReturn> for UnderlyingRustTuple<'_> {
6255 fn from(value: isNodeReturn) -> Self {
6256 (value._0,)
6257 }
6258 }
6259 #[automatically_derived]
6260 #[doc(hidden)]
6261 impl ::core::convert::From<UnderlyingRustTuple<'_>> for isNodeReturn {
6262 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6263 Self { _0: tuple.0 }
6264 }
6265 }
6266 }
6267 #[automatically_derived]
6268 impl alloy_sol_types::SolCall for isNodeCall {
6269 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
6270 type Token<'a> = <Self::Parameters<
6271 'a,
6272 > as alloy_sol_types::SolType>::Token<'a>;
6273 type Return = bool;
6274 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
6275 type ReturnToken<'a> = <Self::ReturnTuple<
6276 'a,
6277 > as alloy_sol_types::SolType>::Token<'a>;
6278 const SIGNATURE: &'static str = "isNode(address)";
6279 const SELECTOR: [u8; 4] = [1u8, 117u8, 1u8, 82u8];
6280 #[inline]
6281 fn new<'a>(
6282 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6283 ) -> Self {
6284 tuple.into()
6285 }
6286 #[inline]
6287 fn tokenize(&self) -> Self::Token<'_> {
6288 (
6289 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6290 &self.nodeAddress,
6291 ),
6292 )
6293 }
6294 #[inline]
6295 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6296 (
6297 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
6298 ret,
6299 ),
6300 )
6301 }
6302 #[inline]
6303 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6304 <Self::ReturnTuple<
6305 '_,
6306 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6307 .map(|r| {
6308 let r: isNodeReturn = r.into();
6309 r._0
6310 })
6311 }
6312 #[inline]
6313 fn abi_decode_returns_validate(
6314 data: &[u8],
6315 ) -> alloy_sol_types::Result<Self::Return> {
6316 <Self::ReturnTuple<
6317 '_,
6318 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6319 .map(|r| {
6320 let r: isNodeReturn = r.into();
6321 r._0
6322 })
6323 }
6324 }
6325 };
6326 #[derive(serde::Serialize, serde::Deserialize)]
6327 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6328 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6333 #[derive(Clone)]
6334 pub struct multisendCall;
6335 #[derive(serde::Serialize, serde::Deserialize)]
6336 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6337 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6339 #[derive(Clone)]
6340 pub struct multisendReturn {
6341 #[allow(missing_docs)]
6342 pub _0: alloy::sol_types::private::Address,
6343 }
6344 #[allow(
6345 non_camel_case_types,
6346 non_snake_case,
6347 clippy::pub_underscore_fields,
6348 clippy::style
6349 )]
6350 const _: () = {
6351 use alloy::sol_types as alloy_sol_types;
6352 {
6353 #[doc(hidden)]
6354 type UnderlyingSolTuple<'a> = ();
6355 #[doc(hidden)]
6356 type UnderlyingRustTuple<'a> = ();
6357 #[cfg(test)]
6358 #[allow(dead_code, unreachable_patterns)]
6359 fn _type_assertion(
6360 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6361 ) {
6362 match _t {
6363 alloy_sol_types::private::AssertTypeEq::<
6364 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6365 >(_) => {}
6366 }
6367 }
6368 #[automatically_derived]
6369 #[doc(hidden)]
6370 impl ::core::convert::From<multisendCall> for UnderlyingRustTuple<'_> {
6371 fn from(value: multisendCall) -> Self {
6372 ()
6373 }
6374 }
6375 #[automatically_derived]
6376 #[doc(hidden)]
6377 impl ::core::convert::From<UnderlyingRustTuple<'_>> for multisendCall {
6378 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6379 Self
6380 }
6381 }
6382 }
6383 {
6384 #[doc(hidden)]
6385 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6386 #[doc(hidden)]
6387 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6388 #[cfg(test)]
6389 #[allow(dead_code, unreachable_patterns)]
6390 fn _type_assertion(
6391 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6392 ) {
6393 match _t {
6394 alloy_sol_types::private::AssertTypeEq::<
6395 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6396 >(_) => {}
6397 }
6398 }
6399 #[automatically_derived]
6400 #[doc(hidden)]
6401 impl ::core::convert::From<multisendReturn> for UnderlyingRustTuple<'_> {
6402 fn from(value: multisendReturn) -> Self {
6403 (value._0,)
6404 }
6405 }
6406 #[automatically_derived]
6407 #[doc(hidden)]
6408 impl ::core::convert::From<UnderlyingRustTuple<'_>> for multisendReturn {
6409 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6410 Self { _0: tuple.0 }
6411 }
6412 }
6413 }
6414 #[automatically_derived]
6415 impl alloy_sol_types::SolCall for multisendCall {
6416 type Parameters<'a> = ();
6417 type Token<'a> = <Self::Parameters<
6418 'a,
6419 > as alloy_sol_types::SolType>::Token<'a>;
6420 type Return = alloy::sol_types::private::Address;
6421 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
6422 type ReturnToken<'a> = <Self::ReturnTuple<
6423 'a,
6424 > as alloy_sol_types::SolType>::Token<'a>;
6425 const SIGNATURE: &'static str = "multisend()";
6426 const SELECTOR: [u8; 4] = [41u8, 68u8, 2u8, 204u8];
6427 #[inline]
6428 fn new<'a>(
6429 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6430 ) -> Self {
6431 tuple.into()
6432 }
6433 #[inline]
6434 fn tokenize(&self) -> Self::Token<'_> {
6435 ()
6436 }
6437 #[inline]
6438 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6439 (
6440 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6441 ret,
6442 ),
6443 )
6444 }
6445 #[inline]
6446 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6447 <Self::ReturnTuple<
6448 '_,
6449 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6450 .map(|r| {
6451 let r: multisendReturn = r.into();
6452 r._0
6453 })
6454 }
6455 #[inline]
6456 fn abi_decode_returns_validate(
6457 data: &[u8],
6458 ) -> alloy_sol_types::Result<Self::Return> {
6459 <Self::ReturnTuple<
6460 '_,
6461 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6462 .map(|r| {
6463 let r: multisendReturn = r.into();
6464 r._0
6465 })
6466 }
6467 }
6468 };
6469 #[derive(serde::Serialize, serde::Deserialize)]
6470 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6471 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6476 #[derive(Clone)]
6477 pub struct ownerCall;
6478 #[derive(serde::Serialize, serde::Deserialize)]
6479 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6480 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6482 #[derive(Clone)]
6483 pub struct ownerReturn {
6484 #[allow(missing_docs)]
6485 pub _0: alloy::sol_types::private::Address,
6486 }
6487 #[allow(
6488 non_camel_case_types,
6489 non_snake_case,
6490 clippy::pub_underscore_fields,
6491 clippy::style
6492 )]
6493 const _: () = {
6494 use alloy::sol_types as alloy_sol_types;
6495 {
6496 #[doc(hidden)]
6497 type UnderlyingSolTuple<'a> = ();
6498 #[doc(hidden)]
6499 type UnderlyingRustTuple<'a> = ();
6500 #[cfg(test)]
6501 #[allow(dead_code, unreachable_patterns)]
6502 fn _type_assertion(
6503 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6504 ) {
6505 match _t {
6506 alloy_sol_types::private::AssertTypeEq::<
6507 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6508 >(_) => {}
6509 }
6510 }
6511 #[automatically_derived]
6512 #[doc(hidden)]
6513 impl ::core::convert::From<ownerCall> for UnderlyingRustTuple<'_> {
6514 fn from(value: ownerCall) -> Self {
6515 ()
6516 }
6517 }
6518 #[automatically_derived]
6519 #[doc(hidden)]
6520 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerCall {
6521 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6522 Self
6523 }
6524 }
6525 }
6526 {
6527 #[doc(hidden)]
6528 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6529 #[doc(hidden)]
6530 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
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<ownerReturn> for UnderlyingRustTuple<'_> {
6545 fn from(value: ownerReturn) -> Self {
6546 (value._0,)
6547 }
6548 }
6549 #[automatically_derived]
6550 #[doc(hidden)]
6551 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerReturn {
6552 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6553 Self { _0: tuple.0 }
6554 }
6555 }
6556 }
6557 #[automatically_derived]
6558 impl alloy_sol_types::SolCall for ownerCall {
6559 type Parameters<'a> = ();
6560 type Token<'a> = <Self::Parameters<
6561 'a,
6562 > as alloy_sol_types::SolType>::Token<'a>;
6563 type Return = alloy::sol_types::private::Address;
6564 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
6565 type ReturnToken<'a> = <Self::ReturnTuple<
6566 'a,
6567 > as alloy_sol_types::SolType>::Token<'a>;
6568 const SIGNATURE: &'static str = "owner()";
6569 const SELECTOR: [u8; 4] = [141u8, 165u8, 203u8, 91u8];
6570 #[inline]
6571 fn new<'a>(
6572 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6573 ) -> Self {
6574 tuple.into()
6575 }
6576 #[inline]
6577 fn tokenize(&self) -> Self::Token<'_> {
6578 ()
6579 }
6580 #[inline]
6581 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6582 (
6583 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6584 ret,
6585 ),
6586 )
6587 }
6588 #[inline]
6589 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6590 <Self::ReturnTuple<
6591 '_,
6592 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6593 .map(|r| {
6594 let r: ownerReturn = r.into();
6595 r._0
6596 })
6597 }
6598 #[inline]
6599 fn abi_decode_returns_validate(
6600 data: &[u8],
6601 ) -> alloy_sol_types::Result<Self::Return> {
6602 <Self::ReturnTuple<
6603 '_,
6604 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6605 .map(|r| {
6606 let r: ownerReturn = r.into();
6607 r._0
6608 })
6609 }
6610 }
6611 };
6612 #[derive(serde::Serialize, serde::Deserialize)]
6613 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6614 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6619 #[derive(Clone)]
6620 pub struct proxiableUUIDCall;
6621 #[derive(serde::Serialize, serde::Deserialize)]
6622 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6623 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6625 #[derive(Clone)]
6626 pub struct proxiableUUIDReturn {
6627 #[allow(missing_docs)]
6628 pub _0: alloy::sol_types::private::FixedBytes<32>,
6629 }
6630 #[allow(
6631 non_camel_case_types,
6632 non_snake_case,
6633 clippy::pub_underscore_fields,
6634 clippy::style
6635 )]
6636 const _: () = {
6637 use alloy::sol_types as alloy_sol_types;
6638 {
6639 #[doc(hidden)]
6640 type UnderlyingSolTuple<'a> = ();
6641 #[doc(hidden)]
6642 type UnderlyingRustTuple<'a> = ();
6643 #[cfg(test)]
6644 #[allow(dead_code, unreachable_patterns)]
6645 fn _type_assertion(
6646 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6647 ) {
6648 match _t {
6649 alloy_sol_types::private::AssertTypeEq::<
6650 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6651 >(_) => {}
6652 }
6653 }
6654 #[automatically_derived]
6655 #[doc(hidden)]
6656 impl ::core::convert::From<proxiableUUIDCall> for UnderlyingRustTuple<'_> {
6657 fn from(value: proxiableUUIDCall) -> Self {
6658 ()
6659 }
6660 }
6661 #[automatically_derived]
6662 #[doc(hidden)]
6663 impl ::core::convert::From<UnderlyingRustTuple<'_>> for proxiableUUIDCall {
6664 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6665 Self
6666 }
6667 }
6668 }
6669 {
6670 #[doc(hidden)]
6671 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
6672 #[doc(hidden)]
6673 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
6674 #[cfg(test)]
6675 #[allow(dead_code, unreachable_patterns)]
6676 fn _type_assertion(
6677 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6678 ) {
6679 match _t {
6680 alloy_sol_types::private::AssertTypeEq::<
6681 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6682 >(_) => {}
6683 }
6684 }
6685 #[automatically_derived]
6686 #[doc(hidden)]
6687 impl ::core::convert::From<proxiableUUIDReturn> for UnderlyingRustTuple<'_> {
6688 fn from(value: proxiableUUIDReturn) -> Self {
6689 (value._0,)
6690 }
6691 }
6692 #[automatically_derived]
6693 #[doc(hidden)]
6694 impl ::core::convert::From<UnderlyingRustTuple<'_>> for proxiableUUIDReturn {
6695 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6696 Self { _0: tuple.0 }
6697 }
6698 }
6699 }
6700 #[automatically_derived]
6701 impl alloy_sol_types::SolCall for proxiableUUIDCall {
6702 type Parameters<'a> = ();
6703 type Token<'a> = <Self::Parameters<
6704 'a,
6705 > as alloy_sol_types::SolType>::Token<'a>;
6706 type Return = alloy::sol_types::private::FixedBytes<32>;
6707 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
6708 type ReturnToken<'a> = <Self::ReturnTuple<
6709 'a,
6710 > as alloy_sol_types::SolType>::Token<'a>;
6711 const SIGNATURE: &'static str = "proxiableUUID()";
6712 const SELECTOR: [u8; 4] = [82u8, 209u8, 144u8, 45u8];
6713 #[inline]
6714 fn new<'a>(
6715 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6716 ) -> Self {
6717 tuple.into()
6718 }
6719 #[inline]
6720 fn tokenize(&self) -> Self::Token<'_> {
6721 ()
6722 }
6723 #[inline]
6724 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6725 (
6726 <alloy::sol_types::sol_data::FixedBytes<
6727 32,
6728 > as alloy_sol_types::SolType>::tokenize(ret),
6729 )
6730 }
6731 #[inline]
6732 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6733 <Self::ReturnTuple<
6734 '_,
6735 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6736 .map(|r| {
6737 let r: proxiableUUIDReturn = r.into();
6738 r._0
6739 })
6740 }
6741 #[inline]
6742 fn abi_decode_returns_validate(
6743 data: &[u8],
6744 ) -> alloy_sol_types::Result<Self::Return> {
6745 <Self::ReturnTuple<
6746 '_,
6747 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6748 .map(|r| {
6749 let r: proxiableUUIDReturn = r.into();
6750 r._0
6751 })
6752 }
6753 }
6754 };
6755 #[derive(serde::Serialize, serde::Deserialize)]
6756 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6757 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6762 #[derive(Clone)]
6763 pub struct removeNodeCall {
6764 #[allow(missing_docs)]
6765 pub nodeAddress: alloy::sol_types::private::Address,
6766 }
6767 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6769 #[derive(Clone)]
6770 pub struct removeNodeReturn {}
6771 #[allow(
6772 non_camel_case_types,
6773 non_snake_case,
6774 clippy::pub_underscore_fields,
6775 clippy::style
6776 )]
6777 const _: () = {
6778 use alloy::sol_types as alloy_sol_types;
6779 {
6780 #[doc(hidden)]
6781 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6782 #[doc(hidden)]
6783 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6784 #[cfg(test)]
6785 #[allow(dead_code, unreachable_patterns)]
6786 fn _type_assertion(
6787 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6788 ) {
6789 match _t {
6790 alloy_sol_types::private::AssertTypeEq::<
6791 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6792 >(_) => {}
6793 }
6794 }
6795 #[automatically_derived]
6796 #[doc(hidden)]
6797 impl ::core::convert::From<removeNodeCall> for UnderlyingRustTuple<'_> {
6798 fn from(value: removeNodeCall) -> Self {
6799 (value.nodeAddress,)
6800 }
6801 }
6802 #[automatically_derived]
6803 #[doc(hidden)]
6804 impl ::core::convert::From<UnderlyingRustTuple<'_>> for removeNodeCall {
6805 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6806 Self { nodeAddress: tuple.0 }
6807 }
6808 }
6809 }
6810 {
6811 #[doc(hidden)]
6812 type UnderlyingSolTuple<'a> = ();
6813 #[doc(hidden)]
6814 type UnderlyingRustTuple<'a> = ();
6815 #[cfg(test)]
6816 #[allow(dead_code, unreachable_patterns)]
6817 fn _type_assertion(
6818 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6819 ) {
6820 match _t {
6821 alloy_sol_types::private::AssertTypeEq::<
6822 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6823 >(_) => {}
6824 }
6825 }
6826 #[automatically_derived]
6827 #[doc(hidden)]
6828 impl ::core::convert::From<removeNodeReturn> for UnderlyingRustTuple<'_> {
6829 fn from(value: removeNodeReturn) -> Self {
6830 ()
6831 }
6832 }
6833 #[automatically_derived]
6834 #[doc(hidden)]
6835 impl ::core::convert::From<UnderlyingRustTuple<'_>> for removeNodeReturn {
6836 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6837 Self {}
6838 }
6839 }
6840 }
6841 impl removeNodeReturn {
6842 fn _tokenize(
6843 &self,
6844 ) -> <removeNodeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
6845 ()
6846 }
6847 }
6848 #[automatically_derived]
6849 impl alloy_sol_types::SolCall for removeNodeCall {
6850 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
6851 type Token<'a> = <Self::Parameters<
6852 'a,
6853 > as alloy_sol_types::SolType>::Token<'a>;
6854 type Return = removeNodeReturn;
6855 type ReturnTuple<'a> = ();
6856 type ReturnToken<'a> = <Self::ReturnTuple<
6857 'a,
6858 > as alloy_sol_types::SolType>::Token<'a>;
6859 const SIGNATURE: &'static str = "removeNode(address)";
6860 const SELECTOR: [u8; 4] = [178u8, 185u8, 158u8, 201u8];
6861 #[inline]
6862 fn new<'a>(
6863 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6864 ) -> Self {
6865 tuple.into()
6866 }
6867 #[inline]
6868 fn tokenize(&self) -> Self::Token<'_> {
6869 (
6870 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6871 &self.nodeAddress,
6872 ),
6873 )
6874 }
6875 #[inline]
6876 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6877 removeNodeReturn::_tokenize(ret)
6878 }
6879 #[inline]
6880 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6881 <Self::ReturnTuple<
6882 '_,
6883 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6884 .map(Into::into)
6885 }
6886 #[inline]
6887 fn abi_decode_returns_validate(
6888 data: &[u8],
6889 ) -> alloy_sol_types::Result<Self::Return> {
6890 <Self::ReturnTuple<
6891 '_,
6892 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6893 .map(Into::into)
6894 }
6895 }
6896 };
6897 #[derive(serde::Serialize, serde::Deserialize)]
6898 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6899 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6904 #[derive(Clone)]
6905 pub struct renounceOwnershipCall;
6906 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6908 #[derive(Clone)]
6909 pub struct renounceOwnershipReturn {}
6910 #[allow(
6911 non_camel_case_types,
6912 non_snake_case,
6913 clippy::pub_underscore_fields,
6914 clippy::style
6915 )]
6916 const _: () = {
6917 use alloy::sol_types as alloy_sol_types;
6918 {
6919 #[doc(hidden)]
6920 type UnderlyingSolTuple<'a> = ();
6921 #[doc(hidden)]
6922 type UnderlyingRustTuple<'a> = ();
6923 #[cfg(test)]
6924 #[allow(dead_code, unreachable_patterns)]
6925 fn _type_assertion(
6926 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6927 ) {
6928 match _t {
6929 alloy_sol_types::private::AssertTypeEq::<
6930 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6931 >(_) => {}
6932 }
6933 }
6934 #[automatically_derived]
6935 #[doc(hidden)]
6936 impl ::core::convert::From<renounceOwnershipCall>
6937 for UnderlyingRustTuple<'_> {
6938 fn from(value: renounceOwnershipCall) -> Self {
6939 ()
6940 }
6941 }
6942 #[automatically_derived]
6943 #[doc(hidden)]
6944 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6945 for renounceOwnershipCall {
6946 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6947 Self
6948 }
6949 }
6950 }
6951 {
6952 #[doc(hidden)]
6953 type UnderlyingSolTuple<'a> = ();
6954 #[doc(hidden)]
6955 type UnderlyingRustTuple<'a> = ();
6956 #[cfg(test)]
6957 #[allow(dead_code, unreachable_patterns)]
6958 fn _type_assertion(
6959 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6960 ) {
6961 match _t {
6962 alloy_sol_types::private::AssertTypeEq::<
6963 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6964 >(_) => {}
6965 }
6966 }
6967 #[automatically_derived]
6968 #[doc(hidden)]
6969 impl ::core::convert::From<renounceOwnershipReturn>
6970 for UnderlyingRustTuple<'_> {
6971 fn from(value: renounceOwnershipReturn) -> Self {
6972 ()
6973 }
6974 }
6975 #[automatically_derived]
6976 #[doc(hidden)]
6977 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6978 for renounceOwnershipReturn {
6979 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6980 Self {}
6981 }
6982 }
6983 }
6984 impl renounceOwnershipReturn {
6985 fn _tokenize(
6986 &self,
6987 ) -> <renounceOwnershipCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
6988 ()
6989 }
6990 }
6991 #[automatically_derived]
6992 impl alloy_sol_types::SolCall for renounceOwnershipCall {
6993 type Parameters<'a> = ();
6994 type Token<'a> = <Self::Parameters<
6995 'a,
6996 > as alloy_sol_types::SolType>::Token<'a>;
6997 type Return = renounceOwnershipReturn;
6998 type ReturnTuple<'a> = ();
6999 type ReturnToken<'a> = <Self::ReturnTuple<
7000 'a,
7001 > as alloy_sol_types::SolType>::Token<'a>;
7002 const SIGNATURE: &'static str = "renounceOwnership()";
7003 const SELECTOR: [u8; 4] = [113u8, 80u8, 24u8, 166u8];
7004 #[inline]
7005 fn new<'a>(
7006 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7007 ) -> Self {
7008 tuple.into()
7009 }
7010 #[inline]
7011 fn tokenize(&self) -> Self::Token<'_> {
7012 ()
7013 }
7014 #[inline]
7015 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7016 renounceOwnershipReturn::_tokenize(ret)
7017 }
7018 #[inline]
7019 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7020 <Self::ReturnTuple<
7021 '_,
7022 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7023 .map(Into::into)
7024 }
7025 #[inline]
7026 fn abi_decode_returns_validate(
7027 data: &[u8],
7028 ) -> alloy_sol_types::Result<Self::Return> {
7029 <Self::ReturnTuple<
7030 '_,
7031 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7032 .map(Into::into)
7033 }
7034 }
7035 };
7036 #[derive(serde::Serialize, serde::Deserialize)]
7037 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7038 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7043 #[derive(Clone)]
7044 pub struct revokeTargetCall {
7045 #[allow(missing_docs)]
7046 pub targetAddress: alloy::sol_types::private::Address,
7047 }
7048 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7050 #[derive(Clone)]
7051 pub struct revokeTargetReturn {}
7052 #[allow(
7053 non_camel_case_types,
7054 non_snake_case,
7055 clippy::pub_underscore_fields,
7056 clippy::style
7057 )]
7058 const _: () = {
7059 use alloy::sol_types as alloy_sol_types;
7060 {
7061 #[doc(hidden)]
7062 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
7063 #[doc(hidden)]
7064 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
7065 #[cfg(test)]
7066 #[allow(dead_code, unreachable_patterns)]
7067 fn _type_assertion(
7068 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7069 ) {
7070 match _t {
7071 alloy_sol_types::private::AssertTypeEq::<
7072 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7073 >(_) => {}
7074 }
7075 }
7076 #[automatically_derived]
7077 #[doc(hidden)]
7078 impl ::core::convert::From<revokeTargetCall> for UnderlyingRustTuple<'_> {
7079 fn from(value: revokeTargetCall) -> Self {
7080 (value.targetAddress,)
7081 }
7082 }
7083 #[automatically_derived]
7084 #[doc(hidden)]
7085 impl ::core::convert::From<UnderlyingRustTuple<'_>> for revokeTargetCall {
7086 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7087 Self { targetAddress: tuple.0 }
7088 }
7089 }
7090 }
7091 {
7092 #[doc(hidden)]
7093 type UnderlyingSolTuple<'a> = ();
7094 #[doc(hidden)]
7095 type UnderlyingRustTuple<'a> = ();
7096 #[cfg(test)]
7097 #[allow(dead_code, unreachable_patterns)]
7098 fn _type_assertion(
7099 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7100 ) {
7101 match _t {
7102 alloy_sol_types::private::AssertTypeEq::<
7103 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7104 >(_) => {}
7105 }
7106 }
7107 #[automatically_derived]
7108 #[doc(hidden)]
7109 impl ::core::convert::From<revokeTargetReturn> for UnderlyingRustTuple<'_> {
7110 fn from(value: revokeTargetReturn) -> Self {
7111 ()
7112 }
7113 }
7114 #[automatically_derived]
7115 #[doc(hidden)]
7116 impl ::core::convert::From<UnderlyingRustTuple<'_>> for revokeTargetReturn {
7117 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7118 Self {}
7119 }
7120 }
7121 }
7122 impl revokeTargetReturn {
7123 fn _tokenize(
7124 &self,
7125 ) -> <revokeTargetCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
7126 ()
7127 }
7128 }
7129 #[automatically_derived]
7130 impl alloy_sol_types::SolCall for revokeTargetCall {
7131 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
7132 type Token<'a> = <Self::Parameters<
7133 'a,
7134 > as alloy_sol_types::SolType>::Token<'a>;
7135 type Return = revokeTargetReturn;
7136 type ReturnTuple<'a> = ();
7137 type ReturnToken<'a> = <Self::ReturnTuple<
7138 'a,
7139 > as alloy_sol_types::SolType>::Token<'a>;
7140 const SIGNATURE: &'static str = "revokeTarget(address)";
7141 const SELECTOR: [u8; 4] = [52u8, 1u8, 205u8, 232u8];
7142 #[inline]
7143 fn new<'a>(
7144 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7145 ) -> Self {
7146 tuple.into()
7147 }
7148 #[inline]
7149 fn tokenize(&self) -> Self::Token<'_> {
7150 (
7151 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7152 &self.targetAddress,
7153 ),
7154 )
7155 }
7156 #[inline]
7157 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7158 revokeTargetReturn::_tokenize(ret)
7159 }
7160 #[inline]
7161 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7162 <Self::ReturnTuple<
7163 '_,
7164 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7165 .map(Into::into)
7166 }
7167 #[inline]
7168 fn abi_decode_returns_validate(
7169 data: &[u8],
7170 ) -> alloy_sol_types::Result<Self::Return> {
7171 <Self::ReturnTuple<
7172 '_,
7173 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7174 .map(Into::into)
7175 }
7176 }
7177 };
7178 #[derive(serde::Serialize, serde::Deserialize)]
7179 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7180 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7185 #[derive(Clone)]
7186 pub struct scopeChannelsCapabilitiesCall {
7187 #[allow(missing_docs)]
7188 pub targetAddress: alloy::sol_types::private::Address,
7189 #[allow(missing_docs)]
7190 pub channelId: alloy::sol_types::private::FixedBytes<32>,
7191 #[allow(missing_docs)]
7192 pub encodedSigsPermissions: alloy::sol_types::private::FixedBytes<32>,
7193 }
7194 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7196 #[derive(Clone)]
7197 pub struct scopeChannelsCapabilitiesReturn {}
7198 #[allow(
7199 non_camel_case_types,
7200 non_snake_case,
7201 clippy::pub_underscore_fields,
7202 clippy::style
7203 )]
7204 const _: () = {
7205 use alloy::sol_types as alloy_sol_types;
7206 {
7207 #[doc(hidden)]
7208 type UnderlyingSolTuple<'a> = (
7209 alloy::sol_types::sol_data::Address,
7210 alloy::sol_types::sol_data::FixedBytes<32>,
7211 alloy::sol_types::sol_data::FixedBytes<32>,
7212 );
7213 #[doc(hidden)]
7214 type UnderlyingRustTuple<'a> = (
7215 alloy::sol_types::private::Address,
7216 alloy::sol_types::private::FixedBytes<32>,
7217 alloy::sol_types::private::FixedBytes<32>,
7218 );
7219 #[cfg(test)]
7220 #[allow(dead_code, unreachable_patterns)]
7221 fn _type_assertion(
7222 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7223 ) {
7224 match _t {
7225 alloy_sol_types::private::AssertTypeEq::<
7226 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7227 >(_) => {}
7228 }
7229 }
7230 #[automatically_derived]
7231 #[doc(hidden)]
7232 impl ::core::convert::From<scopeChannelsCapabilitiesCall>
7233 for UnderlyingRustTuple<'_> {
7234 fn from(value: scopeChannelsCapabilitiesCall) -> Self {
7235 (value.targetAddress, value.channelId, value.encodedSigsPermissions)
7236 }
7237 }
7238 #[automatically_derived]
7239 #[doc(hidden)]
7240 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7241 for scopeChannelsCapabilitiesCall {
7242 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7243 Self {
7244 targetAddress: tuple.0,
7245 channelId: tuple.1,
7246 encodedSigsPermissions: tuple.2,
7247 }
7248 }
7249 }
7250 }
7251 {
7252 #[doc(hidden)]
7253 type UnderlyingSolTuple<'a> = ();
7254 #[doc(hidden)]
7255 type UnderlyingRustTuple<'a> = ();
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<scopeChannelsCapabilitiesReturn>
7270 for UnderlyingRustTuple<'_> {
7271 fn from(value: scopeChannelsCapabilitiesReturn) -> Self {
7272 ()
7273 }
7274 }
7275 #[automatically_derived]
7276 #[doc(hidden)]
7277 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7278 for scopeChannelsCapabilitiesReturn {
7279 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7280 Self {}
7281 }
7282 }
7283 }
7284 impl scopeChannelsCapabilitiesReturn {
7285 fn _tokenize(
7286 &self,
7287 ) -> <scopeChannelsCapabilitiesCall as alloy_sol_types::SolCall>::ReturnToken<
7288 '_,
7289 > {
7290 ()
7291 }
7292 }
7293 #[automatically_derived]
7294 impl alloy_sol_types::SolCall for scopeChannelsCapabilitiesCall {
7295 type Parameters<'a> = (
7296 alloy::sol_types::sol_data::Address,
7297 alloy::sol_types::sol_data::FixedBytes<32>,
7298 alloy::sol_types::sol_data::FixedBytes<32>,
7299 );
7300 type Token<'a> = <Self::Parameters<
7301 'a,
7302 > as alloy_sol_types::SolType>::Token<'a>;
7303 type Return = scopeChannelsCapabilitiesReturn;
7304 type ReturnTuple<'a> = ();
7305 type ReturnToken<'a> = <Self::ReturnTuple<
7306 'a,
7307 > as alloy_sol_types::SolType>::Token<'a>;
7308 const SIGNATURE: &'static str = "scopeChannelsCapabilities(address,bytes32,bytes32)";
7309 const SELECTOR: [u8; 4] = [250u8, 25u8, 80u8, 29u8];
7310 #[inline]
7311 fn new<'a>(
7312 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7313 ) -> Self {
7314 tuple.into()
7315 }
7316 #[inline]
7317 fn tokenize(&self) -> Self::Token<'_> {
7318 (
7319 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7320 &self.targetAddress,
7321 ),
7322 <alloy::sol_types::sol_data::FixedBytes<
7323 32,
7324 > as alloy_sol_types::SolType>::tokenize(&self.channelId),
7325 <alloy::sol_types::sol_data::FixedBytes<
7326 32,
7327 > as alloy_sol_types::SolType>::tokenize(
7328 &self.encodedSigsPermissions,
7329 ),
7330 )
7331 }
7332 #[inline]
7333 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7334 scopeChannelsCapabilitiesReturn::_tokenize(ret)
7335 }
7336 #[inline]
7337 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7338 <Self::ReturnTuple<
7339 '_,
7340 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7341 .map(Into::into)
7342 }
7343 #[inline]
7344 fn abi_decode_returns_validate(
7345 data: &[u8],
7346 ) -> alloy_sol_types::Result<Self::Return> {
7347 <Self::ReturnTuple<
7348 '_,
7349 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7350 .map(Into::into)
7351 }
7352 }
7353 };
7354 #[derive(serde::Serialize, serde::Deserialize)]
7355 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7356 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7361 #[derive(Clone)]
7362 pub struct scopeSendCapabilityCall {
7363 #[allow(missing_docs)]
7364 pub nodeAddress: alloy::sol_types::private::Address,
7365 #[allow(missing_docs)]
7366 pub beneficiary: alloy::sol_types::private::Address,
7367 #[allow(missing_docs)]
7368 pub permission: <GranularPermission as alloy::sol_types::SolType>::RustType,
7369 }
7370 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7372 #[derive(Clone)]
7373 pub struct scopeSendCapabilityReturn {}
7374 #[allow(
7375 non_camel_case_types,
7376 non_snake_case,
7377 clippy::pub_underscore_fields,
7378 clippy::style
7379 )]
7380 const _: () = {
7381 use alloy::sol_types as alloy_sol_types;
7382 {
7383 #[doc(hidden)]
7384 type UnderlyingSolTuple<'a> = (
7385 alloy::sol_types::sol_data::Address,
7386 alloy::sol_types::sol_data::Address,
7387 GranularPermission,
7388 );
7389 #[doc(hidden)]
7390 type UnderlyingRustTuple<'a> = (
7391 alloy::sol_types::private::Address,
7392 alloy::sol_types::private::Address,
7393 <GranularPermission as alloy::sol_types::SolType>::RustType,
7394 );
7395 #[cfg(test)]
7396 #[allow(dead_code, unreachable_patterns)]
7397 fn _type_assertion(
7398 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7399 ) {
7400 match _t {
7401 alloy_sol_types::private::AssertTypeEq::<
7402 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7403 >(_) => {}
7404 }
7405 }
7406 #[automatically_derived]
7407 #[doc(hidden)]
7408 impl ::core::convert::From<scopeSendCapabilityCall>
7409 for UnderlyingRustTuple<'_> {
7410 fn from(value: scopeSendCapabilityCall) -> Self {
7411 (value.nodeAddress, value.beneficiary, value.permission)
7412 }
7413 }
7414 #[automatically_derived]
7415 #[doc(hidden)]
7416 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7417 for scopeSendCapabilityCall {
7418 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7419 Self {
7420 nodeAddress: tuple.0,
7421 beneficiary: tuple.1,
7422 permission: tuple.2,
7423 }
7424 }
7425 }
7426 }
7427 {
7428 #[doc(hidden)]
7429 type UnderlyingSolTuple<'a> = ();
7430 #[doc(hidden)]
7431 type UnderlyingRustTuple<'a> = ();
7432 #[cfg(test)]
7433 #[allow(dead_code, unreachable_patterns)]
7434 fn _type_assertion(
7435 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7436 ) {
7437 match _t {
7438 alloy_sol_types::private::AssertTypeEq::<
7439 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7440 >(_) => {}
7441 }
7442 }
7443 #[automatically_derived]
7444 #[doc(hidden)]
7445 impl ::core::convert::From<scopeSendCapabilityReturn>
7446 for UnderlyingRustTuple<'_> {
7447 fn from(value: scopeSendCapabilityReturn) -> Self {
7448 ()
7449 }
7450 }
7451 #[automatically_derived]
7452 #[doc(hidden)]
7453 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7454 for scopeSendCapabilityReturn {
7455 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7456 Self {}
7457 }
7458 }
7459 }
7460 impl scopeSendCapabilityReturn {
7461 fn _tokenize(
7462 &self,
7463 ) -> <scopeSendCapabilityCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
7464 ()
7465 }
7466 }
7467 #[automatically_derived]
7468 impl alloy_sol_types::SolCall for scopeSendCapabilityCall {
7469 type Parameters<'a> = (
7470 alloy::sol_types::sol_data::Address,
7471 alloy::sol_types::sol_data::Address,
7472 GranularPermission,
7473 );
7474 type Token<'a> = <Self::Parameters<
7475 'a,
7476 > as alloy_sol_types::SolType>::Token<'a>;
7477 type Return = scopeSendCapabilityReturn;
7478 type ReturnTuple<'a> = ();
7479 type ReturnToken<'a> = <Self::ReturnTuple<
7480 'a,
7481 > as alloy_sol_types::SolType>::Token<'a>;
7482 const SIGNATURE: &'static str = "scopeSendCapability(address,address,uint8)";
7483 const SELECTOR: [u8; 4] = [198u8, 140u8, 58u8, 131u8];
7484 #[inline]
7485 fn new<'a>(
7486 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7487 ) -> Self {
7488 tuple.into()
7489 }
7490 #[inline]
7491 fn tokenize(&self) -> Self::Token<'_> {
7492 (
7493 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7494 &self.nodeAddress,
7495 ),
7496 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7497 &self.beneficiary,
7498 ),
7499 <GranularPermission as alloy_sol_types::SolType>::tokenize(
7500 &self.permission,
7501 ),
7502 )
7503 }
7504 #[inline]
7505 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7506 scopeSendCapabilityReturn::_tokenize(ret)
7507 }
7508 #[inline]
7509 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7510 <Self::ReturnTuple<
7511 '_,
7512 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7513 .map(Into::into)
7514 }
7515 #[inline]
7516 fn abi_decode_returns_validate(
7517 data: &[u8],
7518 ) -> alloy_sol_types::Result<Self::Return> {
7519 <Self::ReturnTuple<
7520 '_,
7521 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7522 .map(Into::into)
7523 }
7524 }
7525 };
7526 #[derive(serde::Serialize, serde::Deserialize)]
7527 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7528 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7533 #[derive(Clone)]
7534 pub struct scopeTargetChannelsCall {
7535 #[allow(missing_docs)]
7536 pub defaultTarget: <Target as alloy::sol_types::SolType>::RustType,
7537 }
7538 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7540 #[derive(Clone)]
7541 pub struct scopeTargetChannelsReturn {}
7542 #[allow(
7543 non_camel_case_types,
7544 non_snake_case,
7545 clippy::pub_underscore_fields,
7546 clippy::style
7547 )]
7548 const _: () = {
7549 use alloy::sol_types as alloy_sol_types;
7550 {
7551 #[doc(hidden)]
7552 type UnderlyingSolTuple<'a> = (Target,);
7553 #[doc(hidden)]
7554 type UnderlyingRustTuple<'a> = (
7555 <Target as alloy::sol_types::SolType>::RustType,
7556 );
7557 #[cfg(test)]
7558 #[allow(dead_code, unreachable_patterns)]
7559 fn _type_assertion(
7560 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7561 ) {
7562 match _t {
7563 alloy_sol_types::private::AssertTypeEq::<
7564 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7565 >(_) => {}
7566 }
7567 }
7568 #[automatically_derived]
7569 #[doc(hidden)]
7570 impl ::core::convert::From<scopeTargetChannelsCall>
7571 for UnderlyingRustTuple<'_> {
7572 fn from(value: scopeTargetChannelsCall) -> Self {
7573 (value.defaultTarget,)
7574 }
7575 }
7576 #[automatically_derived]
7577 #[doc(hidden)]
7578 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7579 for scopeTargetChannelsCall {
7580 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7581 Self { defaultTarget: tuple.0 }
7582 }
7583 }
7584 }
7585 {
7586 #[doc(hidden)]
7587 type UnderlyingSolTuple<'a> = ();
7588 #[doc(hidden)]
7589 type UnderlyingRustTuple<'a> = ();
7590 #[cfg(test)]
7591 #[allow(dead_code, unreachable_patterns)]
7592 fn _type_assertion(
7593 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7594 ) {
7595 match _t {
7596 alloy_sol_types::private::AssertTypeEq::<
7597 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7598 >(_) => {}
7599 }
7600 }
7601 #[automatically_derived]
7602 #[doc(hidden)]
7603 impl ::core::convert::From<scopeTargetChannelsReturn>
7604 for UnderlyingRustTuple<'_> {
7605 fn from(value: scopeTargetChannelsReturn) -> Self {
7606 ()
7607 }
7608 }
7609 #[automatically_derived]
7610 #[doc(hidden)]
7611 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7612 for scopeTargetChannelsReturn {
7613 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7614 Self {}
7615 }
7616 }
7617 }
7618 impl scopeTargetChannelsReturn {
7619 fn _tokenize(
7620 &self,
7621 ) -> <scopeTargetChannelsCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
7622 ()
7623 }
7624 }
7625 #[automatically_derived]
7626 impl alloy_sol_types::SolCall for scopeTargetChannelsCall {
7627 type Parameters<'a> = (Target,);
7628 type Token<'a> = <Self::Parameters<
7629 'a,
7630 > as alloy_sol_types::SolType>::Token<'a>;
7631 type Return = scopeTargetChannelsReturn;
7632 type ReturnTuple<'a> = ();
7633 type ReturnToken<'a> = <Self::ReturnTuple<
7634 'a,
7635 > as alloy_sol_types::SolType>::Token<'a>;
7636 const SIGNATURE: &'static str = "scopeTargetChannels(uint256)";
7637 const SELECTOR: [u8; 4] = [115u8, 156u8, 75u8, 8u8];
7638 #[inline]
7639 fn new<'a>(
7640 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7641 ) -> Self {
7642 tuple.into()
7643 }
7644 #[inline]
7645 fn tokenize(&self) -> Self::Token<'_> {
7646 (<Target as alloy_sol_types::SolType>::tokenize(&self.defaultTarget),)
7647 }
7648 #[inline]
7649 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7650 scopeTargetChannelsReturn::_tokenize(ret)
7651 }
7652 #[inline]
7653 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7654 <Self::ReturnTuple<
7655 '_,
7656 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7657 .map(Into::into)
7658 }
7659 #[inline]
7660 fn abi_decode_returns_validate(
7661 data: &[u8],
7662 ) -> alloy_sol_types::Result<Self::Return> {
7663 <Self::ReturnTuple<
7664 '_,
7665 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7666 .map(Into::into)
7667 }
7668 }
7669 };
7670 #[derive(serde::Serialize, serde::Deserialize)]
7671 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7672 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7677 #[derive(Clone)]
7678 pub struct scopeTargetSendCall {
7679 #[allow(missing_docs)]
7680 pub defaultTarget: <Target as alloy::sol_types::SolType>::RustType,
7681 }
7682 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7684 #[derive(Clone)]
7685 pub struct scopeTargetSendReturn {}
7686 #[allow(
7687 non_camel_case_types,
7688 non_snake_case,
7689 clippy::pub_underscore_fields,
7690 clippy::style
7691 )]
7692 const _: () = {
7693 use alloy::sol_types as alloy_sol_types;
7694 {
7695 #[doc(hidden)]
7696 type UnderlyingSolTuple<'a> = (Target,);
7697 #[doc(hidden)]
7698 type UnderlyingRustTuple<'a> = (
7699 <Target as alloy::sol_types::SolType>::RustType,
7700 );
7701 #[cfg(test)]
7702 #[allow(dead_code, unreachable_patterns)]
7703 fn _type_assertion(
7704 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7705 ) {
7706 match _t {
7707 alloy_sol_types::private::AssertTypeEq::<
7708 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7709 >(_) => {}
7710 }
7711 }
7712 #[automatically_derived]
7713 #[doc(hidden)]
7714 impl ::core::convert::From<scopeTargetSendCall> for UnderlyingRustTuple<'_> {
7715 fn from(value: scopeTargetSendCall) -> Self {
7716 (value.defaultTarget,)
7717 }
7718 }
7719 #[automatically_derived]
7720 #[doc(hidden)]
7721 impl ::core::convert::From<UnderlyingRustTuple<'_>> for scopeTargetSendCall {
7722 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7723 Self { defaultTarget: tuple.0 }
7724 }
7725 }
7726 }
7727 {
7728 #[doc(hidden)]
7729 type UnderlyingSolTuple<'a> = ();
7730 #[doc(hidden)]
7731 type UnderlyingRustTuple<'a> = ();
7732 #[cfg(test)]
7733 #[allow(dead_code, unreachable_patterns)]
7734 fn _type_assertion(
7735 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7736 ) {
7737 match _t {
7738 alloy_sol_types::private::AssertTypeEq::<
7739 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7740 >(_) => {}
7741 }
7742 }
7743 #[automatically_derived]
7744 #[doc(hidden)]
7745 impl ::core::convert::From<scopeTargetSendReturn>
7746 for UnderlyingRustTuple<'_> {
7747 fn from(value: scopeTargetSendReturn) -> Self {
7748 ()
7749 }
7750 }
7751 #[automatically_derived]
7752 #[doc(hidden)]
7753 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7754 for scopeTargetSendReturn {
7755 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7756 Self {}
7757 }
7758 }
7759 }
7760 impl scopeTargetSendReturn {
7761 fn _tokenize(
7762 &self,
7763 ) -> <scopeTargetSendCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
7764 ()
7765 }
7766 }
7767 #[automatically_derived]
7768 impl alloy_sol_types::SolCall for scopeTargetSendCall {
7769 type Parameters<'a> = (Target,);
7770 type Token<'a> = <Self::Parameters<
7771 'a,
7772 > as alloy_sol_types::SolType>::Token<'a>;
7773 type Return = scopeTargetSendReturn;
7774 type ReturnTuple<'a> = ();
7775 type ReturnToken<'a> = <Self::ReturnTuple<
7776 'a,
7777 > as alloy_sol_types::SolType>::Token<'a>;
7778 const SIGNATURE: &'static str = "scopeTargetSend(uint256)";
7779 const SELECTOR: [u8; 4] = [220u8, 6u8, 16u8, 157u8];
7780 #[inline]
7781 fn new<'a>(
7782 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7783 ) -> Self {
7784 tuple.into()
7785 }
7786 #[inline]
7787 fn tokenize(&self) -> Self::Token<'_> {
7788 (<Target as alloy_sol_types::SolType>::tokenize(&self.defaultTarget),)
7789 }
7790 #[inline]
7791 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7792 scopeTargetSendReturn::_tokenize(ret)
7793 }
7794 #[inline]
7795 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7796 <Self::ReturnTuple<
7797 '_,
7798 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7799 .map(Into::into)
7800 }
7801 #[inline]
7802 fn abi_decode_returns_validate(
7803 data: &[u8],
7804 ) -> alloy_sol_types::Result<Self::Return> {
7805 <Self::ReturnTuple<
7806 '_,
7807 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7808 .map(Into::into)
7809 }
7810 }
7811 };
7812 #[derive(serde::Serialize, serde::Deserialize)]
7813 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7814 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7819 #[derive(Clone)]
7820 pub struct scopeTargetTokenCall {
7821 #[allow(missing_docs)]
7822 pub defaultTarget: <Target as alloy::sol_types::SolType>::RustType,
7823 }
7824 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7826 #[derive(Clone)]
7827 pub struct scopeTargetTokenReturn {}
7828 #[allow(
7829 non_camel_case_types,
7830 non_snake_case,
7831 clippy::pub_underscore_fields,
7832 clippy::style
7833 )]
7834 const _: () = {
7835 use alloy::sol_types as alloy_sol_types;
7836 {
7837 #[doc(hidden)]
7838 type UnderlyingSolTuple<'a> = (Target,);
7839 #[doc(hidden)]
7840 type UnderlyingRustTuple<'a> = (
7841 <Target as alloy::sol_types::SolType>::RustType,
7842 );
7843 #[cfg(test)]
7844 #[allow(dead_code, unreachable_patterns)]
7845 fn _type_assertion(
7846 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7847 ) {
7848 match _t {
7849 alloy_sol_types::private::AssertTypeEq::<
7850 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7851 >(_) => {}
7852 }
7853 }
7854 #[automatically_derived]
7855 #[doc(hidden)]
7856 impl ::core::convert::From<scopeTargetTokenCall>
7857 for UnderlyingRustTuple<'_> {
7858 fn from(value: scopeTargetTokenCall) -> Self {
7859 (value.defaultTarget,)
7860 }
7861 }
7862 #[automatically_derived]
7863 #[doc(hidden)]
7864 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7865 for scopeTargetTokenCall {
7866 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7867 Self { defaultTarget: tuple.0 }
7868 }
7869 }
7870 }
7871 {
7872 #[doc(hidden)]
7873 type UnderlyingSolTuple<'a> = ();
7874 #[doc(hidden)]
7875 type UnderlyingRustTuple<'a> = ();
7876 #[cfg(test)]
7877 #[allow(dead_code, unreachable_patterns)]
7878 fn _type_assertion(
7879 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7880 ) {
7881 match _t {
7882 alloy_sol_types::private::AssertTypeEq::<
7883 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7884 >(_) => {}
7885 }
7886 }
7887 #[automatically_derived]
7888 #[doc(hidden)]
7889 impl ::core::convert::From<scopeTargetTokenReturn>
7890 for UnderlyingRustTuple<'_> {
7891 fn from(value: scopeTargetTokenReturn) -> Self {
7892 ()
7893 }
7894 }
7895 #[automatically_derived]
7896 #[doc(hidden)]
7897 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7898 for scopeTargetTokenReturn {
7899 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7900 Self {}
7901 }
7902 }
7903 }
7904 impl scopeTargetTokenReturn {
7905 fn _tokenize(
7906 &self,
7907 ) -> <scopeTargetTokenCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
7908 ()
7909 }
7910 }
7911 #[automatically_derived]
7912 impl alloy_sol_types::SolCall for scopeTargetTokenCall {
7913 type Parameters<'a> = (Target,);
7914 type Token<'a> = <Self::Parameters<
7915 'a,
7916 > as alloy_sol_types::SolType>::Token<'a>;
7917 type Return = scopeTargetTokenReturn;
7918 type ReturnTuple<'a> = ();
7919 type ReturnToken<'a> = <Self::ReturnTuple<
7920 'a,
7921 > as alloy_sol_types::SolType>::Token<'a>;
7922 const SIGNATURE: &'static str = "scopeTargetToken(uint256)";
7923 const SELECTOR: [u8; 4] = [167u8, 108u8, 154u8, 47u8];
7924 #[inline]
7925 fn new<'a>(
7926 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7927 ) -> Self {
7928 tuple.into()
7929 }
7930 #[inline]
7931 fn tokenize(&self) -> Self::Token<'_> {
7932 (<Target as alloy_sol_types::SolType>::tokenize(&self.defaultTarget),)
7933 }
7934 #[inline]
7935 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7936 scopeTargetTokenReturn::_tokenize(ret)
7937 }
7938 #[inline]
7939 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7940 <Self::ReturnTuple<
7941 '_,
7942 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7943 .map(Into::into)
7944 }
7945 #[inline]
7946 fn abi_decode_returns_validate(
7947 data: &[u8],
7948 ) -> alloy_sol_types::Result<Self::Return> {
7949 <Self::ReturnTuple<
7950 '_,
7951 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7952 .map(Into::into)
7953 }
7954 }
7955 };
7956 #[derive(serde::Serialize, serde::Deserialize)]
7957 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7958 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7963 #[derive(Clone)]
7964 pub struct scopeTokenCapabilitiesCall {
7965 #[allow(missing_docs)]
7966 pub nodeAddress: alloy::sol_types::private::Address,
7967 #[allow(missing_docs)]
7968 pub targetAddress: alloy::sol_types::private::Address,
7969 #[allow(missing_docs)]
7970 pub beneficiary: alloy::sol_types::private::Address,
7971 #[allow(missing_docs)]
7972 pub encodedSigsPermissions: alloy::sol_types::private::FixedBytes<32>,
7973 }
7974 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7976 #[derive(Clone)]
7977 pub struct scopeTokenCapabilitiesReturn {}
7978 #[allow(
7979 non_camel_case_types,
7980 non_snake_case,
7981 clippy::pub_underscore_fields,
7982 clippy::style
7983 )]
7984 const _: () = {
7985 use alloy::sol_types as alloy_sol_types;
7986 {
7987 #[doc(hidden)]
7988 type UnderlyingSolTuple<'a> = (
7989 alloy::sol_types::sol_data::Address,
7990 alloy::sol_types::sol_data::Address,
7991 alloy::sol_types::sol_data::Address,
7992 alloy::sol_types::sol_data::FixedBytes<32>,
7993 );
7994 #[doc(hidden)]
7995 type UnderlyingRustTuple<'a> = (
7996 alloy::sol_types::private::Address,
7997 alloy::sol_types::private::Address,
7998 alloy::sol_types::private::Address,
7999 alloy::sol_types::private::FixedBytes<32>,
8000 );
8001 #[cfg(test)]
8002 #[allow(dead_code, unreachable_patterns)]
8003 fn _type_assertion(
8004 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8005 ) {
8006 match _t {
8007 alloy_sol_types::private::AssertTypeEq::<
8008 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8009 >(_) => {}
8010 }
8011 }
8012 #[automatically_derived]
8013 #[doc(hidden)]
8014 impl ::core::convert::From<scopeTokenCapabilitiesCall>
8015 for UnderlyingRustTuple<'_> {
8016 fn from(value: scopeTokenCapabilitiesCall) -> Self {
8017 (
8018 value.nodeAddress,
8019 value.targetAddress,
8020 value.beneficiary,
8021 value.encodedSigsPermissions,
8022 )
8023 }
8024 }
8025 #[automatically_derived]
8026 #[doc(hidden)]
8027 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8028 for scopeTokenCapabilitiesCall {
8029 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8030 Self {
8031 nodeAddress: tuple.0,
8032 targetAddress: tuple.1,
8033 beneficiary: tuple.2,
8034 encodedSigsPermissions: tuple.3,
8035 }
8036 }
8037 }
8038 }
8039 {
8040 #[doc(hidden)]
8041 type UnderlyingSolTuple<'a> = ();
8042 #[doc(hidden)]
8043 type UnderlyingRustTuple<'a> = ();
8044 #[cfg(test)]
8045 #[allow(dead_code, unreachable_patterns)]
8046 fn _type_assertion(
8047 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8048 ) {
8049 match _t {
8050 alloy_sol_types::private::AssertTypeEq::<
8051 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8052 >(_) => {}
8053 }
8054 }
8055 #[automatically_derived]
8056 #[doc(hidden)]
8057 impl ::core::convert::From<scopeTokenCapabilitiesReturn>
8058 for UnderlyingRustTuple<'_> {
8059 fn from(value: scopeTokenCapabilitiesReturn) -> Self {
8060 ()
8061 }
8062 }
8063 #[automatically_derived]
8064 #[doc(hidden)]
8065 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8066 for scopeTokenCapabilitiesReturn {
8067 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8068 Self {}
8069 }
8070 }
8071 }
8072 impl scopeTokenCapabilitiesReturn {
8073 fn _tokenize(
8074 &self,
8075 ) -> <scopeTokenCapabilitiesCall as alloy_sol_types::SolCall>::ReturnToken<
8076 '_,
8077 > {
8078 ()
8079 }
8080 }
8081 #[automatically_derived]
8082 impl alloy_sol_types::SolCall for scopeTokenCapabilitiesCall {
8083 type Parameters<'a> = (
8084 alloy::sol_types::sol_data::Address,
8085 alloy::sol_types::sol_data::Address,
8086 alloy::sol_types::sol_data::Address,
8087 alloy::sol_types::sol_data::FixedBytes<32>,
8088 );
8089 type Token<'a> = <Self::Parameters<
8090 'a,
8091 > as alloy_sol_types::SolType>::Token<'a>;
8092 type Return = scopeTokenCapabilitiesReturn;
8093 type ReturnTuple<'a> = ();
8094 type ReturnToken<'a> = <Self::ReturnTuple<
8095 'a,
8096 > as alloy_sol_types::SolType>::Token<'a>;
8097 const SIGNATURE: &'static str = "scopeTokenCapabilities(address,address,address,bytes32)";
8098 const SELECTOR: [u8; 4] = [198u8, 134u8, 5u8, 200u8];
8099 #[inline]
8100 fn new<'a>(
8101 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8102 ) -> Self {
8103 tuple.into()
8104 }
8105 #[inline]
8106 fn tokenize(&self) -> Self::Token<'_> {
8107 (
8108 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8109 &self.nodeAddress,
8110 ),
8111 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8112 &self.targetAddress,
8113 ),
8114 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8115 &self.beneficiary,
8116 ),
8117 <alloy::sol_types::sol_data::FixedBytes<
8118 32,
8119 > as alloy_sol_types::SolType>::tokenize(
8120 &self.encodedSigsPermissions,
8121 ),
8122 )
8123 }
8124 #[inline]
8125 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8126 scopeTokenCapabilitiesReturn::_tokenize(ret)
8127 }
8128 #[inline]
8129 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8130 <Self::ReturnTuple<
8131 '_,
8132 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8133 .map(Into::into)
8134 }
8135 #[inline]
8136 fn abi_decode_returns_validate(
8137 data: &[u8],
8138 ) -> alloy_sol_types::Result<Self::Return> {
8139 <Self::ReturnTuple<
8140 '_,
8141 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8142 .map(Into::into)
8143 }
8144 }
8145 };
8146 #[derive(serde::Serialize, serde::Deserialize)]
8147 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8148 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8153 #[derive(Clone)]
8154 pub struct setMultisendCall {
8155 #[allow(missing_docs)]
8156 pub _multisend: alloy::sol_types::private::Address,
8157 }
8158 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8160 #[derive(Clone)]
8161 pub struct setMultisendReturn {}
8162 #[allow(
8163 non_camel_case_types,
8164 non_snake_case,
8165 clippy::pub_underscore_fields,
8166 clippy::style
8167 )]
8168 const _: () = {
8169 use alloy::sol_types as alloy_sol_types;
8170 {
8171 #[doc(hidden)]
8172 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8173 #[doc(hidden)]
8174 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8175 #[cfg(test)]
8176 #[allow(dead_code, unreachable_patterns)]
8177 fn _type_assertion(
8178 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8179 ) {
8180 match _t {
8181 alloy_sol_types::private::AssertTypeEq::<
8182 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8183 >(_) => {}
8184 }
8185 }
8186 #[automatically_derived]
8187 #[doc(hidden)]
8188 impl ::core::convert::From<setMultisendCall> for UnderlyingRustTuple<'_> {
8189 fn from(value: setMultisendCall) -> Self {
8190 (value._multisend,)
8191 }
8192 }
8193 #[automatically_derived]
8194 #[doc(hidden)]
8195 impl ::core::convert::From<UnderlyingRustTuple<'_>> for setMultisendCall {
8196 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8197 Self { _multisend: tuple.0 }
8198 }
8199 }
8200 }
8201 {
8202 #[doc(hidden)]
8203 type UnderlyingSolTuple<'a> = ();
8204 #[doc(hidden)]
8205 type UnderlyingRustTuple<'a> = ();
8206 #[cfg(test)]
8207 #[allow(dead_code, unreachable_patterns)]
8208 fn _type_assertion(
8209 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8210 ) {
8211 match _t {
8212 alloy_sol_types::private::AssertTypeEq::<
8213 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8214 >(_) => {}
8215 }
8216 }
8217 #[automatically_derived]
8218 #[doc(hidden)]
8219 impl ::core::convert::From<setMultisendReturn> for UnderlyingRustTuple<'_> {
8220 fn from(value: setMultisendReturn) -> Self {
8221 ()
8222 }
8223 }
8224 #[automatically_derived]
8225 #[doc(hidden)]
8226 impl ::core::convert::From<UnderlyingRustTuple<'_>> for setMultisendReturn {
8227 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8228 Self {}
8229 }
8230 }
8231 }
8232 impl setMultisendReturn {
8233 fn _tokenize(
8234 &self,
8235 ) -> <setMultisendCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8236 ()
8237 }
8238 }
8239 #[automatically_derived]
8240 impl alloy_sol_types::SolCall for setMultisendCall {
8241 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8242 type Token<'a> = <Self::Parameters<
8243 'a,
8244 > as alloy_sol_types::SolType>::Token<'a>;
8245 type Return = setMultisendReturn;
8246 type ReturnTuple<'a> = ();
8247 type ReturnToken<'a> = <Self::ReturnTuple<
8248 'a,
8249 > as alloy_sol_types::SolType>::Token<'a>;
8250 const SIGNATURE: &'static str = "setMultisend(address)";
8251 const SELECTOR: [u8; 4] = [139u8, 149u8, 236u8, 205u8];
8252 #[inline]
8253 fn new<'a>(
8254 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8255 ) -> Self {
8256 tuple.into()
8257 }
8258 #[inline]
8259 fn tokenize(&self) -> Self::Token<'_> {
8260 (
8261 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8262 &self._multisend,
8263 ),
8264 )
8265 }
8266 #[inline]
8267 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8268 setMultisendReturn::_tokenize(ret)
8269 }
8270 #[inline]
8271 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8272 <Self::ReturnTuple<
8273 '_,
8274 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8275 .map(Into::into)
8276 }
8277 #[inline]
8278 fn abi_decode_returns_validate(
8279 data: &[u8],
8280 ) -> alloy_sol_types::Result<Self::Return> {
8281 <Self::ReturnTuple<
8282 '_,
8283 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8284 .map(Into::into)
8285 }
8286 }
8287 };
8288 #[derive(serde::Serialize, serde::Deserialize)]
8289 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8290 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8295 #[derive(Clone)]
8296 pub struct transferOwnershipCall {
8297 #[allow(missing_docs)]
8298 pub newOwner: alloy::sol_types::private::Address,
8299 }
8300 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8302 #[derive(Clone)]
8303 pub struct transferOwnershipReturn {}
8304 #[allow(
8305 non_camel_case_types,
8306 non_snake_case,
8307 clippy::pub_underscore_fields,
8308 clippy::style
8309 )]
8310 const _: () = {
8311 use alloy::sol_types as alloy_sol_types;
8312 {
8313 #[doc(hidden)]
8314 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8315 #[doc(hidden)]
8316 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8317 #[cfg(test)]
8318 #[allow(dead_code, unreachable_patterns)]
8319 fn _type_assertion(
8320 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8321 ) {
8322 match _t {
8323 alloy_sol_types::private::AssertTypeEq::<
8324 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8325 >(_) => {}
8326 }
8327 }
8328 #[automatically_derived]
8329 #[doc(hidden)]
8330 impl ::core::convert::From<transferOwnershipCall>
8331 for UnderlyingRustTuple<'_> {
8332 fn from(value: transferOwnershipCall) -> Self {
8333 (value.newOwner,)
8334 }
8335 }
8336 #[automatically_derived]
8337 #[doc(hidden)]
8338 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8339 for transferOwnershipCall {
8340 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8341 Self { newOwner: tuple.0 }
8342 }
8343 }
8344 }
8345 {
8346 #[doc(hidden)]
8347 type UnderlyingSolTuple<'a> = ();
8348 #[doc(hidden)]
8349 type UnderlyingRustTuple<'a> = ();
8350 #[cfg(test)]
8351 #[allow(dead_code, unreachable_patterns)]
8352 fn _type_assertion(
8353 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8354 ) {
8355 match _t {
8356 alloy_sol_types::private::AssertTypeEq::<
8357 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8358 >(_) => {}
8359 }
8360 }
8361 #[automatically_derived]
8362 #[doc(hidden)]
8363 impl ::core::convert::From<transferOwnershipReturn>
8364 for UnderlyingRustTuple<'_> {
8365 fn from(value: transferOwnershipReturn) -> Self {
8366 ()
8367 }
8368 }
8369 #[automatically_derived]
8370 #[doc(hidden)]
8371 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8372 for transferOwnershipReturn {
8373 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8374 Self {}
8375 }
8376 }
8377 }
8378 impl transferOwnershipReturn {
8379 fn _tokenize(
8380 &self,
8381 ) -> <transferOwnershipCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8382 ()
8383 }
8384 }
8385 #[automatically_derived]
8386 impl alloy_sol_types::SolCall for transferOwnershipCall {
8387 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8388 type Token<'a> = <Self::Parameters<
8389 'a,
8390 > as alloy_sol_types::SolType>::Token<'a>;
8391 type Return = transferOwnershipReturn;
8392 type ReturnTuple<'a> = ();
8393 type ReturnToken<'a> = <Self::ReturnTuple<
8394 'a,
8395 > as alloy_sol_types::SolType>::Token<'a>;
8396 const SIGNATURE: &'static str = "transferOwnership(address)";
8397 const SELECTOR: [u8; 4] = [242u8, 253u8, 227u8, 139u8];
8398 #[inline]
8399 fn new<'a>(
8400 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8401 ) -> Self {
8402 tuple.into()
8403 }
8404 #[inline]
8405 fn tokenize(&self) -> Self::Token<'_> {
8406 (
8407 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8408 &self.newOwner,
8409 ),
8410 )
8411 }
8412 #[inline]
8413 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8414 transferOwnershipReturn::_tokenize(ret)
8415 }
8416 #[inline]
8417 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8418 <Self::ReturnTuple<
8419 '_,
8420 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8421 .map(Into::into)
8422 }
8423 #[inline]
8424 fn abi_decode_returns_validate(
8425 data: &[u8],
8426 ) -> alloy_sol_types::Result<Self::Return> {
8427 <Self::ReturnTuple<
8428 '_,
8429 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8430 .map(Into::into)
8431 }
8432 }
8433 };
8434 #[derive(serde::Serialize, serde::Deserialize)]
8435 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8436 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8441 #[derive(Clone)]
8442 pub struct tryGetTargetCall {
8443 #[allow(missing_docs)]
8444 pub targetAddress: alloy::sol_types::private::Address,
8445 }
8446 #[derive(serde::Serialize, serde::Deserialize)]
8447 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8448 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8450 #[derive(Clone)]
8451 pub struct tryGetTargetReturn {
8452 #[allow(missing_docs)]
8453 pub _0: bool,
8454 #[allow(missing_docs)]
8455 pub _1: <Target as alloy::sol_types::SolType>::RustType,
8456 }
8457 #[allow(
8458 non_camel_case_types,
8459 non_snake_case,
8460 clippy::pub_underscore_fields,
8461 clippy::style
8462 )]
8463 const _: () = {
8464 use alloy::sol_types as alloy_sol_types;
8465 {
8466 #[doc(hidden)]
8467 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8468 #[doc(hidden)]
8469 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8470 #[cfg(test)]
8471 #[allow(dead_code, unreachable_patterns)]
8472 fn _type_assertion(
8473 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8474 ) {
8475 match _t {
8476 alloy_sol_types::private::AssertTypeEq::<
8477 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8478 >(_) => {}
8479 }
8480 }
8481 #[automatically_derived]
8482 #[doc(hidden)]
8483 impl ::core::convert::From<tryGetTargetCall> for UnderlyingRustTuple<'_> {
8484 fn from(value: tryGetTargetCall) -> Self {
8485 (value.targetAddress,)
8486 }
8487 }
8488 #[automatically_derived]
8489 #[doc(hidden)]
8490 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tryGetTargetCall {
8491 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8492 Self { targetAddress: tuple.0 }
8493 }
8494 }
8495 }
8496 {
8497 #[doc(hidden)]
8498 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool, Target);
8499 #[doc(hidden)]
8500 type UnderlyingRustTuple<'a> = (
8501 bool,
8502 <Target as alloy::sol_types::SolType>::RustType,
8503 );
8504 #[cfg(test)]
8505 #[allow(dead_code, unreachable_patterns)]
8506 fn _type_assertion(
8507 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8508 ) {
8509 match _t {
8510 alloy_sol_types::private::AssertTypeEq::<
8511 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8512 >(_) => {}
8513 }
8514 }
8515 #[automatically_derived]
8516 #[doc(hidden)]
8517 impl ::core::convert::From<tryGetTargetReturn> for UnderlyingRustTuple<'_> {
8518 fn from(value: tryGetTargetReturn) -> Self {
8519 (value._0, value._1)
8520 }
8521 }
8522 #[automatically_derived]
8523 #[doc(hidden)]
8524 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tryGetTargetReturn {
8525 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8526 Self { _0: tuple.0, _1: tuple.1 }
8527 }
8528 }
8529 }
8530 impl tryGetTargetReturn {
8531 fn _tokenize(
8532 &self,
8533 ) -> <tryGetTargetCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8534 (
8535 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
8536 &self._0,
8537 ),
8538 <Target as alloy_sol_types::SolType>::tokenize(&self._1),
8539 )
8540 }
8541 }
8542 #[automatically_derived]
8543 impl alloy_sol_types::SolCall for tryGetTargetCall {
8544 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8545 type Token<'a> = <Self::Parameters<
8546 'a,
8547 > as alloy_sol_types::SolType>::Token<'a>;
8548 type Return = tryGetTargetReturn;
8549 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool, Target);
8550 type ReturnToken<'a> = <Self::ReturnTuple<
8551 'a,
8552 > as alloy_sol_types::SolType>::Token<'a>;
8553 const SIGNATURE: &'static str = "tryGetTarget(address)";
8554 const SELECTOR: [u8; 4] = [223u8, 78u8, 111u8, 138u8];
8555 #[inline]
8556 fn new<'a>(
8557 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8558 ) -> Self {
8559 tuple.into()
8560 }
8561 #[inline]
8562 fn tokenize(&self) -> Self::Token<'_> {
8563 (
8564 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8565 &self.targetAddress,
8566 ),
8567 )
8568 }
8569 #[inline]
8570 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8571 tryGetTargetReturn::_tokenize(ret)
8572 }
8573 #[inline]
8574 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8575 <Self::ReturnTuple<
8576 '_,
8577 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8578 .map(Into::into)
8579 }
8580 #[inline]
8581 fn abi_decode_returns_validate(
8582 data: &[u8],
8583 ) -> alloy_sol_types::Result<Self::Return> {
8584 <Self::ReturnTuple<
8585 '_,
8586 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8587 .map(Into::into)
8588 }
8589 }
8590 };
8591 #[derive(serde::Serialize, serde::Deserialize)]
8592 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8593 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8598 #[derive(Clone)]
8599 pub struct upgradeToCall {
8600 #[allow(missing_docs)]
8601 pub newImplementation: alloy::sol_types::private::Address,
8602 }
8603 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8605 #[derive(Clone)]
8606 pub struct upgradeToReturn {}
8607 #[allow(
8608 non_camel_case_types,
8609 non_snake_case,
8610 clippy::pub_underscore_fields,
8611 clippy::style
8612 )]
8613 const _: () = {
8614 use alloy::sol_types as alloy_sol_types;
8615 {
8616 #[doc(hidden)]
8617 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8618 #[doc(hidden)]
8619 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8620 #[cfg(test)]
8621 #[allow(dead_code, unreachable_patterns)]
8622 fn _type_assertion(
8623 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8624 ) {
8625 match _t {
8626 alloy_sol_types::private::AssertTypeEq::<
8627 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8628 >(_) => {}
8629 }
8630 }
8631 #[automatically_derived]
8632 #[doc(hidden)]
8633 impl ::core::convert::From<upgradeToCall> for UnderlyingRustTuple<'_> {
8634 fn from(value: upgradeToCall) -> Self {
8635 (value.newImplementation,)
8636 }
8637 }
8638 #[automatically_derived]
8639 #[doc(hidden)]
8640 impl ::core::convert::From<UnderlyingRustTuple<'_>> for upgradeToCall {
8641 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8642 Self { newImplementation: tuple.0 }
8643 }
8644 }
8645 }
8646 {
8647 #[doc(hidden)]
8648 type UnderlyingSolTuple<'a> = ();
8649 #[doc(hidden)]
8650 type UnderlyingRustTuple<'a> = ();
8651 #[cfg(test)]
8652 #[allow(dead_code, unreachable_patterns)]
8653 fn _type_assertion(
8654 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8655 ) {
8656 match _t {
8657 alloy_sol_types::private::AssertTypeEq::<
8658 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8659 >(_) => {}
8660 }
8661 }
8662 #[automatically_derived]
8663 #[doc(hidden)]
8664 impl ::core::convert::From<upgradeToReturn> for UnderlyingRustTuple<'_> {
8665 fn from(value: upgradeToReturn) -> Self {
8666 ()
8667 }
8668 }
8669 #[automatically_derived]
8670 #[doc(hidden)]
8671 impl ::core::convert::From<UnderlyingRustTuple<'_>> for upgradeToReturn {
8672 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8673 Self {}
8674 }
8675 }
8676 }
8677 impl upgradeToReturn {
8678 fn _tokenize(
8679 &self,
8680 ) -> <upgradeToCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8681 ()
8682 }
8683 }
8684 #[automatically_derived]
8685 impl alloy_sol_types::SolCall for upgradeToCall {
8686 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8687 type Token<'a> = <Self::Parameters<
8688 'a,
8689 > as alloy_sol_types::SolType>::Token<'a>;
8690 type Return = upgradeToReturn;
8691 type ReturnTuple<'a> = ();
8692 type ReturnToken<'a> = <Self::ReturnTuple<
8693 'a,
8694 > as alloy_sol_types::SolType>::Token<'a>;
8695 const SIGNATURE: &'static str = "upgradeTo(address)";
8696 const SELECTOR: [u8; 4] = [54u8, 89u8, 207u8, 230u8];
8697 #[inline]
8698 fn new<'a>(
8699 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8700 ) -> Self {
8701 tuple.into()
8702 }
8703 #[inline]
8704 fn tokenize(&self) -> Self::Token<'_> {
8705 (
8706 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8707 &self.newImplementation,
8708 ),
8709 )
8710 }
8711 #[inline]
8712 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8713 upgradeToReturn::_tokenize(ret)
8714 }
8715 #[inline]
8716 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8717 <Self::ReturnTuple<
8718 '_,
8719 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8720 .map(Into::into)
8721 }
8722 #[inline]
8723 fn abi_decode_returns_validate(
8724 data: &[u8],
8725 ) -> alloy_sol_types::Result<Self::Return> {
8726 <Self::ReturnTuple<
8727 '_,
8728 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8729 .map(Into::into)
8730 }
8731 }
8732 };
8733 #[derive(serde::Serialize, serde::Deserialize)]
8734 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8735 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8740 #[derive(Clone)]
8741 pub struct upgradeToAndCallCall {
8742 #[allow(missing_docs)]
8743 pub newImplementation: alloy::sol_types::private::Address,
8744 #[allow(missing_docs)]
8745 pub data: alloy::sol_types::private::Bytes,
8746 }
8747 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8749 #[derive(Clone)]
8750 pub struct upgradeToAndCallReturn {}
8751 #[allow(
8752 non_camel_case_types,
8753 non_snake_case,
8754 clippy::pub_underscore_fields,
8755 clippy::style
8756 )]
8757 const _: () = {
8758 use alloy::sol_types as alloy_sol_types;
8759 {
8760 #[doc(hidden)]
8761 type UnderlyingSolTuple<'a> = (
8762 alloy::sol_types::sol_data::Address,
8763 alloy::sol_types::sol_data::Bytes,
8764 );
8765 #[doc(hidden)]
8766 type UnderlyingRustTuple<'a> = (
8767 alloy::sol_types::private::Address,
8768 alloy::sol_types::private::Bytes,
8769 );
8770 #[cfg(test)]
8771 #[allow(dead_code, unreachable_patterns)]
8772 fn _type_assertion(
8773 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8774 ) {
8775 match _t {
8776 alloy_sol_types::private::AssertTypeEq::<
8777 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8778 >(_) => {}
8779 }
8780 }
8781 #[automatically_derived]
8782 #[doc(hidden)]
8783 impl ::core::convert::From<upgradeToAndCallCall>
8784 for UnderlyingRustTuple<'_> {
8785 fn from(value: upgradeToAndCallCall) -> Self {
8786 (value.newImplementation, value.data)
8787 }
8788 }
8789 #[automatically_derived]
8790 #[doc(hidden)]
8791 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8792 for upgradeToAndCallCall {
8793 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8794 Self {
8795 newImplementation: tuple.0,
8796 data: tuple.1,
8797 }
8798 }
8799 }
8800 }
8801 {
8802 #[doc(hidden)]
8803 type UnderlyingSolTuple<'a> = ();
8804 #[doc(hidden)]
8805 type UnderlyingRustTuple<'a> = ();
8806 #[cfg(test)]
8807 #[allow(dead_code, unreachable_patterns)]
8808 fn _type_assertion(
8809 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8810 ) {
8811 match _t {
8812 alloy_sol_types::private::AssertTypeEq::<
8813 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8814 >(_) => {}
8815 }
8816 }
8817 #[automatically_derived]
8818 #[doc(hidden)]
8819 impl ::core::convert::From<upgradeToAndCallReturn>
8820 for UnderlyingRustTuple<'_> {
8821 fn from(value: upgradeToAndCallReturn) -> Self {
8822 ()
8823 }
8824 }
8825 #[automatically_derived]
8826 #[doc(hidden)]
8827 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8828 for upgradeToAndCallReturn {
8829 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8830 Self {}
8831 }
8832 }
8833 }
8834 impl upgradeToAndCallReturn {
8835 fn _tokenize(
8836 &self,
8837 ) -> <upgradeToAndCallCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8838 ()
8839 }
8840 }
8841 #[automatically_derived]
8842 impl alloy_sol_types::SolCall for upgradeToAndCallCall {
8843 type Parameters<'a> = (
8844 alloy::sol_types::sol_data::Address,
8845 alloy::sol_types::sol_data::Bytes,
8846 );
8847 type Token<'a> = <Self::Parameters<
8848 'a,
8849 > as alloy_sol_types::SolType>::Token<'a>;
8850 type Return = upgradeToAndCallReturn;
8851 type ReturnTuple<'a> = ();
8852 type ReturnToken<'a> = <Self::ReturnTuple<
8853 'a,
8854 > as alloy_sol_types::SolType>::Token<'a>;
8855 const SIGNATURE: &'static str = "upgradeToAndCall(address,bytes)";
8856 const SELECTOR: [u8; 4] = [79u8, 30u8, 242u8, 134u8];
8857 #[inline]
8858 fn new<'a>(
8859 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8860 ) -> Self {
8861 tuple.into()
8862 }
8863 #[inline]
8864 fn tokenize(&self) -> Self::Token<'_> {
8865 (
8866 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8867 &self.newImplementation,
8868 ),
8869 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
8870 &self.data,
8871 ),
8872 )
8873 }
8874 #[inline]
8875 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8876 upgradeToAndCallReturn::_tokenize(ret)
8877 }
8878 #[inline]
8879 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8880 <Self::ReturnTuple<
8881 '_,
8882 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8883 .map(Into::into)
8884 }
8885 #[inline]
8886 fn abi_decode_returns_validate(
8887 data: &[u8],
8888 ) -> alloy_sol_types::Result<Self::Return> {
8889 <Self::ReturnTuple<
8890 '_,
8891 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8892 .map(Into::into)
8893 }
8894 }
8895 };
8896 #[derive(serde::Serialize, serde::Deserialize)]
8898 #[derive()]
8899 pub enum HoprNodeManagementModuleCalls {
8900 #[allow(missing_docs)]
8901 addChannelsAndTokenTarget(addChannelsAndTokenTargetCall),
8902 #[allow(missing_docs)]
8903 addNode(addNodeCall),
8904 #[allow(missing_docs)]
8905 decodeFunctionSigsAndPermissions(decodeFunctionSigsAndPermissionsCall),
8906 #[allow(missing_docs)]
8907 encodeFunctionSigsAndPermissions(encodeFunctionSigsAndPermissionsCall),
8908 #[allow(missing_docs)]
8909 execTransactionFromModule(execTransactionFromModuleCall),
8910 #[allow(missing_docs)]
8911 execTransactionFromModuleReturnData(execTransactionFromModuleReturnDataCall),
8912 #[allow(missing_docs)]
8913 getGranularPermissions(getGranularPermissionsCall),
8914 #[allow(missing_docs)]
8915 getTargets(getTargetsCall),
8916 #[allow(missing_docs)]
8917 includeNode(includeNodeCall),
8918 #[allow(missing_docs)]
8919 initialize(initializeCall),
8920 #[allow(missing_docs)]
8921 isHoprNodeManagementModule(isHoprNodeManagementModuleCall),
8922 #[allow(missing_docs)]
8923 isNode(isNodeCall),
8924 #[allow(missing_docs)]
8925 multisend(multisendCall),
8926 #[allow(missing_docs)]
8927 owner(ownerCall),
8928 #[allow(missing_docs)]
8929 proxiableUUID(proxiableUUIDCall),
8930 #[allow(missing_docs)]
8931 removeNode(removeNodeCall),
8932 #[allow(missing_docs)]
8933 renounceOwnership(renounceOwnershipCall),
8934 #[allow(missing_docs)]
8935 revokeTarget(revokeTargetCall),
8936 #[allow(missing_docs)]
8937 scopeChannelsCapabilities(scopeChannelsCapabilitiesCall),
8938 #[allow(missing_docs)]
8939 scopeSendCapability(scopeSendCapabilityCall),
8940 #[allow(missing_docs)]
8941 scopeTargetChannels(scopeTargetChannelsCall),
8942 #[allow(missing_docs)]
8943 scopeTargetSend(scopeTargetSendCall),
8944 #[allow(missing_docs)]
8945 scopeTargetToken(scopeTargetTokenCall),
8946 #[allow(missing_docs)]
8947 scopeTokenCapabilities(scopeTokenCapabilitiesCall),
8948 #[allow(missing_docs)]
8949 setMultisend(setMultisendCall),
8950 #[allow(missing_docs)]
8951 transferOwnership(transferOwnershipCall),
8952 #[allow(missing_docs)]
8953 tryGetTarget(tryGetTargetCall),
8954 #[allow(missing_docs)]
8955 upgradeTo(upgradeToCall),
8956 #[allow(missing_docs)]
8957 upgradeToAndCall(upgradeToAndCallCall),
8958 }
8959 #[automatically_derived]
8960 impl HoprNodeManagementModuleCalls {
8961 pub const SELECTORS: &'static [[u8; 4usize]] = &[
8968 [1u8, 117u8, 1u8, 82u8],
8969 [41u8, 68u8, 2u8, 204u8],
8970 [52u8, 1u8, 205u8, 232u8],
8971 [54u8, 89u8, 207u8, 230u8],
8972 [67u8, 159u8, 171u8, 145u8],
8973 [70u8, 135u8, 33u8, 167u8],
8974 [74u8, 27u8, 164u8, 8u8],
8975 [79u8, 30u8, 242u8, 134u8],
8976 [82u8, 41u8, 7u8, 63u8],
8977 [82u8, 209u8, 144u8, 45u8],
8978 [86u8, 245u8, 81u8, 23u8],
8979 [96u8, 151u8, 108u8, 75u8],
8980 [99u8, 254u8, 59u8, 86u8],
8981 [113u8, 80u8, 24u8, 166u8],
8982 [115u8, 156u8, 75u8, 8u8],
8983 [139u8, 149u8, 236u8, 205u8],
8984 [141u8, 165u8, 203u8, 91u8],
8985 [157u8, 149u8, 241u8, 204u8],
8986 [162u8, 69u8, 15u8, 137u8],
8987 [167u8, 108u8, 154u8, 47u8],
8988 [178u8, 185u8, 158u8, 201u8],
8989 [181u8, 115u8, 105u8, 98u8],
8990 [198u8, 134u8, 5u8, 200u8],
8991 [198u8, 140u8, 58u8, 131u8],
8992 [220u8, 6u8, 16u8, 157u8],
8993 [220u8, 68u8, 106u8, 74u8],
8994 [223u8, 78u8, 111u8, 138u8],
8995 [242u8, 253u8, 227u8, 139u8],
8996 [250u8, 25u8, 80u8, 29u8],
8997 ];
8998 }
8999 #[automatically_derived]
9000 impl alloy_sol_types::SolInterface for HoprNodeManagementModuleCalls {
9001 const NAME: &'static str = "HoprNodeManagementModuleCalls";
9002 const MIN_DATA_LENGTH: usize = 0usize;
9003 const COUNT: usize = 29usize;
9004 #[inline]
9005 fn selector(&self) -> [u8; 4] {
9006 match self {
9007 Self::addChannelsAndTokenTarget(_) => {
9008 <addChannelsAndTokenTargetCall as alloy_sol_types::SolCall>::SELECTOR
9009 }
9010 Self::addNode(_) => <addNodeCall as alloy_sol_types::SolCall>::SELECTOR,
9011 Self::decodeFunctionSigsAndPermissions(_) => {
9012 <decodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::SELECTOR
9013 }
9014 Self::encodeFunctionSigsAndPermissions(_) => {
9015 <encodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::SELECTOR
9016 }
9017 Self::execTransactionFromModule(_) => {
9018 <execTransactionFromModuleCall as alloy_sol_types::SolCall>::SELECTOR
9019 }
9020 Self::execTransactionFromModuleReturnData(_) => {
9021 <execTransactionFromModuleReturnDataCall as alloy_sol_types::SolCall>::SELECTOR
9022 }
9023 Self::getGranularPermissions(_) => {
9024 <getGranularPermissionsCall as alloy_sol_types::SolCall>::SELECTOR
9025 }
9026 Self::getTargets(_) => {
9027 <getTargetsCall as alloy_sol_types::SolCall>::SELECTOR
9028 }
9029 Self::includeNode(_) => {
9030 <includeNodeCall as alloy_sol_types::SolCall>::SELECTOR
9031 }
9032 Self::initialize(_) => {
9033 <initializeCall as alloy_sol_types::SolCall>::SELECTOR
9034 }
9035 Self::isHoprNodeManagementModule(_) => {
9036 <isHoprNodeManagementModuleCall as alloy_sol_types::SolCall>::SELECTOR
9037 }
9038 Self::isNode(_) => <isNodeCall as alloy_sol_types::SolCall>::SELECTOR,
9039 Self::multisend(_) => {
9040 <multisendCall as alloy_sol_types::SolCall>::SELECTOR
9041 }
9042 Self::owner(_) => <ownerCall as alloy_sol_types::SolCall>::SELECTOR,
9043 Self::proxiableUUID(_) => {
9044 <proxiableUUIDCall as alloy_sol_types::SolCall>::SELECTOR
9045 }
9046 Self::removeNode(_) => {
9047 <removeNodeCall as alloy_sol_types::SolCall>::SELECTOR
9048 }
9049 Self::renounceOwnership(_) => {
9050 <renounceOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
9051 }
9052 Self::revokeTarget(_) => {
9053 <revokeTargetCall as alloy_sol_types::SolCall>::SELECTOR
9054 }
9055 Self::scopeChannelsCapabilities(_) => {
9056 <scopeChannelsCapabilitiesCall as alloy_sol_types::SolCall>::SELECTOR
9057 }
9058 Self::scopeSendCapability(_) => {
9059 <scopeSendCapabilityCall as alloy_sol_types::SolCall>::SELECTOR
9060 }
9061 Self::scopeTargetChannels(_) => {
9062 <scopeTargetChannelsCall as alloy_sol_types::SolCall>::SELECTOR
9063 }
9064 Self::scopeTargetSend(_) => {
9065 <scopeTargetSendCall as alloy_sol_types::SolCall>::SELECTOR
9066 }
9067 Self::scopeTargetToken(_) => {
9068 <scopeTargetTokenCall as alloy_sol_types::SolCall>::SELECTOR
9069 }
9070 Self::scopeTokenCapabilities(_) => {
9071 <scopeTokenCapabilitiesCall as alloy_sol_types::SolCall>::SELECTOR
9072 }
9073 Self::setMultisend(_) => {
9074 <setMultisendCall as alloy_sol_types::SolCall>::SELECTOR
9075 }
9076 Self::transferOwnership(_) => {
9077 <transferOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
9078 }
9079 Self::tryGetTarget(_) => {
9080 <tryGetTargetCall as alloy_sol_types::SolCall>::SELECTOR
9081 }
9082 Self::upgradeTo(_) => {
9083 <upgradeToCall as alloy_sol_types::SolCall>::SELECTOR
9084 }
9085 Self::upgradeToAndCall(_) => {
9086 <upgradeToAndCallCall as alloy_sol_types::SolCall>::SELECTOR
9087 }
9088 }
9089 }
9090 #[inline]
9091 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
9092 Self::SELECTORS.get(i).copied()
9093 }
9094 #[inline]
9095 fn valid_selector(selector: [u8; 4]) -> bool {
9096 Self::SELECTORS.binary_search(&selector).is_ok()
9097 }
9098 #[inline]
9099 #[allow(non_snake_case)]
9100 fn abi_decode_raw(
9101 selector: [u8; 4],
9102 data: &[u8],
9103 ) -> alloy_sol_types::Result<Self> {
9104 static DECODE_SHIMS: &[fn(
9105 &[u8],
9106 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls>] = &[
9107 {
9108 fn isNode(
9109 data: &[u8],
9110 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9111 <isNodeCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9112 .map(HoprNodeManagementModuleCalls::isNode)
9113 }
9114 isNode
9115 },
9116 {
9117 fn multisend(
9118 data: &[u8],
9119 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9120 <multisendCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9121 .map(HoprNodeManagementModuleCalls::multisend)
9122 }
9123 multisend
9124 },
9125 {
9126 fn revokeTarget(
9127 data: &[u8],
9128 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9129 <revokeTargetCall as alloy_sol_types::SolCall>::abi_decode_raw(
9130 data,
9131 )
9132 .map(HoprNodeManagementModuleCalls::revokeTarget)
9133 }
9134 revokeTarget
9135 },
9136 {
9137 fn upgradeTo(
9138 data: &[u8],
9139 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9140 <upgradeToCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9141 .map(HoprNodeManagementModuleCalls::upgradeTo)
9142 }
9143 upgradeTo
9144 },
9145 {
9146 fn initialize(
9147 data: &[u8],
9148 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9149 <initializeCall as alloy_sol_types::SolCall>::abi_decode_raw(
9150 data,
9151 )
9152 .map(HoprNodeManagementModuleCalls::initialize)
9153 }
9154 initialize
9155 },
9156 {
9157 fn execTransactionFromModule(
9158 data: &[u8],
9159 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9160 <execTransactionFromModuleCall as alloy_sol_types::SolCall>::abi_decode_raw(
9161 data,
9162 )
9163 .map(
9164 HoprNodeManagementModuleCalls::execTransactionFromModule,
9165 )
9166 }
9167 execTransactionFromModule
9168 },
9169 {
9170 fn isHoprNodeManagementModule(
9171 data: &[u8],
9172 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9173 <isHoprNodeManagementModuleCall as alloy_sol_types::SolCall>::abi_decode_raw(
9174 data,
9175 )
9176 .map(
9177 HoprNodeManagementModuleCalls::isHoprNodeManagementModule,
9178 )
9179 }
9180 isHoprNodeManagementModule
9181 },
9182 {
9183 fn upgradeToAndCall(
9184 data: &[u8],
9185 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9186 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_decode_raw(
9187 data,
9188 )
9189 .map(HoprNodeManagementModuleCalls::upgradeToAndCall)
9190 }
9191 upgradeToAndCall
9192 },
9193 {
9194 fn execTransactionFromModuleReturnData(
9195 data: &[u8],
9196 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9197 <execTransactionFromModuleReturnDataCall as alloy_sol_types::SolCall>::abi_decode_raw(
9198 data,
9199 )
9200 .map(
9201 HoprNodeManagementModuleCalls::execTransactionFromModuleReturnData,
9202 )
9203 }
9204 execTransactionFromModuleReturnData
9205 },
9206 {
9207 fn proxiableUUID(
9208 data: &[u8],
9209 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9210 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_decode_raw(
9211 data,
9212 )
9213 .map(HoprNodeManagementModuleCalls::proxiableUUID)
9214 }
9215 proxiableUUID
9216 },
9217 {
9218 fn encodeFunctionSigsAndPermissions(
9219 data: &[u8],
9220 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9221 <encodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9222 data,
9223 )
9224 .map(
9225 HoprNodeManagementModuleCalls::encodeFunctionSigsAndPermissions,
9226 )
9227 }
9228 encodeFunctionSigsAndPermissions
9229 },
9230 {
9231 fn decodeFunctionSigsAndPermissions(
9232 data: &[u8],
9233 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9234 <decodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9235 data,
9236 )
9237 .map(
9238 HoprNodeManagementModuleCalls::decodeFunctionSigsAndPermissions,
9239 )
9240 }
9241 decodeFunctionSigsAndPermissions
9242 },
9243 {
9244 fn getTargets(
9245 data: &[u8],
9246 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9247 <getTargetsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9248 data,
9249 )
9250 .map(HoprNodeManagementModuleCalls::getTargets)
9251 }
9252 getTargets
9253 },
9254 {
9255 fn renounceOwnership(
9256 data: &[u8],
9257 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9258 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
9259 data,
9260 )
9261 .map(HoprNodeManagementModuleCalls::renounceOwnership)
9262 }
9263 renounceOwnership
9264 },
9265 {
9266 fn scopeTargetChannels(
9267 data: &[u8],
9268 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9269 <scopeTargetChannelsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9270 data,
9271 )
9272 .map(HoprNodeManagementModuleCalls::scopeTargetChannels)
9273 }
9274 scopeTargetChannels
9275 },
9276 {
9277 fn setMultisend(
9278 data: &[u8],
9279 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9280 <setMultisendCall as alloy_sol_types::SolCall>::abi_decode_raw(
9281 data,
9282 )
9283 .map(HoprNodeManagementModuleCalls::setMultisend)
9284 }
9285 setMultisend
9286 },
9287 {
9288 fn owner(
9289 data: &[u8],
9290 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9291 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9292 .map(HoprNodeManagementModuleCalls::owner)
9293 }
9294 owner
9295 },
9296 {
9297 fn addNode(
9298 data: &[u8],
9299 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9300 <addNodeCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
9301 .map(HoprNodeManagementModuleCalls::addNode)
9302 }
9303 addNode
9304 },
9305 {
9306 fn addChannelsAndTokenTarget(
9307 data: &[u8],
9308 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9309 <addChannelsAndTokenTargetCall as alloy_sol_types::SolCall>::abi_decode_raw(
9310 data,
9311 )
9312 .map(
9313 HoprNodeManagementModuleCalls::addChannelsAndTokenTarget,
9314 )
9315 }
9316 addChannelsAndTokenTarget
9317 },
9318 {
9319 fn scopeTargetToken(
9320 data: &[u8],
9321 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9322 <scopeTargetTokenCall as alloy_sol_types::SolCall>::abi_decode_raw(
9323 data,
9324 )
9325 .map(HoprNodeManagementModuleCalls::scopeTargetToken)
9326 }
9327 scopeTargetToken
9328 },
9329 {
9330 fn removeNode(
9331 data: &[u8],
9332 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9333 <removeNodeCall as alloy_sol_types::SolCall>::abi_decode_raw(
9334 data,
9335 )
9336 .map(HoprNodeManagementModuleCalls::removeNode)
9337 }
9338 removeNode
9339 },
9340 {
9341 fn includeNode(
9342 data: &[u8],
9343 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9344 <includeNodeCall as alloy_sol_types::SolCall>::abi_decode_raw(
9345 data,
9346 )
9347 .map(HoprNodeManagementModuleCalls::includeNode)
9348 }
9349 includeNode
9350 },
9351 {
9352 fn scopeTokenCapabilities(
9353 data: &[u8],
9354 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9355 <scopeTokenCapabilitiesCall as alloy_sol_types::SolCall>::abi_decode_raw(
9356 data,
9357 )
9358 .map(HoprNodeManagementModuleCalls::scopeTokenCapabilities)
9359 }
9360 scopeTokenCapabilities
9361 },
9362 {
9363 fn scopeSendCapability(
9364 data: &[u8],
9365 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9366 <scopeSendCapabilityCall as alloy_sol_types::SolCall>::abi_decode_raw(
9367 data,
9368 )
9369 .map(HoprNodeManagementModuleCalls::scopeSendCapability)
9370 }
9371 scopeSendCapability
9372 },
9373 {
9374 fn scopeTargetSend(
9375 data: &[u8],
9376 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9377 <scopeTargetSendCall as alloy_sol_types::SolCall>::abi_decode_raw(
9378 data,
9379 )
9380 .map(HoprNodeManagementModuleCalls::scopeTargetSend)
9381 }
9382 scopeTargetSend
9383 },
9384 {
9385 fn getGranularPermissions(
9386 data: &[u8],
9387 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9388 <getGranularPermissionsCall as alloy_sol_types::SolCall>::abi_decode_raw(
9389 data,
9390 )
9391 .map(HoprNodeManagementModuleCalls::getGranularPermissions)
9392 }
9393 getGranularPermissions
9394 },
9395 {
9396 fn tryGetTarget(
9397 data: &[u8],
9398 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9399 <tryGetTargetCall as alloy_sol_types::SolCall>::abi_decode_raw(
9400 data,
9401 )
9402 .map(HoprNodeManagementModuleCalls::tryGetTarget)
9403 }
9404 tryGetTarget
9405 },
9406 {
9407 fn transferOwnership(
9408 data: &[u8],
9409 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9410 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
9411 data,
9412 )
9413 .map(HoprNodeManagementModuleCalls::transferOwnership)
9414 }
9415 transferOwnership
9416 },
9417 {
9418 fn scopeChannelsCapabilities(
9419 data: &[u8],
9420 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9421 <scopeChannelsCapabilitiesCall as alloy_sol_types::SolCall>::abi_decode_raw(
9422 data,
9423 )
9424 .map(
9425 HoprNodeManagementModuleCalls::scopeChannelsCapabilities,
9426 )
9427 }
9428 scopeChannelsCapabilities
9429 },
9430 ];
9431 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
9432 return Err(
9433 alloy_sol_types::Error::unknown_selector(
9434 <Self as alloy_sol_types::SolInterface>::NAME,
9435 selector,
9436 ),
9437 );
9438 };
9439 DECODE_SHIMS[idx](data)
9440 }
9441 #[inline]
9442 #[allow(non_snake_case)]
9443 fn abi_decode_raw_validate(
9444 selector: [u8; 4],
9445 data: &[u8],
9446 ) -> alloy_sol_types::Result<Self> {
9447 static DECODE_VALIDATE_SHIMS: &[fn(
9448 &[u8],
9449 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls>] = &[
9450 {
9451 fn isNode(
9452 data: &[u8],
9453 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9454 <isNodeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9455 data,
9456 )
9457 .map(HoprNodeManagementModuleCalls::isNode)
9458 }
9459 isNode
9460 },
9461 {
9462 fn multisend(
9463 data: &[u8],
9464 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9465 <multisendCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9466 data,
9467 )
9468 .map(HoprNodeManagementModuleCalls::multisend)
9469 }
9470 multisend
9471 },
9472 {
9473 fn revokeTarget(
9474 data: &[u8],
9475 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9476 <revokeTargetCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9477 data,
9478 )
9479 .map(HoprNodeManagementModuleCalls::revokeTarget)
9480 }
9481 revokeTarget
9482 },
9483 {
9484 fn upgradeTo(
9485 data: &[u8],
9486 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9487 <upgradeToCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9488 data,
9489 )
9490 .map(HoprNodeManagementModuleCalls::upgradeTo)
9491 }
9492 upgradeTo
9493 },
9494 {
9495 fn initialize(
9496 data: &[u8],
9497 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9498 <initializeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9499 data,
9500 )
9501 .map(HoprNodeManagementModuleCalls::initialize)
9502 }
9503 initialize
9504 },
9505 {
9506 fn execTransactionFromModule(
9507 data: &[u8],
9508 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9509 <execTransactionFromModuleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9510 data,
9511 )
9512 .map(
9513 HoprNodeManagementModuleCalls::execTransactionFromModule,
9514 )
9515 }
9516 execTransactionFromModule
9517 },
9518 {
9519 fn isHoprNodeManagementModule(
9520 data: &[u8],
9521 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9522 <isHoprNodeManagementModuleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9523 data,
9524 )
9525 .map(
9526 HoprNodeManagementModuleCalls::isHoprNodeManagementModule,
9527 )
9528 }
9529 isHoprNodeManagementModule
9530 },
9531 {
9532 fn upgradeToAndCall(
9533 data: &[u8],
9534 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9535 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9536 data,
9537 )
9538 .map(HoprNodeManagementModuleCalls::upgradeToAndCall)
9539 }
9540 upgradeToAndCall
9541 },
9542 {
9543 fn execTransactionFromModuleReturnData(
9544 data: &[u8],
9545 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9546 <execTransactionFromModuleReturnDataCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9547 data,
9548 )
9549 .map(
9550 HoprNodeManagementModuleCalls::execTransactionFromModuleReturnData,
9551 )
9552 }
9553 execTransactionFromModuleReturnData
9554 },
9555 {
9556 fn proxiableUUID(
9557 data: &[u8],
9558 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9559 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9560 data,
9561 )
9562 .map(HoprNodeManagementModuleCalls::proxiableUUID)
9563 }
9564 proxiableUUID
9565 },
9566 {
9567 fn encodeFunctionSigsAndPermissions(
9568 data: &[u8],
9569 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9570 <encodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9571 data,
9572 )
9573 .map(
9574 HoprNodeManagementModuleCalls::encodeFunctionSigsAndPermissions,
9575 )
9576 }
9577 encodeFunctionSigsAndPermissions
9578 },
9579 {
9580 fn decodeFunctionSigsAndPermissions(
9581 data: &[u8],
9582 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9583 <decodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9584 data,
9585 )
9586 .map(
9587 HoprNodeManagementModuleCalls::decodeFunctionSigsAndPermissions,
9588 )
9589 }
9590 decodeFunctionSigsAndPermissions
9591 },
9592 {
9593 fn getTargets(
9594 data: &[u8],
9595 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9596 <getTargetsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9597 data,
9598 )
9599 .map(HoprNodeManagementModuleCalls::getTargets)
9600 }
9601 getTargets
9602 },
9603 {
9604 fn renounceOwnership(
9605 data: &[u8],
9606 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9607 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9608 data,
9609 )
9610 .map(HoprNodeManagementModuleCalls::renounceOwnership)
9611 }
9612 renounceOwnership
9613 },
9614 {
9615 fn scopeTargetChannels(
9616 data: &[u8],
9617 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9618 <scopeTargetChannelsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9619 data,
9620 )
9621 .map(HoprNodeManagementModuleCalls::scopeTargetChannels)
9622 }
9623 scopeTargetChannels
9624 },
9625 {
9626 fn setMultisend(
9627 data: &[u8],
9628 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9629 <setMultisendCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9630 data,
9631 )
9632 .map(HoprNodeManagementModuleCalls::setMultisend)
9633 }
9634 setMultisend
9635 },
9636 {
9637 fn owner(
9638 data: &[u8],
9639 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9640 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9641 data,
9642 )
9643 .map(HoprNodeManagementModuleCalls::owner)
9644 }
9645 owner
9646 },
9647 {
9648 fn addNode(
9649 data: &[u8],
9650 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9651 <addNodeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9652 data,
9653 )
9654 .map(HoprNodeManagementModuleCalls::addNode)
9655 }
9656 addNode
9657 },
9658 {
9659 fn addChannelsAndTokenTarget(
9660 data: &[u8],
9661 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9662 <addChannelsAndTokenTargetCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9663 data,
9664 )
9665 .map(
9666 HoprNodeManagementModuleCalls::addChannelsAndTokenTarget,
9667 )
9668 }
9669 addChannelsAndTokenTarget
9670 },
9671 {
9672 fn scopeTargetToken(
9673 data: &[u8],
9674 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9675 <scopeTargetTokenCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9676 data,
9677 )
9678 .map(HoprNodeManagementModuleCalls::scopeTargetToken)
9679 }
9680 scopeTargetToken
9681 },
9682 {
9683 fn removeNode(
9684 data: &[u8],
9685 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9686 <removeNodeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9687 data,
9688 )
9689 .map(HoprNodeManagementModuleCalls::removeNode)
9690 }
9691 removeNode
9692 },
9693 {
9694 fn includeNode(
9695 data: &[u8],
9696 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9697 <includeNodeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9698 data,
9699 )
9700 .map(HoprNodeManagementModuleCalls::includeNode)
9701 }
9702 includeNode
9703 },
9704 {
9705 fn scopeTokenCapabilities(
9706 data: &[u8],
9707 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9708 <scopeTokenCapabilitiesCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9709 data,
9710 )
9711 .map(HoprNodeManagementModuleCalls::scopeTokenCapabilities)
9712 }
9713 scopeTokenCapabilities
9714 },
9715 {
9716 fn scopeSendCapability(
9717 data: &[u8],
9718 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9719 <scopeSendCapabilityCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9720 data,
9721 )
9722 .map(HoprNodeManagementModuleCalls::scopeSendCapability)
9723 }
9724 scopeSendCapability
9725 },
9726 {
9727 fn scopeTargetSend(
9728 data: &[u8],
9729 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9730 <scopeTargetSendCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9731 data,
9732 )
9733 .map(HoprNodeManagementModuleCalls::scopeTargetSend)
9734 }
9735 scopeTargetSend
9736 },
9737 {
9738 fn getGranularPermissions(
9739 data: &[u8],
9740 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9741 <getGranularPermissionsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9742 data,
9743 )
9744 .map(HoprNodeManagementModuleCalls::getGranularPermissions)
9745 }
9746 getGranularPermissions
9747 },
9748 {
9749 fn tryGetTarget(
9750 data: &[u8],
9751 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9752 <tryGetTargetCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9753 data,
9754 )
9755 .map(HoprNodeManagementModuleCalls::tryGetTarget)
9756 }
9757 tryGetTarget
9758 },
9759 {
9760 fn transferOwnership(
9761 data: &[u8],
9762 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9763 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9764 data,
9765 )
9766 .map(HoprNodeManagementModuleCalls::transferOwnership)
9767 }
9768 transferOwnership
9769 },
9770 {
9771 fn scopeChannelsCapabilities(
9772 data: &[u8],
9773 ) -> alloy_sol_types::Result<HoprNodeManagementModuleCalls> {
9774 <scopeChannelsCapabilitiesCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
9775 data,
9776 )
9777 .map(
9778 HoprNodeManagementModuleCalls::scopeChannelsCapabilities,
9779 )
9780 }
9781 scopeChannelsCapabilities
9782 },
9783 ];
9784 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
9785 return Err(
9786 alloy_sol_types::Error::unknown_selector(
9787 <Self as alloy_sol_types::SolInterface>::NAME,
9788 selector,
9789 ),
9790 );
9791 };
9792 DECODE_VALIDATE_SHIMS[idx](data)
9793 }
9794 #[inline]
9795 fn abi_encoded_size(&self) -> usize {
9796 match self {
9797 Self::addChannelsAndTokenTarget(inner) => {
9798 <addChannelsAndTokenTargetCall as alloy_sol_types::SolCall>::abi_encoded_size(
9799 inner,
9800 )
9801 }
9802 Self::addNode(inner) => {
9803 <addNodeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9804 }
9805 Self::decodeFunctionSigsAndPermissions(inner) => {
9806 <decodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9807 inner,
9808 )
9809 }
9810 Self::encodeFunctionSigsAndPermissions(inner) => {
9811 <encodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9812 inner,
9813 )
9814 }
9815 Self::execTransactionFromModule(inner) => {
9816 <execTransactionFromModuleCall as alloy_sol_types::SolCall>::abi_encoded_size(
9817 inner,
9818 )
9819 }
9820 Self::execTransactionFromModuleReturnData(inner) => {
9821 <execTransactionFromModuleReturnDataCall as alloy_sol_types::SolCall>::abi_encoded_size(
9822 inner,
9823 )
9824 }
9825 Self::getGranularPermissions(inner) => {
9826 <getGranularPermissionsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9827 inner,
9828 )
9829 }
9830 Self::getTargets(inner) => {
9831 <getTargetsCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9832 }
9833 Self::includeNode(inner) => {
9834 <includeNodeCall as alloy_sol_types::SolCall>::abi_encoded_size(
9835 inner,
9836 )
9837 }
9838 Self::initialize(inner) => {
9839 <initializeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9840 }
9841 Self::isHoprNodeManagementModule(inner) => {
9842 <isHoprNodeManagementModuleCall as alloy_sol_types::SolCall>::abi_encoded_size(
9843 inner,
9844 )
9845 }
9846 Self::isNode(inner) => {
9847 <isNodeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9848 }
9849 Self::multisend(inner) => {
9850 <multisendCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9851 }
9852 Self::owner(inner) => {
9853 <ownerCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9854 }
9855 Self::proxiableUUID(inner) => {
9856 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_encoded_size(
9857 inner,
9858 )
9859 }
9860 Self::removeNode(inner) => {
9861 <removeNodeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9862 }
9863 Self::renounceOwnership(inner) => {
9864 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
9865 inner,
9866 )
9867 }
9868 Self::revokeTarget(inner) => {
9869 <revokeTargetCall as alloy_sol_types::SolCall>::abi_encoded_size(
9870 inner,
9871 )
9872 }
9873 Self::scopeChannelsCapabilities(inner) => {
9874 <scopeChannelsCapabilitiesCall as alloy_sol_types::SolCall>::abi_encoded_size(
9875 inner,
9876 )
9877 }
9878 Self::scopeSendCapability(inner) => {
9879 <scopeSendCapabilityCall as alloy_sol_types::SolCall>::abi_encoded_size(
9880 inner,
9881 )
9882 }
9883 Self::scopeTargetChannels(inner) => {
9884 <scopeTargetChannelsCall as alloy_sol_types::SolCall>::abi_encoded_size(
9885 inner,
9886 )
9887 }
9888 Self::scopeTargetSend(inner) => {
9889 <scopeTargetSendCall as alloy_sol_types::SolCall>::abi_encoded_size(
9890 inner,
9891 )
9892 }
9893 Self::scopeTargetToken(inner) => {
9894 <scopeTargetTokenCall as alloy_sol_types::SolCall>::abi_encoded_size(
9895 inner,
9896 )
9897 }
9898 Self::scopeTokenCapabilities(inner) => {
9899 <scopeTokenCapabilitiesCall as alloy_sol_types::SolCall>::abi_encoded_size(
9900 inner,
9901 )
9902 }
9903 Self::setMultisend(inner) => {
9904 <setMultisendCall as alloy_sol_types::SolCall>::abi_encoded_size(
9905 inner,
9906 )
9907 }
9908 Self::transferOwnership(inner) => {
9909 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
9910 inner,
9911 )
9912 }
9913 Self::tryGetTarget(inner) => {
9914 <tryGetTargetCall as alloy_sol_types::SolCall>::abi_encoded_size(
9915 inner,
9916 )
9917 }
9918 Self::upgradeTo(inner) => {
9919 <upgradeToCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
9920 }
9921 Self::upgradeToAndCall(inner) => {
9922 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_encoded_size(
9923 inner,
9924 )
9925 }
9926 }
9927 }
9928 #[inline]
9929 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
9930 match self {
9931 Self::addChannelsAndTokenTarget(inner) => {
9932 <addChannelsAndTokenTargetCall as alloy_sol_types::SolCall>::abi_encode_raw(
9933 inner,
9934 out,
9935 )
9936 }
9937 Self::addNode(inner) => {
9938 <addNodeCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
9939 }
9940 Self::decodeFunctionSigsAndPermissions(inner) => {
9941 <decodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9942 inner,
9943 out,
9944 )
9945 }
9946 Self::encodeFunctionSigsAndPermissions(inner) => {
9947 <encodeFunctionSigsAndPermissionsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9948 inner,
9949 out,
9950 )
9951 }
9952 Self::execTransactionFromModule(inner) => {
9953 <execTransactionFromModuleCall as alloy_sol_types::SolCall>::abi_encode_raw(
9954 inner,
9955 out,
9956 )
9957 }
9958 Self::execTransactionFromModuleReturnData(inner) => {
9959 <execTransactionFromModuleReturnDataCall as alloy_sol_types::SolCall>::abi_encode_raw(
9960 inner,
9961 out,
9962 )
9963 }
9964 Self::getGranularPermissions(inner) => {
9965 <getGranularPermissionsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9966 inner,
9967 out,
9968 )
9969 }
9970 Self::getTargets(inner) => {
9971 <getTargetsCall as alloy_sol_types::SolCall>::abi_encode_raw(
9972 inner,
9973 out,
9974 )
9975 }
9976 Self::includeNode(inner) => {
9977 <includeNodeCall as alloy_sol_types::SolCall>::abi_encode_raw(
9978 inner,
9979 out,
9980 )
9981 }
9982 Self::initialize(inner) => {
9983 <initializeCall as alloy_sol_types::SolCall>::abi_encode_raw(
9984 inner,
9985 out,
9986 )
9987 }
9988 Self::isHoprNodeManagementModule(inner) => {
9989 <isHoprNodeManagementModuleCall as alloy_sol_types::SolCall>::abi_encode_raw(
9990 inner,
9991 out,
9992 )
9993 }
9994 Self::isNode(inner) => {
9995 <isNodeCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
9996 }
9997 Self::multisend(inner) => {
9998 <multisendCall as alloy_sol_types::SolCall>::abi_encode_raw(
9999 inner,
10000 out,
10001 )
10002 }
10003 Self::owner(inner) => {
10004 <ownerCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
10005 }
10006 Self::proxiableUUID(inner) => {
10007 <proxiableUUIDCall as alloy_sol_types::SolCall>::abi_encode_raw(
10008 inner,
10009 out,
10010 )
10011 }
10012 Self::removeNode(inner) => {
10013 <removeNodeCall as alloy_sol_types::SolCall>::abi_encode_raw(
10014 inner,
10015 out,
10016 )
10017 }
10018 Self::renounceOwnership(inner) => {
10019 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
10020 inner,
10021 out,
10022 )
10023 }
10024 Self::revokeTarget(inner) => {
10025 <revokeTargetCall as alloy_sol_types::SolCall>::abi_encode_raw(
10026 inner,
10027 out,
10028 )
10029 }
10030 Self::scopeChannelsCapabilities(inner) => {
10031 <scopeChannelsCapabilitiesCall as alloy_sol_types::SolCall>::abi_encode_raw(
10032 inner,
10033 out,
10034 )
10035 }
10036 Self::scopeSendCapability(inner) => {
10037 <scopeSendCapabilityCall as alloy_sol_types::SolCall>::abi_encode_raw(
10038 inner,
10039 out,
10040 )
10041 }
10042 Self::scopeTargetChannels(inner) => {
10043 <scopeTargetChannelsCall as alloy_sol_types::SolCall>::abi_encode_raw(
10044 inner,
10045 out,
10046 )
10047 }
10048 Self::scopeTargetSend(inner) => {
10049 <scopeTargetSendCall as alloy_sol_types::SolCall>::abi_encode_raw(
10050 inner,
10051 out,
10052 )
10053 }
10054 Self::scopeTargetToken(inner) => {
10055 <scopeTargetTokenCall as alloy_sol_types::SolCall>::abi_encode_raw(
10056 inner,
10057 out,
10058 )
10059 }
10060 Self::scopeTokenCapabilities(inner) => {
10061 <scopeTokenCapabilitiesCall as alloy_sol_types::SolCall>::abi_encode_raw(
10062 inner,
10063 out,
10064 )
10065 }
10066 Self::setMultisend(inner) => {
10067 <setMultisendCall as alloy_sol_types::SolCall>::abi_encode_raw(
10068 inner,
10069 out,
10070 )
10071 }
10072 Self::transferOwnership(inner) => {
10073 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
10074 inner,
10075 out,
10076 )
10077 }
10078 Self::tryGetTarget(inner) => {
10079 <tryGetTargetCall as alloy_sol_types::SolCall>::abi_encode_raw(
10080 inner,
10081 out,
10082 )
10083 }
10084 Self::upgradeTo(inner) => {
10085 <upgradeToCall as alloy_sol_types::SolCall>::abi_encode_raw(
10086 inner,
10087 out,
10088 )
10089 }
10090 Self::upgradeToAndCall(inner) => {
10091 <upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_encode_raw(
10092 inner,
10093 out,
10094 )
10095 }
10096 }
10097 }
10098 }
10099 #[derive(serde::Serialize, serde::Deserialize)]
10101 #[derive(Debug, PartialEq, Eq, Hash)]
10102 pub enum HoprNodeManagementModuleErrors {
10103 #[allow(missing_docs)]
10104 AddressIsZero(AddressIsZero),
10105 #[allow(missing_docs)]
10106 AlreadyInitialized(AlreadyInitialized),
10107 #[allow(missing_docs)]
10108 ArrayTooLong(ArrayTooLong),
10109 #[allow(missing_docs)]
10110 ArraysDifferentLength(ArraysDifferentLength),
10111 #[allow(missing_docs)]
10112 CalldataOutOfBounds(CalldataOutOfBounds),
10113 #[allow(missing_docs)]
10114 CannotChangeOwner(CannotChangeOwner),
10115 #[allow(missing_docs)]
10116 DefaultPermissionRejected(DefaultPermissionRejected),
10117 #[allow(missing_docs)]
10118 DelegateCallNotAllowed(DelegateCallNotAllowed),
10119 #[allow(missing_docs)]
10120 FunctionSignatureTooShort(FunctionSignatureTooShort),
10121 #[allow(missing_docs)]
10122 GranularPermissionRejected(GranularPermissionRejected),
10123 #[allow(missing_docs)]
10124 NoMembership(NoMembership),
10125 #[allow(missing_docs)]
10126 NodePermissionRejected(NodePermissionRejected),
10127 #[allow(missing_docs)]
10128 NonExistentKey(NonExistentKey),
10129 #[allow(missing_docs)]
10130 ParameterNotAllowed(ParameterNotAllowed),
10131 #[allow(missing_docs)]
10132 PermissionNotConfigured(PermissionNotConfigured),
10133 #[allow(missing_docs)]
10134 PermissionNotFound(PermissionNotFound),
10135 #[allow(missing_docs)]
10136 SafeMultisendSameAddress(SafeMultisendSameAddress),
10137 #[allow(missing_docs)]
10138 SendNotAllowed(SendNotAllowed),
10139 #[allow(missing_docs)]
10140 TargetAddressNotAllowed(TargetAddressNotAllowed),
10141 #[allow(missing_docs)]
10142 TargetIsNotScoped(TargetIsNotScoped),
10143 #[allow(missing_docs)]
10144 TargetIsScoped(TargetIsScoped),
10145 #[allow(missing_docs)]
10146 TooManyCapabilities(TooManyCapabilities),
10147 #[allow(missing_docs)]
10148 UnacceptableMultiSendOffset(UnacceptableMultiSendOffset),
10149 #[allow(missing_docs)]
10150 WithMembership(WithMembership),
10151 }
10152 #[automatically_derived]
10153 impl HoprNodeManagementModuleErrors {
10154 pub const SELECTORS: &'static [[u8; 4usize]] = &[
10161 [9u8, 233u8, 205u8, 73u8],
10162 [13u8, 137u8, 67u8, 142u8],
10163 [13u8, 193u8, 73u8, 240u8],
10164 [45u8, 5u8, 25u8, 173u8],
10165 [49u8, 233u8, 130u8, 70u8],
10166 [70u8, 132u8, 193u8, 34u8],
10167 [70u8, 173u8, 69u8, 136u8],
10168 [74u8, 137u8, 3u8, 33u8],
10169 [88u8, 114u8, 48u8, 55u8],
10170 [89u8, 138u8, 14u8, 33u8],
10171 [110u8, 176u8, 49u8, 95u8],
10172 [116u8, 38u8, 56u8, 180u8],
10173 [116u8, 244u8, 213u8, 55u8],
10174 [126u8, 209u8, 17u8, 55u8],
10175 [134u8, 77u8, 209u8, 231u8],
10176 [134u8, 121u8, 21u8, 171u8],
10177 [180u8, 74u8, 249u8, 175u8],
10178 [189u8, 38u8, 204u8, 56u8],
10179 [216u8, 69u8, 90u8, 19u8],
10180 [227u8, 160u8, 90u8, 148u8],
10181 [232u8, 192u8, 125u8, 42u8],
10182 [239u8, 52u8, 64u8, 172u8],
10183 [253u8, 103u8, 14u8, 190u8],
10184 [253u8, 142u8, 159u8, 40u8],
10185 ];
10186 }
10187 #[automatically_derived]
10188 impl alloy_sol_types::SolInterface for HoprNodeManagementModuleErrors {
10189 const NAME: &'static str = "HoprNodeManagementModuleErrors";
10190 const MIN_DATA_LENGTH: usize = 0usize;
10191 const COUNT: usize = 24usize;
10192 #[inline]
10193 fn selector(&self) -> [u8; 4] {
10194 match self {
10195 Self::AddressIsZero(_) => {
10196 <AddressIsZero as alloy_sol_types::SolError>::SELECTOR
10197 }
10198 Self::AlreadyInitialized(_) => {
10199 <AlreadyInitialized as alloy_sol_types::SolError>::SELECTOR
10200 }
10201 Self::ArrayTooLong(_) => {
10202 <ArrayTooLong as alloy_sol_types::SolError>::SELECTOR
10203 }
10204 Self::ArraysDifferentLength(_) => {
10205 <ArraysDifferentLength as alloy_sol_types::SolError>::SELECTOR
10206 }
10207 Self::CalldataOutOfBounds(_) => {
10208 <CalldataOutOfBounds as alloy_sol_types::SolError>::SELECTOR
10209 }
10210 Self::CannotChangeOwner(_) => {
10211 <CannotChangeOwner as alloy_sol_types::SolError>::SELECTOR
10212 }
10213 Self::DefaultPermissionRejected(_) => {
10214 <DefaultPermissionRejected as alloy_sol_types::SolError>::SELECTOR
10215 }
10216 Self::DelegateCallNotAllowed(_) => {
10217 <DelegateCallNotAllowed as alloy_sol_types::SolError>::SELECTOR
10218 }
10219 Self::FunctionSignatureTooShort(_) => {
10220 <FunctionSignatureTooShort as alloy_sol_types::SolError>::SELECTOR
10221 }
10222 Self::GranularPermissionRejected(_) => {
10223 <GranularPermissionRejected as alloy_sol_types::SolError>::SELECTOR
10224 }
10225 Self::NoMembership(_) => {
10226 <NoMembership as alloy_sol_types::SolError>::SELECTOR
10227 }
10228 Self::NodePermissionRejected(_) => {
10229 <NodePermissionRejected as alloy_sol_types::SolError>::SELECTOR
10230 }
10231 Self::NonExistentKey(_) => {
10232 <NonExistentKey as alloy_sol_types::SolError>::SELECTOR
10233 }
10234 Self::ParameterNotAllowed(_) => {
10235 <ParameterNotAllowed as alloy_sol_types::SolError>::SELECTOR
10236 }
10237 Self::PermissionNotConfigured(_) => {
10238 <PermissionNotConfigured as alloy_sol_types::SolError>::SELECTOR
10239 }
10240 Self::PermissionNotFound(_) => {
10241 <PermissionNotFound as alloy_sol_types::SolError>::SELECTOR
10242 }
10243 Self::SafeMultisendSameAddress(_) => {
10244 <SafeMultisendSameAddress as alloy_sol_types::SolError>::SELECTOR
10245 }
10246 Self::SendNotAllowed(_) => {
10247 <SendNotAllowed as alloy_sol_types::SolError>::SELECTOR
10248 }
10249 Self::TargetAddressNotAllowed(_) => {
10250 <TargetAddressNotAllowed as alloy_sol_types::SolError>::SELECTOR
10251 }
10252 Self::TargetIsNotScoped(_) => {
10253 <TargetIsNotScoped as alloy_sol_types::SolError>::SELECTOR
10254 }
10255 Self::TargetIsScoped(_) => {
10256 <TargetIsScoped as alloy_sol_types::SolError>::SELECTOR
10257 }
10258 Self::TooManyCapabilities(_) => {
10259 <TooManyCapabilities as alloy_sol_types::SolError>::SELECTOR
10260 }
10261 Self::UnacceptableMultiSendOffset(_) => {
10262 <UnacceptableMultiSendOffset as alloy_sol_types::SolError>::SELECTOR
10263 }
10264 Self::WithMembership(_) => {
10265 <WithMembership as alloy_sol_types::SolError>::SELECTOR
10266 }
10267 }
10268 }
10269 #[inline]
10270 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
10271 Self::SELECTORS.get(i).copied()
10272 }
10273 #[inline]
10274 fn valid_selector(selector: [u8; 4]) -> bool {
10275 Self::SELECTORS.binary_search(&selector).is_ok()
10276 }
10277 #[inline]
10278 #[allow(non_snake_case)]
10279 fn abi_decode_raw(
10280 selector: [u8; 4],
10281 data: &[u8],
10282 ) -> alloy_sol_types::Result<Self> {
10283 static DECODE_SHIMS: &[fn(
10284 &[u8],
10285 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors>] = &[
10286 {
10287 fn SendNotAllowed(
10288 data: &[u8],
10289 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10290 <SendNotAllowed as alloy_sol_types::SolError>::abi_decode_raw(
10291 data,
10292 )
10293 .map(HoprNodeManagementModuleErrors::SendNotAllowed)
10294 }
10295 SendNotAllowed
10296 },
10297 {
10298 fn DelegateCallNotAllowed(
10299 data: &[u8],
10300 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10301 <DelegateCallNotAllowed as alloy_sol_types::SolError>::abi_decode_raw(
10302 data,
10303 )
10304 .map(HoprNodeManagementModuleErrors::DelegateCallNotAllowed)
10305 }
10306 DelegateCallNotAllowed
10307 },
10308 {
10309 fn AlreadyInitialized(
10310 data: &[u8],
10311 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10312 <AlreadyInitialized as alloy_sol_types::SolError>::abi_decode_raw(
10313 data,
10314 )
10315 .map(HoprNodeManagementModuleErrors::AlreadyInitialized)
10316 }
10317 AlreadyInitialized
10318 },
10319 {
10320 fn NonExistentKey(
10321 data: &[u8],
10322 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10323 <NonExistentKey as alloy_sol_types::SolError>::abi_decode_raw(
10324 data,
10325 )
10326 .map(HoprNodeManagementModuleErrors::NonExistentKey)
10327 }
10328 NonExistentKey
10329 },
10330 {
10331 fn ParameterNotAllowed(
10332 data: &[u8],
10333 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10334 <ParameterNotAllowed as alloy_sol_types::SolError>::abi_decode_raw(
10335 data,
10336 )
10337 .map(HoprNodeManagementModuleErrors::ParameterNotAllowed)
10338 }
10339 ParameterNotAllowed
10340 },
10341 {
10342 fn FunctionSignatureTooShort(
10343 data: &[u8],
10344 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10345 <FunctionSignatureTooShort as alloy_sol_types::SolError>::abi_decode_raw(
10346 data,
10347 )
10348 .map(
10349 HoprNodeManagementModuleErrors::FunctionSignatureTooShort,
10350 )
10351 }
10352 FunctionSignatureTooShort
10353 },
10354 {
10355 fn PermissionNotConfigured(
10356 data: &[u8],
10357 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10358 <PermissionNotConfigured as alloy_sol_types::SolError>::abi_decode_raw(
10359 data,
10360 )
10361 .map(HoprNodeManagementModuleErrors::PermissionNotConfigured)
10362 }
10363 PermissionNotConfigured
10364 },
10365 {
10366 fn TargetIsNotScoped(
10367 data: &[u8],
10368 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10369 <TargetIsNotScoped as alloy_sol_types::SolError>::abi_decode_raw(
10370 data,
10371 )
10372 .map(HoprNodeManagementModuleErrors::TargetIsNotScoped)
10373 }
10374 TargetIsNotScoped
10375 },
10376 {
10377 fn DefaultPermissionRejected(
10378 data: &[u8],
10379 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10380 <DefaultPermissionRejected as alloy_sol_types::SolError>::abi_decode_raw(
10381 data,
10382 )
10383 .map(
10384 HoprNodeManagementModuleErrors::DefaultPermissionRejected,
10385 )
10386 }
10387 DefaultPermissionRejected
10388 },
10389 {
10390 fn SafeMultisendSameAddress(
10391 data: &[u8],
10392 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10393 <SafeMultisendSameAddress as alloy_sol_types::SolError>::abi_decode_raw(
10394 data,
10395 )
10396 .map(
10397 HoprNodeManagementModuleErrors::SafeMultisendSameAddress,
10398 )
10399 }
10400 SafeMultisendSameAddress
10401 },
10402 {
10403 fn NodePermissionRejected(
10404 data: &[u8],
10405 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10406 <NodePermissionRejected as alloy_sol_types::SolError>::abi_decode_raw(
10407 data,
10408 )
10409 .map(HoprNodeManagementModuleErrors::NodePermissionRejected)
10410 }
10411 NodePermissionRejected
10412 },
10413 {
10414 fn CalldataOutOfBounds(
10415 data: &[u8],
10416 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10417 <CalldataOutOfBounds as alloy_sol_types::SolError>::abi_decode_raw(
10418 data,
10419 )
10420 .map(HoprNodeManagementModuleErrors::CalldataOutOfBounds)
10421 }
10422 CalldataOutOfBounds
10423 },
10424 {
10425 fn ArraysDifferentLength(
10426 data: &[u8],
10427 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10428 <ArraysDifferentLength as alloy_sol_types::SolError>::abi_decode_raw(
10429 data,
10430 )
10431 .map(HoprNodeManagementModuleErrors::ArraysDifferentLength)
10432 }
10433 ArraysDifferentLength
10434 },
10435 {
10436 fn UnacceptableMultiSendOffset(
10437 data: &[u8],
10438 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10439 <UnacceptableMultiSendOffset as alloy_sol_types::SolError>::abi_decode_raw(
10440 data,
10441 )
10442 .map(
10443 HoprNodeManagementModuleErrors::UnacceptableMultiSendOffset,
10444 )
10445 }
10446 UnacceptableMultiSendOffset
10447 },
10448 {
10449 fn GranularPermissionRejected(
10450 data: &[u8],
10451 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10452 <GranularPermissionRejected as alloy_sol_types::SolError>::abi_decode_raw(
10453 data,
10454 )
10455 .map(
10456 HoprNodeManagementModuleErrors::GranularPermissionRejected,
10457 )
10458 }
10459 GranularPermissionRejected
10460 },
10461 {
10462 fn AddressIsZero(
10463 data: &[u8],
10464 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10465 <AddressIsZero as alloy_sol_types::SolError>::abi_decode_raw(
10466 data,
10467 )
10468 .map(HoprNodeManagementModuleErrors::AddressIsZero)
10469 }
10470 AddressIsZero
10471 },
10472 {
10473 fn TooManyCapabilities(
10474 data: &[u8],
10475 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10476 <TooManyCapabilities as alloy_sol_types::SolError>::abi_decode_raw(
10477 data,
10478 )
10479 .map(HoprNodeManagementModuleErrors::TooManyCapabilities)
10480 }
10481 TooManyCapabilities
10482 },
10483 {
10484 fn ArrayTooLong(
10485 data: &[u8],
10486 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10487 <ArrayTooLong as alloy_sol_types::SolError>::abi_decode_raw(data)
10488 .map(HoprNodeManagementModuleErrors::ArrayTooLong)
10489 }
10490 ArrayTooLong
10491 },
10492 {
10493 fn PermissionNotFound(
10494 data: &[u8],
10495 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10496 <PermissionNotFound as alloy_sol_types::SolError>::abi_decode_raw(
10497 data,
10498 )
10499 .map(HoprNodeManagementModuleErrors::PermissionNotFound)
10500 }
10501 PermissionNotFound
10502 },
10503 {
10504 fn WithMembership(
10505 data: &[u8],
10506 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10507 <WithMembership as alloy_sol_types::SolError>::abi_decode_raw(
10508 data,
10509 )
10510 .map(HoprNodeManagementModuleErrors::WithMembership)
10511 }
10512 WithMembership
10513 },
10514 {
10515 fn TargetIsScoped(
10516 data: &[u8],
10517 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10518 <TargetIsScoped as alloy_sol_types::SolError>::abi_decode_raw(
10519 data,
10520 )
10521 .map(HoprNodeManagementModuleErrors::TargetIsScoped)
10522 }
10523 TargetIsScoped
10524 },
10525 {
10526 fn TargetAddressNotAllowed(
10527 data: &[u8],
10528 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10529 <TargetAddressNotAllowed as alloy_sol_types::SolError>::abi_decode_raw(
10530 data,
10531 )
10532 .map(HoprNodeManagementModuleErrors::TargetAddressNotAllowed)
10533 }
10534 TargetAddressNotAllowed
10535 },
10536 {
10537 fn CannotChangeOwner(
10538 data: &[u8],
10539 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10540 <CannotChangeOwner as alloy_sol_types::SolError>::abi_decode_raw(
10541 data,
10542 )
10543 .map(HoprNodeManagementModuleErrors::CannotChangeOwner)
10544 }
10545 CannotChangeOwner
10546 },
10547 {
10548 fn NoMembership(
10549 data: &[u8],
10550 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10551 <NoMembership as alloy_sol_types::SolError>::abi_decode_raw(data)
10552 .map(HoprNodeManagementModuleErrors::NoMembership)
10553 }
10554 NoMembership
10555 },
10556 ];
10557 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
10558 return Err(
10559 alloy_sol_types::Error::unknown_selector(
10560 <Self as alloy_sol_types::SolInterface>::NAME,
10561 selector,
10562 ),
10563 );
10564 };
10565 DECODE_SHIMS[idx](data)
10566 }
10567 #[inline]
10568 #[allow(non_snake_case)]
10569 fn abi_decode_raw_validate(
10570 selector: [u8; 4],
10571 data: &[u8],
10572 ) -> alloy_sol_types::Result<Self> {
10573 static DECODE_VALIDATE_SHIMS: &[fn(
10574 &[u8],
10575 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors>] = &[
10576 {
10577 fn SendNotAllowed(
10578 data: &[u8],
10579 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10580 <SendNotAllowed as alloy_sol_types::SolError>::abi_decode_raw_validate(
10581 data,
10582 )
10583 .map(HoprNodeManagementModuleErrors::SendNotAllowed)
10584 }
10585 SendNotAllowed
10586 },
10587 {
10588 fn DelegateCallNotAllowed(
10589 data: &[u8],
10590 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10591 <DelegateCallNotAllowed as alloy_sol_types::SolError>::abi_decode_raw_validate(
10592 data,
10593 )
10594 .map(HoprNodeManagementModuleErrors::DelegateCallNotAllowed)
10595 }
10596 DelegateCallNotAllowed
10597 },
10598 {
10599 fn AlreadyInitialized(
10600 data: &[u8],
10601 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10602 <AlreadyInitialized as alloy_sol_types::SolError>::abi_decode_raw_validate(
10603 data,
10604 )
10605 .map(HoprNodeManagementModuleErrors::AlreadyInitialized)
10606 }
10607 AlreadyInitialized
10608 },
10609 {
10610 fn NonExistentKey(
10611 data: &[u8],
10612 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10613 <NonExistentKey as alloy_sol_types::SolError>::abi_decode_raw_validate(
10614 data,
10615 )
10616 .map(HoprNodeManagementModuleErrors::NonExistentKey)
10617 }
10618 NonExistentKey
10619 },
10620 {
10621 fn ParameterNotAllowed(
10622 data: &[u8],
10623 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10624 <ParameterNotAllowed as alloy_sol_types::SolError>::abi_decode_raw_validate(
10625 data,
10626 )
10627 .map(HoprNodeManagementModuleErrors::ParameterNotAllowed)
10628 }
10629 ParameterNotAllowed
10630 },
10631 {
10632 fn FunctionSignatureTooShort(
10633 data: &[u8],
10634 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10635 <FunctionSignatureTooShort as alloy_sol_types::SolError>::abi_decode_raw_validate(
10636 data,
10637 )
10638 .map(
10639 HoprNodeManagementModuleErrors::FunctionSignatureTooShort,
10640 )
10641 }
10642 FunctionSignatureTooShort
10643 },
10644 {
10645 fn PermissionNotConfigured(
10646 data: &[u8],
10647 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10648 <PermissionNotConfigured as alloy_sol_types::SolError>::abi_decode_raw_validate(
10649 data,
10650 )
10651 .map(HoprNodeManagementModuleErrors::PermissionNotConfigured)
10652 }
10653 PermissionNotConfigured
10654 },
10655 {
10656 fn TargetIsNotScoped(
10657 data: &[u8],
10658 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10659 <TargetIsNotScoped as alloy_sol_types::SolError>::abi_decode_raw_validate(
10660 data,
10661 )
10662 .map(HoprNodeManagementModuleErrors::TargetIsNotScoped)
10663 }
10664 TargetIsNotScoped
10665 },
10666 {
10667 fn DefaultPermissionRejected(
10668 data: &[u8],
10669 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10670 <DefaultPermissionRejected as alloy_sol_types::SolError>::abi_decode_raw_validate(
10671 data,
10672 )
10673 .map(
10674 HoprNodeManagementModuleErrors::DefaultPermissionRejected,
10675 )
10676 }
10677 DefaultPermissionRejected
10678 },
10679 {
10680 fn SafeMultisendSameAddress(
10681 data: &[u8],
10682 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10683 <SafeMultisendSameAddress as alloy_sol_types::SolError>::abi_decode_raw_validate(
10684 data,
10685 )
10686 .map(
10687 HoprNodeManagementModuleErrors::SafeMultisendSameAddress,
10688 )
10689 }
10690 SafeMultisendSameAddress
10691 },
10692 {
10693 fn NodePermissionRejected(
10694 data: &[u8],
10695 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10696 <NodePermissionRejected as alloy_sol_types::SolError>::abi_decode_raw_validate(
10697 data,
10698 )
10699 .map(HoprNodeManagementModuleErrors::NodePermissionRejected)
10700 }
10701 NodePermissionRejected
10702 },
10703 {
10704 fn CalldataOutOfBounds(
10705 data: &[u8],
10706 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10707 <CalldataOutOfBounds as alloy_sol_types::SolError>::abi_decode_raw_validate(
10708 data,
10709 )
10710 .map(HoprNodeManagementModuleErrors::CalldataOutOfBounds)
10711 }
10712 CalldataOutOfBounds
10713 },
10714 {
10715 fn ArraysDifferentLength(
10716 data: &[u8],
10717 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10718 <ArraysDifferentLength as alloy_sol_types::SolError>::abi_decode_raw_validate(
10719 data,
10720 )
10721 .map(HoprNodeManagementModuleErrors::ArraysDifferentLength)
10722 }
10723 ArraysDifferentLength
10724 },
10725 {
10726 fn UnacceptableMultiSendOffset(
10727 data: &[u8],
10728 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10729 <UnacceptableMultiSendOffset as alloy_sol_types::SolError>::abi_decode_raw_validate(
10730 data,
10731 )
10732 .map(
10733 HoprNodeManagementModuleErrors::UnacceptableMultiSendOffset,
10734 )
10735 }
10736 UnacceptableMultiSendOffset
10737 },
10738 {
10739 fn GranularPermissionRejected(
10740 data: &[u8],
10741 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10742 <GranularPermissionRejected as alloy_sol_types::SolError>::abi_decode_raw_validate(
10743 data,
10744 )
10745 .map(
10746 HoprNodeManagementModuleErrors::GranularPermissionRejected,
10747 )
10748 }
10749 GranularPermissionRejected
10750 },
10751 {
10752 fn AddressIsZero(
10753 data: &[u8],
10754 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10755 <AddressIsZero as alloy_sol_types::SolError>::abi_decode_raw_validate(
10756 data,
10757 )
10758 .map(HoprNodeManagementModuleErrors::AddressIsZero)
10759 }
10760 AddressIsZero
10761 },
10762 {
10763 fn TooManyCapabilities(
10764 data: &[u8],
10765 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10766 <TooManyCapabilities as alloy_sol_types::SolError>::abi_decode_raw_validate(
10767 data,
10768 )
10769 .map(HoprNodeManagementModuleErrors::TooManyCapabilities)
10770 }
10771 TooManyCapabilities
10772 },
10773 {
10774 fn ArrayTooLong(
10775 data: &[u8],
10776 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10777 <ArrayTooLong as alloy_sol_types::SolError>::abi_decode_raw_validate(
10778 data,
10779 )
10780 .map(HoprNodeManagementModuleErrors::ArrayTooLong)
10781 }
10782 ArrayTooLong
10783 },
10784 {
10785 fn PermissionNotFound(
10786 data: &[u8],
10787 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10788 <PermissionNotFound as alloy_sol_types::SolError>::abi_decode_raw_validate(
10789 data,
10790 )
10791 .map(HoprNodeManagementModuleErrors::PermissionNotFound)
10792 }
10793 PermissionNotFound
10794 },
10795 {
10796 fn WithMembership(
10797 data: &[u8],
10798 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10799 <WithMembership as alloy_sol_types::SolError>::abi_decode_raw_validate(
10800 data,
10801 )
10802 .map(HoprNodeManagementModuleErrors::WithMembership)
10803 }
10804 WithMembership
10805 },
10806 {
10807 fn TargetIsScoped(
10808 data: &[u8],
10809 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10810 <TargetIsScoped as alloy_sol_types::SolError>::abi_decode_raw_validate(
10811 data,
10812 )
10813 .map(HoprNodeManagementModuleErrors::TargetIsScoped)
10814 }
10815 TargetIsScoped
10816 },
10817 {
10818 fn TargetAddressNotAllowed(
10819 data: &[u8],
10820 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10821 <TargetAddressNotAllowed as alloy_sol_types::SolError>::abi_decode_raw_validate(
10822 data,
10823 )
10824 .map(HoprNodeManagementModuleErrors::TargetAddressNotAllowed)
10825 }
10826 TargetAddressNotAllowed
10827 },
10828 {
10829 fn CannotChangeOwner(
10830 data: &[u8],
10831 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10832 <CannotChangeOwner as alloy_sol_types::SolError>::abi_decode_raw_validate(
10833 data,
10834 )
10835 .map(HoprNodeManagementModuleErrors::CannotChangeOwner)
10836 }
10837 CannotChangeOwner
10838 },
10839 {
10840 fn NoMembership(
10841 data: &[u8],
10842 ) -> alloy_sol_types::Result<HoprNodeManagementModuleErrors> {
10843 <NoMembership as alloy_sol_types::SolError>::abi_decode_raw_validate(
10844 data,
10845 )
10846 .map(HoprNodeManagementModuleErrors::NoMembership)
10847 }
10848 NoMembership
10849 },
10850 ];
10851 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
10852 return Err(
10853 alloy_sol_types::Error::unknown_selector(
10854 <Self as alloy_sol_types::SolInterface>::NAME,
10855 selector,
10856 ),
10857 );
10858 };
10859 DECODE_VALIDATE_SHIMS[idx](data)
10860 }
10861 #[inline]
10862 fn abi_encoded_size(&self) -> usize {
10863 match self {
10864 Self::AddressIsZero(inner) => {
10865 <AddressIsZero as alloy_sol_types::SolError>::abi_encoded_size(inner)
10866 }
10867 Self::AlreadyInitialized(inner) => {
10868 <AlreadyInitialized as alloy_sol_types::SolError>::abi_encoded_size(
10869 inner,
10870 )
10871 }
10872 Self::ArrayTooLong(inner) => {
10873 <ArrayTooLong as alloy_sol_types::SolError>::abi_encoded_size(inner)
10874 }
10875 Self::ArraysDifferentLength(inner) => {
10876 <ArraysDifferentLength as alloy_sol_types::SolError>::abi_encoded_size(
10877 inner,
10878 )
10879 }
10880 Self::CalldataOutOfBounds(inner) => {
10881 <CalldataOutOfBounds as alloy_sol_types::SolError>::abi_encoded_size(
10882 inner,
10883 )
10884 }
10885 Self::CannotChangeOwner(inner) => {
10886 <CannotChangeOwner as alloy_sol_types::SolError>::abi_encoded_size(
10887 inner,
10888 )
10889 }
10890 Self::DefaultPermissionRejected(inner) => {
10891 <DefaultPermissionRejected as alloy_sol_types::SolError>::abi_encoded_size(
10892 inner,
10893 )
10894 }
10895 Self::DelegateCallNotAllowed(inner) => {
10896 <DelegateCallNotAllowed as alloy_sol_types::SolError>::abi_encoded_size(
10897 inner,
10898 )
10899 }
10900 Self::FunctionSignatureTooShort(inner) => {
10901 <FunctionSignatureTooShort as alloy_sol_types::SolError>::abi_encoded_size(
10902 inner,
10903 )
10904 }
10905 Self::GranularPermissionRejected(inner) => {
10906 <GranularPermissionRejected as alloy_sol_types::SolError>::abi_encoded_size(
10907 inner,
10908 )
10909 }
10910 Self::NoMembership(inner) => {
10911 <NoMembership as alloy_sol_types::SolError>::abi_encoded_size(inner)
10912 }
10913 Self::NodePermissionRejected(inner) => {
10914 <NodePermissionRejected as alloy_sol_types::SolError>::abi_encoded_size(
10915 inner,
10916 )
10917 }
10918 Self::NonExistentKey(inner) => {
10919 <NonExistentKey as alloy_sol_types::SolError>::abi_encoded_size(
10920 inner,
10921 )
10922 }
10923 Self::ParameterNotAllowed(inner) => {
10924 <ParameterNotAllowed as alloy_sol_types::SolError>::abi_encoded_size(
10925 inner,
10926 )
10927 }
10928 Self::PermissionNotConfigured(inner) => {
10929 <PermissionNotConfigured as alloy_sol_types::SolError>::abi_encoded_size(
10930 inner,
10931 )
10932 }
10933 Self::PermissionNotFound(inner) => {
10934 <PermissionNotFound as alloy_sol_types::SolError>::abi_encoded_size(
10935 inner,
10936 )
10937 }
10938 Self::SafeMultisendSameAddress(inner) => {
10939 <SafeMultisendSameAddress as alloy_sol_types::SolError>::abi_encoded_size(
10940 inner,
10941 )
10942 }
10943 Self::SendNotAllowed(inner) => {
10944 <SendNotAllowed as alloy_sol_types::SolError>::abi_encoded_size(
10945 inner,
10946 )
10947 }
10948 Self::TargetAddressNotAllowed(inner) => {
10949 <TargetAddressNotAllowed as alloy_sol_types::SolError>::abi_encoded_size(
10950 inner,
10951 )
10952 }
10953 Self::TargetIsNotScoped(inner) => {
10954 <TargetIsNotScoped as alloy_sol_types::SolError>::abi_encoded_size(
10955 inner,
10956 )
10957 }
10958 Self::TargetIsScoped(inner) => {
10959 <TargetIsScoped as alloy_sol_types::SolError>::abi_encoded_size(
10960 inner,
10961 )
10962 }
10963 Self::TooManyCapabilities(inner) => {
10964 <TooManyCapabilities as alloy_sol_types::SolError>::abi_encoded_size(
10965 inner,
10966 )
10967 }
10968 Self::UnacceptableMultiSendOffset(inner) => {
10969 <UnacceptableMultiSendOffset as alloy_sol_types::SolError>::abi_encoded_size(
10970 inner,
10971 )
10972 }
10973 Self::WithMembership(inner) => {
10974 <WithMembership as alloy_sol_types::SolError>::abi_encoded_size(
10975 inner,
10976 )
10977 }
10978 }
10979 }
10980 #[inline]
10981 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
10982 match self {
10983 Self::AddressIsZero(inner) => {
10984 <AddressIsZero as alloy_sol_types::SolError>::abi_encode_raw(
10985 inner,
10986 out,
10987 )
10988 }
10989 Self::AlreadyInitialized(inner) => {
10990 <AlreadyInitialized as alloy_sol_types::SolError>::abi_encode_raw(
10991 inner,
10992 out,
10993 )
10994 }
10995 Self::ArrayTooLong(inner) => {
10996 <ArrayTooLong as alloy_sol_types::SolError>::abi_encode_raw(
10997 inner,
10998 out,
10999 )
11000 }
11001 Self::ArraysDifferentLength(inner) => {
11002 <ArraysDifferentLength as alloy_sol_types::SolError>::abi_encode_raw(
11003 inner,
11004 out,
11005 )
11006 }
11007 Self::CalldataOutOfBounds(inner) => {
11008 <CalldataOutOfBounds as alloy_sol_types::SolError>::abi_encode_raw(
11009 inner,
11010 out,
11011 )
11012 }
11013 Self::CannotChangeOwner(inner) => {
11014 <CannotChangeOwner as alloy_sol_types::SolError>::abi_encode_raw(
11015 inner,
11016 out,
11017 )
11018 }
11019 Self::DefaultPermissionRejected(inner) => {
11020 <DefaultPermissionRejected as alloy_sol_types::SolError>::abi_encode_raw(
11021 inner,
11022 out,
11023 )
11024 }
11025 Self::DelegateCallNotAllowed(inner) => {
11026 <DelegateCallNotAllowed as alloy_sol_types::SolError>::abi_encode_raw(
11027 inner,
11028 out,
11029 )
11030 }
11031 Self::FunctionSignatureTooShort(inner) => {
11032 <FunctionSignatureTooShort as alloy_sol_types::SolError>::abi_encode_raw(
11033 inner,
11034 out,
11035 )
11036 }
11037 Self::GranularPermissionRejected(inner) => {
11038 <GranularPermissionRejected as alloy_sol_types::SolError>::abi_encode_raw(
11039 inner,
11040 out,
11041 )
11042 }
11043 Self::NoMembership(inner) => {
11044 <NoMembership as alloy_sol_types::SolError>::abi_encode_raw(
11045 inner,
11046 out,
11047 )
11048 }
11049 Self::NodePermissionRejected(inner) => {
11050 <NodePermissionRejected as alloy_sol_types::SolError>::abi_encode_raw(
11051 inner,
11052 out,
11053 )
11054 }
11055 Self::NonExistentKey(inner) => {
11056 <NonExistentKey as alloy_sol_types::SolError>::abi_encode_raw(
11057 inner,
11058 out,
11059 )
11060 }
11061 Self::ParameterNotAllowed(inner) => {
11062 <ParameterNotAllowed as alloy_sol_types::SolError>::abi_encode_raw(
11063 inner,
11064 out,
11065 )
11066 }
11067 Self::PermissionNotConfigured(inner) => {
11068 <PermissionNotConfigured as alloy_sol_types::SolError>::abi_encode_raw(
11069 inner,
11070 out,
11071 )
11072 }
11073 Self::PermissionNotFound(inner) => {
11074 <PermissionNotFound as alloy_sol_types::SolError>::abi_encode_raw(
11075 inner,
11076 out,
11077 )
11078 }
11079 Self::SafeMultisendSameAddress(inner) => {
11080 <SafeMultisendSameAddress as alloy_sol_types::SolError>::abi_encode_raw(
11081 inner,
11082 out,
11083 )
11084 }
11085 Self::SendNotAllowed(inner) => {
11086 <SendNotAllowed as alloy_sol_types::SolError>::abi_encode_raw(
11087 inner,
11088 out,
11089 )
11090 }
11091 Self::TargetAddressNotAllowed(inner) => {
11092 <TargetAddressNotAllowed as alloy_sol_types::SolError>::abi_encode_raw(
11093 inner,
11094 out,
11095 )
11096 }
11097 Self::TargetIsNotScoped(inner) => {
11098 <TargetIsNotScoped as alloy_sol_types::SolError>::abi_encode_raw(
11099 inner,
11100 out,
11101 )
11102 }
11103 Self::TargetIsScoped(inner) => {
11104 <TargetIsScoped as alloy_sol_types::SolError>::abi_encode_raw(
11105 inner,
11106 out,
11107 )
11108 }
11109 Self::TooManyCapabilities(inner) => {
11110 <TooManyCapabilities as alloy_sol_types::SolError>::abi_encode_raw(
11111 inner,
11112 out,
11113 )
11114 }
11115 Self::UnacceptableMultiSendOffset(inner) => {
11116 <UnacceptableMultiSendOffset as alloy_sol_types::SolError>::abi_encode_raw(
11117 inner,
11118 out,
11119 )
11120 }
11121 Self::WithMembership(inner) => {
11122 <WithMembership as alloy_sol_types::SolError>::abi_encode_raw(
11123 inner,
11124 out,
11125 )
11126 }
11127 }
11128 }
11129 }
11130 #[derive(serde::Serialize, serde::Deserialize)]
11132 #[derive(Debug, PartialEq, Eq, Hash)]
11133 pub enum HoprNodeManagementModuleEvents {
11134 #[allow(missing_docs)]
11135 AdminChanged(AdminChanged),
11136 #[allow(missing_docs)]
11137 BeaconUpgraded(BeaconUpgraded),
11138 #[allow(missing_docs)]
11139 ExecutionFailure(ExecutionFailure),
11140 #[allow(missing_docs)]
11141 ExecutionSuccess(ExecutionSuccess),
11142 #[allow(missing_docs)]
11143 Initialized(Initialized),
11144 #[allow(missing_docs)]
11145 NodeAdded(NodeAdded),
11146 #[allow(missing_docs)]
11147 NodeRemoved(NodeRemoved),
11148 #[allow(missing_docs)]
11149 OwnershipTransferred(OwnershipTransferred),
11150 #[allow(missing_docs)]
11151 SetMultisendAddress(SetMultisendAddress),
11152 #[allow(missing_docs)]
11153 Upgraded(Upgraded),
11154 }
11155 #[automatically_derived]
11156 impl HoprNodeManagementModuleEvents {
11157 pub const SELECTORS: &'static [[u8; 32usize]] = &[
11164 [
11165 28u8, 243u8, 176u8, 58u8, 108u8, 241u8, 159u8, 162u8, 186u8, 186u8, 77u8,
11166 241u8, 72u8, 233u8, 220u8, 171u8, 237u8, 234u8, 127u8, 138u8, 92u8, 7u8,
11167 132u8, 14u8, 32u8, 126u8, 92u8, 8u8, 155u8, 233u8, 93u8, 62u8,
11168 ],
11169 [
11170 78u8, 46u8, 134u8, 210u8, 19u8, 117u8, 235u8, 203u8, 246u8, 233u8, 61u8,
11171 245u8, 235u8, 221u8, 90u8, 145u8, 91u8, 248u8, 48u8, 36u8, 89u8, 4u8,
11172 195u8, 181u8, 79u8, 72u8, 173u8, 240u8, 23u8, 10u8, 174u8, 75u8,
11173 ],
11174 [
11175 95u8, 230u8, 170u8, 191u8, 78u8, 121u8, 8u8, 67u8, 223u8, 67u8, 174u8,
11176 14u8, 34u8, 181u8, 134u8, 32u8, 6u8, 111u8, 179u8, 137u8, 41u8, 91u8,
11177 237u8, 192u8, 106u8, 146u8, 223u8, 108u8, 59u8, 40u8, 119u8, 125u8,
11178 ],
11179 [
11180 126u8, 100u8, 77u8, 121u8, 66u8, 47u8, 23u8, 192u8, 30u8, 72u8, 148u8,
11181 181u8, 244u8, 245u8, 136u8, 211u8, 49u8, 235u8, 250u8, 40u8, 101u8, 61u8,
11182 66u8, 174u8, 131u8, 45u8, 197u8, 158u8, 56u8, 201u8, 121u8, 143u8,
11183 ],
11184 [
11185 127u8, 38u8, 184u8, 63u8, 249u8, 110u8, 31u8, 43u8, 106u8, 104u8, 47u8,
11186 19u8, 56u8, 82u8, 246u8, 121u8, 138u8, 9u8, 196u8, 101u8, 218u8, 149u8,
11187 146u8, 20u8, 96u8, 206u8, 251u8, 56u8, 71u8, 64u8, 36u8, 152u8,
11188 ],
11189 [
11190 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
11191 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
11192 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
11193 ],
11194 [
11195 178u8, 93u8, 3u8, 170u8, 243u8, 8u8, 215u8, 41u8, 23u8, 9u8, 190u8, 30u8,
11196 162u8, 139u8, 128u8, 4u8, 99u8, 207u8, 58u8, 154u8, 76u8, 74u8, 85u8,
11197 85u8, 215u8, 51u8, 58u8, 150u8, 76u8, 29u8, 254u8, 189u8,
11198 ],
11199 [
11200 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
11201 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
11202 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
11203 ],
11204 [
11205 194u8, 77u8, 147u8, 96u8, 138u8, 3u8, 210u8, 99u8, 255u8, 25u8, 29u8,
11206 118u8, 119u8, 20u8, 31u8, 94u8, 148u8, 196u8, 150u8, 229u8, 147u8, 16u8,
11207 143u8, 58u8, 174u8, 12u8, 181u8, 183u8, 4u8, 148u8, 196u8, 211u8,
11208 ],
11209 [
11210 207u8, 194u8, 65u8, 102u8, 219u8, 75u8, 182u8, 119u8, 232u8, 87u8, 202u8,
11211 202u8, 189u8, 21u8, 65u8, 251u8, 43u8, 48u8, 100u8, 80u8, 33u8, 178u8,
11212 124u8, 81u8, 48u8, 65u8, 149u8, 137u8, 184u8, 77u8, 181u8, 43u8,
11213 ],
11214 ];
11215 }
11216 #[automatically_derived]
11217 impl alloy_sol_types::SolEventInterface for HoprNodeManagementModuleEvents {
11218 const NAME: &'static str = "HoprNodeManagementModuleEvents";
11219 const COUNT: usize = 10usize;
11220 fn decode_raw_log(
11221 topics: &[alloy_sol_types::Word],
11222 data: &[u8],
11223 ) -> alloy_sol_types::Result<Self> {
11224 match topics.first().copied() {
11225 Some(<AdminChanged as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11226 <AdminChanged as alloy_sol_types::SolEvent>::decode_raw_log(
11227 topics,
11228 data,
11229 )
11230 .map(Self::AdminChanged)
11231 }
11232 Some(<BeaconUpgraded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11233 <BeaconUpgraded as alloy_sol_types::SolEvent>::decode_raw_log(
11234 topics,
11235 data,
11236 )
11237 .map(Self::BeaconUpgraded)
11238 }
11239 Some(<ExecutionFailure as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11240 <ExecutionFailure as alloy_sol_types::SolEvent>::decode_raw_log(
11241 topics,
11242 data,
11243 )
11244 .map(Self::ExecutionFailure)
11245 }
11246 Some(<ExecutionSuccess as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11247 <ExecutionSuccess as alloy_sol_types::SolEvent>::decode_raw_log(
11248 topics,
11249 data,
11250 )
11251 .map(Self::ExecutionSuccess)
11252 }
11253 Some(<Initialized as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11254 <Initialized as alloy_sol_types::SolEvent>::decode_raw_log(
11255 topics,
11256 data,
11257 )
11258 .map(Self::Initialized)
11259 }
11260 Some(<NodeAdded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11261 <NodeAdded as alloy_sol_types::SolEvent>::decode_raw_log(
11262 topics,
11263 data,
11264 )
11265 .map(Self::NodeAdded)
11266 }
11267 Some(<NodeRemoved as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11268 <NodeRemoved as alloy_sol_types::SolEvent>::decode_raw_log(
11269 topics,
11270 data,
11271 )
11272 .map(Self::NodeRemoved)
11273 }
11274 Some(
11275 <OwnershipTransferred as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11276 ) => {
11277 <OwnershipTransferred as alloy_sol_types::SolEvent>::decode_raw_log(
11278 topics,
11279 data,
11280 )
11281 .map(Self::OwnershipTransferred)
11282 }
11283 Some(
11284 <SetMultisendAddress as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
11285 ) => {
11286 <SetMultisendAddress as alloy_sol_types::SolEvent>::decode_raw_log(
11287 topics,
11288 data,
11289 )
11290 .map(Self::SetMultisendAddress)
11291 }
11292 Some(<Upgraded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
11293 <Upgraded as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
11294 .map(Self::Upgraded)
11295 }
11296 _ => {
11297 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
11298 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
11299 log: alloy_sol_types::private::Box::new(
11300 alloy_sol_types::private::LogData::new_unchecked(
11301 topics.to_vec(),
11302 data.to_vec().into(),
11303 ),
11304 ),
11305 })
11306 }
11307 }
11308 }
11309 }
11310 #[automatically_derived]
11311 impl alloy_sol_types::private::IntoLogData for HoprNodeManagementModuleEvents {
11312 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
11313 match self {
11314 Self::AdminChanged(inner) => {
11315 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11316 }
11317 Self::BeaconUpgraded(inner) => {
11318 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11319 }
11320 Self::ExecutionFailure(inner) => {
11321 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11322 }
11323 Self::ExecutionSuccess(inner) => {
11324 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11325 }
11326 Self::Initialized(inner) => {
11327 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11328 }
11329 Self::NodeAdded(inner) => {
11330 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11331 }
11332 Self::NodeRemoved(inner) => {
11333 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11334 }
11335 Self::OwnershipTransferred(inner) => {
11336 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11337 }
11338 Self::SetMultisendAddress(inner) => {
11339 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11340 }
11341 Self::Upgraded(inner) => {
11342 alloy_sol_types::private::IntoLogData::to_log_data(inner)
11343 }
11344 }
11345 }
11346 fn into_log_data(self) -> alloy_sol_types::private::LogData {
11347 match self {
11348 Self::AdminChanged(inner) => {
11349 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11350 }
11351 Self::BeaconUpgraded(inner) => {
11352 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11353 }
11354 Self::ExecutionFailure(inner) => {
11355 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11356 }
11357 Self::ExecutionSuccess(inner) => {
11358 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11359 }
11360 Self::Initialized(inner) => {
11361 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11362 }
11363 Self::NodeAdded(inner) => {
11364 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11365 }
11366 Self::NodeRemoved(inner) => {
11367 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11368 }
11369 Self::OwnershipTransferred(inner) => {
11370 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11371 }
11372 Self::SetMultisendAddress(inner) => {
11373 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11374 }
11375 Self::Upgraded(inner) => {
11376 alloy_sol_types::private::IntoLogData::into_log_data(inner)
11377 }
11378 }
11379 }
11380 }
11381 use alloy::contract as alloy_contract;
11382 #[inline]
11386 pub const fn new<
11387 P: alloy_contract::private::Provider<N>,
11388 N: alloy_contract::private::Network,
11389 >(
11390 address: alloy_sol_types::private::Address,
11391 provider: P,
11392 ) -> HoprNodeManagementModuleInstance<P, N> {
11393 HoprNodeManagementModuleInstance::<P, N>::new(address, provider)
11394 }
11395 #[inline]
11401 pub fn deploy<
11402 P: alloy_contract::private::Provider<N>,
11403 N: alloy_contract::private::Network,
11404 >(
11405 provider: P,
11406 ) -> impl ::core::future::Future<
11407 Output = alloy_contract::Result<HoprNodeManagementModuleInstance<P, N>>,
11408 > {
11409 HoprNodeManagementModuleInstance::<P, N>::deploy(provider)
11410 }
11411 #[inline]
11417 pub fn deploy_builder<
11418 P: alloy_contract::private::Provider<N>,
11419 N: alloy_contract::private::Network,
11420 >(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
11421 HoprNodeManagementModuleInstance::<P, N>::deploy_builder(provider)
11422 }
11423 #[derive(Clone)]
11435 pub struct HoprNodeManagementModuleInstance<
11436 P,
11437 N = alloy_contract::private::Ethereum,
11438 > {
11439 address: alloy_sol_types::private::Address,
11440 provider: P,
11441 _network: ::core::marker::PhantomData<N>,
11442 }
11443 #[automatically_derived]
11444 impl<P, N> ::core::fmt::Debug for HoprNodeManagementModuleInstance<P, N> {
11445 #[inline]
11446 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11447 f.debug_tuple("HoprNodeManagementModuleInstance")
11448 .field(&self.address)
11449 .finish()
11450 }
11451 }
11452 #[automatically_derived]
11454 impl<
11455 P: alloy_contract::private::Provider<N>,
11456 N: alloy_contract::private::Network,
11457 > HoprNodeManagementModuleInstance<P, N> {
11458 #[inline]
11462 pub const fn new(
11463 address: alloy_sol_types::private::Address,
11464 provider: P,
11465 ) -> Self {
11466 Self {
11467 address,
11468 provider,
11469 _network: ::core::marker::PhantomData,
11470 }
11471 }
11472 #[inline]
11478 pub async fn deploy(
11479 provider: P,
11480 ) -> alloy_contract::Result<HoprNodeManagementModuleInstance<P, N>> {
11481 let call_builder = Self::deploy_builder(provider);
11482 let contract_address = call_builder.deploy().await?;
11483 Ok(Self::new(contract_address, call_builder.provider))
11484 }
11485 #[inline]
11491 pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
11492 alloy_contract::RawCallBuilder::new_raw_deploy(
11493 provider,
11494 ::core::clone::Clone::clone(&BYTECODE),
11495 )
11496 }
11497 #[inline]
11499 pub const fn address(&self) -> &alloy_sol_types::private::Address {
11500 &self.address
11501 }
11502 #[inline]
11504 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
11505 self.address = address;
11506 }
11507 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
11509 self.set_address(address);
11510 self
11511 }
11512 #[inline]
11514 pub const fn provider(&self) -> &P {
11515 &self.provider
11516 }
11517 }
11518 impl<P: ::core::clone::Clone, N> HoprNodeManagementModuleInstance<&P, N> {
11519 #[inline]
11521 pub fn with_cloned_provider(self) -> HoprNodeManagementModuleInstance<P, N> {
11522 HoprNodeManagementModuleInstance {
11523 address: self.address,
11524 provider: ::core::clone::Clone::clone(&self.provider),
11525 _network: ::core::marker::PhantomData,
11526 }
11527 }
11528 }
11529 #[automatically_derived]
11531 impl<
11532 P: alloy_contract::private::Provider<N>,
11533 N: alloy_contract::private::Network,
11534 > HoprNodeManagementModuleInstance<P, N> {
11535 pub fn call_builder<C: alloy_sol_types::SolCall>(
11540 &self,
11541 call: &C,
11542 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
11543 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
11544 }
11545 pub fn addChannelsAndTokenTarget(
11547 &self,
11548 defaultTarget: <Target as alloy::sol_types::SolType>::RustType,
11549 ) -> alloy_contract::SolCallBuilder<&P, addChannelsAndTokenTargetCall, N> {
11550 self.call_builder(
11551 &addChannelsAndTokenTargetCall {
11552 defaultTarget,
11553 },
11554 )
11555 }
11556 pub fn addNode(
11558 &self,
11559 nodeAddress: alloy::sol_types::private::Address,
11560 ) -> alloy_contract::SolCallBuilder<&P, addNodeCall, N> {
11561 self.call_builder(&addNodeCall { nodeAddress })
11562 }
11563 pub fn decodeFunctionSigsAndPermissions(
11565 &self,
11566 encoded: alloy::sol_types::private::FixedBytes<32>,
11567 length: alloy::sol_types::private::primitives::aliases::U256,
11568 ) -> alloy_contract::SolCallBuilder<
11569 &P,
11570 decodeFunctionSigsAndPermissionsCall,
11571 N,
11572 > {
11573 self.call_builder(
11574 &decodeFunctionSigsAndPermissionsCall {
11575 encoded,
11576 length,
11577 },
11578 )
11579 }
11580 pub fn encodeFunctionSigsAndPermissions(
11582 &self,
11583 functionSigs: alloy::sol_types::private::Vec<
11584 alloy::sol_types::private::FixedBytes<4>,
11585 >,
11586 permissions: alloy::sol_types::private::Vec<
11587 <GranularPermission as alloy::sol_types::SolType>::RustType,
11588 >,
11589 ) -> alloy_contract::SolCallBuilder<
11590 &P,
11591 encodeFunctionSigsAndPermissionsCall,
11592 N,
11593 > {
11594 self.call_builder(
11595 &encodeFunctionSigsAndPermissionsCall {
11596 functionSigs,
11597 permissions,
11598 },
11599 )
11600 }
11601 pub fn execTransactionFromModule(
11603 &self,
11604 to: alloy::sol_types::private::Address,
11605 value: alloy::sol_types::private::primitives::aliases::U256,
11606 data: alloy::sol_types::private::Bytes,
11607 operation: <Enum::Operation as alloy::sol_types::SolType>::RustType,
11608 ) -> alloy_contract::SolCallBuilder<&P, execTransactionFromModuleCall, N> {
11609 self.call_builder(
11610 &execTransactionFromModuleCall {
11611 to,
11612 value,
11613 data,
11614 operation,
11615 },
11616 )
11617 }
11618 pub fn execTransactionFromModuleReturnData(
11620 &self,
11621 to: alloy::sol_types::private::Address,
11622 value: alloy::sol_types::private::primitives::aliases::U256,
11623 data: alloy::sol_types::private::Bytes,
11624 operation: <Enum::Operation as alloy::sol_types::SolType>::RustType,
11625 ) -> alloy_contract::SolCallBuilder<
11626 &P,
11627 execTransactionFromModuleReturnDataCall,
11628 N,
11629 > {
11630 self.call_builder(
11631 &execTransactionFromModuleReturnDataCall {
11632 to,
11633 value,
11634 data,
11635 operation,
11636 },
11637 )
11638 }
11639 pub fn getGranularPermissions(
11641 &self,
11642 capabilityKey: alloy::sol_types::private::FixedBytes<32>,
11643 pairId: alloy::sol_types::private::FixedBytes<32>,
11644 ) -> alloy_contract::SolCallBuilder<&P, getGranularPermissionsCall, N> {
11645 self.call_builder(
11646 &getGranularPermissionsCall {
11647 capabilityKey,
11648 pairId,
11649 },
11650 )
11651 }
11652 pub fn getTargets(
11654 &self,
11655 ) -> alloy_contract::SolCallBuilder<&P, getTargetsCall, N> {
11656 self.call_builder(&getTargetsCall)
11657 }
11658 pub fn includeNode(
11660 &self,
11661 nodeDefaultTarget: <Target as alloy::sol_types::SolType>::RustType,
11662 ) -> alloy_contract::SolCallBuilder<&P, includeNodeCall, N> {
11663 self.call_builder(
11664 &includeNodeCall {
11665 nodeDefaultTarget,
11666 },
11667 )
11668 }
11669 pub fn initialize(
11671 &self,
11672 initParams: alloy::sol_types::private::Bytes,
11673 ) -> alloy_contract::SolCallBuilder<&P, initializeCall, N> {
11674 self.call_builder(&initializeCall { initParams })
11675 }
11676 pub fn isHoprNodeManagementModule(
11678 &self,
11679 ) -> alloy_contract::SolCallBuilder<&P, isHoprNodeManagementModuleCall, N> {
11680 self.call_builder(&isHoprNodeManagementModuleCall)
11681 }
11682 pub fn isNode(
11684 &self,
11685 nodeAddress: alloy::sol_types::private::Address,
11686 ) -> alloy_contract::SolCallBuilder<&P, isNodeCall, N> {
11687 self.call_builder(&isNodeCall { nodeAddress })
11688 }
11689 pub fn multisend(&self) -> alloy_contract::SolCallBuilder<&P, multisendCall, N> {
11691 self.call_builder(&multisendCall)
11692 }
11693 pub fn owner(&self) -> alloy_contract::SolCallBuilder<&P, ownerCall, N> {
11695 self.call_builder(&ownerCall)
11696 }
11697 pub fn proxiableUUID(
11699 &self,
11700 ) -> alloy_contract::SolCallBuilder<&P, proxiableUUIDCall, N> {
11701 self.call_builder(&proxiableUUIDCall)
11702 }
11703 pub fn removeNode(
11705 &self,
11706 nodeAddress: alloy::sol_types::private::Address,
11707 ) -> alloy_contract::SolCallBuilder<&P, removeNodeCall, N> {
11708 self.call_builder(&removeNodeCall { nodeAddress })
11709 }
11710 pub fn renounceOwnership(
11712 &self,
11713 ) -> alloy_contract::SolCallBuilder<&P, renounceOwnershipCall, N> {
11714 self.call_builder(&renounceOwnershipCall)
11715 }
11716 pub fn revokeTarget(
11718 &self,
11719 targetAddress: alloy::sol_types::private::Address,
11720 ) -> alloy_contract::SolCallBuilder<&P, revokeTargetCall, N> {
11721 self.call_builder(&revokeTargetCall { targetAddress })
11722 }
11723 pub fn scopeChannelsCapabilities(
11725 &self,
11726 targetAddress: alloy::sol_types::private::Address,
11727 channelId: alloy::sol_types::private::FixedBytes<32>,
11728 encodedSigsPermissions: alloy::sol_types::private::FixedBytes<32>,
11729 ) -> alloy_contract::SolCallBuilder<&P, scopeChannelsCapabilitiesCall, N> {
11730 self.call_builder(
11731 &scopeChannelsCapabilitiesCall {
11732 targetAddress,
11733 channelId,
11734 encodedSigsPermissions,
11735 },
11736 )
11737 }
11738 pub fn scopeSendCapability(
11740 &self,
11741 nodeAddress: alloy::sol_types::private::Address,
11742 beneficiary: alloy::sol_types::private::Address,
11743 permission: <GranularPermission as alloy::sol_types::SolType>::RustType,
11744 ) -> alloy_contract::SolCallBuilder<&P, scopeSendCapabilityCall, N> {
11745 self.call_builder(
11746 &scopeSendCapabilityCall {
11747 nodeAddress,
11748 beneficiary,
11749 permission,
11750 },
11751 )
11752 }
11753 pub fn scopeTargetChannels(
11755 &self,
11756 defaultTarget: <Target as alloy::sol_types::SolType>::RustType,
11757 ) -> alloy_contract::SolCallBuilder<&P, scopeTargetChannelsCall, N> {
11758 self.call_builder(
11759 &scopeTargetChannelsCall {
11760 defaultTarget,
11761 },
11762 )
11763 }
11764 pub fn scopeTargetSend(
11766 &self,
11767 defaultTarget: <Target as alloy::sol_types::SolType>::RustType,
11768 ) -> alloy_contract::SolCallBuilder<&P, scopeTargetSendCall, N> {
11769 self.call_builder(
11770 &scopeTargetSendCall {
11771 defaultTarget,
11772 },
11773 )
11774 }
11775 pub fn scopeTargetToken(
11777 &self,
11778 defaultTarget: <Target as alloy::sol_types::SolType>::RustType,
11779 ) -> alloy_contract::SolCallBuilder<&P, scopeTargetTokenCall, N> {
11780 self.call_builder(
11781 &scopeTargetTokenCall {
11782 defaultTarget,
11783 },
11784 )
11785 }
11786 pub fn scopeTokenCapabilities(
11788 &self,
11789 nodeAddress: alloy::sol_types::private::Address,
11790 targetAddress: alloy::sol_types::private::Address,
11791 beneficiary: alloy::sol_types::private::Address,
11792 encodedSigsPermissions: alloy::sol_types::private::FixedBytes<32>,
11793 ) -> alloy_contract::SolCallBuilder<&P, scopeTokenCapabilitiesCall, N> {
11794 self.call_builder(
11795 &scopeTokenCapabilitiesCall {
11796 nodeAddress,
11797 targetAddress,
11798 beneficiary,
11799 encodedSigsPermissions,
11800 },
11801 )
11802 }
11803 pub fn setMultisend(
11805 &self,
11806 _multisend: alloy::sol_types::private::Address,
11807 ) -> alloy_contract::SolCallBuilder<&P, setMultisendCall, N> {
11808 self.call_builder(&setMultisendCall { _multisend })
11809 }
11810 pub fn transferOwnership(
11812 &self,
11813 newOwner: alloy::sol_types::private::Address,
11814 ) -> alloy_contract::SolCallBuilder<&P, transferOwnershipCall, N> {
11815 self.call_builder(&transferOwnershipCall { newOwner })
11816 }
11817 pub fn tryGetTarget(
11819 &self,
11820 targetAddress: alloy::sol_types::private::Address,
11821 ) -> alloy_contract::SolCallBuilder<&P, tryGetTargetCall, N> {
11822 self.call_builder(&tryGetTargetCall { targetAddress })
11823 }
11824 pub fn upgradeTo(
11826 &self,
11827 newImplementation: alloy::sol_types::private::Address,
11828 ) -> alloy_contract::SolCallBuilder<&P, upgradeToCall, N> {
11829 self.call_builder(&upgradeToCall { newImplementation })
11830 }
11831 pub fn upgradeToAndCall(
11833 &self,
11834 newImplementation: alloy::sol_types::private::Address,
11835 data: alloy::sol_types::private::Bytes,
11836 ) -> alloy_contract::SolCallBuilder<&P, upgradeToAndCallCall, N> {
11837 self.call_builder(
11838 &upgradeToAndCallCall {
11839 newImplementation,
11840 data,
11841 },
11842 )
11843 }
11844 }
11845 #[automatically_derived]
11847 impl<
11848 P: alloy_contract::private::Provider<N>,
11849 N: alloy_contract::private::Network,
11850 > HoprNodeManagementModuleInstance<P, N> {
11851 pub fn event_filter<E: alloy_sol_types::SolEvent>(
11856 &self,
11857 ) -> alloy_contract::Event<&P, E, N> {
11858 alloy_contract::Event::new_sol(&self.provider, &self.address)
11859 }
11860 pub fn AdminChanged_filter(&self) -> alloy_contract::Event<&P, AdminChanged, N> {
11862 self.event_filter::<AdminChanged>()
11863 }
11864 pub fn BeaconUpgraded_filter(
11866 &self,
11867 ) -> alloy_contract::Event<&P, BeaconUpgraded, N> {
11868 self.event_filter::<BeaconUpgraded>()
11869 }
11870 pub fn ExecutionFailure_filter(
11872 &self,
11873 ) -> alloy_contract::Event<&P, ExecutionFailure, N> {
11874 self.event_filter::<ExecutionFailure>()
11875 }
11876 pub fn ExecutionSuccess_filter(
11878 &self,
11879 ) -> alloy_contract::Event<&P, ExecutionSuccess, N> {
11880 self.event_filter::<ExecutionSuccess>()
11881 }
11882 pub fn Initialized_filter(&self) -> alloy_contract::Event<&P, Initialized, N> {
11884 self.event_filter::<Initialized>()
11885 }
11886 pub fn NodeAdded_filter(&self) -> alloy_contract::Event<&P, NodeAdded, N> {
11888 self.event_filter::<NodeAdded>()
11889 }
11890 pub fn NodeRemoved_filter(&self) -> alloy_contract::Event<&P, NodeRemoved, N> {
11892 self.event_filter::<NodeRemoved>()
11893 }
11894 pub fn OwnershipTransferred_filter(
11896 &self,
11897 ) -> alloy_contract::Event<&P, OwnershipTransferred, N> {
11898 self.event_filter::<OwnershipTransferred>()
11899 }
11900 pub fn SetMultisendAddress_filter(
11902 &self,
11903 ) -> alloy_contract::Event<&P, SetMultisendAddress, N> {
11904 self.event_filter::<SetMultisendAddress>()
11905 }
11906 pub fn Upgraded_filter(&self) -> alloy_contract::Event<&P, Upgraded, N> {
11908 self.event_filter::<Upgraded>()
11909 }
11910 }
11911}