1#[allow(
64 non_camel_case_types,
65 non_snake_case,
66 clippy::pub_underscore_fields,
67 clippy::style,
68 clippy::empty_structs_with_brackets
69)]
70pub mod Inputs {
71 use super::*;
72 use alloy::sol_types as alloy_sol_types;
73 #[rustfmt::skip]
79 #[allow(clippy::all)]
80 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
81 b"",
82 );
83 #[rustfmt::skip]
89 #[allow(clippy::all)]
90 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
91 b"",
92 );
93 #[derive(serde::Serialize, serde::Deserialize)]
94 #[derive(Default, Debug, PartialEq, Eq, Hash)]
95 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
100 #[derive(Clone)]
101 pub struct EvmAdvanceCall {
102 #[allow(missing_docs)]
103 pub chainId: alloy::sol_types::private::primitives::aliases::U256,
104 #[allow(missing_docs)]
105 pub appContract: alloy::sol_types::private::Address,
106 #[allow(missing_docs)]
107 pub msgSender: alloy::sol_types::private::Address,
108 #[allow(missing_docs)]
109 pub blockNumber: alloy::sol_types::private::primitives::aliases::U256,
110 #[allow(missing_docs)]
111 pub blockTimestamp: alloy::sol_types::private::primitives::aliases::U256,
112 #[allow(missing_docs)]
113 pub prevRandao: alloy::sol_types::private::primitives::aliases::U256,
114 #[allow(missing_docs)]
115 pub index: alloy::sol_types::private::primitives::aliases::U256,
116 #[allow(missing_docs)]
117 pub payload: alloy::sol_types::private::Bytes,
118 }
119 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
121 #[derive(Clone)]
122 pub struct EvmAdvanceReturn {}
123 #[allow(
124 non_camel_case_types,
125 non_snake_case,
126 clippy::pub_underscore_fields,
127 clippy::style
128 )]
129 const _: () = {
130 use alloy::sol_types as alloy_sol_types;
131 {
132 #[doc(hidden)]
133 #[allow(dead_code)]
134 type UnderlyingSolTuple<'a> = (
135 alloy::sol_types::sol_data::Uint<256>,
136 alloy::sol_types::sol_data::Address,
137 alloy::sol_types::sol_data::Address,
138 alloy::sol_types::sol_data::Uint<256>,
139 alloy::sol_types::sol_data::Uint<256>,
140 alloy::sol_types::sol_data::Uint<256>,
141 alloy::sol_types::sol_data::Uint<256>,
142 alloy::sol_types::sol_data::Bytes,
143 );
144 #[doc(hidden)]
145 type UnderlyingRustTuple<'a> = (
146 alloy::sol_types::private::primitives::aliases::U256,
147 alloy::sol_types::private::Address,
148 alloy::sol_types::private::Address,
149 alloy::sol_types::private::primitives::aliases::U256,
150 alloy::sol_types::private::primitives::aliases::U256,
151 alloy::sol_types::private::primitives::aliases::U256,
152 alloy::sol_types::private::primitives::aliases::U256,
153 alloy::sol_types::private::Bytes,
154 );
155 #[cfg(test)]
156 #[allow(dead_code, unreachable_patterns)]
157 fn _type_assertion(
158 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
159 ) {
160 match _t {
161 alloy_sol_types::private::AssertTypeEq::<
162 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
163 >(_) => {}
164 }
165 }
166 #[automatically_derived]
167 #[doc(hidden)]
168 impl ::core::convert::From<EvmAdvanceCall> for UnderlyingRustTuple<'_> {
169 fn from(value: EvmAdvanceCall) -> Self {
170 (
171 value.chainId,
172 value.appContract,
173 value.msgSender,
174 value.blockNumber,
175 value.blockTimestamp,
176 value.prevRandao,
177 value.index,
178 value.payload,
179 )
180 }
181 }
182 #[automatically_derived]
183 #[doc(hidden)]
184 impl ::core::convert::From<UnderlyingRustTuple<'_>> for EvmAdvanceCall {
185 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
186 Self {
187 chainId: tuple.0,
188 appContract: tuple.1,
189 msgSender: tuple.2,
190 blockNumber: tuple.3,
191 blockTimestamp: tuple.4,
192 prevRandao: tuple.5,
193 index: tuple.6,
194 payload: tuple.7,
195 }
196 }
197 }
198 }
199 {
200 #[doc(hidden)]
201 #[allow(dead_code)]
202 type UnderlyingSolTuple<'a> = ();
203 #[doc(hidden)]
204 type UnderlyingRustTuple<'a> = ();
205 #[cfg(test)]
206 #[allow(dead_code, unreachable_patterns)]
207 fn _type_assertion(
208 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
209 ) {
210 match _t {
211 alloy_sol_types::private::AssertTypeEq::<
212 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
213 >(_) => {}
214 }
215 }
216 #[automatically_derived]
217 #[doc(hidden)]
218 impl ::core::convert::From<EvmAdvanceReturn> for UnderlyingRustTuple<'_> {
219 fn from(value: EvmAdvanceReturn) -> Self {
220 ()
221 }
222 }
223 #[automatically_derived]
224 #[doc(hidden)]
225 impl ::core::convert::From<UnderlyingRustTuple<'_>> for EvmAdvanceReturn {
226 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
227 Self {}
228 }
229 }
230 }
231 impl EvmAdvanceReturn {
232 fn _tokenize(
233 &self,
234 ) -> <EvmAdvanceCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
235 ()
236 }
237 }
238 #[automatically_derived]
239 impl alloy_sol_types::SolCall for EvmAdvanceCall {
240 type Parameters<'a> = (
241 alloy::sol_types::sol_data::Uint<256>,
242 alloy::sol_types::sol_data::Address,
243 alloy::sol_types::sol_data::Address,
244 alloy::sol_types::sol_data::Uint<256>,
245 alloy::sol_types::sol_data::Uint<256>,
246 alloy::sol_types::sol_data::Uint<256>,
247 alloy::sol_types::sol_data::Uint<256>,
248 alloy::sol_types::sol_data::Bytes,
249 );
250 type Token<'a> = <Self::Parameters<
251 'a,
252 > as alloy_sol_types::SolType>::Token<'a>;
253 type Return = EvmAdvanceReturn;
254 type ReturnTuple<'a> = ();
255 type ReturnToken<'a> = <Self::ReturnTuple<
256 'a,
257 > as alloy_sol_types::SolType>::Token<'a>;
258 const SIGNATURE: &'static str = "EvmAdvance(uint256,address,address,uint256,uint256,uint256,uint256,bytes)";
259 const SELECTOR: [u8; 4] = [65u8, 91u8, 243u8, 99u8];
260 #[inline]
261 fn new<'a>(
262 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
263 ) -> Self {
264 tuple.into()
265 }
266 #[inline]
267 fn tokenize(&self) -> Self::Token<'_> {
268 (
269 <alloy::sol_types::sol_data::Uint<
270 256,
271 > as alloy_sol_types::SolType>::tokenize(&self.chainId),
272 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
273 &self.appContract,
274 ),
275 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
276 &self.msgSender,
277 ),
278 <alloy::sol_types::sol_data::Uint<
279 256,
280 > as alloy_sol_types::SolType>::tokenize(&self.blockNumber),
281 <alloy::sol_types::sol_data::Uint<
282 256,
283 > as alloy_sol_types::SolType>::tokenize(&self.blockTimestamp),
284 <alloy::sol_types::sol_data::Uint<
285 256,
286 > as alloy_sol_types::SolType>::tokenize(&self.prevRandao),
287 <alloy::sol_types::sol_data::Uint<
288 256,
289 > as alloy_sol_types::SolType>::tokenize(&self.index),
290 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
291 &self.payload,
292 ),
293 )
294 }
295 #[inline]
296 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
297 EvmAdvanceReturn::_tokenize(ret)
298 }
299 #[inline]
300 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
301 <Self::ReturnTuple<
302 '_,
303 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
304 .map(Into::into)
305 }
306 #[inline]
307 fn abi_decode_returns_validate(
308 data: &[u8],
309 ) -> alloy_sol_types::Result<Self::Return> {
310 <Self::ReturnTuple<
311 '_,
312 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
313 .map(Into::into)
314 }
315 }
316 };
317 #[derive(Clone)]
319 #[derive(serde::Serialize, serde::Deserialize)]
320 #[derive()]
321 pub enum InputsCalls {
322 #[allow(missing_docs)]
323 EvmAdvance(EvmAdvanceCall),
324 }
325 impl InputsCalls {
326 pub const SELECTORS: &'static [[u8; 4usize]] = &[[65u8, 91u8, 243u8, 99u8]];
333 pub const VARIANT_NAMES: &'static [&'static str] = &[
335 ::core::stringify!(EvmAdvance),
336 ];
337 pub const SIGNATURES: &'static [&'static str] = &[
339 <EvmAdvanceCall as alloy_sol_types::SolCall>::SIGNATURE,
340 ];
341 #[inline]
343 pub fn signature_by_selector(
344 selector: [u8; 4usize],
345 ) -> ::core::option::Option<&'static str> {
346 match Self::SELECTORS.binary_search(&selector) {
347 ::core::result::Result::Ok(idx) => {
348 ::core::option::Option::Some(Self::SIGNATURES[idx])
349 }
350 ::core::result::Result::Err(_) => ::core::option::Option::None,
351 }
352 }
353 #[inline]
355 pub fn name_by_selector(
356 selector: [u8; 4usize],
357 ) -> ::core::option::Option<&'static str> {
358 let sig = Self::signature_by_selector(selector)?;
359 sig.split_once('(').map(|(name, _)| name)
360 }
361 }
362 #[automatically_derived]
363 impl alloy_sol_types::SolInterface for InputsCalls {
364 const NAME: &'static str = "InputsCalls";
365 const MIN_DATA_LENGTH: usize = 288usize;
366 const COUNT: usize = 1usize;
367 #[inline]
368 fn selector(&self) -> [u8; 4] {
369 match self {
370 Self::EvmAdvance(_) => {
371 <EvmAdvanceCall as alloy_sol_types::SolCall>::SELECTOR
372 }
373 }
374 }
375 #[inline]
376 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
377 Self::SELECTORS.get(i).copied()
378 }
379 #[inline]
380 fn valid_selector(selector: [u8; 4]) -> bool {
381 Self::SELECTORS.binary_search(&selector).is_ok()
382 }
383 #[inline]
384 #[allow(non_snake_case)]
385 fn abi_decode_raw(
386 selector: [u8; 4],
387 data: &[u8],
388 ) -> alloy_sol_types::Result<Self> {
389 static DECODE_SHIMS: &[fn(&[u8]) -> alloy_sol_types::Result<InputsCalls>] = &[
390 {
391 fn EvmAdvance(data: &[u8]) -> alloy_sol_types::Result<InputsCalls> {
392 <EvmAdvanceCall as alloy_sol_types::SolCall>::abi_decode_raw(
393 data,
394 )
395 .map(InputsCalls::EvmAdvance)
396 }
397 EvmAdvance
398 },
399 ];
400 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
401 return Err(
402 alloy_sol_types::Error::unknown_selector(
403 <Self as alloy_sol_types::SolInterface>::NAME,
404 selector,
405 ),
406 );
407 };
408 DECODE_SHIMS[idx](data)
409 }
410 #[inline]
411 #[allow(non_snake_case)]
412 fn abi_decode_raw_validate(
413 selector: [u8; 4],
414 data: &[u8],
415 ) -> alloy_sol_types::Result<Self> {
416 static DECODE_VALIDATE_SHIMS: &[fn(
417 &[u8],
418 ) -> alloy_sol_types::Result<InputsCalls>] = &[
419 {
420 fn EvmAdvance(data: &[u8]) -> alloy_sol_types::Result<InputsCalls> {
421 <EvmAdvanceCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
422 data,
423 )
424 .map(InputsCalls::EvmAdvance)
425 }
426 EvmAdvance
427 },
428 ];
429 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
430 return Err(
431 alloy_sol_types::Error::unknown_selector(
432 <Self as alloy_sol_types::SolInterface>::NAME,
433 selector,
434 ),
435 );
436 };
437 DECODE_VALIDATE_SHIMS[idx](data)
438 }
439 #[inline]
440 fn abi_encoded_size(&self) -> usize {
441 match self {
442 Self::EvmAdvance(inner) => {
443 <EvmAdvanceCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
444 }
445 }
446 }
447 #[inline]
448 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
449 match self {
450 Self::EvmAdvance(inner) => {
451 <EvmAdvanceCall as alloy_sol_types::SolCall>::abi_encode_raw(
452 inner,
453 out,
454 )
455 }
456 }
457 }
458 }
459 use alloy::contract as alloy_contract;
460 #[inline]
464 pub const fn new<
465 P: alloy_contract::private::Provider<N>,
466 N: alloy_contract::private::Network,
467 >(
468 address: alloy_sol_types::private::Address,
469 __provider: P,
470 ) -> InputsInstance<P, N> {
471 InputsInstance::<P, N>::new(address, __provider)
472 }
473 #[inline]
479 pub fn deploy<
480 P: alloy_contract::private::Provider<N>,
481 N: alloy_contract::private::Network,
482 >(
483 __provider: P,
484 ) -> impl ::core::future::Future<
485 Output = alloy_contract::Result<InputsInstance<P, N>>,
486 > {
487 InputsInstance::<P, N>::deploy(__provider)
488 }
489 #[inline]
495 pub fn deploy_builder<
496 P: alloy_contract::private::Provider<N>,
497 N: alloy_contract::private::Network,
498 >(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
499 InputsInstance::<P, N>::deploy_builder(__provider)
500 }
501 #[derive(Clone)]
513 pub struct InputsInstance<P, N = alloy_contract::private::Ethereum> {
514 address: alloy_sol_types::private::Address,
515 provider: P,
516 _network: ::core::marker::PhantomData<N>,
517 }
518 #[automatically_derived]
519 impl<P, N> ::core::fmt::Debug for InputsInstance<P, N> {
520 #[inline]
521 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
522 f.debug_tuple("InputsInstance").field(&self.address).finish()
523 }
524 }
525 impl<
527 P: alloy_contract::private::Provider<N>,
528 N: alloy_contract::private::Network,
529 > InputsInstance<P, N> {
530 #[inline]
534 pub const fn new(
535 address: alloy_sol_types::private::Address,
536 __provider: P,
537 ) -> Self {
538 Self {
539 address,
540 provider: __provider,
541 _network: ::core::marker::PhantomData,
542 }
543 }
544 #[inline]
550 pub async fn deploy(
551 __provider: P,
552 ) -> alloy_contract::Result<InputsInstance<P, N>> {
553 let call_builder = Self::deploy_builder(__provider);
554 let contract_address = call_builder.deploy().await?;
555 Ok(Self::new(contract_address, call_builder.provider))
556 }
557 #[inline]
563 pub fn deploy_builder(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
564 alloy_contract::RawCallBuilder::new_raw_deploy(
565 __provider,
566 ::core::clone::Clone::clone(&BYTECODE),
567 )
568 }
569 #[inline]
571 pub const fn address(&self) -> &alloy_sol_types::private::Address {
572 &self.address
573 }
574 #[inline]
576 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
577 self.address = address;
578 }
579 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
581 self.set_address(address);
582 self
583 }
584 #[inline]
586 pub const fn provider(&self) -> &P {
587 &self.provider
588 }
589 }
590 impl<P: ::core::clone::Clone, N> InputsInstance<&P, N> {
591 #[inline]
593 pub fn with_cloned_provider(self) -> InputsInstance<P, N> {
594 InputsInstance {
595 address: self.address,
596 provider: ::core::clone::Clone::clone(&self.provider),
597 _network: ::core::marker::PhantomData,
598 }
599 }
600 }
601 impl<
603 P: alloy_contract::private::Provider<N>,
604 N: alloy_contract::private::Network,
605 > InputsInstance<P, N> {
606 pub fn call_builder<C: alloy_sol_types::SolCall>(
611 &self,
612 call: &C,
613 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
614 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
615 }
616 pub fn EvmAdvance(
618 &self,
619 chainId: alloy::sol_types::private::primitives::aliases::U256,
620 appContract: alloy::sol_types::private::Address,
621 msgSender: alloy::sol_types::private::Address,
622 blockNumber: alloy::sol_types::private::primitives::aliases::U256,
623 blockTimestamp: alloy::sol_types::private::primitives::aliases::U256,
624 prevRandao: alloy::sol_types::private::primitives::aliases::U256,
625 index: alloy::sol_types::private::primitives::aliases::U256,
626 payload: alloy::sol_types::private::Bytes,
627 ) -> alloy_contract::SolCallBuilder<&P, EvmAdvanceCall, N> {
628 self.call_builder(
629 &EvmAdvanceCall {
630 chainId,
631 appContract,
632 msgSender,
633 blockNumber,
634 blockTimestamp,
635 prevRandao,
636 index,
637 payload,
638 },
639 )
640 }
641 }
642 impl<
644 P: alloy_contract::private::Provider<N>,
645 N: alloy_contract::private::Network,
646 > InputsInstance<P, N> {
647 pub fn event_filter<E: alloy_sol_types::SolEvent>(
652 &self,
653 ) -> alloy_contract::Event<&P, E, N> {
654 alloy_contract::Event::new_sol(&self.provider, &self.address)
655 }
656 }
657}