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 s\xAD\xA5\x87\xCE\x80v\xEB\xBC\xC4+\xA4\x8F+\xC5O\x12\xF4\xCC%G\xA9\x1B\xE5\xE0\x013\xF3\xC6\xAB\x7F:dsolcC\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 s\xAD\xA5\x87\xCE\x80v\xEB\xBC\xC4+\xA4\x8F+\xC5O\x12\xF4\xCC%G\xA9\x1B\xE5\xE0\x013\xF3\xC6\xAB\x7F:dsolcC\0\x08\x1B\x003",
158 );
159 #[derive(Default, Debug, PartialEq, Eq, Hash)]
160 #[allow(
165 non_camel_case_types,
166 non_snake_case,
167 clippy::pub_underscore_fields,
168 clippy::style
169 )]
170 #[derive(Clone)]
171 pub struct OwnershipTransferred {
172 #[allow(missing_docs)]
173 pub previousOwner: alloy::sol_types::private::Address,
174 #[allow(missing_docs)]
175 pub newOwner: alloy::sol_types::private::Address,
176 }
177 #[allow(
178 non_camel_case_types,
179 non_snake_case,
180 clippy::pub_underscore_fields,
181 clippy::style
182 )]
183 const _: () = {
184 use alloy::sol_types as alloy_sol_types;
185 #[automatically_derived]
186 impl alloy_sol_types::SolEvent for OwnershipTransferred {
187 type DataTuple<'a> = ();
188 type DataToken<'a> = <Self::DataTuple<
189 'a,
190 > as alloy_sol_types::SolType>::Token<'a>;
191 type TopicList = (
192 alloy_sol_types::sol_data::FixedBytes<32>,
193 alloy::sol_types::sol_data::Address,
194 alloy::sol_types::sol_data::Address,
195 );
196 const SIGNATURE: &'static str = "OwnershipTransferred(address,address)";
197 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
198 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
199 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
200 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
201 ]);
202 const ANONYMOUS: bool = false;
203 #[allow(unused_variables)]
204 #[inline]
205 fn new(
206 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
207 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
208 ) -> Self {
209 Self {
210 previousOwner: topics.1,
211 newOwner: topics.2,
212 }
213 }
214 #[inline]
215 fn check_signature(
216 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
217 ) -> alloy_sol_types::Result<()> {
218 if topics.0 != Self::SIGNATURE_HASH {
219 return Err(
220 alloy_sol_types::Error::invalid_event_signature_hash(
221 Self::SIGNATURE,
222 topics.0,
223 Self::SIGNATURE_HASH,
224 ),
225 );
226 }
227 Ok(())
228 }
229 #[inline]
230 fn tokenize_body(&self) -> Self::DataToken<'_> {
231 ()
232 }
233 #[inline]
234 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
235 (
236 Self::SIGNATURE_HASH.into(),
237 self.previousOwner.clone(),
238 self.newOwner.clone(),
239 )
240 }
241 #[inline]
242 fn encode_topics_raw(
243 &self,
244 out: &mut [alloy_sol_types::abi::token::WordToken],
245 ) -> alloy_sol_types::Result<()> {
246 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
247 return Err(alloy_sol_types::Error::Overrun);
248 }
249 out[0usize] = alloy_sol_types::abi::token::WordToken(
250 Self::SIGNATURE_HASH,
251 );
252 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
253 &self.previousOwner,
254 );
255 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
256 &self.newOwner,
257 );
258 Ok(())
259 }
260 }
261 #[automatically_derived]
262 impl alloy_sol_types::private::IntoLogData for OwnershipTransferred {
263 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
264 From::from(self)
265 }
266 fn into_log_data(self) -> alloy_sol_types::private::LogData {
267 From::from(&self)
268 }
269 }
270 #[automatically_derived]
271 impl From<&OwnershipTransferred> for alloy_sol_types::private::LogData {
272 #[inline]
273 fn from(this: &OwnershipTransferred) -> alloy_sol_types::private::LogData {
274 alloy_sol_types::SolEvent::encode_log_data(this)
275 }
276 }
277 };
278 #[derive(Default, Debug, PartialEq, Eq, Hash)]
279 #[allow(
284 non_camel_case_types,
285 non_snake_case,
286 clippy::pub_underscore_fields,
287 clippy::style
288 )]
289 #[derive(Clone)]
290 pub struct Upgraded {
291 #[allow(missing_docs)]
292 pub implementation: alloy::sol_types::private::Address,
293 }
294 #[allow(
295 non_camel_case_types,
296 non_snake_case,
297 clippy::pub_underscore_fields,
298 clippy::style
299 )]
300 const _: () = {
301 use alloy::sol_types as alloy_sol_types;
302 #[automatically_derived]
303 impl alloy_sol_types::SolEvent for Upgraded {
304 type DataTuple<'a> = ();
305 type DataToken<'a> = <Self::DataTuple<
306 'a,
307 > as alloy_sol_types::SolType>::Token<'a>;
308 type TopicList = (
309 alloy_sol_types::sol_data::FixedBytes<32>,
310 alloy::sol_types::sol_data::Address,
311 );
312 const SIGNATURE: &'static str = "Upgraded(address)";
313 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
314 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
315 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
316 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
317 ]);
318 const ANONYMOUS: bool = false;
319 #[allow(unused_variables)]
320 #[inline]
321 fn new(
322 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
323 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
324 ) -> Self {
325 Self { implementation: topics.1 }
326 }
327 #[inline]
328 fn check_signature(
329 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
330 ) -> alloy_sol_types::Result<()> {
331 if topics.0 != Self::SIGNATURE_HASH {
332 return Err(
333 alloy_sol_types::Error::invalid_event_signature_hash(
334 Self::SIGNATURE,
335 topics.0,
336 Self::SIGNATURE_HASH,
337 ),
338 );
339 }
340 Ok(())
341 }
342 #[inline]
343 fn tokenize_body(&self) -> Self::DataToken<'_> {
344 ()
345 }
346 #[inline]
347 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
348 (Self::SIGNATURE_HASH.into(), self.implementation.clone())
349 }
350 #[inline]
351 fn encode_topics_raw(
352 &self,
353 out: &mut [alloy_sol_types::abi::token::WordToken],
354 ) -> alloy_sol_types::Result<()> {
355 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
356 return Err(alloy_sol_types::Error::Overrun);
357 }
358 out[0usize] = alloy_sol_types::abi::token::WordToken(
359 Self::SIGNATURE_HASH,
360 );
361 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
362 &self.implementation,
363 );
364 Ok(())
365 }
366 }
367 #[automatically_derived]
368 impl alloy_sol_types::private::IntoLogData for Upgraded {
369 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
370 From::from(self)
371 }
372 fn into_log_data(self) -> alloy_sol_types::private::LogData {
373 From::from(&self)
374 }
375 }
376 #[automatically_derived]
377 impl From<&Upgraded> for alloy_sol_types::private::LogData {
378 #[inline]
379 fn from(this: &Upgraded) -> alloy_sol_types::private::LogData {
380 alloy_sol_types::SolEvent::encode_log_data(this)
381 }
382 }
383 };
384 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
389 #[derive(Clone)]
390 pub struct constructorCall {
391 #[allow(missing_docs)]
392 pub implementation_: alloy::sol_types::private::Address,
393 }
394 const _: () = {
395 use alloy::sol_types as alloy_sol_types;
396 {
397 #[doc(hidden)]
398 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
399 #[doc(hidden)]
400 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
401 #[cfg(test)]
402 #[allow(dead_code, unreachable_patterns)]
403 fn _type_assertion(
404 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
405 ) {
406 match _t {
407 alloy_sol_types::private::AssertTypeEq::<
408 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
409 >(_) => {}
410 }
411 }
412 #[automatically_derived]
413 #[doc(hidden)]
414 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
415 fn from(value: constructorCall) -> Self {
416 (value.implementation_,)
417 }
418 }
419 #[automatically_derived]
420 #[doc(hidden)]
421 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
422 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
423 Self { implementation_: tuple.0 }
424 }
425 }
426 }
427 #[automatically_derived]
428 impl alloy_sol_types::SolConstructor for constructorCall {
429 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
430 type Token<'a> = <Self::Parameters<
431 'a,
432 > as alloy_sol_types::SolType>::Token<'a>;
433 #[inline]
434 fn new<'a>(
435 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
436 ) -> Self {
437 tuple.into()
438 }
439 #[inline]
440 fn tokenize(&self) -> Self::Token<'_> {
441 (
442 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
443 &self.implementation_,
444 ),
445 )
446 }
447 }
448 };
449 #[derive(Default, Debug, PartialEq, Eq, Hash)]
450 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
455 #[derive(Clone)]
456 pub struct implementationCall {}
457 #[derive(Default, Debug, PartialEq, Eq, Hash)]
458 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
460 #[derive(Clone)]
461 pub struct implementationReturn {
462 #[allow(missing_docs)]
463 pub _0: alloy::sol_types::private::Address,
464 }
465 #[allow(
466 non_camel_case_types,
467 non_snake_case,
468 clippy::pub_underscore_fields,
469 clippy::style
470 )]
471 const _: () = {
472 use alloy::sol_types as alloy_sol_types;
473 {
474 #[doc(hidden)]
475 type UnderlyingSolTuple<'a> = ();
476 #[doc(hidden)]
477 type UnderlyingRustTuple<'a> = ();
478 #[cfg(test)]
479 #[allow(dead_code, unreachable_patterns)]
480 fn _type_assertion(
481 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
482 ) {
483 match _t {
484 alloy_sol_types::private::AssertTypeEq::<
485 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
486 >(_) => {}
487 }
488 }
489 #[automatically_derived]
490 #[doc(hidden)]
491 impl ::core::convert::From<implementationCall> for UnderlyingRustTuple<'_> {
492 fn from(value: implementationCall) -> Self {
493 ()
494 }
495 }
496 #[automatically_derived]
497 #[doc(hidden)]
498 impl ::core::convert::From<UnderlyingRustTuple<'_>> for implementationCall {
499 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
500 Self {}
501 }
502 }
503 }
504 {
505 #[doc(hidden)]
506 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
507 #[doc(hidden)]
508 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
509 #[cfg(test)]
510 #[allow(dead_code, unreachable_patterns)]
511 fn _type_assertion(
512 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
513 ) {
514 match _t {
515 alloy_sol_types::private::AssertTypeEq::<
516 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
517 >(_) => {}
518 }
519 }
520 #[automatically_derived]
521 #[doc(hidden)]
522 impl ::core::convert::From<implementationReturn>
523 for UnderlyingRustTuple<'_> {
524 fn from(value: implementationReturn) -> Self {
525 (value._0,)
526 }
527 }
528 #[automatically_derived]
529 #[doc(hidden)]
530 impl ::core::convert::From<UnderlyingRustTuple<'_>>
531 for implementationReturn {
532 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
533 Self { _0: tuple.0 }
534 }
535 }
536 }
537 #[automatically_derived]
538 impl alloy_sol_types::SolCall for implementationCall {
539 type Parameters<'a> = ();
540 type Token<'a> = <Self::Parameters<
541 'a,
542 > as alloy_sol_types::SolType>::Token<'a>;
543 type Return = implementationReturn;
544 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
545 type ReturnToken<'a> = <Self::ReturnTuple<
546 'a,
547 > as alloy_sol_types::SolType>::Token<'a>;
548 const SIGNATURE: &'static str = "implementation()";
549 const SELECTOR: [u8; 4] = [92u8, 96u8, 218u8, 27u8];
550 #[inline]
551 fn new<'a>(
552 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
553 ) -> Self {
554 tuple.into()
555 }
556 #[inline]
557 fn tokenize(&self) -> Self::Token<'_> {
558 ()
559 }
560 #[inline]
561 fn abi_decode_returns(
562 data: &[u8],
563 validate: bool,
564 ) -> alloy_sol_types::Result<Self::Return> {
565 <Self::ReturnTuple<
566 '_,
567 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
568 .map(Into::into)
569 }
570 }
571 };
572 #[derive(Default, Debug, PartialEq, Eq, Hash)]
573 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
578 #[derive(Clone)]
579 pub struct ownerCall {}
580 #[derive(Default, Debug, PartialEq, Eq, Hash)]
581 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
583 #[derive(Clone)]
584 pub struct ownerReturn {
585 #[allow(missing_docs)]
586 pub _0: alloy::sol_types::private::Address,
587 }
588 #[allow(
589 non_camel_case_types,
590 non_snake_case,
591 clippy::pub_underscore_fields,
592 clippy::style
593 )]
594 const _: () = {
595 use alloy::sol_types as alloy_sol_types;
596 {
597 #[doc(hidden)]
598 type UnderlyingSolTuple<'a> = ();
599 #[doc(hidden)]
600 type UnderlyingRustTuple<'a> = ();
601 #[cfg(test)]
602 #[allow(dead_code, unreachable_patterns)]
603 fn _type_assertion(
604 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
605 ) {
606 match _t {
607 alloy_sol_types::private::AssertTypeEq::<
608 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
609 >(_) => {}
610 }
611 }
612 #[automatically_derived]
613 #[doc(hidden)]
614 impl ::core::convert::From<ownerCall> for UnderlyingRustTuple<'_> {
615 fn from(value: ownerCall) -> Self {
616 ()
617 }
618 }
619 #[automatically_derived]
620 #[doc(hidden)]
621 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerCall {
622 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
623 Self {}
624 }
625 }
626 }
627 {
628 #[doc(hidden)]
629 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
630 #[doc(hidden)]
631 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
632 #[cfg(test)]
633 #[allow(dead_code, unreachable_patterns)]
634 fn _type_assertion(
635 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
636 ) {
637 match _t {
638 alloy_sol_types::private::AssertTypeEq::<
639 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
640 >(_) => {}
641 }
642 }
643 #[automatically_derived]
644 #[doc(hidden)]
645 impl ::core::convert::From<ownerReturn> for UnderlyingRustTuple<'_> {
646 fn from(value: ownerReturn) -> Self {
647 (value._0,)
648 }
649 }
650 #[automatically_derived]
651 #[doc(hidden)]
652 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerReturn {
653 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
654 Self { _0: tuple.0 }
655 }
656 }
657 }
658 #[automatically_derived]
659 impl alloy_sol_types::SolCall for ownerCall {
660 type Parameters<'a> = ();
661 type Token<'a> = <Self::Parameters<
662 'a,
663 > as alloy_sol_types::SolType>::Token<'a>;
664 type Return = ownerReturn;
665 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
666 type ReturnToken<'a> = <Self::ReturnTuple<
667 'a,
668 > as alloy_sol_types::SolType>::Token<'a>;
669 const SIGNATURE: &'static str = "owner()";
670 const SELECTOR: [u8; 4] = [141u8, 165u8, 203u8, 91u8];
671 #[inline]
672 fn new<'a>(
673 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
674 ) -> Self {
675 tuple.into()
676 }
677 #[inline]
678 fn tokenize(&self) -> Self::Token<'_> {
679 ()
680 }
681 #[inline]
682 fn abi_decode_returns(
683 data: &[u8],
684 validate: bool,
685 ) -> alloy_sol_types::Result<Self::Return> {
686 <Self::ReturnTuple<
687 '_,
688 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
689 .map(Into::into)
690 }
691 }
692 };
693 #[derive(Default, Debug, PartialEq, Eq, Hash)]
694 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
699 #[derive(Clone)]
700 pub struct renounceOwnershipCall {}
701 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
703 #[derive(Clone)]
704 pub struct renounceOwnershipReturn {}
705 #[allow(
706 non_camel_case_types,
707 non_snake_case,
708 clippy::pub_underscore_fields,
709 clippy::style
710 )]
711 const _: () = {
712 use alloy::sol_types as alloy_sol_types;
713 {
714 #[doc(hidden)]
715 type UnderlyingSolTuple<'a> = ();
716 #[doc(hidden)]
717 type UnderlyingRustTuple<'a> = ();
718 #[cfg(test)]
719 #[allow(dead_code, unreachable_patterns)]
720 fn _type_assertion(
721 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
722 ) {
723 match _t {
724 alloy_sol_types::private::AssertTypeEq::<
725 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
726 >(_) => {}
727 }
728 }
729 #[automatically_derived]
730 #[doc(hidden)]
731 impl ::core::convert::From<renounceOwnershipCall>
732 for UnderlyingRustTuple<'_> {
733 fn from(value: renounceOwnershipCall) -> Self {
734 ()
735 }
736 }
737 #[automatically_derived]
738 #[doc(hidden)]
739 impl ::core::convert::From<UnderlyingRustTuple<'_>>
740 for renounceOwnershipCall {
741 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
742 Self {}
743 }
744 }
745 }
746 {
747 #[doc(hidden)]
748 type UnderlyingSolTuple<'a> = ();
749 #[doc(hidden)]
750 type UnderlyingRustTuple<'a> = ();
751 #[cfg(test)]
752 #[allow(dead_code, unreachable_patterns)]
753 fn _type_assertion(
754 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
755 ) {
756 match _t {
757 alloy_sol_types::private::AssertTypeEq::<
758 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
759 >(_) => {}
760 }
761 }
762 #[automatically_derived]
763 #[doc(hidden)]
764 impl ::core::convert::From<renounceOwnershipReturn>
765 for UnderlyingRustTuple<'_> {
766 fn from(value: renounceOwnershipReturn) -> Self {
767 ()
768 }
769 }
770 #[automatically_derived]
771 #[doc(hidden)]
772 impl ::core::convert::From<UnderlyingRustTuple<'_>>
773 for renounceOwnershipReturn {
774 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
775 Self {}
776 }
777 }
778 }
779 #[automatically_derived]
780 impl alloy_sol_types::SolCall for renounceOwnershipCall {
781 type Parameters<'a> = ();
782 type Token<'a> = <Self::Parameters<
783 'a,
784 > as alloy_sol_types::SolType>::Token<'a>;
785 type Return = renounceOwnershipReturn;
786 type ReturnTuple<'a> = ();
787 type ReturnToken<'a> = <Self::ReturnTuple<
788 'a,
789 > as alloy_sol_types::SolType>::Token<'a>;
790 const SIGNATURE: &'static str = "renounceOwnership()";
791 const SELECTOR: [u8; 4] = [113u8, 80u8, 24u8, 166u8];
792 #[inline]
793 fn new<'a>(
794 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
795 ) -> Self {
796 tuple.into()
797 }
798 #[inline]
799 fn tokenize(&self) -> Self::Token<'_> {
800 ()
801 }
802 #[inline]
803 fn abi_decode_returns(
804 data: &[u8],
805 validate: bool,
806 ) -> alloy_sol_types::Result<Self::Return> {
807 <Self::ReturnTuple<
808 '_,
809 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
810 .map(Into::into)
811 }
812 }
813 };
814 #[derive(Default, Debug, PartialEq, Eq, Hash)]
815 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
820 #[derive(Clone)]
821 pub struct transferOwnershipCall {
822 #[allow(missing_docs)]
823 pub newOwner: alloy::sol_types::private::Address,
824 }
825 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
827 #[derive(Clone)]
828 pub struct transferOwnershipReturn {}
829 #[allow(
830 non_camel_case_types,
831 non_snake_case,
832 clippy::pub_underscore_fields,
833 clippy::style
834 )]
835 const _: () = {
836 use alloy::sol_types as alloy_sol_types;
837 {
838 #[doc(hidden)]
839 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
840 #[doc(hidden)]
841 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
842 #[cfg(test)]
843 #[allow(dead_code, unreachable_patterns)]
844 fn _type_assertion(
845 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
846 ) {
847 match _t {
848 alloy_sol_types::private::AssertTypeEq::<
849 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
850 >(_) => {}
851 }
852 }
853 #[automatically_derived]
854 #[doc(hidden)]
855 impl ::core::convert::From<transferOwnershipCall>
856 for UnderlyingRustTuple<'_> {
857 fn from(value: transferOwnershipCall) -> Self {
858 (value.newOwner,)
859 }
860 }
861 #[automatically_derived]
862 #[doc(hidden)]
863 impl ::core::convert::From<UnderlyingRustTuple<'_>>
864 for transferOwnershipCall {
865 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
866 Self { newOwner: tuple.0 }
867 }
868 }
869 }
870 {
871 #[doc(hidden)]
872 type UnderlyingSolTuple<'a> = ();
873 #[doc(hidden)]
874 type UnderlyingRustTuple<'a> = ();
875 #[cfg(test)]
876 #[allow(dead_code, unreachable_patterns)]
877 fn _type_assertion(
878 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
879 ) {
880 match _t {
881 alloy_sol_types::private::AssertTypeEq::<
882 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
883 >(_) => {}
884 }
885 }
886 #[automatically_derived]
887 #[doc(hidden)]
888 impl ::core::convert::From<transferOwnershipReturn>
889 for UnderlyingRustTuple<'_> {
890 fn from(value: transferOwnershipReturn) -> Self {
891 ()
892 }
893 }
894 #[automatically_derived]
895 #[doc(hidden)]
896 impl ::core::convert::From<UnderlyingRustTuple<'_>>
897 for transferOwnershipReturn {
898 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
899 Self {}
900 }
901 }
902 }
903 #[automatically_derived]
904 impl alloy_sol_types::SolCall for transferOwnershipCall {
905 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
906 type Token<'a> = <Self::Parameters<
907 'a,
908 > as alloy_sol_types::SolType>::Token<'a>;
909 type Return = transferOwnershipReturn;
910 type ReturnTuple<'a> = ();
911 type ReturnToken<'a> = <Self::ReturnTuple<
912 'a,
913 > as alloy_sol_types::SolType>::Token<'a>;
914 const SIGNATURE: &'static str = "transferOwnership(address)";
915 const SELECTOR: [u8; 4] = [242u8, 253u8, 227u8, 139u8];
916 #[inline]
917 fn new<'a>(
918 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
919 ) -> Self {
920 tuple.into()
921 }
922 #[inline]
923 fn tokenize(&self) -> Self::Token<'_> {
924 (
925 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
926 &self.newOwner,
927 ),
928 )
929 }
930 #[inline]
931 fn abi_decode_returns(
932 data: &[u8],
933 validate: bool,
934 ) -> alloy_sol_types::Result<Self::Return> {
935 <Self::ReturnTuple<
936 '_,
937 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
938 .map(Into::into)
939 }
940 }
941 };
942 #[derive(Default, Debug, PartialEq, Eq, Hash)]
943 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
948 #[derive(Clone)]
949 pub struct upgradeToCall {
950 #[allow(missing_docs)]
951 pub newImplementation: alloy::sol_types::private::Address,
952 }
953 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
955 #[derive(Clone)]
956 pub struct upgradeToReturn {}
957 #[allow(
958 non_camel_case_types,
959 non_snake_case,
960 clippy::pub_underscore_fields,
961 clippy::style
962 )]
963 const _: () = {
964 use alloy::sol_types as alloy_sol_types;
965 {
966 #[doc(hidden)]
967 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
968 #[doc(hidden)]
969 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
970 #[cfg(test)]
971 #[allow(dead_code, unreachable_patterns)]
972 fn _type_assertion(
973 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
974 ) {
975 match _t {
976 alloy_sol_types::private::AssertTypeEq::<
977 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
978 >(_) => {}
979 }
980 }
981 #[automatically_derived]
982 #[doc(hidden)]
983 impl ::core::convert::From<upgradeToCall> for UnderlyingRustTuple<'_> {
984 fn from(value: upgradeToCall) -> Self {
985 (value.newImplementation,)
986 }
987 }
988 #[automatically_derived]
989 #[doc(hidden)]
990 impl ::core::convert::From<UnderlyingRustTuple<'_>> for upgradeToCall {
991 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
992 Self { newImplementation: tuple.0 }
993 }
994 }
995 }
996 {
997 #[doc(hidden)]
998 type UnderlyingSolTuple<'a> = ();
999 #[doc(hidden)]
1000 type UnderlyingRustTuple<'a> = ();
1001 #[cfg(test)]
1002 #[allow(dead_code, unreachable_patterns)]
1003 fn _type_assertion(
1004 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1005 ) {
1006 match _t {
1007 alloy_sol_types::private::AssertTypeEq::<
1008 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1009 >(_) => {}
1010 }
1011 }
1012 #[automatically_derived]
1013 #[doc(hidden)]
1014 impl ::core::convert::From<upgradeToReturn> for UnderlyingRustTuple<'_> {
1015 fn from(value: upgradeToReturn) -> Self {
1016 ()
1017 }
1018 }
1019 #[automatically_derived]
1020 #[doc(hidden)]
1021 impl ::core::convert::From<UnderlyingRustTuple<'_>> for upgradeToReturn {
1022 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1023 Self {}
1024 }
1025 }
1026 }
1027 #[automatically_derived]
1028 impl alloy_sol_types::SolCall for upgradeToCall {
1029 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
1030 type Token<'a> = <Self::Parameters<
1031 'a,
1032 > as alloy_sol_types::SolType>::Token<'a>;
1033 type Return = upgradeToReturn;
1034 type ReturnTuple<'a> = ();
1035 type ReturnToken<'a> = <Self::ReturnTuple<
1036 'a,
1037 > as alloy_sol_types::SolType>::Token<'a>;
1038 const SIGNATURE: &'static str = "upgradeTo(address)";
1039 const SELECTOR: [u8; 4] = [54u8, 89u8, 207u8, 230u8];
1040 #[inline]
1041 fn new<'a>(
1042 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1043 ) -> Self {
1044 tuple.into()
1045 }
1046 #[inline]
1047 fn tokenize(&self) -> Self::Token<'_> {
1048 (
1049 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
1050 &self.newImplementation,
1051 ),
1052 )
1053 }
1054 #[inline]
1055 fn abi_decode_returns(
1056 data: &[u8],
1057 validate: bool,
1058 ) -> alloy_sol_types::Result<Self::Return> {
1059 <Self::ReturnTuple<
1060 '_,
1061 > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
1062 .map(Into::into)
1063 }
1064 }
1065 };
1066 #[derive()]
1068 pub enum UpgradeableBeaconCalls {
1069 #[allow(missing_docs)]
1070 implementation(implementationCall),
1071 #[allow(missing_docs)]
1072 owner(ownerCall),
1073 #[allow(missing_docs)]
1074 renounceOwnership(renounceOwnershipCall),
1075 #[allow(missing_docs)]
1076 transferOwnership(transferOwnershipCall),
1077 #[allow(missing_docs)]
1078 upgradeTo(upgradeToCall),
1079 }
1080 #[automatically_derived]
1081 impl UpgradeableBeaconCalls {
1082 pub const SELECTORS: &'static [[u8; 4usize]] = &[
1089 [54u8, 89u8, 207u8, 230u8],
1090 [92u8, 96u8, 218u8, 27u8],
1091 [113u8, 80u8, 24u8, 166u8],
1092 [141u8, 165u8, 203u8, 91u8],
1093 [242u8, 253u8, 227u8, 139u8],
1094 ];
1095 }
1096 #[automatically_derived]
1097 impl alloy_sol_types::SolInterface for UpgradeableBeaconCalls {
1098 const NAME: &'static str = "UpgradeableBeaconCalls";
1099 const MIN_DATA_LENGTH: usize = 0usize;
1100 const COUNT: usize = 5usize;
1101 #[inline]
1102 fn selector(&self) -> [u8; 4] {
1103 match self {
1104 Self::implementation(_) => {
1105 <implementationCall as alloy_sol_types::SolCall>::SELECTOR
1106 }
1107 Self::owner(_) => <ownerCall as alloy_sol_types::SolCall>::SELECTOR,
1108 Self::renounceOwnership(_) => {
1109 <renounceOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
1110 }
1111 Self::transferOwnership(_) => {
1112 <transferOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
1113 }
1114 Self::upgradeTo(_) => {
1115 <upgradeToCall as alloy_sol_types::SolCall>::SELECTOR
1116 }
1117 }
1118 }
1119 #[inline]
1120 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
1121 Self::SELECTORS.get(i).copied()
1122 }
1123 #[inline]
1124 fn valid_selector(selector: [u8; 4]) -> bool {
1125 Self::SELECTORS.binary_search(&selector).is_ok()
1126 }
1127 #[inline]
1128 #[allow(non_snake_case)]
1129 fn abi_decode_raw(
1130 selector: [u8; 4],
1131 data: &[u8],
1132 validate: bool,
1133 ) -> alloy_sol_types::Result<Self> {
1134 static DECODE_SHIMS: &[fn(
1135 &[u8],
1136 bool,
1137 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls>] = &[
1138 {
1139 fn upgradeTo(
1140 data: &[u8],
1141 validate: bool,
1142 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1143 <upgradeToCall as alloy_sol_types::SolCall>::abi_decode_raw(
1144 data,
1145 validate,
1146 )
1147 .map(UpgradeableBeaconCalls::upgradeTo)
1148 }
1149 upgradeTo
1150 },
1151 {
1152 fn implementation(
1153 data: &[u8],
1154 validate: bool,
1155 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1156 <implementationCall as alloy_sol_types::SolCall>::abi_decode_raw(
1157 data,
1158 validate,
1159 )
1160 .map(UpgradeableBeaconCalls::implementation)
1161 }
1162 implementation
1163 },
1164 {
1165 fn renounceOwnership(
1166 data: &[u8],
1167 validate: bool,
1168 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1169 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
1170 data,
1171 validate,
1172 )
1173 .map(UpgradeableBeaconCalls::renounceOwnership)
1174 }
1175 renounceOwnership
1176 },
1177 {
1178 fn owner(
1179 data: &[u8],
1180 validate: bool,
1181 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1182 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw(
1183 data,
1184 validate,
1185 )
1186 .map(UpgradeableBeaconCalls::owner)
1187 }
1188 owner
1189 },
1190 {
1191 fn transferOwnership(
1192 data: &[u8],
1193 validate: bool,
1194 ) -> alloy_sol_types::Result<UpgradeableBeaconCalls> {
1195 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
1196 data,
1197 validate,
1198 )
1199 .map(UpgradeableBeaconCalls::transferOwnership)
1200 }
1201 transferOwnership
1202 },
1203 ];
1204 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
1205 return Err(
1206 alloy_sol_types::Error::unknown_selector(
1207 <Self as alloy_sol_types::SolInterface>::NAME,
1208 selector,
1209 ),
1210 );
1211 };
1212 DECODE_SHIMS[idx](data, validate)
1213 }
1214 #[inline]
1215 fn abi_encoded_size(&self) -> usize {
1216 match self {
1217 Self::implementation(inner) => {
1218 <implementationCall as alloy_sol_types::SolCall>::abi_encoded_size(
1219 inner,
1220 )
1221 }
1222 Self::owner(inner) => {
1223 <ownerCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
1224 }
1225 Self::renounceOwnership(inner) => {
1226 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
1227 inner,
1228 )
1229 }
1230 Self::transferOwnership(inner) => {
1231 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
1232 inner,
1233 )
1234 }
1235 Self::upgradeTo(inner) => {
1236 <upgradeToCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
1237 }
1238 }
1239 }
1240 #[inline]
1241 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
1242 match self {
1243 Self::implementation(inner) => {
1244 <implementationCall as alloy_sol_types::SolCall>::abi_encode_raw(
1245 inner,
1246 out,
1247 )
1248 }
1249 Self::owner(inner) => {
1250 <ownerCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
1251 }
1252 Self::renounceOwnership(inner) => {
1253 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
1254 inner,
1255 out,
1256 )
1257 }
1258 Self::transferOwnership(inner) => {
1259 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
1260 inner,
1261 out,
1262 )
1263 }
1264 Self::upgradeTo(inner) => {
1265 <upgradeToCall as alloy_sol_types::SolCall>::abi_encode_raw(
1266 inner,
1267 out,
1268 )
1269 }
1270 }
1271 }
1272 }
1273 #[derive(Debug, PartialEq, Eq, Hash)]
1275 pub enum UpgradeableBeaconEvents {
1276 #[allow(missing_docs)]
1277 OwnershipTransferred(OwnershipTransferred),
1278 #[allow(missing_docs)]
1279 Upgraded(Upgraded),
1280 }
1281 #[automatically_derived]
1282 impl UpgradeableBeaconEvents {
1283 pub const SELECTORS: &'static [[u8; 32usize]] = &[
1290 [
1291 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
1292 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
1293 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
1294 ],
1295 [
1296 188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
1297 179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
1298 12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
1299 ],
1300 ];
1301 }
1302 #[automatically_derived]
1303 impl alloy_sol_types::SolEventInterface for UpgradeableBeaconEvents {
1304 const NAME: &'static str = "UpgradeableBeaconEvents";
1305 const COUNT: usize = 2usize;
1306 fn decode_raw_log(
1307 topics: &[alloy_sol_types::Word],
1308 data: &[u8],
1309 validate: bool,
1310 ) -> alloy_sol_types::Result<Self> {
1311 match topics.first().copied() {
1312 Some(
1313 <OwnershipTransferred as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
1314 ) => {
1315 <OwnershipTransferred as alloy_sol_types::SolEvent>::decode_raw_log(
1316 topics,
1317 data,
1318 validate,
1319 )
1320 .map(Self::OwnershipTransferred)
1321 }
1322 Some(<Upgraded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
1323 <Upgraded as alloy_sol_types::SolEvent>::decode_raw_log(
1324 topics,
1325 data,
1326 validate,
1327 )
1328 .map(Self::Upgraded)
1329 }
1330 _ => {
1331 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
1332 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
1333 log: alloy_sol_types::private::Box::new(
1334 alloy_sol_types::private::LogData::new_unchecked(
1335 topics.to_vec(),
1336 data.to_vec().into(),
1337 ),
1338 ),
1339 })
1340 }
1341 }
1342 }
1343 }
1344 #[automatically_derived]
1345 impl alloy_sol_types::private::IntoLogData for UpgradeableBeaconEvents {
1346 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1347 match self {
1348 Self::OwnershipTransferred(inner) => {
1349 alloy_sol_types::private::IntoLogData::to_log_data(inner)
1350 }
1351 Self::Upgraded(inner) => {
1352 alloy_sol_types::private::IntoLogData::to_log_data(inner)
1353 }
1354 }
1355 }
1356 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1357 match self {
1358 Self::OwnershipTransferred(inner) => {
1359 alloy_sol_types::private::IntoLogData::into_log_data(inner)
1360 }
1361 Self::Upgraded(inner) => {
1362 alloy_sol_types::private::IntoLogData::into_log_data(inner)
1363 }
1364 }
1365 }
1366 }
1367 use alloy::contract as alloy_contract;
1368 #[inline]
1372 pub const fn new<
1373 T: alloy_contract::private::Transport + ::core::clone::Clone,
1374 P: alloy_contract::private::Provider<T, N>,
1375 N: alloy_contract::private::Network,
1376 >(
1377 address: alloy_sol_types::private::Address,
1378 provider: P,
1379 ) -> UpgradeableBeaconInstance<T, P, N> {
1380 UpgradeableBeaconInstance::<T, P, N>::new(address, provider)
1381 }
1382 #[inline]
1388 pub fn deploy<
1389 T: alloy_contract::private::Transport + ::core::clone::Clone,
1390 P: alloy_contract::private::Provider<T, N>,
1391 N: alloy_contract::private::Network,
1392 >(
1393 provider: P,
1394 implementation_: alloy::sol_types::private::Address,
1395 ) -> impl ::core::future::Future<
1396 Output = alloy_contract::Result<UpgradeableBeaconInstance<T, P, N>>,
1397 > {
1398 UpgradeableBeaconInstance::<T, P, N>::deploy(provider, implementation_)
1399 }
1400 #[inline]
1406 pub fn deploy_builder<
1407 T: alloy_contract::private::Transport + ::core::clone::Clone,
1408 P: alloy_contract::private::Provider<T, N>,
1409 N: alloy_contract::private::Network,
1410 >(
1411 provider: P,
1412 implementation_: alloy::sol_types::private::Address,
1413 ) -> alloy_contract::RawCallBuilder<T, P, N> {
1414 UpgradeableBeaconInstance::<T, P, N>::deploy_builder(provider, implementation_)
1415 }
1416 #[derive(Clone)]
1428 pub struct UpgradeableBeaconInstance<T, P, N = alloy_contract::private::Ethereum> {
1429 address: alloy_sol_types::private::Address,
1430 provider: P,
1431 _network_transport: ::core::marker::PhantomData<(N, T)>,
1432 }
1433 #[automatically_derived]
1434 impl<T, P, N> ::core::fmt::Debug for UpgradeableBeaconInstance<T, P, N> {
1435 #[inline]
1436 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1437 f.debug_tuple("UpgradeableBeaconInstance").field(&self.address).finish()
1438 }
1439 }
1440 #[automatically_derived]
1442 impl<
1443 T: alloy_contract::private::Transport + ::core::clone::Clone,
1444 P: alloy_contract::private::Provider<T, N>,
1445 N: alloy_contract::private::Network,
1446 > UpgradeableBeaconInstance<T, P, N> {
1447 #[inline]
1451 pub const fn new(
1452 address: alloy_sol_types::private::Address,
1453 provider: P,
1454 ) -> Self {
1455 Self {
1456 address,
1457 provider,
1458 _network_transport: ::core::marker::PhantomData,
1459 }
1460 }
1461 #[inline]
1467 pub async fn deploy(
1468 provider: P,
1469 implementation_: alloy::sol_types::private::Address,
1470 ) -> alloy_contract::Result<UpgradeableBeaconInstance<T, P, N>> {
1471 let call_builder = Self::deploy_builder(provider, implementation_);
1472 let contract_address = call_builder.deploy().await?;
1473 Ok(Self::new(contract_address, call_builder.provider))
1474 }
1475 #[inline]
1481 pub fn deploy_builder(
1482 provider: P,
1483 implementation_: alloy::sol_types::private::Address,
1484 ) -> alloy_contract::RawCallBuilder<T, P, N> {
1485 alloy_contract::RawCallBuilder::new_raw_deploy(
1486 provider,
1487 [
1488 &BYTECODE[..],
1489 &alloy_sol_types::SolConstructor::abi_encode(
1490 &constructorCall { implementation_ },
1491 )[..],
1492 ]
1493 .concat()
1494 .into(),
1495 )
1496 }
1497 #[inline]
1499 pub const fn address(&self) -> &alloy_sol_types::private::Address {
1500 &self.address
1501 }
1502 #[inline]
1504 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1505 self.address = address;
1506 }
1507 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1509 self.set_address(address);
1510 self
1511 }
1512 #[inline]
1514 pub const fn provider(&self) -> &P {
1515 &self.provider
1516 }
1517 }
1518 impl<T, P: ::core::clone::Clone, N> UpgradeableBeaconInstance<T, &P, N> {
1519 #[inline]
1521 pub fn with_cloned_provider(self) -> UpgradeableBeaconInstance<T, P, N> {
1522 UpgradeableBeaconInstance {
1523 address: self.address,
1524 provider: ::core::clone::Clone::clone(&self.provider),
1525 _network_transport: ::core::marker::PhantomData,
1526 }
1527 }
1528 }
1529 #[automatically_derived]
1531 impl<
1532 T: alloy_contract::private::Transport + ::core::clone::Clone,
1533 P: alloy_contract::private::Provider<T, N>,
1534 N: alloy_contract::private::Network,
1535 > UpgradeableBeaconInstance<T, P, N> {
1536 pub fn call_builder<C: alloy_sol_types::SolCall>(
1541 &self,
1542 call: &C,
1543 ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
1544 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1545 }
1546 pub fn implementation(
1548 &self,
1549 ) -> alloy_contract::SolCallBuilder<T, &P, implementationCall, N> {
1550 self.call_builder(&implementationCall {})
1551 }
1552 pub fn owner(&self) -> alloy_contract::SolCallBuilder<T, &P, ownerCall, N> {
1554 self.call_builder(&ownerCall {})
1555 }
1556 pub fn renounceOwnership(
1558 &self,
1559 ) -> alloy_contract::SolCallBuilder<T, &P, renounceOwnershipCall, N> {
1560 self.call_builder(&renounceOwnershipCall {})
1561 }
1562 pub fn transferOwnership(
1564 &self,
1565 newOwner: alloy::sol_types::private::Address,
1566 ) -> alloy_contract::SolCallBuilder<T, &P, transferOwnershipCall, N> {
1567 self.call_builder(&transferOwnershipCall { newOwner })
1568 }
1569 pub fn upgradeTo(
1571 &self,
1572 newImplementation: alloy::sol_types::private::Address,
1573 ) -> alloy_contract::SolCallBuilder<T, &P, upgradeToCall, N> {
1574 self.call_builder(&upgradeToCall { newImplementation })
1575 }
1576 }
1577 #[automatically_derived]
1579 impl<
1580 T: alloy_contract::private::Transport + ::core::clone::Clone,
1581 P: alloy_contract::private::Provider<T, N>,
1582 N: alloy_contract::private::Network,
1583 > UpgradeableBeaconInstance<T, P, N> {
1584 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1589 &self,
1590 ) -> alloy_contract::Event<T, &P, E, N> {
1591 alloy_contract::Event::new_sol(&self.provider, &self.address)
1592 }
1593 pub fn OwnershipTransferred_filter(
1595 &self,
1596 ) -> alloy_contract::Event<T, &P, OwnershipTransferred, N> {
1597 self.event_filter::<OwnershipTransferred>()
1598 }
1599 pub fn Upgraded_filter(&self) -> alloy_contract::Event<T, &P, Upgraded, N> {
1601 self.event_filter::<Upgraded>()
1602 }
1603 }
1604}