1#[allow(
12 non_camel_case_types,
13 non_snake_case,
14 clippy::pub_underscore_fields,
15 clippy::style,
16 clippy::empty_structs_with_brackets
17)]
18pub mod BN254 {
19 use super::*;
20 use alloy::sol_types as alloy_sol_types;
21 #[derive(serde::Serialize, serde::Deserialize)]
22 #[derive(Default, Debug, PartialEq, Eq, Hash)]
23 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
24 #[derive(Clone)]
25 pub struct BaseField(alloy::sol_types::private::primitives::aliases::U256);
26 const _: () = {
27 use alloy::sol_types as alloy_sol_types;
28 #[automatically_derived]
29 impl alloy_sol_types::private::SolTypeValue<BaseField>
30 for alloy::sol_types::private::primitives::aliases::U256 {
31 #[inline]
32 fn stv_to_tokens(
33 &self,
34 ) -> <alloy::sol_types::sol_data::Uint<
35 256,
36 > as alloy_sol_types::SolType>::Token<'_> {
37 alloy_sol_types::private::SolTypeValue::<
38 alloy::sol_types::sol_data::Uint<256>,
39 >::stv_to_tokens(self)
40 }
41 #[inline]
42 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
43 <alloy::sol_types::sol_data::Uint<
44 256,
45 > as alloy_sol_types::SolType>::tokenize(self)
46 .0
47 }
48 #[inline]
49 fn stv_abi_encode_packed_to(
50 &self,
51 out: &mut alloy_sol_types::private::Vec<u8>,
52 ) {
53 <alloy::sol_types::sol_data::Uint<
54 256,
55 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
56 }
57 #[inline]
58 fn stv_abi_packed_encoded_size(&self) -> usize {
59 <alloy::sol_types::sol_data::Uint<
60 256,
61 > as alloy_sol_types::SolType>::abi_encoded_size(self)
62 }
63 }
64 #[automatically_derived]
65 impl BaseField {
66 pub const NAME: &'static str = stringify!(@ name);
68 #[inline]
70 pub const fn from_underlying(
71 value: alloy::sol_types::private::primitives::aliases::U256,
72 ) -> Self {
73 Self(value)
74 }
75 #[inline]
77 pub const fn into_underlying(
78 self,
79 ) -> alloy::sol_types::private::primitives::aliases::U256 {
80 self.0
81 }
82 #[inline]
85 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
86 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
87 }
88 #[inline]
91 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
92 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
93 }
94 }
95 #[automatically_derived]
96 impl From<alloy::sol_types::private::primitives::aliases::U256> for BaseField {
97 fn from(
98 value: alloy::sol_types::private::primitives::aliases::U256,
99 ) -> Self {
100 Self::from_underlying(value)
101 }
102 }
103 #[automatically_derived]
104 impl From<BaseField> for alloy::sol_types::private::primitives::aliases::U256 {
105 fn from(value: BaseField) -> Self {
106 value.into_underlying()
107 }
108 }
109 #[automatically_derived]
110 impl alloy_sol_types::SolType for BaseField {
111 type RustType = alloy::sol_types::private::primitives::aliases::U256;
112 type Token<'a> = <alloy::sol_types::sol_data::Uint<
113 256,
114 > as alloy_sol_types::SolType>::Token<'a>;
115 const SOL_NAME: &'static str = Self::NAME;
116 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
117 256,
118 > as alloy_sol_types::SolType>::ENCODED_SIZE;
119 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
120 256,
121 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
122 #[inline]
123 fn valid_token(token: &Self::Token<'_>) -> bool {
124 Self::type_check(token).is_ok()
125 }
126 #[inline]
127 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
128 <alloy::sol_types::sol_data::Uint<
129 256,
130 > as alloy_sol_types::SolType>::type_check(token)
131 }
132 #[inline]
133 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
134 <alloy::sol_types::sol_data::Uint<
135 256,
136 > as alloy_sol_types::SolType>::detokenize(token)
137 }
138 }
139 #[automatically_derived]
140 impl alloy_sol_types::EventTopic for BaseField {
141 #[inline]
142 fn topic_preimage_length(rust: &Self::RustType) -> usize {
143 <alloy::sol_types::sol_data::Uint<
144 256,
145 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
146 }
147 #[inline]
148 fn encode_topic_preimage(
149 rust: &Self::RustType,
150 out: &mut alloy_sol_types::private::Vec<u8>,
151 ) {
152 <alloy::sol_types::sol_data::Uint<
153 256,
154 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
155 }
156 #[inline]
157 fn encode_topic(
158 rust: &Self::RustType,
159 ) -> alloy_sol_types::abi::token::WordToken {
160 <alloy::sol_types::sol_data::Uint<
161 256,
162 > as alloy_sol_types::EventTopic>::encode_topic(rust)
163 }
164 }
165 };
166 #[derive(serde::Serialize, serde::Deserialize)]
167 #[derive(Default, Debug, PartialEq, Eq, Hash)]
168 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
169 #[derive(Clone)]
170 pub struct ScalarField(alloy::sol_types::private::primitives::aliases::U256);
171 const _: () = {
172 use alloy::sol_types as alloy_sol_types;
173 #[automatically_derived]
174 impl alloy_sol_types::private::SolTypeValue<ScalarField>
175 for alloy::sol_types::private::primitives::aliases::U256 {
176 #[inline]
177 fn stv_to_tokens(
178 &self,
179 ) -> <alloy::sol_types::sol_data::Uint<
180 256,
181 > as alloy_sol_types::SolType>::Token<'_> {
182 alloy_sol_types::private::SolTypeValue::<
183 alloy::sol_types::sol_data::Uint<256>,
184 >::stv_to_tokens(self)
185 }
186 #[inline]
187 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
188 <alloy::sol_types::sol_data::Uint<
189 256,
190 > as alloy_sol_types::SolType>::tokenize(self)
191 .0
192 }
193 #[inline]
194 fn stv_abi_encode_packed_to(
195 &self,
196 out: &mut alloy_sol_types::private::Vec<u8>,
197 ) {
198 <alloy::sol_types::sol_data::Uint<
199 256,
200 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
201 }
202 #[inline]
203 fn stv_abi_packed_encoded_size(&self) -> usize {
204 <alloy::sol_types::sol_data::Uint<
205 256,
206 > as alloy_sol_types::SolType>::abi_encoded_size(self)
207 }
208 }
209 #[automatically_derived]
210 impl ScalarField {
211 pub const NAME: &'static str = stringify!(@ name);
213 #[inline]
215 pub const fn from_underlying(
216 value: alloy::sol_types::private::primitives::aliases::U256,
217 ) -> Self {
218 Self(value)
219 }
220 #[inline]
222 pub const fn into_underlying(
223 self,
224 ) -> alloy::sol_types::private::primitives::aliases::U256 {
225 self.0
226 }
227 #[inline]
230 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
231 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
232 }
233 #[inline]
236 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
237 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
238 }
239 }
240 #[automatically_derived]
241 impl From<alloy::sol_types::private::primitives::aliases::U256> for ScalarField {
242 fn from(
243 value: alloy::sol_types::private::primitives::aliases::U256,
244 ) -> Self {
245 Self::from_underlying(value)
246 }
247 }
248 #[automatically_derived]
249 impl From<ScalarField> for alloy::sol_types::private::primitives::aliases::U256 {
250 fn from(value: ScalarField) -> Self {
251 value.into_underlying()
252 }
253 }
254 #[automatically_derived]
255 impl alloy_sol_types::SolType for ScalarField {
256 type RustType = alloy::sol_types::private::primitives::aliases::U256;
257 type Token<'a> = <alloy::sol_types::sol_data::Uint<
258 256,
259 > as alloy_sol_types::SolType>::Token<'a>;
260 const SOL_NAME: &'static str = Self::NAME;
261 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
262 256,
263 > as alloy_sol_types::SolType>::ENCODED_SIZE;
264 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
265 256,
266 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
267 #[inline]
268 fn valid_token(token: &Self::Token<'_>) -> bool {
269 Self::type_check(token).is_ok()
270 }
271 #[inline]
272 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
273 <alloy::sol_types::sol_data::Uint<
274 256,
275 > as alloy_sol_types::SolType>::type_check(token)
276 }
277 #[inline]
278 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
279 <alloy::sol_types::sol_data::Uint<
280 256,
281 > as alloy_sol_types::SolType>::detokenize(token)
282 }
283 }
284 #[automatically_derived]
285 impl alloy_sol_types::EventTopic for ScalarField {
286 #[inline]
287 fn topic_preimage_length(rust: &Self::RustType) -> usize {
288 <alloy::sol_types::sol_data::Uint<
289 256,
290 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
291 }
292 #[inline]
293 fn encode_topic_preimage(
294 rust: &Self::RustType,
295 out: &mut alloy_sol_types::private::Vec<u8>,
296 ) {
297 <alloy::sol_types::sol_data::Uint<
298 256,
299 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
300 }
301 #[inline]
302 fn encode_topic(
303 rust: &Self::RustType,
304 ) -> alloy_sol_types::abi::token::WordToken {
305 <alloy::sol_types::sol_data::Uint<
306 256,
307 > as alloy_sol_types::EventTopic>::encode_topic(rust)
308 }
309 }
310 };
311 #[derive(serde::Serialize, serde::Deserialize)]
312 #[derive(Default, Debug, PartialEq, Eq, Hash)]
313 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
317 #[derive(Clone)]
318 pub struct G1Point {
319 #[allow(missing_docs)]
320 pub x: <BaseField as alloy::sol_types::SolType>::RustType,
321 #[allow(missing_docs)]
322 pub y: <BaseField as alloy::sol_types::SolType>::RustType,
323 }
324 #[allow(
325 non_camel_case_types,
326 non_snake_case,
327 clippy::pub_underscore_fields,
328 clippy::style
329 )]
330 const _: () = {
331 use alloy::sol_types as alloy_sol_types;
332 #[doc(hidden)]
333 #[allow(dead_code)]
334 type UnderlyingSolTuple<'a> = (BaseField, BaseField);
335 #[doc(hidden)]
336 type UnderlyingRustTuple<'a> = (
337 <BaseField as alloy::sol_types::SolType>::RustType,
338 <BaseField as alloy::sol_types::SolType>::RustType,
339 );
340 #[cfg(test)]
341 #[allow(dead_code, unreachable_patterns)]
342 fn _type_assertion(
343 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
344 ) {
345 match _t {
346 alloy_sol_types::private::AssertTypeEq::<
347 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
348 >(_) => {}
349 }
350 }
351 #[automatically_derived]
352 #[doc(hidden)]
353 impl ::core::convert::From<G1Point> for UnderlyingRustTuple<'_> {
354 fn from(value: G1Point) -> Self {
355 (value.x, value.y)
356 }
357 }
358 #[automatically_derived]
359 #[doc(hidden)]
360 impl ::core::convert::From<UnderlyingRustTuple<'_>> for G1Point {
361 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
362 Self { x: tuple.0, y: tuple.1 }
363 }
364 }
365 #[automatically_derived]
366 impl alloy_sol_types::SolValue for G1Point {
367 type SolType = Self;
368 }
369 #[automatically_derived]
370 impl alloy_sol_types::private::SolTypeValue<Self> for G1Point {
371 #[inline]
372 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
373 (
374 <BaseField as alloy_sol_types::SolType>::tokenize(&self.x),
375 <BaseField as alloy_sol_types::SolType>::tokenize(&self.y),
376 )
377 }
378 #[inline]
379 fn stv_abi_encoded_size(&self) -> usize {
380 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
381 return size;
382 }
383 let tuple = <UnderlyingRustTuple<
384 '_,
385 > as ::core::convert::From<Self>>::from(self.clone());
386 <UnderlyingSolTuple<
387 '_,
388 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
389 }
390 #[inline]
391 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
392 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
393 }
394 #[inline]
395 fn stv_abi_encode_packed_to(
396 &self,
397 out: &mut alloy_sol_types::private::Vec<u8>,
398 ) {
399 let tuple = <UnderlyingRustTuple<
400 '_,
401 > as ::core::convert::From<Self>>::from(self.clone());
402 <UnderlyingSolTuple<
403 '_,
404 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
405 }
406 #[inline]
407 fn stv_abi_packed_encoded_size(&self) -> usize {
408 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
409 return size;
410 }
411 let tuple = <UnderlyingRustTuple<
412 '_,
413 > as ::core::convert::From<Self>>::from(self.clone());
414 <UnderlyingSolTuple<
415 '_,
416 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
417 }
418 }
419 #[automatically_derived]
420 impl alloy_sol_types::SolType for G1Point {
421 type RustType = Self;
422 type Token<'a> = <UnderlyingSolTuple<
423 'a,
424 > as alloy_sol_types::SolType>::Token<'a>;
425 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
426 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
427 '_,
428 > as alloy_sol_types::SolType>::ENCODED_SIZE;
429 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
430 '_,
431 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
432 #[inline]
433 fn valid_token(token: &Self::Token<'_>) -> bool {
434 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
435 }
436 #[inline]
437 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
438 let tuple = <UnderlyingSolTuple<
439 '_,
440 > as alloy_sol_types::SolType>::detokenize(token);
441 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
442 }
443 }
444 #[automatically_derived]
445 impl alloy_sol_types::SolStruct for G1Point {
446 const NAME: &'static str = "G1Point";
447 #[inline]
448 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
449 alloy_sol_types::private::Cow::Borrowed("G1Point(uint256 x,uint256 y)")
450 }
451 #[inline]
452 fn eip712_components() -> alloy_sol_types::private::Vec<
453 alloy_sol_types::private::Cow<'static, str>,
454 > {
455 alloy_sol_types::private::Vec::new()
456 }
457 #[inline]
458 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
459 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
460 }
461 #[inline]
462 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
463 [
464 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.x).0,
465 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.y).0,
466 ]
467 .concat()
468 }
469 }
470 #[automatically_derived]
471 impl alloy_sol_types::EventTopic for G1Point {
472 #[inline]
473 fn topic_preimage_length(rust: &Self::RustType) -> usize {
474 0usize
475 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
476 &rust.x,
477 )
478 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
479 &rust.y,
480 )
481 }
482 #[inline]
483 fn encode_topic_preimage(
484 rust: &Self::RustType,
485 out: &mut alloy_sol_types::private::Vec<u8>,
486 ) {
487 out.reserve(
488 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
489 );
490 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
491 &rust.x,
492 out,
493 );
494 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
495 &rust.y,
496 out,
497 );
498 }
499 #[inline]
500 fn encode_topic(
501 rust: &Self::RustType,
502 ) -> alloy_sol_types::abi::token::WordToken {
503 let mut out = alloy_sol_types::private::Vec::new();
504 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
505 rust,
506 &mut out,
507 );
508 alloy_sol_types::abi::token::WordToken(
509 alloy_sol_types::private::keccak256(out),
510 )
511 }
512 }
513 };
514 use alloy::contract as alloy_contract;
515 #[inline]
519 pub const fn new<
520 P: alloy_contract::private::Provider<N>,
521 N: alloy_contract::private::Network,
522 >(address: alloy_sol_types::private::Address, __provider: P) -> BN254Instance<P, N> {
523 BN254Instance::<P, N>::new(address, __provider)
524 }
525 #[derive(Clone)]
537 pub struct BN254Instance<P, N = alloy_contract::private::Ethereum> {
538 address: alloy_sol_types::private::Address,
539 provider: P,
540 _network: ::core::marker::PhantomData<N>,
541 }
542 #[automatically_derived]
543 impl<P, N> ::core::fmt::Debug for BN254Instance<P, N> {
544 #[inline]
545 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
546 f.debug_tuple("BN254Instance").field(&self.address).finish()
547 }
548 }
549 #[automatically_derived]
551 impl<
552 P: alloy_contract::private::Provider<N>,
553 N: alloy_contract::private::Network,
554 > BN254Instance<P, N> {
555 #[inline]
559 pub const fn new(
560 address: alloy_sol_types::private::Address,
561 __provider: P,
562 ) -> Self {
563 Self {
564 address,
565 provider: __provider,
566 _network: ::core::marker::PhantomData,
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> BN254Instance<&P, N> {
591 #[inline]
593 pub fn with_cloned_provider(self) -> BN254Instance<P, N> {
594 BN254Instance {
595 address: self.address,
596 provider: ::core::clone::Clone::clone(&self.provider),
597 _network: ::core::marker::PhantomData,
598 }
599 }
600 }
601 #[automatically_derived]
603 impl<
604 P: alloy_contract::private::Provider<N>,
605 N: alloy_contract::private::Network,
606 > BN254Instance<P, N> {
607 pub fn call_builder<C: alloy_sol_types::SolCall>(
612 &self,
613 call: &C,
614 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
615 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
616 }
617 }
618 #[automatically_derived]
620 impl<
621 P: alloy_contract::private::Provider<N>,
622 N: alloy_contract::private::Network,
623 > BN254Instance<P, N> {
624 pub fn event_filter<E: alloy_sol_types::SolEvent>(
629 &self,
630 ) -> alloy_contract::Event<&P, E, N> {
631 alloy_contract::Event::new_sol(&self.provider, &self.address)
632 }
633 }
634}
635#[allow(
1339 non_camel_case_types,
1340 non_snake_case,
1341 clippy::pub_underscore_fields,
1342 clippy::style,
1343 clippy::empty_structs_with_brackets
1344)]
1345pub mod IPlonkVerifier {
1346 use super::*;
1347 use alloy::sol_types as alloy_sol_types;
1348 #[rustfmt::skip]
1354 #[allow(clippy::all)]
1355 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
1356 b"",
1357 );
1358 #[rustfmt::skip]
1364 #[allow(clippy::all)]
1365 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
1366 b"",
1367 );
1368 #[derive(serde::Serialize, serde::Deserialize)]
1369 #[derive()]
1370 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1374 #[derive(Clone)]
1375 pub struct PlonkProof {
1376 #[allow(missing_docs)]
1377 pub wire0: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1378 #[allow(missing_docs)]
1379 pub wire1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1380 #[allow(missing_docs)]
1381 pub wire2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1382 #[allow(missing_docs)]
1383 pub wire3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1384 #[allow(missing_docs)]
1385 pub wire4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1386 #[allow(missing_docs)]
1387 pub prodPerm: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1388 #[allow(missing_docs)]
1389 pub split0: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1390 #[allow(missing_docs)]
1391 pub split1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1392 #[allow(missing_docs)]
1393 pub split2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1394 #[allow(missing_docs)]
1395 pub split3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1396 #[allow(missing_docs)]
1397 pub split4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1398 #[allow(missing_docs)]
1399 pub zeta: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1400 #[allow(missing_docs)]
1401 pub zetaOmega: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1402 #[allow(missing_docs)]
1403 pub wireEval0: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1404 #[allow(missing_docs)]
1405 pub wireEval1: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1406 #[allow(missing_docs)]
1407 pub wireEval2: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1408 #[allow(missing_docs)]
1409 pub wireEval3: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1410 #[allow(missing_docs)]
1411 pub wireEval4: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1412 #[allow(missing_docs)]
1413 pub sigmaEval0: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1414 #[allow(missing_docs)]
1415 pub sigmaEval1: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1416 #[allow(missing_docs)]
1417 pub sigmaEval2: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1418 #[allow(missing_docs)]
1419 pub sigmaEval3: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1420 #[allow(missing_docs)]
1421 pub prodPermZetaOmegaEval: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1422 }
1423 #[allow(
1424 non_camel_case_types,
1425 non_snake_case,
1426 clippy::pub_underscore_fields,
1427 clippy::style
1428 )]
1429 const _: () = {
1430 use alloy::sol_types as alloy_sol_types;
1431 #[doc(hidden)]
1432 #[allow(dead_code)]
1433 type UnderlyingSolTuple<'a> = (
1434 BN254::G1Point,
1435 BN254::G1Point,
1436 BN254::G1Point,
1437 BN254::G1Point,
1438 BN254::G1Point,
1439 BN254::G1Point,
1440 BN254::G1Point,
1441 BN254::G1Point,
1442 BN254::G1Point,
1443 BN254::G1Point,
1444 BN254::G1Point,
1445 BN254::G1Point,
1446 BN254::G1Point,
1447 BN254::ScalarField,
1448 BN254::ScalarField,
1449 BN254::ScalarField,
1450 BN254::ScalarField,
1451 BN254::ScalarField,
1452 BN254::ScalarField,
1453 BN254::ScalarField,
1454 BN254::ScalarField,
1455 BN254::ScalarField,
1456 BN254::ScalarField,
1457 );
1458 #[doc(hidden)]
1459 type UnderlyingRustTuple<'a> = (
1460 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1461 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1462 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1463 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1464 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1465 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1466 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1467 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1468 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1469 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1470 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1471 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1472 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1473 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1474 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1475 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1476 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1477 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1478 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1479 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1480 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1481 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1482 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
1483 );
1484 #[cfg(test)]
1485 #[allow(dead_code, unreachable_patterns)]
1486 fn _type_assertion(
1487 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1488 ) {
1489 match _t {
1490 alloy_sol_types::private::AssertTypeEq::<
1491 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1492 >(_) => {}
1493 }
1494 }
1495 #[automatically_derived]
1496 #[doc(hidden)]
1497 impl ::core::convert::From<PlonkProof> for UnderlyingRustTuple<'_> {
1498 fn from(value: PlonkProof) -> Self {
1499 (
1500 value.wire0,
1501 value.wire1,
1502 value.wire2,
1503 value.wire3,
1504 value.wire4,
1505 value.prodPerm,
1506 value.split0,
1507 value.split1,
1508 value.split2,
1509 value.split3,
1510 value.split4,
1511 value.zeta,
1512 value.zetaOmega,
1513 value.wireEval0,
1514 value.wireEval1,
1515 value.wireEval2,
1516 value.wireEval3,
1517 value.wireEval4,
1518 value.sigmaEval0,
1519 value.sigmaEval1,
1520 value.sigmaEval2,
1521 value.sigmaEval3,
1522 value.prodPermZetaOmegaEval,
1523 )
1524 }
1525 }
1526 #[automatically_derived]
1527 #[doc(hidden)]
1528 impl ::core::convert::From<UnderlyingRustTuple<'_>> for PlonkProof {
1529 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1530 Self {
1531 wire0: tuple.0,
1532 wire1: tuple.1,
1533 wire2: tuple.2,
1534 wire3: tuple.3,
1535 wire4: tuple.4,
1536 prodPerm: tuple.5,
1537 split0: tuple.6,
1538 split1: tuple.7,
1539 split2: tuple.8,
1540 split3: tuple.9,
1541 split4: tuple.10,
1542 zeta: tuple.11,
1543 zetaOmega: tuple.12,
1544 wireEval0: tuple.13,
1545 wireEval1: tuple.14,
1546 wireEval2: tuple.15,
1547 wireEval3: tuple.16,
1548 wireEval4: tuple.17,
1549 sigmaEval0: tuple.18,
1550 sigmaEval1: tuple.19,
1551 sigmaEval2: tuple.20,
1552 sigmaEval3: tuple.21,
1553 prodPermZetaOmegaEval: tuple.22,
1554 }
1555 }
1556 }
1557 #[automatically_derived]
1558 impl alloy_sol_types::SolValue for PlonkProof {
1559 type SolType = Self;
1560 }
1561 #[automatically_derived]
1562 impl alloy_sol_types::private::SolTypeValue<Self> for PlonkProof {
1563 #[inline]
1564 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
1565 (
1566 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire0),
1567 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire1),
1568 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire2),
1569 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire3),
1570 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire4),
1571 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(
1572 &self.prodPerm,
1573 ),
1574 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split0),
1575 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split1),
1576 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split2),
1577 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split3),
1578 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split4),
1579 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.zeta),
1580 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(
1581 &self.zetaOmega,
1582 ),
1583 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1584 &self.wireEval0,
1585 ),
1586 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1587 &self.wireEval1,
1588 ),
1589 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1590 &self.wireEval2,
1591 ),
1592 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1593 &self.wireEval3,
1594 ),
1595 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1596 &self.wireEval4,
1597 ),
1598 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1599 &self.sigmaEval0,
1600 ),
1601 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1602 &self.sigmaEval1,
1603 ),
1604 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1605 &self.sigmaEval2,
1606 ),
1607 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1608 &self.sigmaEval3,
1609 ),
1610 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
1611 &self.prodPermZetaOmegaEval,
1612 ),
1613 )
1614 }
1615 #[inline]
1616 fn stv_abi_encoded_size(&self) -> usize {
1617 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
1618 return size;
1619 }
1620 let tuple = <UnderlyingRustTuple<
1621 '_,
1622 > as ::core::convert::From<Self>>::from(self.clone());
1623 <UnderlyingSolTuple<
1624 '_,
1625 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
1626 }
1627 #[inline]
1628 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1629 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
1630 }
1631 #[inline]
1632 fn stv_abi_encode_packed_to(
1633 &self,
1634 out: &mut alloy_sol_types::private::Vec<u8>,
1635 ) {
1636 let tuple = <UnderlyingRustTuple<
1637 '_,
1638 > as ::core::convert::From<Self>>::from(self.clone());
1639 <UnderlyingSolTuple<
1640 '_,
1641 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
1642 }
1643 #[inline]
1644 fn stv_abi_packed_encoded_size(&self) -> usize {
1645 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
1646 return size;
1647 }
1648 let tuple = <UnderlyingRustTuple<
1649 '_,
1650 > as ::core::convert::From<Self>>::from(self.clone());
1651 <UnderlyingSolTuple<
1652 '_,
1653 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
1654 }
1655 }
1656 #[automatically_derived]
1657 impl alloy_sol_types::SolType for PlonkProof {
1658 type RustType = Self;
1659 type Token<'a> = <UnderlyingSolTuple<
1660 'a,
1661 > as alloy_sol_types::SolType>::Token<'a>;
1662 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
1663 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1664 '_,
1665 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1666 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1667 '_,
1668 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1669 #[inline]
1670 fn valid_token(token: &Self::Token<'_>) -> bool {
1671 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
1672 }
1673 #[inline]
1674 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1675 let tuple = <UnderlyingSolTuple<
1676 '_,
1677 > as alloy_sol_types::SolType>::detokenize(token);
1678 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
1679 }
1680 }
1681 #[automatically_derived]
1682 impl alloy_sol_types::SolStruct for PlonkProof {
1683 const NAME: &'static str = "PlonkProof";
1684 #[inline]
1685 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
1686 alloy_sol_types::private::Cow::Borrowed(
1687 "PlonkProof(G1Point wire0,G1Point wire1,G1Point wire2,G1Point wire3,G1Point wire4,G1Point prodPerm,G1Point split0,G1Point split1,G1Point split2,G1Point split3,G1Point split4,G1Point zeta,G1Point zetaOmega,uint256 wireEval0,uint256 wireEval1,uint256 wireEval2,uint256 wireEval3,uint256 wireEval4,uint256 sigmaEval0,uint256 sigmaEval1,uint256 sigmaEval2,uint256 sigmaEval3,uint256 prodPermZetaOmegaEval)",
1688 )
1689 }
1690 #[inline]
1691 fn eip712_components() -> alloy_sol_types::private::Vec<
1692 alloy_sol_types::private::Cow<'static, str>,
1693 > {
1694 let mut components = alloy_sol_types::private::Vec::with_capacity(13);
1695 components
1696 .push(
1697 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1698 );
1699 components
1700 .extend(
1701 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1702 );
1703 components
1704 .push(
1705 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1706 );
1707 components
1708 .extend(
1709 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1710 );
1711 components
1712 .push(
1713 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1714 );
1715 components
1716 .extend(
1717 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1718 );
1719 components
1720 .push(
1721 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1722 );
1723 components
1724 .extend(
1725 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1726 );
1727 components
1728 .push(
1729 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1730 );
1731 components
1732 .extend(
1733 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1734 );
1735 components
1736 .push(
1737 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1738 );
1739 components
1740 .extend(
1741 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1742 );
1743 components
1744 .push(
1745 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1746 );
1747 components
1748 .extend(
1749 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1750 );
1751 components
1752 .push(
1753 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1754 );
1755 components
1756 .extend(
1757 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1758 );
1759 components
1760 .push(
1761 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1762 );
1763 components
1764 .extend(
1765 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1766 );
1767 components
1768 .push(
1769 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1770 );
1771 components
1772 .extend(
1773 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1774 );
1775 components
1776 .push(
1777 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1778 );
1779 components
1780 .extend(
1781 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1782 );
1783 components
1784 .push(
1785 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1786 );
1787 components
1788 .extend(
1789 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1790 );
1791 components
1792 .push(
1793 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1794 );
1795 components
1796 .extend(
1797 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1798 );
1799 components
1800 }
1801 #[inline]
1802 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1803 [
1804 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1805 &self.wire0,
1806 )
1807 .0,
1808 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1809 &self.wire1,
1810 )
1811 .0,
1812 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1813 &self.wire2,
1814 )
1815 .0,
1816 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1817 &self.wire3,
1818 )
1819 .0,
1820 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1821 &self.wire4,
1822 )
1823 .0,
1824 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1825 &self.prodPerm,
1826 )
1827 .0,
1828 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1829 &self.split0,
1830 )
1831 .0,
1832 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1833 &self.split1,
1834 )
1835 .0,
1836 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1837 &self.split2,
1838 )
1839 .0,
1840 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1841 &self.split3,
1842 )
1843 .0,
1844 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1845 &self.split4,
1846 )
1847 .0,
1848 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1849 &self.zeta,
1850 )
1851 .0,
1852 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1853 &self.zetaOmega,
1854 )
1855 .0,
1856 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1857 &self.wireEval0,
1858 )
1859 .0,
1860 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1861 &self.wireEval1,
1862 )
1863 .0,
1864 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1865 &self.wireEval2,
1866 )
1867 .0,
1868 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1869 &self.wireEval3,
1870 )
1871 .0,
1872 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1873 &self.wireEval4,
1874 )
1875 .0,
1876 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1877 &self.sigmaEval0,
1878 )
1879 .0,
1880 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1881 &self.sigmaEval1,
1882 )
1883 .0,
1884 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1885 &self.sigmaEval2,
1886 )
1887 .0,
1888 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1889 &self.sigmaEval3,
1890 )
1891 .0,
1892 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1893 &self.prodPermZetaOmegaEval,
1894 )
1895 .0,
1896 ]
1897 .concat()
1898 }
1899 }
1900 #[automatically_derived]
1901 impl alloy_sol_types::EventTopic for PlonkProof {
1902 #[inline]
1903 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1904 0usize
1905 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1906 &rust.wire0,
1907 )
1908 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1909 &rust.wire1,
1910 )
1911 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1912 &rust.wire2,
1913 )
1914 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1915 &rust.wire3,
1916 )
1917 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1918 &rust.wire4,
1919 )
1920 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1921 &rust.prodPerm,
1922 )
1923 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1924 &rust.split0,
1925 )
1926 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1927 &rust.split1,
1928 )
1929 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1930 &rust.split2,
1931 )
1932 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1933 &rust.split3,
1934 )
1935 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1936 &rust.split4,
1937 )
1938 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1939 &rust.zeta,
1940 )
1941 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1942 &rust.zetaOmega,
1943 )
1944 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1945 &rust.wireEval0,
1946 )
1947 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1948 &rust.wireEval1,
1949 )
1950 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1951 &rust.wireEval2,
1952 )
1953 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1954 &rust.wireEval3,
1955 )
1956 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1957 &rust.wireEval4,
1958 )
1959 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1960 &rust.sigmaEval0,
1961 )
1962 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1963 &rust.sigmaEval1,
1964 )
1965 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1966 &rust.sigmaEval2,
1967 )
1968 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1969 &rust.sigmaEval3,
1970 )
1971 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1972 &rust.prodPermZetaOmegaEval,
1973 )
1974 }
1975 #[inline]
1976 fn encode_topic_preimage(
1977 rust: &Self::RustType,
1978 out: &mut alloy_sol_types::private::Vec<u8>,
1979 ) {
1980 out.reserve(
1981 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
1982 );
1983 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1984 &rust.wire0,
1985 out,
1986 );
1987 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1988 &rust.wire1,
1989 out,
1990 );
1991 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1992 &rust.wire2,
1993 out,
1994 );
1995 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1996 &rust.wire3,
1997 out,
1998 );
1999 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2000 &rust.wire4,
2001 out,
2002 );
2003 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2004 &rust.prodPerm,
2005 out,
2006 );
2007 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2008 &rust.split0,
2009 out,
2010 );
2011 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2012 &rust.split1,
2013 out,
2014 );
2015 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2016 &rust.split2,
2017 out,
2018 );
2019 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2020 &rust.split3,
2021 out,
2022 );
2023 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2024 &rust.split4,
2025 out,
2026 );
2027 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2028 &rust.zeta,
2029 out,
2030 );
2031 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2032 &rust.zetaOmega,
2033 out,
2034 );
2035 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2036 &rust.wireEval0,
2037 out,
2038 );
2039 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2040 &rust.wireEval1,
2041 out,
2042 );
2043 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2044 &rust.wireEval2,
2045 out,
2046 );
2047 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2048 &rust.wireEval3,
2049 out,
2050 );
2051 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2052 &rust.wireEval4,
2053 out,
2054 );
2055 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2056 &rust.sigmaEval0,
2057 out,
2058 );
2059 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2060 &rust.sigmaEval1,
2061 out,
2062 );
2063 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2064 &rust.sigmaEval2,
2065 out,
2066 );
2067 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2068 &rust.sigmaEval3,
2069 out,
2070 );
2071 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
2072 &rust.prodPermZetaOmegaEval,
2073 out,
2074 );
2075 }
2076 #[inline]
2077 fn encode_topic(
2078 rust: &Self::RustType,
2079 ) -> alloy_sol_types::abi::token::WordToken {
2080 let mut out = alloy_sol_types::private::Vec::new();
2081 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
2082 rust,
2083 &mut out,
2084 );
2085 alloy_sol_types::abi::token::WordToken(
2086 alloy_sol_types::private::keccak256(out),
2087 )
2088 }
2089 }
2090 };
2091 #[derive(serde::Serialize, serde::Deserialize)]
2092 #[derive()]
2093 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2097 #[derive(Clone)]
2098 pub struct VerifyingKey {
2099 #[allow(missing_docs)]
2100 pub domainSize: alloy::sol_types::private::primitives::aliases::U256,
2101 #[allow(missing_docs)]
2102 pub numInputs: alloy::sol_types::private::primitives::aliases::U256,
2103 #[allow(missing_docs)]
2104 pub sigma0: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2105 #[allow(missing_docs)]
2106 pub sigma1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2107 #[allow(missing_docs)]
2108 pub sigma2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2109 #[allow(missing_docs)]
2110 pub sigma3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2111 #[allow(missing_docs)]
2112 pub sigma4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2113 #[allow(missing_docs)]
2114 pub q1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2115 #[allow(missing_docs)]
2116 pub q2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2117 #[allow(missing_docs)]
2118 pub q3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2119 #[allow(missing_docs)]
2120 pub q4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2121 #[allow(missing_docs)]
2122 pub qM12: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2123 #[allow(missing_docs)]
2124 pub qM34: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2125 #[allow(missing_docs)]
2126 pub qO: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2127 #[allow(missing_docs)]
2128 pub qC: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2129 #[allow(missing_docs)]
2130 pub qH1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2131 #[allow(missing_docs)]
2132 pub qH2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2133 #[allow(missing_docs)]
2134 pub qH3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2135 #[allow(missing_docs)]
2136 pub qH4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2137 #[allow(missing_docs)]
2138 pub qEcc: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2139 #[allow(missing_docs)]
2140 pub g2LSB: alloy::sol_types::private::FixedBytes<32>,
2141 #[allow(missing_docs)]
2142 pub g2MSB: alloy::sol_types::private::FixedBytes<32>,
2143 }
2144 #[allow(
2145 non_camel_case_types,
2146 non_snake_case,
2147 clippy::pub_underscore_fields,
2148 clippy::style
2149 )]
2150 const _: () = {
2151 use alloy::sol_types as alloy_sol_types;
2152 #[doc(hidden)]
2153 #[allow(dead_code)]
2154 type UnderlyingSolTuple<'a> = (
2155 alloy::sol_types::sol_data::Uint<256>,
2156 alloy::sol_types::sol_data::Uint<256>,
2157 BN254::G1Point,
2158 BN254::G1Point,
2159 BN254::G1Point,
2160 BN254::G1Point,
2161 BN254::G1Point,
2162 BN254::G1Point,
2163 BN254::G1Point,
2164 BN254::G1Point,
2165 BN254::G1Point,
2166 BN254::G1Point,
2167 BN254::G1Point,
2168 BN254::G1Point,
2169 BN254::G1Point,
2170 BN254::G1Point,
2171 BN254::G1Point,
2172 BN254::G1Point,
2173 BN254::G1Point,
2174 BN254::G1Point,
2175 alloy::sol_types::sol_data::FixedBytes<32>,
2176 alloy::sol_types::sol_data::FixedBytes<32>,
2177 );
2178 #[doc(hidden)]
2179 type UnderlyingRustTuple<'a> = (
2180 alloy::sol_types::private::primitives::aliases::U256,
2181 alloy::sol_types::private::primitives::aliases::U256,
2182 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2183 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2184 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2185 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2186 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2187 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2188 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2189 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2190 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2191 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2192 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2193 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2194 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2195 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2196 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2197 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2198 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2199 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
2200 alloy::sol_types::private::FixedBytes<32>,
2201 alloy::sol_types::private::FixedBytes<32>,
2202 );
2203 #[cfg(test)]
2204 #[allow(dead_code, unreachable_patterns)]
2205 fn _type_assertion(
2206 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2207 ) {
2208 match _t {
2209 alloy_sol_types::private::AssertTypeEq::<
2210 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2211 >(_) => {}
2212 }
2213 }
2214 #[automatically_derived]
2215 #[doc(hidden)]
2216 impl ::core::convert::From<VerifyingKey> for UnderlyingRustTuple<'_> {
2217 fn from(value: VerifyingKey) -> Self {
2218 (
2219 value.domainSize,
2220 value.numInputs,
2221 value.sigma0,
2222 value.sigma1,
2223 value.sigma2,
2224 value.sigma3,
2225 value.sigma4,
2226 value.q1,
2227 value.q2,
2228 value.q3,
2229 value.q4,
2230 value.qM12,
2231 value.qM34,
2232 value.qO,
2233 value.qC,
2234 value.qH1,
2235 value.qH2,
2236 value.qH3,
2237 value.qH4,
2238 value.qEcc,
2239 value.g2LSB,
2240 value.g2MSB,
2241 )
2242 }
2243 }
2244 #[automatically_derived]
2245 #[doc(hidden)]
2246 impl ::core::convert::From<UnderlyingRustTuple<'_>> for VerifyingKey {
2247 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2248 Self {
2249 domainSize: tuple.0,
2250 numInputs: tuple.1,
2251 sigma0: tuple.2,
2252 sigma1: tuple.3,
2253 sigma2: tuple.4,
2254 sigma3: tuple.5,
2255 sigma4: tuple.6,
2256 q1: tuple.7,
2257 q2: tuple.8,
2258 q3: tuple.9,
2259 q4: tuple.10,
2260 qM12: tuple.11,
2261 qM34: tuple.12,
2262 qO: tuple.13,
2263 qC: tuple.14,
2264 qH1: tuple.15,
2265 qH2: tuple.16,
2266 qH3: tuple.17,
2267 qH4: tuple.18,
2268 qEcc: tuple.19,
2269 g2LSB: tuple.20,
2270 g2MSB: tuple.21,
2271 }
2272 }
2273 }
2274 #[automatically_derived]
2275 impl alloy_sol_types::SolValue for VerifyingKey {
2276 type SolType = Self;
2277 }
2278 #[automatically_derived]
2279 impl alloy_sol_types::private::SolTypeValue<Self> for VerifyingKey {
2280 #[inline]
2281 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
2282 (
2283 <alloy::sol_types::sol_data::Uint<
2284 256,
2285 > as alloy_sol_types::SolType>::tokenize(&self.domainSize),
2286 <alloy::sol_types::sol_data::Uint<
2287 256,
2288 > as alloy_sol_types::SolType>::tokenize(&self.numInputs),
2289 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma0),
2290 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma1),
2291 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma2),
2292 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma3),
2293 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma4),
2294 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.q1),
2295 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.q2),
2296 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.q3),
2297 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.q4),
2298 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qM12),
2299 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qM34),
2300 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qO),
2301 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qC),
2302 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qH1),
2303 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qH2),
2304 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qH3),
2305 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qH4),
2306 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qEcc),
2307 <alloy::sol_types::sol_data::FixedBytes<
2308 32,
2309 > as alloy_sol_types::SolType>::tokenize(&self.g2LSB),
2310 <alloy::sol_types::sol_data::FixedBytes<
2311 32,
2312 > as alloy_sol_types::SolType>::tokenize(&self.g2MSB),
2313 )
2314 }
2315 #[inline]
2316 fn stv_abi_encoded_size(&self) -> usize {
2317 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
2318 return size;
2319 }
2320 let tuple = <UnderlyingRustTuple<
2321 '_,
2322 > as ::core::convert::From<Self>>::from(self.clone());
2323 <UnderlyingSolTuple<
2324 '_,
2325 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
2326 }
2327 #[inline]
2328 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2329 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
2330 }
2331 #[inline]
2332 fn stv_abi_encode_packed_to(
2333 &self,
2334 out: &mut alloy_sol_types::private::Vec<u8>,
2335 ) {
2336 let tuple = <UnderlyingRustTuple<
2337 '_,
2338 > as ::core::convert::From<Self>>::from(self.clone());
2339 <UnderlyingSolTuple<
2340 '_,
2341 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
2342 }
2343 #[inline]
2344 fn stv_abi_packed_encoded_size(&self) -> usize {
2345 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
2346 return size;
2347 }
2348 let tuple = <UnderlyingRustTuple<
2349 '_,
2350 > as ::core::convert::From<Self>>::from(self.clone());
2351 <UnderlyingSolTuple<
2352 '_,
2353 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
2354 }
2355 }
2356 #[automatically_derived]
2357 impl alloy_sol_types::SolType for VerifyingKey {
2358 type RustType = Self;
2359 type Token<'a> = <UnderlyingSolTuple<
2360 'a,
2361 > as alloy_sol_types::SolType>::Token<'a>;
2362 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
2363 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
2364 '_,
2365 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2366 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
2367 '_,
2368 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2369 #[inline]
2370 fn valid_token(token: &Self::Token<'_>) -> bool {
2371 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
2372 }
2373 #[inline]
2374 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2375 let tuple = <UnderlyingSolTuple<
2376 '_,
2377 > as alloy_sol_types::SolType>::detokenize(token);
2378 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
2379 }
2380 }
2381 #[automatically_derived]
2382 impl alloy_sol_types::SolStruct for VerifyingKey {
2383 const NAME: &'static str = "VerifyingKey";
2384 #[inline]
2385 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
2386 alloy_sol_types::private::Cow::Borrowed(
2387 "VerifyingKey(uint256 domainSize,uint256 numInputs,G1Point sigma0,G1Point sigma1,G1Point sigma2,G1Point sigma3,G1Point sigma4,G1Point q1,G1Point q2,G1Point q3,G1Point q4,G1Point qM12,G1Point qM34,G1Point qO,G1Point qC,G1Point qH1,G1Point qH2,G1Point qH3,G1Point qH4,G1Point qEcc,bytes32 g2LSB,bytes32 g2MSB)",
2388 )
2389 }
2390 #[inline]
2391 fn eip712_components() -> alloy_sol_types::private::Vec<
2392 alloy_sol_types::private::Cow<'static, str>,
2393 > {
2394 let mut components = alloy_sol_types::private::Vec::with_capacity(18);
2395 components
2396 .push(
2397 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2398 );
2399 components
2400 .extend(
2401 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2402 );
2403 components
2404 .push(
2405 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2406 );
2407 components
2408 .extend(
2409 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2410 );
2411 components
2412 .push(
2413 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2414 );
2415 components
2416 .extend(
2417 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2418 );
2419 components
2420 .push(
2421 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2422 );
2423 components
2424 .extend(
2425 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2426 );
2427 components
2428 .push(
2429 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2430 );
2431 components
2432 .extend(
2433 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2434 );
2435 components
2436 .push(
2437 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2438 );
2439 components
2440 .extend(
2441 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2442 );
2443 components
2444 .push(
2445 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2446 );
2447 components
2448 .extend(
2449 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2450 );
2451 components
2452 .push(
2453 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2454 );
2455 components
2456 .extend(
2457 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2458 );
2459 components
2460 .push(
2461 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2462 );
2463 components
2464 .extend(
2465 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2466 );
2467 components
2468 .push(
2469 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2470 );
2471 components
2472 .extend(
2473 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2474 );
2475 components
2476 .push(
2477 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2478 );
2479 components
2480 .extend(
2481 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2482 );
2483 components
2484 .push(
2485 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2486 );
2487 components
2488 .extend(
2489 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2490 );
2491 components
2492 .push(
2493 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2494 );
2495 components
2496 .extend(
2497 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2498 );
2499 components
2500 .push(
2501 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2502 );
2503 components
2504 .extend(
2505 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2506 );
2507 components
2508 .push(
2509 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2510 );
2511 components
2512 .extend(
2513 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2514 );
2515 components
2516 .push(
2517 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2518 );
2519 components
2520 .extend(
2521 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2522 );
2523 components
2524 .push(
2525 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2526 );
2527 components
2528 .extend(
2529 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2530 );
2531 components
2532 .push(
2533 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
2534 );
2535 components
2536 .extend(
2537 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
2538 );
2539 components
2540 }
2541 #[inline]
2542 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
2543 [
2544 <alloy::sol_types::sol_data::Uint<
2545 256,
2546 > as alloy_sol_types::SolType>::eip712_data_word(&self.domainSize)
2547 .0,
2548 <alloy::sol_types::sol_data::Uint<
2549 256,
2550 > as alloy_sol_types::SolType>::eip712_data_word(&self.numInputs)
2551 .0,
2552 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2553 &self.sigma0,
2554 )
2555 .0,
2556 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2557 &self.sigma1,
2558 )
2559 .0,
2560 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2561 &self.sigma2,
2562 )
2563 .0,
2564 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2565 &self.sigma3,
2566 )
2567 .0,
2568 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2569 &self.sigma4,
2570 )
2571 .0,
2572 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2573 &self.q1,
2574 )
2575 .0,
2576 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2577 &self.q2,
2578 )
2579 .0,
2580 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2581 &self.q3,
2582 )
2583 .0,
2584 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2585 &self.q4,
2586 )
2587 .0,
2588 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2589 &self.qM12,
2590 )
2591 .0,
2592 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2593 &self.qM34,
2594 )
2595 .0,
2596 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2597 &self.qO,
2598 )
2599 .0,
2600 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2601 &self.qC,
2602 )
2603 .0,
2604 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2605 &self.qH1,
2606 )
2607 .0,
2608 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2609 &self.qH2,
2610 )
2611 .0,
2612 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2613 &self.qH3,
2614 )
2615 .0,
2616 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2617 &self.qH4,
2618 )
2619 .0,
2620 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
2621 &self.qEcc,
2622 )
2623 .0,
2624 <alloy::sol_types::sol_data::FixedBytes<
2625 32,
2626 > as alloy_sol_types::SolType>::eip712_data_word(&self.g2LSB)
2627 .0,
2628 <alloy::sol_types::sol_data::FixedBytes<
2629 32,
2630 > as alloy_sol_types::SolType>::eip712_data_word(&self.g2MSB)
2631 .0,
2632 ]
2633 .concat()
2634 }
2635 }
2636 #[automatically_derived]
2637 impl alloy_sol_types::EventTopic for VerifyingKey {
2638 #[inline]
2639 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2640 0usize
2641 + <alloy::sol_types::sol_data::Uint<
2642 256,
2643 > as alloy_sol_types::EventTopic>::topic_preimage_length(
2644 &rust.domainSize,
2645 )
2646 + <alloy::sol_types::sol_data::Uint<
2647 256,
2648 > as alloy_sol_types::EventTopic>::topic_preimage_length(
2649 &rust.numInputs,
2650 )
2651 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2652 &rust.sigma0,
2653 )
2654 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2655 &rust.sigma1,
2656 )
2657 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2658 &rust.sigma2,
2659 )
2660 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2661 &rust.sigma3,
2662 )
2663 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2664 &rust.sigma4,
2665 )
2666 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2667 &rust.q1,
2668 )
2669 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2670 &rust.q2,
2671 )
2672 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2673 &rust.q3,
2674 )
2675 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2676 &rust.q4,
2677 )
2678 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2679 &rust.qM12,
2680 )
2681 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2682 &rust.qM34,
2683 )
2684 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2685 &rust.qO,
2686 )
2687 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2688 &rust.qC,
2689 )
2690 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2691 &rust.qH1,
2692 )
2693 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2694 &rust.qH2,
2695 )
2696 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2697 &rust.qH3,
2698 )
2699 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2700 &rust.qH4,
2701 )
2702 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
2703 &rust.qEcc,
2704 )
2705 + <alloy::sol_types::sol_data::FixedBytes<
2706 32,
2707 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.g2LSB)
2708 + <alloy::sol_types::sol_data::FixedBytes<
2709 32,
2710 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.g2MSB)
2711 }
2712 #[inline]
2713 fn encode_topic_preimage(
2714 rust: &Self::RustType,
2715 out: &mut alloy_sol_types::private::Vec<u8>,
2716 ) {
2717 out.reserve(
2718 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
2719 );
2720 <alloy::sol_types::sol_data::Uint<
2721 256,
2722 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
2723 &rust.domainSize,
2724 out,
2725 );
2726 <alloy::sol_types::sol_data::Uint<
2727 256,
2728 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
2729 &rust.numInputs,
2730 out,
2731 );
2732 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2733 &rust.sigma0,
2734 out,
2735 );
2736 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2737 &rust.sigma1,
2738 out,
2739 );
2740 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2741 &rust.sigma2,
2742 out,
2743 );
2744 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2745 &rust.sigma3,
2746 out,
2747 );
2748 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2749 &rust.sigma4,
2750 out,
2751 );
2752 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2753 &rust.q1,
2754 out,
2755 );
2756 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2757 &rust.q2,
2758 out,
2759 );
2760 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2761 &rust.q3,
2762 out,
2763 );
2764 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2765 &rust.q4,
2766 out,
2767 );
2768 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2769 &rust.qM12,
2770 out,
2771 );
2772 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2773 &rust.qM34,
2774 out,
2775 );
2776 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2777 &rust.qO,
2778 out,
2779 );
2780 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2781 &rust.qC,
2782 out,
2783 );
2784 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2785 &rust.qH1,
2786 out,
2787 );
2788 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2789 &rust.qH2,
2790 out,
2791 );
2792 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2793 &rust.qH3,
2794 out,
2795 );
2796 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2797 &rust.qH4,
2798 out,
2799 );
2800 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2801 &rust.qEcc,
2802 out,
2803 );
2804 <alloy::sol_types::sol_data::FixedBytes<
2805 32,
2806 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
2807 &rust.g2LSB,
2808 out,
2809 );
2810 <alloy::sol_types::sol_data::FixedBytes<
2811 32,
2812 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
2813 &rust.g2MSB,
2814 out,
2815 );
2816 }
2817 #[inline]
2818 fn encode_topic(
2819 rust: &Self::RustType,
2820 ) -> alloy_sol_types::abi::token::WordToken {
2821 let mut out = alloy_sol_types::private::Vec::new();
2822 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
2823 rust,
2824 &mut out,
2825 );
2826 alloy_sol_types::abi::token::WordToken(
2827 alloy_sol_types::private::keccak256(out),
2828 )
2829 }
2830 }
2831 };
2832 #[derive(serde::Serialize, serde::Deserialize)]
2833 #[derive()]
2834 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2839 #[derive(Clone)]
2840 pub struct verifyCall {
2841 #[allow(missing_docs)]
2842 pub verifyingKey: <VerifyingKey as alloy::sol_types::SolType>::RustType,
2843 #[allow(missing_docs)]
2844 pub publicInput: alloy::sol_types::private::Vec<
2845 alloy::sol_types::private::primitives::aliases::U256,
2846 >,
2847 #[allow(missing_docs)]
2848 pub proof: <PlonkProof as alloy::sol_types::SolType>::RustType,
2849 }
2850 #[derive(serde::Serialize, serde::Deserialize)]
2851 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2852 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2854 #[derive(Clone)]
2855 pub struct verifyReturn {
2856 #[allow(missing_docs)]
2857 pub _0: bool,
2858 }
2859 #[allow(
2860 non_camel_case_types,
2861 non_snake_case,
2862 clippy::pub_underscore_fields,
2863 clippy::style
2864 )]
2865 const _: () = {
2866 use alloy::sol_types as alloy_sol_types;
2867 {
2868 #[doc(hidden)]
2869 #[allow(dead_code)]
2870 type UnderlyingSolTuple<'a> = (
2871 VerifyingKey,
2872 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
2873 PlonkProof,
2874 );
2875 #[doc(hidden)]
2876 type UnderlyingRustTuple<'a> = (
2877 <VerifyingKey as alloy::sol_types::SolType>::RustType,
2878 alloy::sol_types::private::Vec<
2879 alloy::sol_types::private::primitives::aliases::U256,
2880 >,
2881 <PlonkProof as alloy::sol_types::SolType>::RustType,
2882 );
2883 #[cfg(test)]
2884 #[allow(dead_code, unreachable_patterns)]
2885 fn _type_assertion(
2886 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2887 ) {
2888 match _t {
2889 alloy_sol_types::private::AssertTypeEq::<
2890 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2891 >(_) => {}
2892 }
2893 }
2894 #[automatically_derived]
2895 #[doc(hidden)]
2896 impl ::core::convert::From<verifyCall> for UnderlyingRustTuple<'_> {
2897 fn from(value: verifyCall) -> Self {
2898 (value.verifyingKey, value.publicInput, value.proof)
2899 }
2900 }
2901 #[automatically_derived]
2902 #[doc(hidden)]
2903 impl ::core::convert::From<UnderlyingRustTuple<'_>> for verifyCall {
2904 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2905 Self {
2906 verifyingKey: tuple.0,
2907 publicInput: tuple.1,
2908 proof: tuple.2,
2909 }
2910 }
2911 }
2912 }
2913 {
2914 #[doc(hidden)]
2915 #[allow(dead_code)]
2916 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
2917 #[doc(hidden)]
2918 type UnderlyingRustTuple<'a> = (bool,);
2919 #[cfg(test)]
2920 #[allow(dead_code, unreachable_patterns)]
2921 fn _type_assertion(
2922 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2923 ) {
2924 match _t {
2925 alloy_sol_types::private::AssertTypeEq::<
2926 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2927 >(_) => {}
2928 }
2929 }
2930 #[automatically_derived]
2931 #[doc(hidden)]
2932 impl ::core::convert::From<verifyReturn> for UnderlyingRustTuple<'_> {
2933 fn from(value: verifyReturn) -> Self {
2934 (value._0,)
2935 }
2936 }
2937 #[automatically_derived]
2938 #[doc(hidden)]
2939 impl ::core::convert::From<UnderlyingRustTuple<'_>> for verifyReturn {
2940 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2941 Self { _0: tuple.0 }
2942 }
2943 }
2944 }
2945 #[automatically_derived]
2946 impl alloy_sol_types::SolCall for verifyCall {
2947 type Parameters<'a> = (
2948 VerifyingKey,
2949 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
2950 PlonkProof,
2951 );
2952 type Token<'a> = <Self::Parameters<
2953 'a,
2954 > as alloy_sol_types::SolType>::Token<'a>;
2955 type Return = bool;
2956 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
2957 type ReturnToken<'a> = <Self::ReturnTuple<
2958 'a,
2959 > as alloy_sol_types::SolType>::Token<'a>;
2960 const SIGNATURE: &'static str = "verify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),bytes32,bytes32),uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))";
2961 const SELECTOR: [u8; 4] = [226u8, 96u8, 80u8, 16u8];
2962 #[inline]
2963 fn new<'a>(
2964 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2965 ) -> Self {
2966 tuple.into()
2967 }
2968 #[inline]
2969 fn tokenize(&self) -> Self::Token<'_> {
2970 (
2971 <VerifyingKey as alloy_sol_types::SolType>::tokenize(
2972 &self.verifyingKey,
2973 ),
2974 <alloy::sol_types::sol_data::Array<
2975 alloy::sol_types::sol_data::Uint<256>,
2976 > as alloy_sol_types::SolType>::tokenize(&self.publicInput),
2977 <PlonkProof as alloy_sol_types::SolType>::tokenize(&self.proof),
2978 )
2979 }
2980 #[inline]
2981 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2982 (
2983 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
2984 ret,
2985 ),
2986 )
2987 }
2988 #[inline]
2989 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2990 <Self::ReturnTuple<
2991 '_,
2992 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2993 .map(|r| {
2994 let r: verifyReturn = r.into();
2995 r._0
2996 })
2997 }
2998 #[inline]
2999 fn abi_decode_returns_validate(
3000 data: &[u8],
3001 ) -> alloy_sol_types::Result<Self::Return> {
3002 <Self::ReturnTuple<
3003 '_,
3004 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3005 .map(|r| {
3006 let r: verifyReturn = r.into();
3007 r._0
3008 })
3009 }
3010 }
3011 };
3012 #[derive(serde::Serialize, serde::Deserialize)]
3014 #[derive()]
3015 pub enum IPlonkVerifierCalls {
3016 #[allow(missing_docs)]
3017 verify(verifyCall),
3018 }
3019 #[automatically_derived]
3020 impl IPlonkVerifierCalls {
3021 pub const SELECTORS: &'static [[u8; 4usize]] = &[[226u8, 96u8, 80u8, 16u8]];
3028 }
3029 #[automatically_derived]
3030 impl alloy_sol_types::SolInterface for IPlonkVerifierCalls {
3031 const NAME: &'static str = "IPlonkVerifierCalls";
3032 const MIN_DATA_LENGTH: usize = 512usize;
3033 const COUNT: usize = 1usize;
3034 #[inline]
3035 fn selector(&self) -> [u8; 4] {
3036 match self {
3037 Self::verify(_) => <verifyCall as alloy_sol_types::SolCall>::SELECTOR,
3038 }
3039 }
3040 #[inline]
3041 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
3042 Self::SELECTORS.get(i).copied()
3043 }
3044 #[inline]
3045 fn valid_selector(selector: [u8; 4]) -> bool {
3046 Self::SELECTORS.binary_search(&selector).is_ok()
3047 }
3048 #[inline]
3049 #[allow(non_snake_case)]
3050 fn abi_decode_raw(
3051 selector: [u8; 4],
3052 data: &[u8],
3053 ) -> alloy_sol_types::Result<Self> {
3054 static DECODE_SHIMS: &[fn(
3055 &[u8],
3056 ) -> alloy_sol_types::Result<IPlonkVerifierCalls>] = &[
3057 {
3058 fn verify(
3059 data: &[u8],
3060 ) -> alloy_sol_types::Result<IPlonkVerifierCalls> {
3061 <verifyCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
3062 .map(IPlonkVerifierCalls::verify)
3063 }
3064 verify
3065 },
3066 ];
3067 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
3068 return Err(
3069 alloy_sol_types::Error::unknown_selector(
3070 <Self as alloy_sol_types::SolInterface>::NAME,
3071 selector,
3072 ),
3073 );
3074 };
3075 DECODE_SHIMS[idx](data)
3076 }
3077 #[inline]
3078 #[allow(non_snake_case)]
3079 fn abi_decode_raw_validate(
3080 selector: [u8; 4],
3081 data: &[u8],
3082 ) -> alloy_sol_types::Result<Self> {
3083 static DECODE_VALIDATE_SHIMS: &[fn(
3084 &[u8],
3085 ) -> alloy_sol_types::Result<IPlonkVerifierCalls>] = &[
3086 {
3087 fn verify(
3088 data: &[u8],
3089 ) -> alloy_sol_types::Result<IPlonkVerifierCalls> {
3090 <verifyCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
3091 data,
3092 )
3093 .map(IPlonkVerifierCalls::verify)
3094 }
3095 verify
3096 },
3097 ];
3098 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
3099 return Err(
3100 alloy_sol_types::Error::unknown_selector(
3101 <Self as alloy_sol_types::SolInterface>::NAME,
3102 selector,
3103 ),
3104 );
3105 };
3106 DECODE_VALIDATE_SHIMS[idx](data)
3107 }
3108 #[inline]
3109 fn abi_encoded_size(&self) -> usize {
3110 match self {
3111 Self::verify(inner) => {
3112 <verifyCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
3113 }
3114 }
3115 }
3116 #[inline]
3117 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
3118 match self {
3119 Self::verify(inner) => {
3120 <verifyCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
3121 }
3122 }
3123 }
3124 }
3125 use alloy::contract as alloy_contract;
3126 #[inline]
3130 pub const fn new<
3131 P: alloy_contract::private::Provider<N>,
3132 N: alloy_contract::private::Network,
3133 >(
3134 address: alloy_sol_types::private::Address,
3135 __provider: P,
3136 ) -> IPlonkVerifierInstance<P, N> {
3137 IPlonkVerifierInstance::<P, N>::new(address, __provider)
3138 }
3139 #[inline]
3145 pub fn deploy<
3146 P: alloy_contract::private::Provider<N>,
3147 N: alloy_contract::private::Network,
3148 >(
3149 __provider: P,
3150 ) -> impl ::core::future::Future<
3151 Output = alloy_contract::Result<IPlonkVerifierInstance<P, N>>,
3152 > {
3153 IPlonkVerifierInstance::<P, N>::deploy(__provider)
3154 }
3155 #[inline]
3161 pub fn deploy_builder<
3162 P: alloy_contract::private::Provider<N>,
3163 N: alloy_contract::private::Network,
3164 >(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
3165 IPlonkVerifierInstance::<P, N>::deploy_builder(__provider)
3166 }
3167 #[derive(Clone)]
3179 pub struct IPlonkVerifierInstance<P, N = alloy_contract::private::Ethereum> {
3180 address: alloy_sol_types::private::Address,
3181 provider: P,
3182 _network: ::core::marker::PhantomData<N>,
3183 }
3184 #[automatically_derived]
3185 impl<P, N> ::core::fmt::Debug for IPlonkVerifierInstance<P, N> {
3186 #[inline]
3187 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3188 f.debug_tuple("IPlonkVerifierInstance").field(&self.address).finish()
3189 }
3190 }
3191 #[automatically_derived]
3193 impl<
3194 P: alloy_contract::private::Provider<N>,
3195 N: alloy_contract::private::Network,
3196 > IPlonkVerifierInstance<P, N> {
3197 #[inline]
3201 pub const fn new(
3202 address: alloy_sol_types::private::Address,
3203 __provider: P,
3204 ) -> Self {
3205 Self {
3206 address,
3207 provider: __provider,
3208 _network: ::core::marker::PhantomData,
3209 }
3210 }
3211 #[inline]
3217 pub async fn deploy(
3218 __provider: P,
3219 ) -> alloy_contract::Result<IPlonkVerifierInstance<P, N>> {
3220 let call_builder = Self::deploy_builder(__provider);
3221 let contract_address = call_builder.deploy().await?;
3222 Ok(Self::new(contract_address, call_builder.provider))
3223 }
3224 #[inline]
3230 pub fn deploy_builder(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
3231 alloy_contract::RawCallBuilder::new_raw_deploy(
3232 __provider,
3233 ::core::clone::Clone::clone(&BYTECODE),
3234 )
3235 }
3236 #[inline]
3238 pub const fn address(&self) -> &alloy_sol_types::private::Address {
3239 &self.address
3240 }
3241 #[inline]
3243 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
3244 self.address = address;
3245 }
3246 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
3248 self.set_address(address);
3249 self
3250 }
3251 #[inline]
3253 pub const fn provider(&self) -> &P {
3254 &self.provider
3255 }
3256 }
3257 impl<P: ::core::clone::Clone, N> IPlonkVerifierInstance<&P, N> {
3258 #[inline]
3260 pub fn with_cloned_provider(self) -> IPlonkVerifierInstance<P, N> {
3261 IPlonkVerifierInstance {
3262 address: self.address,
3263 provider: ::core::clone::Clone::clone(&self.provider),
3264 _network: ::core::marker::PhantomData,
3265 }
3266 }
3267 }
3268 #[automatically_derived]
3270 impl<
3271 P: alloy_contract::private::Provider<N>,
3272 N: alloy_contract::private::Network,
3273 > IPlonkVerifierInstance<P, N> {
3274 pub fn call_builder<C: alloy_sol_types::SolCall>(
3279 &self,
3280 call: &C,
3281 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
3282 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
3283 }
3284 pub fn verify(
3286 &self,
3287 verifyingKey: <VerifyingKey as alloy::sol_types::SolType>::RustType,
3288 publicInput: alloy::sol_types::private::Vec<
3289 alloy::sol_types::private::primitives::aliases::U256,
3290 >,
3291 proof: <PlonkProof as alloy::sol_types::SolType>::RustType,
3292 ) -> alloy_contract::SolCallBuilder<&P, verifyCall, N> {
3293 self.call_builder(
3294 &verifyCall {
3295 verifyingKey,
3296 publicInput,
3297 proof,
3298 },
3299 )
3300 }
3301 }
3302 #[automatically_derived]
3304 impl<
3305 P: alloy_contract::private::Provider<N>,
3306 N: alloy_contract::private::Network,
3307 > IPlonkVerifierInstance<P, N> {
3308 pub fn event_filter<E: alloy_sol_types::SolEvent>(
3313 &self,
3314 ) -> alloy_contract::Event<&P, E, N> {
3315 alloy_contract::Event::new_sol(&self.provider, &self.address)
3316 }
3317 }
3318}