1#![allow(clippy::all, clippy::pedantic, clippy::nursery, warnings, unknown_lints, rustdoc::all, elided_lifetimes_in_paths)]
2use SignatureCheckerLib::*;
3
4#[allow(
49 non_camel_case_types,
50 non_snake_case,
51 clippy::pub_underscore_fields,
52 clippy::style,
53 clippy::empty_structs_with_brackets
54)]
55pub mod SignatureCheckerLib {
56 use super::*;
57 use alloy::sol_types as alloy_sol_types;
58 #[rustfmt::skip]
64 #[allow(clippy::all)]
65 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
66 b"a\x04\x82a\x004`\x0B\x82\x82\x829\x80Q_\x1A`s\x14`(WcNH{q`\xE0\x1B_R_`\x04R`$_\xFD[0_R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\x046\x10a\x004W_5`\xE0\x1C\x80c#\x8AM\x1E\x14a\08W[__\xFD[a\0Ka\0F6`\x04a\x02\xD2V[a\0MV[\0[a\0X\x83\x83\x83a\0zV[a\0uW`@Qc\x8B\xAAW\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[___a\0\x87\x85\x85a\0\xD8V[\x90\x92P\x90P_\x81`\x04\x81\x11\x15a\0\x9FWa\0\x9Fa\x03\xABV[\x14\x80\x15a\0\xBDWP\x85`\x01`\x01`\xA0\x1B\x03\x16\x82`\x01`\x01`\xA0\x1B\x03\x16\x14[\x80a\0\xCEWPa\0\xCE\x86\x86\x86a\x01\x1AV[\x96\x95PPPPPPV[__\x82Q`A\x03a\x01\x0CW` \x83\x01Q`@\x84\x01Q``\x85\x01Q_\x1Aa\x01\0\x87\x82\x85\x85a\x02\x01V[\x94P\x94PPPPa\x01\x13V[P_\x90P`\x02[\x92P\x92\x90PV[___\x85`\x01`\x01`\xA0\x1B\x03\x16c\x16&\xBA~`\xE0\x1B\x86\x86`@Q`$\x01a\x01B\x92\x91\x90a\x03\xE1V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16`\x01`\x01`\xE0\x1B\x03\x19\x90\x94\x16\x93\x90\x93\x17\x90\x92R\x90Qa\x01\x80\x91\x90a\x04\x1AV[_`@Q\x80\x83\x03\x81\x85Z\xFA\x91PP=\x80_\x81\x14a\x01\xB8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x01\xBDV[``\x91P[P\x91P\x91P\x81\x80\x15a\x01\xD1WP` \x81Q\x10\x15[\x80\x15a\0\xCEWP\x80Qc\x0B\x13]?`\xE1\x1B\x90a\x01\xF6\x90\x83\x01` \x90\x81\x01\x90\x84\x01a\x045V[\x14\x96\x95PPPPPPV[_\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x83\x11\x15a\x026WP_\x90P`\x03a\x02\xB5V[`@\x80Q_\x80\x82R` \x82\x01\x80\x84R\x89\x90R`\xFF\x88\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x02\x87W=__>=_\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x02\xAFW_`\x01\x92P\x92PPa\x02\xB5V[\x91P_\x90P[\x94P\x94\x92PPPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[___``\x84\x86\x03\x12\x15a\x02\xE4W__\xFD[\x835`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\xFAW__\xFD[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x1CW__\xFD[\x84\x01`\x1F\x81\x01\x86\x13a\x03,W__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03FWa\x03Fa\x02\xBEV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03uWa\x03ua\x02\xBEV[`@R\x81\x81R\x82\x82\x01` \x01\x88\x10\x15a\x03\x8CW__\xFD[\x81` \x84\x01` \x83\x017_` \x83\x83\x01\x01R\x80\x93PPPP\x92P\x92P\x92V[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[_[\x83\x81\x10\x15a\x03\xD9W\x81\x81\x01Q\x83\x82\x01R` \x01a\x03\xC1V[PP_\x91\x01RV[\x82\x81R`@` \x82\x01R_\x82Q\x80`@\x84\x01Ra\x04\x05\x81``\x85\x01` \x87\x01a\x03\xBFV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01``\x01\x93\x92PPPV[_\x82Qa\x04+\x81\x84` \x87\x01a\x03\xBFV[\x91\x90\x91\x01\x92\x91PPV[_` \x82\x84\x03\x12\x15a\x04EW__\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 d~(\x0F\x8C.\xD1\xF6\xF0n\xCFX\xB8z\xCA\xCA\xD2\xCB\xC8\x18\x93u\xBC\xC0\xB14\xD2x\xAC\x85\xAF\xA0dsolcC\0\x08\x1B\x003",
67 );
68 #[rustfmt::skip]
74 #[allow(clippy::all)]
75 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
76 b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\x046\x10a\x004W_5`\xE0\x1C\x80c#\x8AM\x1E\x14a\08W[__\xFD[a\0Ka\0F6`\x04a\x02\xD2V[a\0MV[\0[a\0X\x83\x83\x83a\0zV[a\0uW`@Qc\x8B\xAAW\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[___a\0\x87\x85\x85a\0\xD8V[\x90\x92P\x90P_\x81`\x04\x81\x11\x15a\0\x9FWa\0\x9Fa\x03\xABV[\x14\x80\x15a\0\xBDWP\x85`\x01`\x01`\xA0\x1B\x03\x16\x82`\x01`\x01`\xA0\x1B\x03\x16\x14[\x80a\0\xCEWPa\0\xCE\x86\x86\x86a\x01\x1AV[\x96\x95PPPPPPV[__\x82Q`A\x03a\x01\x0CW` \x83\x01Q`@\x84\x01Q``\x85\x01Q_\x1Aa\x01\0\x87\x82\x85\x85a\x02\x01V[\x94P\x94PPPPa\x01\x13V[P_\x90P`\x02[\x92P\x92\x90PV[___\x85`\x01`\x01`\xA0\x1B\x03\x16c\x16&\xBA~`\xE0\x1B\x86\x86`@Q`$\x01a\x01B\x92\x91\x90a\x03\xE1V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16`\x01`\x01`\xE0\x1B\x03\x19\x90\x94\x16\x93\x90\x93\x17\x90\x92R\x90Qa\x01\x80\x91\x90a\x04\x1AV[_`@Q\x80\x83\x03\x81\x85Z\xFA\x91PP=\x80_\x81\x14a\x01\xB8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x01\xBDV[``\x91P[P\x91P\x91P\x81\x80\x15a\x01\xD1WP` \x81Q\x10\x15[\x80\x15a\0\xCEWP\x80Qc\x0B\x13]?`\xE1\x1B\x90a\x01\xF6\x90\x83\x01` \x90\x81\x01\x90\x84\x01a\x045V[\x14\x96\x95PPPPPPV[_\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x83\x11\x15a\x026WP_\x90P`\x03a\x02\xB5V[`@\x80Q_\x80\x82R` \x82\x01\x80\x84R\x89\x90R`\xFF\x88\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x02\x87W=__>=_\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x02\xAFW_`\x01\x92P\x92PPa\x02\xB5V[\x91P_\x90P[\x94P\x94\x92PPPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[___``\x84\x86\x03\x12\x15a\x02\xE4W__\xFD[\x835`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\xFAW__\xFD[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x1CW__\xFD[\x84\x01`\x1F\x81\x01\x86\x13a\x03,W__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03FWa\x03Fa\x02\xBEV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03uWa\x03ua\x02\xBEV[`@R\x81\x81R\x82\x82\x01` \x01\x88\x10\x15a\x03\x8CW__\xFD[\x81` \x84\x01` \x83\x017_` \x83\x83\x01\x01R\x80\x93PPPP\x92P\x92P\x92V[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[_[\x83\x81\x10\x15a\x03\xD9W\x81\x81\x01Q\x83\x82\x01R` \x01a\x03\xC1V[PP_\x91\x01RV[\x82\x81R`@` \x82\x01R_\x82Q\x80`@\x84\x01Ra\x04\x05\x81``\x85\x01` \x87\x01a\x03\xBFV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01``\x01\x93\x92PPPV[_\x82Qa\x04+\x81\x84` \x87\x01a\x03\xBFV[\x91\x90\x91\x01\x92\x91PPV[_` \x82\x84\x03\x12\x15a\x04EW__\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 d~(\x0F\x8C.\xD1\xF6\xF0n\xCFX\xB8z\xCA\xCA\xD2\xCB\xC8\x18\x93u\xBC\xC0\xB14\xD2x\xAC\x85\xAF\xA0dsolcC\0\x08\x1B\x003",
77 );
78 #[derive(serde::Serialize, serde::Deserialize)]
79 #[derive(Default, Debug, PartialEq, Eq, Hash)]
80 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
85 #[derive(Clone)]
86 pub struct InvalidSignature;
87 #[allow(
88 non_camel_case_types,
89 non_snake_case,
90 clippy::pub_underscore_fields,
91 clippy::style
92 )]
93 const _: () = {
94 use alloy::sol_types as alloy_sol_types;
95 #[doc(hidden)]
96 type UnderlyingSolTuple<'a> = ();
97 #[doc(hidden)]
98 type UnderlyingRustTuple<'a> = ();
99 #[cfg(test)]
100 #[allow(dead_code, unreachable_patterns)]
101 fn _type_assertion(
102 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
103 ) {
104 match _t {
105 alloy_sol_types::private::AssertTypeEq::<
106 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
107 >(_) => {}
108 }
109 }
110 #[automatically_derived]
111 #[doc(hidden)]
112 impl ::core::convert::From<InvalidSignature> for UnderlyingRustTuple<'_> {
113 fn from(value: InvalidSignature) -> Self {
114 ()
115 }
116 }
117 #[automatically_derived]
118 #[doc(hidden)]
119 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidSignature {
120 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
121 Self
122 }
123 }
124 #[automatically_derived]
125 impl alloy_sol_types::SolError for InvalidSignature {
126 type Parameters<'a> = UnderlyingSolTuple<'a>;
127 type Token<'a> = <Self::Parameters<
128 'a,
129 > as alloy_sol_types::SolType>::Token<'a>;
130 const SIGNATURE: &'static str = "InvalidSignature()";
131 const SELECTOR: [u8; 4] = [139u8, 170u8, 87u8, 159u8];
132 #[inline]
133 fn new<'a>(
134 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
135 ) -> Self {
136 tuple.into()
137 }
138 #[inline]
139 fn tokenize(&self) -> Self::Token<'_> {
140 ()
141 }
142 #[inline]
143 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
144 <Self::Parameters<
145 '_,
146 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
147 .map(Self::new)
148 }
149 }
150 };
151 #[derive(serde::Serialize, serde::Deserialize)]
152 #[derive(Default, Debug, PartialEq, Eq, Hash)]
153 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
158 #[derive(Clone)]
159 pub struct isValidSignatureCall {
160 #[allow(missing_docs)]
161 pub signer: alloy::sol_types::private::Address,
162 #[allow(missing_docs)]
163 pub digestHash: alloy::sol_types::private::FixedBytes<32>,
164 #[allow(missing_docs)]
165 pub signature: alloy::sol_types::private::Bytes,
166 }
167 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
169 #[derive(Clone)]
170 pub struct isValidSignatureReturn {}
171 #[allow(
172 non_camel_case_types,
173 non_snake_case,
174 clippy::pub_underscore_fields,
175 clippy::style
176 )]
177 const _: () = {
178 use alloy::sol_types as alloy_sol_types;
179 {
180 #[doc(hidden)]
181 type UnderlyingSolTuple<'a> = (
182 alloy::sol_types::sol_data::Address,
183 alloy::sol_types::sol_data::FixedBytes<32>,
184 alloy::sol_types::sol_data::Bytes,
185 );
186 #[doc(hidden)]
187 type UnderlyingRustTuple<'a> = (
188 alloy::sol_types::private::Address,
189 alloy::sol_types::private::FixedBytes<32>,
190 alloy::sol_types::private::Bytes,
191 );
192 #[cfg(test)]
193 #[allow(dead_code, unreachable_patterns)]
194 fn _type_assertion(
195 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
196 ) {
197 match _t {
198 alloy_sol_types::private::AssertTypeEq::<
199 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
200 >(_) => {}
201 }
202 }
203 #[automatically_derived]
204 #[doc(hidden)]
205 impl ::core::convert::From<isValidSignatureCall>
206 for UnderlyingRustTuple<'_> {
207 fn from(value: isValidSignatureCall) -> Self {
208 (value.signer, value.digestHash, value.signature)
209 }
210 }
211 #[automatically_derived]
212 #[doc(hidden)]
213 impl ::core::convert::From<UnderlyingRustTuple<'_>>
214 for isValidSignatureCall {
215 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
216 Self {
217 signer: tuple.0,
218 digestHash: tuple.1,
219 signature: tuple.2,
220 }
221 }
222 }
223 }
224 {
225 #[doc(hidden)]
226 type UnderlyingSolTuple<'a> = ();
227 #[doc(hidden)]
228 type UnderlyingRustTuple<'a> = ();
229 #[cfg(test)]
230 #[allow(dead_code, unreachable_patterns)]
231 fn _type_assertion(
232 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
233 ) {
234 match _t {
235 alloy_sol_types::private::AssertTypeEq::<
236 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
237 >(_) => {}
238 }
239 }
240 #[automatically_derived]
241 #[doc(hidden)]
242 impl ::core::convert::From<isValidSignatureReturn>
243 for UnderlyingRustTuple<'_> {
244 fn from(value: isValidSignatureReturn) -> Self {
245 ()
246 }
247 }
248 #[automatically_derived]
249 #[doc(hidden)]
250 impl ::core::convert::From<UnderlyingRustTuple<'_>>
251 for isValidSignatureReturn {
252 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
253 Self {}
254 }
255 }
256 }
257 impl isValidSignatureReturn {
258 fn _tokenize(
259 &self,
260 ) -> <isValidSignatureCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
261 ()
262 }
263 }
264 #[automatically_derived]
265 impl alloy_sol_types::SolCall for isValidSignatureCall {
266 type Parameters<'a> = (
267 alloy::sol_types::sol_data::Address,
268 alloy::sol_types::sol_data::FixedBytes<32>,
269 alloy::sol_types::sol_data::Bytes,
270 );
271 type Token<'a> = <Self::Parameters<
272 'a,
273 > as alloy_sol_types::SolType>::Token<'a>;
274 type Return = isValidSignatureReturn;
275 type ReturnTuple<'a> = ();
276 type ReturnToken<'a> = <Self::ReturnTuple<
277 'a,
278 > as alloy_sol_types::SolType>::Token<'a>;
279 const SIGNATURE: &'static str = "isValidSignature(address,bytes32,bytes)";
280 const SELECTOR: [u8; 4] = [35u8, 138u8, 77u8, 30u8];
281 #[inline]
282 fn new<'a>(
283 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
284 ) -> Self {
285 tuple.into()
286 }
287 #[inline]
288 fn tokenize(&self) -> Self::Token<'_> {
289 (
290 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
291 &self.signer,
292 ),
293 <alloy::sol_types::sol_data::FixedBytes<
294 32,
295 > as alloy_sol_types::SolType>::tokenize(&self.digestHash),
296 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
297 &self.signature,
298 ),
299 )
300 }
301 #[inline]
302 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
303 isValidSignatureReturn::_tokenize(ret)
304 }
305 #[inline]
306 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
307 <Self::ReturnTuple<
308 '_,
309 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
310 .map(Into::into)
311 }
312 #[inline]
313 fn abi_decode_returns_validate(
314 data: &[u8],
315 ) -> alloy_sol_types::Result<Self::Return> {
316 <Self::ReturnTuple<
317 '_,
318 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
319 .map(Into::into)
320 }
321 }
322 };
323 #[derive(serde::Serialize, serde::Deserialize)]
325 #[derive()]
326 pub enum SignatureCheckerLibCalls {
327 #[allow(missing_docs)]
328 isValidSignature(isValidSignatureCall),
329 }
330 #[automatically_derived]
331 impl SignatureCheckerLibCalls {
332 pub const SELECTORS: &'static [[u8; 4usize]] = &[[35u8, 138u8, 77u8, 30u8]];
339 }
340 #[automatically_derived]
341 impl alloy_sol_types::SolInterface for SignatureCheckerLibCalls {
342 const NAME: &'static str = "SignatureCheckerLibCalls";
343 const MIN_DATA_LENGTH: usize = 128usize;
344 const COUNT: usize = 1usize;
345 #[inline]
346 fn selector(&self) -> [u8; 4] {
347 match self {
348 Self::isValidSignature(_) => {
349 <isValidSignatureCall as alloy_sol_types::SolCall>::SELECTOR
350 }
351 }
352 }
353 #[inline]
354 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
355 Self::SELECTORS.get(i).copied()
356 }
357 #[inline]
358 fn valid_selector(selector: [u8; 4]) -> bool {
359 Self::SELECTORS.binary_search(&selector).is_ok()
360 }
361 #[inline]
362 #[allow(non_snake_case)]
363 fn abi_decode_raw(
364 selector: [u8; 4],
365 data: &[u8],
366 ) -> alloy_sol_types::Result<Self> {
367 static DECODE_SHIMS: &[fn(
368 &[u8],
369 ) -> alloy_sol_types::Result<SignatureCheckerLibCalls>] = &[
370 {
371 fn isValidSignature(
372 data: &[u8],
373 ) -> alloy_sol_types::Result<SignatureCheckerLibCalls> {
374 <isValidSignatureCall as alloy_sol_types::SolCall>::abi_decode_raw(
375 data,
376 )
377 .map(SignatureCheckerLibCalls::isValidSignature)
378 }
379 isValidSignature
380 },
381 ];
382 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
383 return Err(
384 alloy_sol_types::Error::unknown_selector(
385 <Self as alloy_sol_types::SolInterface>::NAME,
386 selector,
387 ),
388 );
389 };
390 DECODE_SHIMS[idx](data)
391 }
392 #[inline]
393 #[allow(non_snake_case)]
394 fn abi_decode_raw_validate(
395 selector: [u8; 4],
396 data: &[u8],
397 ) -> alloy_sol_types::Result<Self> {
398 static DECODE_VALIDATE_SHIMS: &[fn(
399 &[u8],
400 ) -> alloy_sol_types::Result<SignatureCheckerLibCalls>] = &[
401 {
402 fn isValidSignature(
403 data: &[u8],
404 ) -> alloy_sol_types::Result<SignatureCheckerLibCalls> {
405 <isValidSignatureCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
406 data,
407 )
408 .map(SignatureCheckerLibCalls::isValidSignature)
409 }
410 isValidSignature
411 },
412 ];
413 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
414 return Err(
415 alloy_sol_types::Error::unknown_selector(
416 <Self as alloy_sol_types::SolInterface>::NAME,
417 selector,
418 ),
419 );
420 };
421 DECODE_VALIDATE_SHIMS[idx](data)
422 }
423 #[inline]
424 fn abi_encoded_size(&self) -> usize {
425 match self {
426 Self::isValidSignature(inner) => {
427 <isValidSignatureCall as alloy_sol_types::SolCall>::abi_encoded_size(
428 inner,
429 )
430 }
431 }
432 }
433 #[inline]
434 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
435 match self {
436 Self::isValidSignature(inner) => {
437 <isValidSignatureCall as alloy_sol_types::SolCall>::abi_encode_raw(
438 inner,
439 out,
440 )
441 }
442 }
443 }
444 }
445 #[derive(serde::Serialize, serde::Deserialize)]
447 #[derive(Debug, PartialEq, Eq, Hash)]
448 pub enum SignatureCheckerLibErrors {
449 #[allow(missing_docs)]
450 InvalidSignature(InvalidSignature),
451 }
452 #[automatically_derived]
453 impl SignatureCheckerLibErrors {
454 pub const SELECTORS: &'static [[u8; 4usize]] = &[[139u8, 170u8, 87u8, 159u8]];
461 }
462 #[automatically_derived]
463 impl alloy_sol_types::SolInterface for SignatureCheckerLibErrors {
464 const NAME: &'static str = "SignatureCheckerLibErrors";
465 const MIN_DATA_LENGTH: usize = 0usize;
466 const COUNT: usize = 1usize;
467 #[inline]
468 fn selector(&self) -> [u8; 4] {
469 match self {
470 Self::InvalidSignature(_) => {
471 <InvalidSignature as alloy_sol_types::SolError>::SELECTOR
472 }
473 }
474 }
475 #[inline]
476 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
477 Self::SELECTORS.get(i).copied()
478 }
479 #[inline]
480 fn valid_selector(selector: [u8; 4]) -> bool {
481 Self::SELECTORS.binary_search(&selector).is_ok()
482 }
483 #[inline]
484 #[allow(non_snake_case)]
485 fn abi_decode_raw(
486 selector: [u8; 4],
487 data: &[u8],
488 ) -> alloy_sol_types::Result<Self> {
489 static DECODE_SHIMS: &[fn(
490 &[u8],
491 ) -> alloy_sol_types::Result<SignatureCheckerLibErrors>] = &[
492 {
493 fn InvalidSignature(
494 data: &[u8],
495 ) -> alloy_sol_types::Result<SignatureCheckerLibErrors> {
496 <InvalidSignature as alloy_sol_types::SolError>::abi_decode_raw(
497 data,
498 )
499 .map(SignatureCheckerLibErrors::InvalidSignature)
500 }
501 InvalidSignature
502 },
503 ];
504 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
505 return Err(
506 alloy_sol_types::Error::unknown_selector(
507 <Self as alloy_sol_types::SolInterface>::NAME,
508 selector,
509 ),
510 );
511 };
512 DECODE_SHIMS[idx](data)
513 }
514 #[inline]
515 #[allow(non_snake_case)]
516 fn abi_decode_raw_validate(
517 selector: [u8; 4],
518 data: &[u8],
519 ) -> alloy_sol_types::Result<Self> {
520 static DECODE_VALIDATE_SHIMS: &[fn(
521 &[u8],
522 ) -> alloy_sol_types::Result<SignatureCheckerLibErrors>] = &[
523 {
524 fn InvalidSignature(
525 data: &[u8],
526 ) -> alloy_sol_types::Result<SignatureCheckerLibErrors> {
527 <InvalidSignature as alloy_sol_types::SolError>::abi_decode_raw_validate(
528 data,
529 )
530 .map(SignatureCheckerLibErrors::InvalidSignature)
531 }
532 InvalidSignature
533 },
534 ];
535 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
536 return Err(
537 alloy_sol_types::Error::unknown_selector(
538 <Self as alloy_sol_types::SolInterface>::NAME,
539 selector,
540 ),
541 );
542 };
543 DECODE_VALIDATE_SHIMS[idx](data)
544 }
545 #[inline]
546 fn abi_encoded_size(&self) -> usize {
547 match self {
548 Self::InvalidSignature(inner) => {
549 <InvalidSignature as alloy_sol_types::SolError>::abi_encoded_size(
550 inner,
551 )
552 }
553 }
554 }
555 #[inline]
556 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
557 match self {
558 Self::InvalidSignature(inner) => {
559 <InvalidSignature as alloy_sol_types::SolError>::abi_encode_raw(
560 inner,
561 out,
562 )
563 }
564 }
565 }
566 }
567 use alloy::contract as alloy_contract;
568 #[inline]
572 pub const fn new<
573 P: alloy_contract::private::Provider<N>,
574 N: alloy_contract::private::Network,
575 >(
576 address: alloy_sol_types::private::Address,
577 provider: P,
578 ) -> SignatureCheckerLibInstance<P, N> {
579 SignatureCheckerLibInstance::<P, N>::new(address, provider)
580 }
581 #[inline]
587 pub fn deploy<
588 P: alloy_contract::private::Provider<N>,
589 N: alloy_contract::private::Network,
590 >(
591 provider: P,
592 ) -> impl ::core::future::Future<
593 Output = alloy_contract::Result<SignatureCheckerLibInstance<P, N>>,
594 > {
595 SignatureCheckerLibInstance::<P, N>::deploy(provider)
596 }
597 #[inline]
603 pub fn deploy_builder<
604 P: alloy_contract::private::Provider<N>,
605 N: alloy_contract::private::Network,
606 >(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
607 SignatureCheckerLibInstance::<P, N>::deploy_builder(provider)
608 }
609 #[derive(Clone)]
621 pub struct SignatureCheckerLibInstance<P, N = alloy_contract::private::Ethereum> {
622 address: alloy_sol_types::private::Address,
623 provider: P,
624 _network: ::core::marker::PhantomData<N>,
625 }
626 #[automatically_derived]
627 impl<P, N> ::core::fmt::Debug for SignatureCheckerLibInstance<P, N> {
628 #[inline]
629 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
630 f.debug_tuple("SignatureCheckerLibInstance").field(&self.address).finish()
631 }
632 }
633 #[automatically_derived]
635 impl<
636 P: alloy_contract::private::Provider<N>,
637 N: alloy_contract::private::Network,
638 > SignatureCheckerLibInstance<P, N> {
639 #[inline]
643 pub const fn new(
644 address: alloy_sol_types::private::Address,
645 provider: P,
646 ) -> Self {
647 Self {
648 address,
649 provider,
650 _network: ::core::marker::PhantomData,
651 }
652 }
653 #[inline]
659 pub async fn deploy(
660 provider: P,
661 ) -> alloy_contract::Result<SignatureCheckerLibInstance<P, N>> {
662 let call_builder = Self::deploy_builder(provider);
663 let contract_address = call_builder.deploy().await?;
664 Ok(Self::new(contract_address, call_builder.provider))
665 }
666 #[inline]
672 pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
673 alloy_contract::RawCallBuilder::new_raw_deploy(
674 provider,
675 ::core::clone::Clone::clone(&BYTECODE),
676 )
677 }
678 #[inline]
680 pub const fn address(&self) -> &alloy_sol_types::private::Address {
681 &self.address
682 }
683 #[inline]
685 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
686 self.address = address;
687 }
688 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
690 self.set_address(address);
691 self
692 }
693 #[inline]
695 pub const fn provider(&self) -> &P {
696 &self.provider
697 }
698 }
699 impl<P: ::core::clone::Clone, N> SignatureCheckerLibInstance<&P, N> {
700 #[inline]
702 pub fn with_cloned_provider(self) -> SignatureCheckerLibInstance<P, N> {
703 SignatureCheckerLibInstance {
704 address: self.address,
705 provider: ::core::clone::Clone::clone(&self.provider),
706 _network: ::core::marker::PhantomData,
707 }
708 }
709 }
710 #[automatically_derived]
712 impl<
713 P: alloy_contract::private::Provider<N>,
714 N: alloy_contract::private::Network,
715 > SignatureCheckerLibInstance<P, N> {
716 pub fn call_builder<C: alloy_sol_types::SolCall>(
721 &self,
722 call: &C,
723 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
724 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
725 }
726 pub fn isValidSignature(
728 &self,
729 signer: alloy::sol_types::private::Address,
730 digestHash: alloy::sol_types::private::FixedBytes<32>,
731 signature: alloy::sol_types::private::Bytes,
732 ) -> alloy_contract::SolCallBuilder<&P, isValidSignatureCall, N> {
733 self.call_builder(
734 &isValidSignatureCall {
735 signer,
736 digestHash,
737 signature,
738 },
739 )
740 }
741 }
742 #[automatically_derived]
744 impl<
745 P: alloy_contract::private::Provider<N>,
746 N: alloy_contract::private::Network,
747 > SignatureCheckerLibInstance<P, N> {
748 pub fn event_filter<E: alloy_sol_types::SolEvent>(
753 &self,
754 ) -> alloy_contract::Event<&P, E, N> {
755 alloy_contract::Event::new_sol(&self.provider, &self.address)
756 }
757 }
758}