1#![allow(clippy::all, clippy::pedantic, clippy::nursery, warnings, unknown_lints, rustdoc::all, elided_lifetimes_in_paths)]
2use UpgradeableBeacon::*;
3
4#[allow(
130 non_camel_case_types,
131 non_snake_case,
132 clippy::pub_underscore_fields,
133 clippy::style,
134 clippy::empty_structs_with_brackets
135)]
136pub mod UpgradeableBeacon {
137 use super::*;
138 use alloy::sol_types as alloy_sol_types;
139 #[rustfmt::skip]
145 #[allow(clippy::all)]
146 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
147 b"`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`@Qa\x04\xAC8\x03\x80a\x04\xAC\x839\x81\x01`@\x81\x90Ra\0.\x91a\x018V[a\x0073a\0FV[a\0@\x81a\0\x95V[Pa\x01eV[_\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\x01`\x01`\xA0\x1B\x03\x81\x16;a\x01\x16W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`3`$\x82\x01R\x7FUpgradeableBeacon: implementatio`D\x82\x01R\x7Fn is not a contract\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[_` \x82\x84\x03\x12\x15a\x01HW__\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01^W__\xFD[\x93\x92PPPV[a\x03:\x80a\x01r_9_\xF3\xFE`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\0UW_5`\xE0\x1C\x80c6Y\xCF\xE6\x14a\0YW\x80c\\`\xDA\x1B\x14a\0nW\x80cqP\x18\xA6\x14a\0\x97W\x80c\x8D\xA5\xCB[\x14a\0\x9FW\x80c\xF2\xFD\xE3\x8B\x14a\0\xAFW[__\xFD[a\0la\0g6`\x04a\x02\xD7V[a\0\xC2V[\0[`\x01T`\x01`\x01`\xA0\x1B\x03\x16[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0la\x01\tV[_T`\x01`\x01`\xA0\x1B\x03\x16a\0{V[a\0la\0\xBD6`\x04a\x02\xD7V[a\x01\x1CV[a\0\xCAa\x01\x9AV[a\0\xD3\x81a\x01\xF3V[`@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_\x90\xA2PV[a\x01\x11a\x01\x9AV[a\x01\x1A_a\x02\x88V[V[a\x01$a\x01\x9AV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x01\x8EW`@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\x01[`@Q\x80\x91\x03\x90\xFD[a\x01\x97\x81a\x02\x88V[PV[_T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x01\x1AW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01a\x01\x85V[`\x01`\x01`\xA0\x1B\x03\x81\x16;a\x02fW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`3`$\x82\x01R\x7FUpgradeableBeacon: implementatio`D\x82\x01Rr\x1B\x88\x1A\\\xC8\x1B\x9B\xDD\x08\x18H\x18\xDB\xDB\x9D\x1C\x98X\xDD`j\x1B`d\x82\x01R`\x84\x01a\x01\x85V[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[_\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[_` \x82\x84\x03\x12\x15a\x02\xE7W__\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\xFDW__\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 6\xFB\xA5wE;\x06\xAB\xC7\x8C\xDB\x9A\xB2\xADm\xC2q\x8A\xA0\x82I5\xC2\x97Y<\xEC\xB6\xD6\x88WudsolcC\0\x08\x1B\x003",
148 );
149 #[rustfmt::skip]
155 #[allow(clippy::all)]
156 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
157 b"`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\0UW_5`\xE0\x1C\x80c6Y\xCF\xE6\x14a\0YW\x80c\\`\xDA\x1B\x14a\0nW\x80cqP\x18\xA6\x14a\0\x97W\x80c\x8D\xA5\xCB[\x14a\0\x9FW\x80c\xF2\xFD\xE3\x8B\x14a\0\xAFW[__\xFD[a\0la\0g6`\x04a\x02\xD7V[a\0\xC2V[\0[`\x01T`\x01`\x01`\xA0\x1B\x03\x16[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0la\x01\tV[_T`\x01`\x01`\xA0\x1B\x03\x16a\0{V[a\0la\0\xBD6`\x04a\x02\xD7V[a\x01\x1CV[a\0\xCAa\x01\x9AV[a\0\xD3\x81a\x01\xF3V[`@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_\x90\xA2PV[a\x01\x11a\x01\x9AV[a\x01\x1A_a\x02\x88V[V[a\x01$a\x01\x9AV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x01\x8EW`@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\x01[`@Q\x80\x91\x03\x90\xFD[a\x01\x97\x81a\x02\x88V[PV[_T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x01\x1AW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01a\x01\x85V[`\x01`\x01`\xA0\x1B\x03\x81\x16;a\x02fW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`3`$\x82\x01R\x7FUpgradeableBeacon: implementatio`D\x82\x01Rr\x1B\x88\x1A\\\xC8\x1B\x9B\xDD\x08\x18H\x18\xDB\xDB\x9D\x1C\x98X\xDD`j\x1B`d\x82\x01R`\x84\x01a\x01\x85V[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[_\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[_` \x82\x84\x03\x12\x15a\x02\xE7W__\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\xFDW__\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 6\xFB\xA5wE;\x06\xAB\xC7\x8C\xDB\x9A\xB2\xADm\xC2q\x8A\xA0\x82I5\xC2\x97Y<\xEC\xB6\xD6\x88WudsolcC\0\x08\x1B\x003",
158 );
159 #[derive(serde::Serialize, serde::Deserialize)]
160 #[derive(Default, Debug, PartialEq, Eq, Hash)]
161 #[allow(
166 non_camel_case_types,
167 non_snake_case,
168 clippy::pub_underscore_fields,
169 clippy::style
170 )]
171 #[derive(Clone)]
172 pub struct OwnershipTransferred {
173 #[allow(missing_docs)]
174 pub previousOwner: alloy::sol_types::private::Address,
175 #[allow(missing_docs)]
176 pub newOwner: alloy::sol_types::private::Address,
177 }
178 #[allow(
179 non_camel_case_types,
180 non_snake_case,
181 clippy::pub_underscore_fields,
182 clippy::style
183 )]
184 const _: () = {
185 use alloy::sol_types as alloy_sol_types;
186 #[automatically_derived]
187 impl alloy_sol_types::SolEvent for OwnershipTransferred {
188 type DataTuple<'a> = ();
189 type DataToken<'a> = <Self::DataTuple<
190 'a,
191 > as alloy_sol_types::SolType>::Token<'a>;
192 type TopicList = (
193 alloy_sol_types::sol_data::FixedBytes<32>,
194 alloy::sol_types::sol_data::Address,
195 alloy::sol_types::sol_data::Address,
196 );
197 const SIGNATURE: &'static str = "OwnershipTransferred(address,address)";
198 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
199 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
200 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
201 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
202 ]);
203 const ANONYMOUS: bool = false;
204 #[allow(unused_variables)]
205 #[inline]
206 fn new(
207 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
208 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
209 ) -> Self {
210 Self {
211 previousOwner: topics.1,
212 newOwner: topics.2,
213 }
214 }
215 #[inline]
216 fn check_signature(
217 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
218 ) -> alloy_sol_types::Result<()> {
219 if topics.0 != Self::SIGNATURE_HASH {
220 return Err(
221 alloy_sol_types::Error::invalid_event_signature_hash(
222 Self::SIGNATURE,
223 topics.0,
224 Self::SIGNATURE_HASH,
225 ),
226 );
227 }
228 Ok(())
229 }
230 #[inline]
231 fn tokenize_body(&self) -> Self::DataToken<'_> {
232 ()
233 }
234 #[inline]
235 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
236 (
237 Self::SIGNATURE_HASH.into(),
238 self.previousOwner.clone(),
239 self.newOwner.clone(),
240 )
241 }
242 #[inline]
243 fn encode_topics_raw(
244 &self,
245 out: &mut [alloy_sol_types::abi::token::WordToken],
246 ) -> alloy_sol_types::Result<()> {
247 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
248 return Err(alloy_sol_types::Error::Overrun);
249 }
250 out[0usize] = alloy_sol_types::abi::token::WordToken(
251 Self::SIGNATURE_HASH,
252 );
253 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
254 &self.previousOwner,
255 );
256 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
257 &self.newOwner,
258 );
259 Ok(())
260 }
261 }
262 #[automatically_derived]
263 impl alloy_sol_types::private::IntoLogData for OwnershipTransferred {
264 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
265 From::from(self)
266 }
267 fn into_log_data(self) -> alloy_sol_types::private::LogData {
268 From::from(&self)
269 }
270 }
271 #[automatically_derived]
272 impl From<&OwnershipTransferred> for alloy_sol_types::private::LogData {
273 #[inline]
274 fn from(this: &OwnershipTransferred) -> alloy_sol_types::private::LogData {
275 alloy_sol_types::SolEvent::encode_log_data(this)
276 }
277 }
278 };
279 #[derive(serde::Serialize, serde::Deserialize)]
280 #[derive(Default, Debug, PartialEq, Eq, Hash)]
281 #[allow(
286 non_camel_case_types,
287 non_snake_case,
288 clippy::pub_underscore_fields,
289 clippy::style
290 )]
291 #[derive(Clone)]
292 pub struct Upgraded {
293 #[allow(missing_docs)]
294 pub implementation: alloy::sol_types::private::Address,
295 }
296 #[allow(
297 non_camel_case_types,
298 non_snake_case,
299 clippy::pub_underscore_fields,
300 clippy::style
301 )]
302 const _: () = {
303 use alloy::sol_types as alloy_sol_types;
304 #[automatically_derived]
305 impl alloy_sol_types::SolEvent for Upgraded {
306 type DataTuple<'a> = ();
307 type DataToken<'a> = <Self::DataTuple<
308 'a,
309 > as alloy_sol_types::SolType>::Token<'a>;
310 type TopicList = (
311 alloy_sol_types::sol_data::FixedBytes<32>,
312 alloy::sol_types::sol_data::Address,
313 );
314 const SIGNATURE: &'static str = "Upgraded(address)";
315 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
316 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
317 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
318 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
319 ]);
320 const ANONYMOUS: bool = false;
321 #[allow(unused_variables)]
322 #[inline]
323 fn new(
324 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
325 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
326 ) -> Self {
327 Self { implementation: topics.1 }
328 }
329 #[inline]
330 fn check_signature(
331 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
332 ) -> alloy_sol_types::Result<()> {
333 if topics.0 != Self::SIGNATURE_HASH {
334 return Err(
335 alloy_sol_types::Error::invalid_event_signature_hash(
336 Self::SIGNATURE,
337 topics.0,
338 Self::SIGNATURE_HASH,
339 ),
340 );
341 }
342 Ok(())
343 }
344 #[inline]
345 fn tokenize_body(&self) -> Self::DataToken<'_> {
346 ()
347 }
348 #[inline]
349 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
350 (Self::SIGNATURE_HASH.into(), self.implementation.clone())
351 }
352 #[inline]
353 fn encode_topics_raw(
354 &self,
355 out: &mut [alloy_sol_types::abi::token::WordToken],
356 ) -> alloy_sol_types::Result<()> {
357 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
358 return Err(alloy_sol_types::Error::Overrun);
359 }
360 out[0usize] = alloy_sol_types::abi::token::WordToken(
361 Self::SIGNATURE_HASH,
362 );
363 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
364 &self.implementation,
365 );
366 Ok(())
367 }
368 }
369 #[automatically_derived]
370 impl alloy_sol_types::private::IntoLogData for Upgraded {
371 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
372 From::from(self)
373 }
374 fn into_log_data(self) -> alloy_sol_types::private::LogData {
375 From::from(&self)
376 }
377 }
378 #[automatically_derived]
379 impl From<&Upgraded> for alloy_sol_types::private::LogData {
380 #[inline]
381 fn from(this: &Upgraded) -> alloy_sol_types::private::LogData {
382 alloy_sol_types::SolEvent::encode_log_data(this)
383 }
384 }
385 };
386 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
391 #[derive(Clone)]
392 pub struct constructorCall {
393 #[allow(missing_docs)]
394 pub implementation_: alloy::sol_types::private::Address,
395 }
396 const _: () = {
397 use alloy::sol_types as alloy_sol_types;
398 {
399 #[doc(hidden)]
400 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
401 #[doc(hidden)]
402 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
403 #[cfg(test)]
404 #[allow(dead_code, unreachable_patterns)]
405 fn _type_assertion(
406 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
407 ) {
408 match _t {
409 alloy_sol_types::private::AssertTypeEq::<
410 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
411 >(_) => {}
412 }
413 }
414 #[automatically_derived]
415 #[doc(hidden)]
416 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
417 fn from(value: constructorCall) -> Self {
418 (value.implementation_,)
419 }
420 }
421 #[automatically_derived]
422 #[doc(hidden)]
423 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
424 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
425 Self { implementation_: tuple.0 }
426 }
427 }
428 }
429 #[automatically_derived]
430 impl alloy_sol_types::SolConstructor for constructorCall {
431 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
432 type Token<'a> = <Self::Parameters<
433 'a,
434 > as alloy_sol_types::SolType>::Token<'a>;
435 #[inline]
436 fn new<'a>(
437 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
438 ) -> Self {
439 tuple.into()
440 }
441 #[inline]
442 fn tokenize(&self) -> Self::Token<'_> {
443 (
444 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
445 &self.implementation_,
446 ),
447 )
448 }
449 }
450 };
451 #[derive(serde::Serialize, serde::Deserialize)]
452 #[derive(Default, Debug, PartialEq, Eq, Hash)]
453 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
458 #[derive(Clone)]
459 pub struct implementationCall;
460 #[derive(serde::Serialize, serde::Deserialize)]
461 #[derive(Default, Debug, PartialEq, Eq, Hash)]
462 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
464 #[derive(Clone)]
465 pub struct implementationReturn {
466 #[allow(missing_docs)]
467 pub _0: alloy::sol_types::private::Address,
468 }
469 #[allow(
470 non_camel_case_types,
471 non_snake_case,
472 clippy::pub_underscore_fields,
473 clippy::style
474 )]
475 const _: () = {
476 use alloy::sol_types as alloy_sol_types;
477 {
478 #[doc(hidden)]
479 type UnderlyingSolTuple<'a> = ();
480 #[doc(hidden)]
481 type UnderlyingRustTuple<'a> = ();
482 #[cfg(test)]
483 #[allow(dead_code, unreachable_patterns)]
484 fn _type_assertion(
485 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
486 ) {
487 match _t {
488 alloy_sol_types::private::AssertTypeEq::<
489 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
490 >(_) => {}
491 }
492 }
493 #[automatically_derived]
494 #[doc(hidden)]
495 impl ::core::convert::From<implementationCall> for UnderlyingRustTuple<'_> {
496 fn from(value: implementationCall) -> Self {
497 ()
498 }
499 }
500 #[automatically_derived]
501 #[doc(hidden)]
502 impl ::core::convert::From<UnderlyingRustTuple<'_>> for implementationCall {
503 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
504 Self
505 }
506 }
507 }
508 {
509 #[doc(hidden)]
510 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
511 #[doc(hidden)]
512 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
513 #[cfg(test)]
514 #[allow(dead_code, unreachable_patterns)]
515 fn _type_assertion(
516 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
517 ) {
518 match _t {
519 alloy_sol_types::private::AssertTypeEq::<
520 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
521 >(_) => {}
522 }
523 }
524 #[automatically_derived]
525 #[doc(hidden)]
526 impl ::core::convert::From<implementationReturn>
527 for UnderlyingRustTuple<'_> {
528 fn from(value: implementationReturn) -> Self {
529 (value._0,)
530 }
531 }
532 #[automatically_derived]
533 #[doc(hidden)]
534 impl ::core::convert::From<UnderlyingRustTuple<'_>>
535 for implementationReturn {
536 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
537 Self { _0: tuple.0 }
538 }
539 }
540 }
541 #[automatically_derived]
542 impl alloy_sol_types::SolCall for implementationCall {
543 type Parameters<'a> = ();
544 type Token<'a> = <Self::Parameters<
545 'a,
546 > as alloy_sol_types::SolType>::Token<'a>;
547 type Return = alloy::sol_types::private::Address;
548 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
549 type ReturnToken<'a> = <Self::ReturnTuple<
550 'a,
551 > as alloy_sol_types::SolType>::Token<'a>;
552 const SIGNATURE: &'static str = "implementation()";
553 const SELECTOR: [u8; 4] = [92u8, 96u8, 218u8, 27u8];
554 #[inline]
555 fn new<'a>(
556 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
557 ) -> Self {
558 tuple.into()
559 }
560 #[inline]
561 fn tokenize(&self) -> Self::Token<'_> {
562 ()
563 }
564 #[inline]
565 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
566 (
567 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
568 ret,
569 ),
570 )
571 }
572 #[inline]
573 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
574 <Self::ReturnTuple<
575 '_,
576 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
577 .map(|r| {
578 let r: implementationReturn = r.into();
579 r._0
580 })
581 }
582 #[inline]
583 fn abi_decode_returns_validate(
584 data: &[u8],
585 ) -> alloy_sol_types::Result<Self::Return> {
586 <Self::ReturnTuple<
587 '_,
588 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
589 .map(|r| {
590 let r: implementationReturn = r.into();
591 r._0
592 })
593 }
594 }
595 };
596 #[derive(serde::Serialize, serde::Deserialize)]
597 #[derive(Default, Debug, PartialEq, Eq, Hash)]
598 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
603 #[derive(Clone)]
604 pub struct ownerCall;
605 #[derive(serde::Serialize, serde::Deserialize)]
606 #[derive(Default, Debug, PartialEq, Eq, Hash)]
607 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
609 #[derive(Clone)]
610 pub struct ownerReturn {
611 #[allow(missing_docs)]
612 pub _0: alloy::sol_types::private::Address,
613 }
614 #[allow(
615 non_camel_case_types,
616 non_snake_case,
617 clippy::pub_underscore_fields,
618 clippy::style
619 )]
620 const _: () = {
621 use alloy::sol_types as alloy_sol_types;
622 {
623 #[doc(hidden)]
624 type UnderlyingSolTuple<'a> = ();
625 #[doc(hidden)]
626 type UnderlyingRustTuple<'a> = ();
627 #[cfg(test)]
628 #[allow(dead_code, unreachable_patterns)]
629 fn _type_assertion(
630 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
631 ) {
632 match _t {
633 alloy_sol_types::private::AssertTypeEq::<
634 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
635 >(_) => {}
636 }
637 }
638 #[automatically_derived]
639 #[doc(hidden)]
640 impl ::core::convert::From<ownerCall> for UnderlyingRustTuple<'_> {
641 fn from(value: ownerCall) -> Self {
642 ()
643 }
644 }
645 #[automatically_derived]
646 #[doc(hidden)]
647 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerCall {
648 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
649 Self
650 }
651 }
652 }
653 {
654 #[doc(hidden)]
655 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
656 #[doc(hidden)]
657 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
658 #[cfg(test)]
659 #[allow(dead_code, unreachable_patterns)]
660 fn _type_assertion(
661 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
662 ) {
663 match _t {
664 alloy_sol_types::private::AssertTypeEq::<
665 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
666 >(_) => {}
667 }
668 }
669 #[automatically_derived]
670 #[doc(hidden)]
671 impl ::core::convert::From<ownerReturn> for UnderlyingRustTuple<'_> {
672 fn from(value: ownerReturn) -> Self {
673 (value._0,)
674 }
675 }
676 #[automatically_derived]
677 #[doc(hidden)]
678 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerReturn {
679 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
680 Self { _0: tuple.0 }
681 }
682 }
683 }
684 #[automatically_derived]
685 impl alloy_sol_types::SolCall for ownerCall {
686 type Parameters<'a> = ();
687 type Token<'a> = <Self::Parameters<
688 'a,
689 > as alloy_sol_types::SolType>::Token<'a>;
690 type Return = alloy::sol_types::private::Address;
691 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
692 type ReturnToken<'a> = <Self::ReturnTuple<
693 'a,
694 > as alloy_sol_types::SolType>::Token<'a>;
695 const SIGNATURE: &'static str = "owner()";
696 const SELECTOR: [u8; 4] = [141u8, 165u8, 203u8, 91u8];
697 #[inline]
698 fn new<'a>(
699 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
700 ) -> Self {
701 tuple.into()
702 }
703 #[inline]
704 fn tokenize(&self) -> Self::Token<'_> {
705 ()
706 }
707 #[inline]
708 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
709 (
710 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
711 ret,
712 ),
713 )
714 }
715 #[inline]
716 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
717 <Self::ReturnTuple<
718 '_,
719 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
720 .map(|r| {
721 let r: ownerReturn = r.into();
722 r._0
723 })
724 }
725 #[inline]
726 fn abi_decode_returns_validate(
727 data: &[u8],
728 ) -> alloy_sol_types::Result<Self::Return> {
729 <Self::ReturnTuple<
730 '_,
731 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
732 .map(|r| {
733 let r: ownerReturn = r.into();
734 r._0
735 })
736 }
737 }
738 };
739 #[derive(serde::Serialize, serde::Deserialize)]
740 #[derive(Default, Debug, PartialEq, Eq, Hash)]
741 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
746 #[derive(Clone)]
747 pub struct renounceOwnershipCall;
748 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
750 #[derive(Clone)]
751 pub struct renounceOwnershipReturn {}
752 #[allow(
753 non_camel_case_types,
754 non_snake_case,
755 clippy::pub_underscore_fields,
756 clippy::style
757 )]
758 const _: () = {
759 use alloy::sol_types as alloy_sol_types;
760 {
761 #[doc(hidden)]
762 type UnderlyingSolTuple<'a> = ();
763 #[doc(hidden)]
764 type UnderlyingRustTuple<'a> = ();
765 #[cfg(test)]
766 #[allow(dead_code, unreachable_patterns)]
767 fn _type_assertion(
768 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
769 ) {
770 match _t {
771 alloy_sol_types::private::AssertTypeEq::<
772 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
773 >(_) => {}
774 }
775 }
776 #[automatically_derived]
777 #[doc(hidden)]
778 impl ::core::convert::From<renounceOwnershipCall>
779 for UnderlyingRustTuple<'_> {
780 fn from(value: renounceOwnershipCall) -> Self {
781 ()
782 }
783 }
784 #[automatically_derived]
785 #[doc(hidden)]
786 impl ::core::convert::From<UnderlyingRustTuple<'_>>
787 for renounceOwnershipCall {
788 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
789 Self
790 }
791 }
792 }
793 {
794 #[doc(hidden)]
795 type UnderlyingSolTuple<'a> = ();
796 #[doc(hidden)]
797 type UnderlyingRustTuple<'a> = ();
798 #[cfg(test)]
799 #[allow(dead_code, unreachable_patterns)]
800 fn _type_assertion(
801 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
802 ) {
803 match _t {
804 alloy_sol_types::private::AssertTypeEq::<
805 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
806 >(_) => {}
807 }
808 }
809 #[automatically_derived]
810 #[doc(hidden)]
811 impl ::core::convert::From<renounceOwnershipReturn>
812 for UnderlyingRustTuple<'_> {
813 fn from(value: renounceOwnershipReturn) -> Self {
814 ()
815 }
816 }
817 #[automatically_derived]
818 #[doc(hidden)]
819 impl ::core::convert::From<UnderlyingRustTuple<'_>>
820 for renounceOwnershipReturn {
821 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
822 Self {}
823 }
824 }
825 }
826 impl renounceOwnershipReturn {
827 fn _tokenize(
828 &self,
829 ) -> <renounceOwnershipCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
830 ()
831 }
832 }
833 #[automatically_derived]
834 impl alloy_sol_types::SolCall for renounceOwnershipCall {
835 type Parameters<'a> = ();
836 type Token<'a> = <Self::Parameters<
837 'a,
838 > as alloy_sol_types::SolType>::Token<'a>;
839 type Return = renounceOwnershipReturn;
840 type ReturnTuple<'a> = ();
841 type ReturnToken<'a> = <Self::ReturnTuple<
842 'a,
843 > as alloy_sol_types::SolType>::Token<'a>;
844 const SIGNATURE: &'static str = "renounceOwnership()";
845 const SELECTOR: [u8; 4] = [113u8, 80u8, 24u8, 166u8];
846 #[inline]
847 fn new<'a>(
848 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
849 ) -> Self {
850 tuple.into()
851 }
852 #[inline]
853 fn tokenize(&self) -> Self::Token<'_> {
854 ()
855 }
856 #[inline]
857 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
858 renounceOwnershipReturn::_tokenize(ret)
859 }
860 #[inline]
861 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
862 <Self::ReturnTuple<
863 '_,
864 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
865 .map(Into::into)
866 }
867 #[inline]
868 fn abi_decode_returns_validate(
869 data: &[u8],
870 ) -> alloy_sol_types::Result<Self::Return> {
871 <Self::ReturnTuple<
872 '_,
873 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
874 .map(Into::into)
875 }
876 }
877 };
878 #[derive(serde::Serialize, serde::Deserialize)]
879 #[derive(Default, Debug, PartialEq, Eq, Hash)]
880 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
885 #[derive(Clone)]
886 pub struct transferOwnershipCall {
887 #[allow(missing_docs)]
888 pub newOwner: alloy::sol_types::private::Address,
889 }
890 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
892 #[derive(Clone)]
893 pub struct transferOwnershipReturn {}
894 #[allow(
895 non_camel_case_types,
896 non_snake_case,
897 clippy::pub_underscore_fields,
898 clippy::style
899 )]
900 const _: () = {
901 use alloy::sol_types as alloy_sol_types;
902 {
903 #[doc(hidden)]
904 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
905 #[doc(hidden)]
906 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
907 #[cfg(test)]
908 #[allow(dead_code, unreachable_patterns)]
909 fn _type_assertion(
910 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
911 ) {
912 match _t {
913 alloy_sol_types::private::AssertTypeEq::<
914 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
915 >(_) => {}
916 }
917 }
918 #[automatically_derived]
919 #[doc(hidden)]
920 impl ::core::convert::From<transferOwnershipCall>
921 for UnderlyingRustTuple<'_> {
922 fn from(value: transferOwnershipCall) -> Self {
923 (value.newOwner,)
924 }
925 }
926 #[automatically_derived]
927 #[doc(hidden)]
928 impl ::core::convert::From<UnderlyingRustTuple<'_>>
929 for transferOwnershipCall {
930 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
931 Self { newOwner: tuple.0 }
932 }
933 }
934 }
935 {
936 #[doc(hidden)]
937 type UnderlyingSolTuple<'a> = ();
938 #[doc(hidden)]
939 type UnderlyingRustTuple<'a> = ();
940 #[cfg(test)]
941 #[allow(dead_code, unreachable_patterns)]
942 fn _type_assertion(
943 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
944 ) {
945 match _t {
946 alloy_sol_types::private::AssertTypeEq::<
947 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
948 >(_) => {}
949 }
950 }
951 #[automatically_derived]
952 #[doc(hidden)]
953 impl ::core::convert::From<transferOwnershipReturn>
954 for UnderlyingRustTuple<'_> {
955 fn from(value: transferOwnershipReturn) -> Self {
956 ()
957 }
958 }
959 #[automatically_derived]
960 #[doc(hidden)]
961 impl ::core::convert::From<UnderlyingRustTuple<'_>>
962 for transferOwnershipReturn {
963 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
964 Self {}
965 }
966 }
967 }
968 impl transferOwnershipReturn {
969 fn _tokenize(
970 &self,
971 ) -> <transferOwnershipCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
972 ()
973 }
974 }
975 #[automatically_derived]
976 impl alloy_sol_types::SolCall for transferOwnershipCall {
977 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
978 type Token<'a> = <Self::Parameters<
979 'a,
980 > as alloy_sol_types::SolType>::Token<'a>;
981 type Return = transferOwnershipReturn;
982 type ReturnTuple<'a> = ();
983 type ReturnToken<'a> = <Self::ReturnTuple<
984 'a,
985 > as alloy_sol_types::SolType>::Token<'a>;
986 const SIGNATURE: &'static str = "transferOwnership(address)";
987 const SELECTOR: [u8; 4] = [242u8, 253u8, 227u8, 139u8];
988 #[inline]
989 fn new<'a>(
990 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
991 ) -> Self {
992 tuple.into()
993 }
994 #[inline]
995 fn tokenize(&self) -> Self::Token<'_> {
996 (
997 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
998 &self.newOwner,
999 ),
1000 )
1001 }
1002 #[inline]
1003 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
1004 transferOwnershipReturn::_tokenize(ret)
1005 }
1006 #[inline]
1007 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
1008 <Self::ReturnTuple<
1009 '_,
1010 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
1011 .map(Into::into)
1012 }
1013 #[inline]
1014 fn abi_decode_returns_validate(
1015 data: &[u8],
1016 ) -> alloy_sol_types::Result<Self::Return> {
1017 <Self::ReturnTuple<
1018 '_,
1019 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1020 .map(Into::into)
1021 }
1022 }
1023 };
1024 #[derive(serde::Serialize, serde::Deserialize)]
1025 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1026 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1031 #[derive(Clone)]
1032 pub struct upgradeToCall {
1033 #[allow(missing_docs)]
1034 pub newImplementation: alloy::sol_types::private::Address,
1035 }
1036 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1038 #[derive(Clone)]
1039 pub struct upgradeToReturn {}
1040 #[allow(
1041 non_camel_case_types,
1042 non_snake_case,
1043 clippy::pub_underscore_fields,
1044 clippy::style
1045 )]
1046 const _: () = {
1047 use alloy::sol_types as alloy_sol_types;
1048 {
1049 #[doc(hidden)]
1050 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
1051 #[doc(hidden)]
1052 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
1053 #[cfg(test)]
1054 #[allow(dead_code, unreachable_patterns)]
1055 fn _type_assertion(
1056 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1057 ) {
1058 match _t {
1059 alloy_sol_types::private::AssertTypeEq::<
1060 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1061 >(_) => {}
1062 }
1063 }
1064 #[automatically_derived]
1065 #[doc(hidden)]
1066 impl ::core::convert::From<upgradeToCall> for UnderlyingRustTuple<'_> {
1067 fn from(value: upgradeToCall) -> Self {
1068 (value.newImplementation,)
1069 }
1070 }
1071 #[automatically_derived]
1072 #[doc(hidden)]
1073 impl ::core::convert::From<UnderlyingRustTuple<'_>> for upgradeToCall {
1074 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1075 Self { newImplementation: tuple.0 }
1076 }
1077 }
1078 }
1079 {
1080 #[doc(hidden)]
1081 type UnderlyingSolTuple<'a> = ();
1082 #[doc(hidden)]
1083 type UnderlyingRustTuple<'a> = ();
1084 #[cfg(test)]
1085 #[allow(dead_code, unreachable_patterns)]
1086 fn _type_assertion(
1087 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1088 ) {
1089 match _t {
1090 alloy_sol_types::private::AssertTypeEq::<
1091 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1092 >(_) => {}
1093 }
1094 }
1095 #[automatically_derived]
1096 #[doc(hidden)]
1097 impl ::core::convert::From<upgradeToReturn> for UnderlyingRustTuple<'_> {
1098 fn from(value: upgradeToReturn) -> Self {
1099 ()
1100 }
1101 }
1102 #[automatically_derived]
1103 #[doc(hidden)]
1104 impl ::core::convert::From<UnderlyingRustTuple<'_>> for upgradeToReturn {
1105 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1106 Self {}
1107 }
1108 }
1109 }
1110 impl upgradeToReturn {
1111 fn _tokenize(
1112 &self,
1113 ) -> <upgradeToCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
1114 ()
1115 }
1116 }
1117 #[automatically_derived]
1118 impl alloy_sol_types::SolCall for upgradeToCall {
1119 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
1120 type Token<'a> = <Self::Parameters<
1121 'a,
1122 > as alloy_sol_types::SolType>::Token<'a>;
1123 type Return = upgradeToReturn;
1124 type ReturnTuple<'a> = ();
1125 type ReturnToken<'a> = <Self::ReturnTuple<
1126 'a,
1127 > as alloy_sol_types::SolType>::Token<'a>;
1128 const SIGNATURE: &'static str = "upgradeTo(address)";
1129 const SELECTOR: [u8; 4] = [54u8, 89u8, 207u8, 230u8];
1130 #[inline]
1131 fn new<'a>(
1132 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1133 ) -> Self {
1134 tuple.into()
1135 }
1136 #[inline]
1137 fn tokenize(&self) -> Self::Token<'_> {
1138 (
1139 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
1140 &self.newImplementation,
1141 ),
1142 )
1143 }
1144 #[inline]
1145 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
1146 upgradeToReturn::_tokenize(ret)
1147 }
1148 #[inline]
1149 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
1150 <Self::ReturnTuple<
1151 '_,
1152 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
1153 .map(Into::into)
1154 }
1155 #[inline]
1156 fn abi_decode_returns_validate(
1157 data: &[u8],
1158 ) -> alloy_sol_types::Result<Self::Return> {
1159 <Self::ReturnTuple<
1160 '_,
1161 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1162 .map(Into::into)
1163 }
1164 }
1165 };
1166 #[derive(serde::Serialize, serde::Deserialize)]
1168 #[derive()]
1169 pub enum UpgradeableBeaconCalls {
1170 #[allow(missing_docs)]
1171 implementation(implementationCall),
1172 #[allow(missing_docs)]
1173 owner(ownerCall),
1174 #[allow(missing_docs)]
1175 renounceOwnership(renounceOwnershipCall),
1176 #[allow(missing_docs)]
1177 transferOwnership(transferOwnershipCall),
1178 #[allow(missing_docs)]
1179 upgradeTo(upgradeToCall),
1180 }
1181 #[automatically_derived]
1182 impl UpgradeableBeaconCalls {
1183 pub const SELECTORS: &'static [[u8; 4usize]] = &[
1190 [54u8, 89u8, 207u8, 230u8],
1191 [92u8, 96u8, 218u8, 27u8],
1192 [113u8, 80u8, 24u8, 166u8],
1193 [141u8, 165u8, 203u8, 91u8],
1194 [242u8, 253u8, 227u8, 139u8],
1195 ];
1196 }
1197 #[automatically_derived]
1198 impl alloy_sol_types::SolInterface for UpgradeableBeaconCalls {
1199 const NAME: &'static str = "UpgradeableBeaconCalls";
1200 const MIN_DATA_LENGTH: usize = 0usize;
1201 const COUNT: usize = 5usize;
1202 #[inline]
1203 fn selector(&self) -> [u8; 4] {
1204 match self {
1205 Self::implementation(_) => {
1206 <implementationCall as alloy_sol_types::SolCall>::SELECTOR
1207 }
1208 Self::owner(_) => <ownerCall as alloy_sol_types::SolCall>::SELECTOR,
1209 Self::renounceOwnership(_) => {
1210 <renounceOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
1211 }
1212 Self::transferOwnership(_) => {
1213 <transferOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
1214 }
1215 Self::upgradeTo(_) => {
1216 <upgradeToCall as alloy_sol_types::SolCall>::SELECTOR
1217 }
1218 }
1219 }
1220 #[inline]
1221 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
1222 Self::SELECTORS.get(i).copied()
1223 }
1224 #[inline]
1225 fn valid_selector(selector: [u8; 4]) -> bool {
1226 Self::SELECTORS.binary_search(&selector).is_ok()
1227 }
1228 #[inline]
1229 #[allow(non_snake_case)]
1230 fn abi_decode_raw(
1231 selector: [u8; 4],
1232 data: &[u8],
1233 ) -> alloy_sol_types::Result<Self> {
1234 static DECODE_SHIMS: &[fn(
1235 &[u8],
1236 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls>] = &[
1237 {
1238 fn upgradeTo(
1239 data: &[u8],
1240 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1241 <upgradeToCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
1242 .map(UpgradeableBeaconCalls::upgradeTo)
1243 }
1244 upgradeTo
1245 },
1246 {
1247 fn implementation(
1248 data: &[u8],
1249 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1250 <implementationCall as alloy_sol_types::SolCall>::abi_decode_raw(
1251 data,
1252 )
1253 .map(UpgradeableBeaconCalls::implementation)
1254 }
1255 implementation
1256 },
1257 {
1258 fn renounceOwnership(
1259 data: &[u8],
1260 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1261 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
1262 data,
1263 )
1264 .map(UpgradeableBeaconCalls::renounceOwnership)
1265 }
1266 renounceOwnership
1267 },
1268 {
1269 fn owner(
1270 data: &[u8],
1271 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1272 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
1273 .map(UpgradeableBeaconCalls::owner)
1274 }
1275 owner
1276 },
1277 {
1278 fn transferOwnership(
1279 data: &[u8],
1280 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1281 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
1282 data,
1283 )
1284 .map(UpgradeableBeaconCalls::transferOwnership)
1285 }
1286 transferOwnership
1287 },
1288 ];
1289 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
1290 return Err(
1291 alloy_sol_types::Error::unknown_selector(
1292 <Self as alloy_sol_types::SolInterface>::NAME,
1293 selector,
1294 ),
1295 );
1296 };
1297 DECODE_SHIMS[idx](data)
1298 }
1299 #[inline]
1300 #[allow(non_snake_case)]
1301 fn abi_decode_raw_validate(
1302 selector: [u8; 4],
1303 data: &[u8],
1304 ) -> alloy_sol_types::Result<Self> {
1305 static DECODE_VALIDATE_SHIMS: &[fn(
1306 &[u8],
1307 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls>] = &[
1308 {
1309 fn upgradeTo(
1310 data: &[u8],
1311 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1312 <upgradeToCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
1313 data,
1314 )
1315 .map(UpgradeableBeaconCalls::upgradeTo)
1316 }
1317 upgradeTo
1318 },
1319 {
1320 fn implementation(
1321 data: &[u8],
1322 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1323 <implementationCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
1324 data,
1325 )
1326 .map(UpgradeableBeaconCalls::implementation)
1327 }
1328 implementation
1329 },
1330 {
1331 fn renounceOwnership(
1332 data: &[u8],
1333 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1334 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
1335 data,
1336 )
1337 .map(UpgradeableBeaconCalls::renounceOwnership)
1338 }
1339 renounceOwnership
1340 },
1341 {
1342 fn owner(
1343 data: &[u8],
1344 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1345 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
1346 data,
1347 )
1348 .map(UpgradeableBeaconCalls::owner)
1349 }
1350 owner
1351 },
1352 {
1353 fn transferOwnership(
1354 data: &[u8],
1355 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1356 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
1357 data,
1358 )
1359 .map(UpgradeableBeaconCalls::transferOwnership)
1360 }
1361 transferOwnership
1362 },
1363 ];
1364 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
1365 return Err(
1366 alloy_sol_types::Error::unknown_selector(
1367 <Self as alloy_sol_types::SolInterface>::NAME,
1368 selector,
1369 ),
1370 );
1371 };
1372 DECODE_VALIDATE_SHIMS[idx](data)
1373 }
1374 #[inline]
1375 fn abi_encoded_size(&self) -> usize {
1376 match self {
1377 Self::implementation(inner) => {
1378 <implementationCall as alloy_sol_types::SolCall>::abi_encoded_size(
1379 inner,
1380 )
1381 }
1382 Self::owner(inner) => {
1383 <ownerCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
1384 }
1385 Self::renounceOwnership(inner) => {
1386 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
1387 inner,
1388 )
1389 }
1390 Self::transferOwnership(inner) => {
1391 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
1392 inner,
1393 )
1394 }
1395 Self::upgradeTo(inner) => {
1396 <upgradeToCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
1397 }
1398 }
1399 }
1400 #[inline]
1401 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
1402 match self {
1403 Self::implementation(inner) => {
1404 <implementationCall as alloy_sol_types::SolCall>::abi_encode_raw(
1405 inner,
1406 out,
1407 )
1408 }
1409 Self::owner(inner) => {
1410 <ownerCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
1411 }
1412 Self::renounceOwnership(inner) => {
1413 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
1414 inner,
1415 out,
1416 )
1417 }
1418 Self::transferOwnership(inner) => {
1419 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
1420 inner,
1421 out,
1422 )
1423 }
1424 Self::upgradeTo(inner) => {
1425 <upgradeToCall as alloy_sol_types::SolCall>::abi_encode_raw(
1426 inner,
1427 out,
1428 )
1429 }
1430 }
1431 }
1432 }
1433 #[derive(serde::Serialize, serde::Deserialize)]
1435 #[derive(Debug, PartialEq, Eq, Hash)]
1436 pub enum UpgradeableBeaconEvents {
1437 #[allow(missing_docs)]
1438 OwnershipTransferred(OwnershipTransferred),
1439 #[allow(missing_docs)]
1440 Upgraded(Upgraded),
1441 }
1442 #[automatically_derived]
1443 impl UpgradeableBeaconEvents {
1444 pub const SELECTORS: &'static [[u8; 32usize]] = &[
1451 [
1452 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
1453 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
1454 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
1455 ],
1456 [
1457 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
1458 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
1459 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
1460 ],
1461 ];
1462 }
1463 #[automatically_derived]
1464 impl alloy_sol_types::SolEventInterface for UpgradeableBeaconEvents {
1465 const NAME: &'static str = "UpgradeableBeaconEvents";
1466 const COUNT: usize = 2usize;
1467 fn decode_raw_log(
1468 topics: &[alloy_sol_types::Word],
1469 data: &[u8],
1470 ) -> alloy_sol_types::Result<Self> {
1471 match topics.first().copied() {
1472 Some(
1473 <OwnershipTransferred as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
1474 ) => {
1475 <OwnershipTransferred as alloy_sol_types::SolEvent>::decode_raw_log(
1476 topics,
1477 data,
1478 )
1479 .map(Self::OwnershipTransferred)
1480 }
1481 Some(<Upgraded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
1482 <Upgraded as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
1483 .map(Self::Upgraded)
1484 }
1485 _ => {
1486 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
1487 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
1488 log: alloy_sol_types::private::Box::new(
1489 alloy_sol_types::private::LogData::new_unchecked(
1490 topics.to_vec(),
1491 data.to_vec().into(),
1492 ),
1493 ),
1494 })
1495 }
1496 }
1497 }
1498 }
1499 #[automatically_derived]
1500 impl alloy_sol_types::private::IntoLogData for UpgradeableBeaconEvents {
1501 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1502 match self {
1503 Self::OwnershipTransferred(inner) => {
1504 alloy_sol_types::private::IntoLogData::to_log_data(inner)
1505 }
1506 Self::Upgraded(inner) => {
1507 alloy_sol_types::private::IntoLogData::to_log_data(inner)
1508 }
1509 }
1510 }
1511 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1512 match self {
1513 Self::OwnershipTransferred(inner) => {
1514 alloy_sol_types::private::IntoLogData::into_log_data(inner)
1515 }
1516 Self::Upgraded(inner) => {
1517 alloy_sol_types::private::IntoLogData::into_log_data(inner)
1518 }
1519 }
1520 }
1521 }
1522 use alloy::contract as alloy_contract;
1523 #[inline]
1527 pub const fn new<
1528 P: alloy_contract::private::Provider<N>,
1529 N: alloy_contract::private::Network,
1530 >(
1531 address: alloy_sol_types::private::Address,
1532 provider: P,
1533 ) -> UpgradeableBeaconInstance<P, N> {
1534 UpgradeableBeaconInstance::<P, N>::new(address, provider)
1535 }
1536 #[inline]
1542 pub fn deploy<
1543 P: alloy_contract::private::Provider<N>,
1544 N: alloy_contract::private::Network,
1545 >(
1546 provider: P,
1547 implementation_: alloy::sol_types::private::Address,
1548 ) -> impl ::core::future::Future<
1549 Output = alloy_contract::Result<UpgradeableBeaconInstance<P, N>>,
1550 > {
1551 UpgradeableBeaconInstance::<P, N>::deploy(provider, implementation_)
1552 }
1553 #[inline]
1559 pub fn deploy_builder<
1560 P: alloy_contract::private::Provider<N>,
1561 N: alloy_contract::private::Network,
1562 >(
1563 provider: P,
1564 implementation_: alloy::sol_types::private::Address,
1565 ) -> alloy_contract::RawCallBuilder<P, N> {
1566 UpgradeableBeaconInstance::<P, N>::deploy_builder(provider, implementation_)
1567 }
1568 #[derive(Clone)]
1580 pub struct UpgradeableBeaconInstance<P, N = alloy_contract::private::Ethereum> {
1581 address: alloy_sol_types::private::Address,
1582 provider: P,
1583 _network: ::core::marker::PhantomData<N>,
1584 }
1585 #[automatically_derived]
1586 impl<P, N> ::core::fmt::Debug for UpgradeableBeaconInstance<P, N> {
1587 #[inline]
1588 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1589 f.debug_tuple("UpgradeableBeaconInstance").field(&self.address).finish()
1590 }
1591 }
1592 #[automatically_derived]
1594 impl<
1595 P: alloy_contract::private::Provider<N>,
1596 N: alloy_contract::private::Network,
1597 > UpgradeableBeaconInstance<P, N> {
1598 #[inline]
1602 pub const fn new(
1603 address: alloy_sol_types::private::Address,
1604 provider: P,
1605 ) -> Self {
1606 Self {
1607 address,
1608 provider,
1609 _network: ::core::marker::PhantomData,
1610 }
1611 }
1612 #[inline]
1618 pub async fn deploy(
1619 provider: P,
1620 implementation_: alloy::sol_types::private::Address,
1621 ) -> alloy_contract::Result<UpgradeableBeaconInstance<P, N>> {
1622 let call_builder = Self::deploy_builder(provider, implementation_);
1623 let contract_address = call_builder.deploy().await?;
1624 Ok(Self::new(contract_address, call_builder.provider))
1625 }
1626 #[inline]
1632 pub fn deploy_builder(
1633 provider: P,
1634 implementation_: alloy::sol_types::private::Address,
1635 ) -> alloy_contract::RawCallBuilder<P, N> {
1636 alloy_contract::RawCallBuilder::new_raw_deploy(
1637 provider,
1638 [
1639 &BYTECODE[..],
1640 &alloy_sol_types::SolConstructor::abi_encode(
1641 &constructorCall { implementation_ },
1642 )[..],
1643 ]
1644 .concat()
1645 .into(),
1646 )
1647 }
1648 #[inline]
1650 pub const fn address(&self) -> &alloy_sol_types::private::Address {
1651 &self.address
1652 }
1653 #[inline]
1655 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1656 self.address = address;
1657 }
1658 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1660 self.set_address(address);
1661 self
1662 }
1663 #[inline]
1665 pub const fn provider(&self) -> &P {
1666 &self.provider
1667 }
1668 }
1669 impl<P: ::core::clone::Clone, N> UpgradeableBeaconInstance<&P, N> {
1670 #[inline]
1672 pub fn with_cloned_provider(self) -> UpgradeableBeaconInstance<P, N> {
1673 UpgradeableBeaconInstance {
1674 address: self.address,
1675 provider: ::core::clone::Clone::clone(&self.provider),
1676 _network: ::core::marker::PhantomData,
1677 }
1678 }
1679 }
1680 #[automatically_derived]
1682 impl<
1683 P: alloy_contract::private::Provider<N>,
1684 N: alloy_contract::private::Network,
1685 > UpgradeableBeaconInstance<P, N> {
1686 pub fn call_builder<C: alloy_sol_types::SolCall>(
1691 &self,
1692 call: &C,
1693 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
1694 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1695 }
1696 pub fn implementation(
1698 &self,
1699 ) -> alloy_contract::SolCallBuilder<&P, implementationCall, N> {
1700 self.call_builder(&implementationCall)
1701 }
1702 pub fn owner(&self) -> alloy_contract::SolCallBuilder<&P, ownerCall, N> {
1704 self.call_builder(&ownerCall)
1705 }
1706 pub fn renounceOwnership(
1708 &self,
1709 ) -> alloy_contract::SolCallBuilder<&P, renounceOwnershipCall, N> {
1710 self.call_builder(&renounceOwnershipCall)
1711 }
1712 pub fn transferOwnership(
1714 &self,
1715 newOwner: alloy::sol_types::private::Address,
1716 ) -> alloy_contract::SolCallBuilder<&P, transferOwnershipCall, N> {
1717 self.call_builder(&transferOwnershipCall { newOwner })
1718 }
1719 pub fn upgradeTo(
1721 &self,
1722 newImplementation: alloy::sol_types::private::Address,
1723 ) -> alloy_contract::SolCallBuilder<&P, upgradeToCall, N> {
1724 self.call_builder(&upgradeToCall { newImplementation })
1725 }
1726 }
1727 #[automatically_derived]
1729 impl<
1730 P: alloy_contract::private::Provider<N>,
1731 N: alloy_contract::private::Network,
1732 > UpgradeableBeaconInstance<P, N> {
1733 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1738 &self,
1739 ) -> alloy_contract::Event<&P, E, N> {
1740 alloy_contract::Event::new_sol(&self.provider, &self.address)
1741 }
1742 pub fn OwnershipTransferred_filter(
1744 &self,
1745 ) -> alloy_contract::Event<&P, OwnershipTransferred, N> {
1746 self.event_filter::<OwnershipTransferred>()
1747 }
1748 pub fn Upgraded_filter(&self) -> alloy_contract::Event<&P, Upgraded, N> {
1750 self.event_filter::<Upgraded>()
1751 }
1752 }
1753}