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