1#[allow(
88 non_camel_case_types,
89 non_snake_case,
90 clippy::pub_underscore_fields,
91 clippy::style,
92 clippy::empty_structs_with_brackets
93)]
94pub mod ContractsRegistry {
95 use super::*;
96 use alloy::sol_types as alloy_sol_types;
97 #[rustfmt::skip]
103 #[allow(clippy::all)]
104 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
105 b"`\x80\x80`@R4`\x15Wa\x04\xC1\x90\x81a\0\x1A\x829\xF3[_\x80\xFD\xFE`\x80\x80`@R`\x046\x10\x15a\0\x12W_\x80\xFD[_5`\xE0\x1C\x90\x81c<\xA6\xBB\x92\x14a\x02\xF8WP\x80c\x7F<,(\x14a\0\xCAW\x80c\x8768\x1A\x14a\0\xADWc\x8C[\x83\x85\x14a\0HW_\x80\xFD[4a\0\xA9W` 6`\x03\x19\x01\x12a\0\xA9W`\x045g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\0\xA9Wa\0{` \x916\x90`\x04\x01a\x045V[\x81`@Q\x91\x80Q\x91\x82\x91\x01\x83^_\x90\x82\x01\x90\x81R\x81\x90\x03\x82\x01\x90 T`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R\xF3[_\x80\xFD[4a\0\xA9W_6`\x03\x19\x01\x12a\0\xA9W` `\x02T`@Q\x90\x81R\xF3[4a\0\xA9W`@6`\x03\x19\x01\x12a\0\xA9W`\x045g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\0\xA9Wa\0\xFB\x906\x90`\x04\x01a\x045V[`$5`\x01`\x01`\xA0\x1B\x03\x81\x16\x90\x81\x90\x03a\0\xA9W`@Q\x82Q\x90` \x84\x01\x91\x80\x83\x83^_\x90\x82\x01\x90\x81R\x81\x90\x03` \x01\x90 T`\x01`\x01`\xA0\x1B\x03\x16a\x02\xB3W` `@Q\x80\x92\x85Q\x80\x91\x83^\x81\x01_\x81R\x03\x01\x90 \x90k\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\xA0\x1B\x82T\x16\x17\x90U`\x02T_R`\x01` R`@_ \x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x02\x9FWa\x01\x92\x82Ta\x03\xDBV[`\x1F\x81\x11a\x02ZW[P` \x92`\x1F\x82\x11`\x01\x14a\x01\xFBW\x92\x81\x92\x93_\x92a\x01\xF0W[PP\x81`\x01\x1B\x91_\x19\x90`\x03\x1B\x1C\x19\x16\x17\x90U[`\x02T_\x19\x81\x14a\x01\xDCW`\x01\x01`\x02U\0[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x01Q\x90P\x83\x80a\x01\xB5V[`\x1F\x19\x82\x16\x93\x83_R\x80_ \x91_[\x86\x81\x10a\x02BWP\x83`\x01\x95\x96\x10a\x02*W[PPP\x81\x1B\x01\x90Ua\x01\xC9V[\x01Q_\x19`\xF8\x84`\x03\x1B\x16\x1C\x19\x16\x90U\x83\x80\x80a\x02\x1DV[\x91\x92` `\x01\x81\x92\x86\x85\x01Q\x81U\x01\x94\x01\x92\x01a\x02\nV[\x82_R` _ `\x1F\x83\x01`\x05\x1C\x81\x01\x91` \x84\x10a\x02\x95W[`\x1F\x01`\x05\x1C\x01\x90[\x81\x81\x10a\x02\x8AWPa\x01\x9BV[_\x81U`\x01\x01a\x02}V[\x90\x91P\x81\x90a\x02tV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1B`$\x82\x01R\x7Fcontract already registered\0\0\0\0\0`D\x82\x01R`d\x90\xFD[4a\0\xA9W` 6`\x03\x19\x01\x12a\0\xA9W`\x045_R`\x01` R`@_ \x90_\x82T\x92a\x03%\x84a\x03\xDBV[\x90\x81\x84R` \x84\x01\x94`\x01\x81\x16\x90\x81_\x14a\x03\xBEWP`\x01\x14a\x03~W[\x84`@\x85a\x03S\x81\x87\x03\x82a\x04\x13V[\x81Q\x92\x83\x91` \x83RQ\x80\x91\x81` \x85\x01R\x84\x84\x01^_\x82\x82\x01\x84\x01R`\x1F\x01`\x1F\x19\x16\x81\x01\x03\x01\x90\xF3[_\x90\x81R` \x81 \x93\x92P\x90[\x80\x82\x10a\x03\xA4WP\x90\x91P\x81\x01` \x01a\x03S\x82a\x03CV[\x91\x92`\x01\x81` \x92T\x83\x85\x88\x01\x01R\x01\x91\x01\x90\x92\x91a\x03\x8BV[`\xFF\x19\x16\x86RPP\x15\x15`\x05\x1B\x82\x01` \x01\x90Pa\x03S\x82a\x03CV[\x90`\x01\x82\x81\x1C\x92\x16\x80\x15a\x04\tW[` \x83\x10\x14a\x03\xF5WV[cNH{q`\xE0\x1B_R`\"`\x04R`$_\xFD[\x91`\x7F\x16\x91a\x03\xEAV[\x90`\x1F\x80\x19\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x02\x9FW`@RV[\x81`\x1F\x82\x01\x12\x15a\0\xA9W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x02\x9FW`@Q\x92a\x04j`\x1F\x84\x01`\x1F\x19\x16` \x01\x85a\x04\x13V[\x82\x84R` \x83\x83\x01\x01\x11a\0\xA9W\x81_\x92` \x80\x93\x01\x83\x86\x017\x83\x01\x01R\x90V\xFE\xA2dipfsX\"\x12 \xB9\xFB\xA6\xCCO\x19 r\xB3\xFE\xFC\xCB,d\xD8\x13\x90\xE1\xBD\0\x9FL\xCD<~BF[iK\xA60dsolcC\0\x08\x1B\x003",
106 );
107 #[rustfmt::skip]
113 #[allow(clippy::all)]
114 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
115 b"`\x80\x80`@R`\x046\x10\x15a\0\x12W_\x80\xFD[_5`\xE0\x1C\x90\x81c<\xA6\xBB\x92\x14a\x02\xF8WP\x80c\x7F<,(\x14a\0\xCAW\x80c\x8768\x1A\x14a\0\xADWc\x8C[\x83\x85\x14a\0HW_\x80\xFD[4a\0\xA9W` 6`\x03\x19\x01\x12a\0\xA9W`\x045g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\0\xA9Wa\0{` \x916\x90`\x04\x01a\x045V[\x81`@Q\x91\x80Q\x91\x82\x91\x01\x83^_\x90\x82\x01\x90\x81R\x81\x90\x03\x82\x01\x90 T`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R\xF3[_\x80\xFD[4a\0\xA9W_6`\x03\x19\x01\x12a\0\xA9W` `\x02T`@Q\x90\x81R\xF3[4a\0\xA9W`@6`\x03\x19\x01\x12a\0\xA9W`\x045g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\0\xA9Wa\0\xFB\x906\x90`\x04\x01a\x045V[`$5`\x01`\x01`\xA0\x1B\x03\x81\x16\x90\x81\x90\x03a\0\xA9W`@Q\x82Q\x90` \x84\x01\x91\x80\x83\x83^_\x90\x82\x01\x90\x81R\x81\x90\x03` \x01\x90 T`\x01`\x01`\xA0\x1B\x03\x16a\x02\xB3W` `@Q\x80\x92\x85Q\x80\x91\x83^\x81\x01_\x81R\x03\x01\x90 \x90k\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\xA0\x1B\x82T\x16\x17\x90U`\x02T_R`\x01` R`@_ \x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x02\x9FWa\x01\x92\x82Ta\x03\xDBV[`\x1F\x81\x11a\x02ZW[P` \x92`\x1F\x82\x11`\x01\x14a\x01\xFBW\x92\x81\x92\x93_\x92a\x01\xF0W[PP\x81`\x01\x1B\x91_\x19\x90`\x03\x1B\x1C\x19\x16\x17\x90U[`\x02T_\x19\x81\x14a\x01\xDCW`\x01\x01`\x02U\0[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x01Q\x90P\x83\x80a\x01\xB5V[`\x1F\x19\x82\x16\x93\x83_R\x80_ \x91_[\x86\x81\x10a\x02BWP\x83`\x01\x95\x96\x10a\x02*W[PPP\x81\x1B\x01\x90Ua\x01\xC9V[\x01Q_\x19`\xF8\x84`\x03\x1B\x16\x1C\x19\x16\x90U\x83\x80\x80a\x02\x1DV[\x91\x92` `\x01\x81\x92\x86\x85\x01Q\x81U\x01\x94\x01\x92\x01a\x02\nV[\x82_R` _ `\x1F\x83\x01`\x05\x1C\x81\x01\x91` \x84\x10a\x02\x95W[`\x1F\x01`\x05\x1C\x01\x90[\x81\x81\x10a\x02\x8AWPa\x01\x9BV[_\x81U`\x01\x01a\x02}V[\x90\x91P\x81\x90a\x02tV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1B`$\x82\x01R\x7Fcontract already registered\0\0\0\0\0`D\x82\x01R`d\x90\xFD[4a\0\xA9W` 6`\x03\x19\x01\x12a\0\xA9W`\x045_R`\x01` R`@_ \x90_\x82T\x92a\x03%\x84a\x03\xDBV[\x90\x81\x84R` \x84\x01\x94`\x01\x81\x16\x90\x81_\x14a\x03\xBEWP`\x01\x14a\x03~W[\x84`@\x85a\x03S\x81\x87\x03\x82a\x04\x13V[\x81Q\x92\x83\x91` \x83RQ\x80\x91\x81` \x85\x01R\x84\x84\x01^_\x82\x82\x01\x84\x01R`\x1F\x01`\x1F\x19\x16\x81\x01\x03\x01\x90\xF3[_\x90\x81R` \x81 \x93\x92P\x90[\x80\x82\x10a\x03\xA4WP\x90\x91P\x81\x01` \x01a\x03S\x82a\x03CV[\x91\x92`\x01\x81` \x92T\x83\x85\x88\x01\x01R\x01\x91\x01\x90\x92\x91a\x03\x8BV[`\xFF\x19\x16\x86RPP\x15\x15`\x05\x1B\x82\x01` \x01\x90Pa\x03S\x82a\x03CV[\x90`\x01\x82\x81\x1C\x92\x16\x80\x15a\x04\tW[` \x83\x10\x14a\x03\xF5WV[cNH{q`\xE0\x1B_R`\"`\x04R`$_\xFD[\x91`\x7F\x16\x91a\x03\xEAV[\x90`\x1F\x80\x19\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x02\x9FW`@RV[\x81`\x1F\x82\x01\x12\x15a\0\xA9W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x02\x9FW`@Q\x92a\x04j`\x1F\x84\x01`\x1F\x19\x16` \x01\x85a\x04\x13V[\x82\x84R` \x83\x83\x01\x01\x11a\0\xA9W\x81_\x92` \x80\x93\x01\x83\x86\x017\x83\x01\x01R\x90V\xFE\xA2dipfsX\"\x12 \xB9\xFB\xA6\xCCO\x19 r\xB3\xFE\xFC\xCB,d\xD8\x13\x90\xE1\xBD\0\x9FL\xCD<~BF[iK\xA60dsolcC\0\x08\x1B\x003",
116 );
117 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
118 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
123 #[derive(Clone)]
124 pub struct contractCountCall;
125 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
126 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
128 #[derive(Clone)]
129 pub struct contractCountReturn {
130 #[allow(missing_docs)]
131 pub _0: alloy::sol_types::private::primitives::aliases::U256,
132 }
133 #[allow(
134 non_camel_case_types,
135 non_snake_case,
136 clippy::pub_underscore_fields,
137 clippy::style
138 )]
139 const _: () = {
140 use alloy::sol_types as alloy_sol_types;
141 {
142 #[doc(hidden)]
143 type UnderlyingSolTuple<'a> = ();
144 #[doc(hidden)]
145 type UnderlyingRustTuple<'a> = ();
146 #[cfg(test)]
147 #[allow(dead_code, unreachable_patterns)]
148 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
149 match _t {
150 alloy_sol_types::private::AssertTypeEq::<
151 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
152 >(_) => {}
153 }
154 }
155 #[automatically_derived]
156 #[doc(hidden)]
157 impl ::core::convert::From<contractCountCall> for UnderlyingRustTuple<'_> {
158 fn from(value: contractCountCall) -> Self {
159 ()
160 }
161 }
162 #[automatically_derived]
163 #[doc(hidden)]
164 impl ::core::convert::From<UnderlyingRustTuple<'_>> for contractCountCall {
165 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
166 Self
167 }
168 }
169 }
170 {
171 #[doc(hidden)]
172 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
173 #[doc(hidden)]
174 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U256,);
175 #[cfg(test)]
176 #[allow(dead_code, unreachable_patterns)]
177 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
178 match _t {
179 alloy_sol_types::private::AssertTypeEq::<
180 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
181 >(_) => {}
182 }
183 }
184 #[automatically_derived]
185 #[doc(hidden)]
186 impl ::core::convert::From<contractCountReturn> for UnderlyingRustTuple<'_> {
187 fn from(value: contractCountReturn) -> Self {
188 (value._0,)
189 }
190 }
191 #[automatically_derived]
192 #[doc(hidden)]
193 impl ::core::convert::From<UnderlyingRustTuple<'_>> for contractCountReturn {
194 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
195 Self { _0: tuple.0 }
196 }
197 }
198 }
199 #[automatically_derived]
200 impl alloy_sol_types::SolCall for contractCountCall {
201 type Parameters<'a> = ();
202 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
203 type Return = alloy::sol_types::private::primitives::aliases::U256;
204 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
205 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
206 const SIGNATURE: &'static str = "contractCount()";
207 const SELECTOR: [u8; 4] = [135u8, 54u8, 56u8, 26u8];
208 #[inline]
209 fn new<'a>(
210 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
211 ) -> Self {
212 tuple.into()
213 }
214 #[inline]
215 fn tokenize(&self) -> Self::Token<'_> {
216 ()
217 }
218 #[inline]
219 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
220 (
221 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
222 ret,
223 ),
224 )
225 }
226 #[inline]
227 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
228 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
229 |r| {
230 let r: contractCountReturn = r.into();
231 r._0
232 },
233 )
234 }
235 #[inline]
236 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
237 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
238 data,
239 )
240 .map(|r| {
241 let r: contractCountReturn = r.into();
242 r._0
243 })
244 }
245 }
246 };
247 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
248 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
253 #[derive(Clone)]
254 pub struct contractNamesCall(pub alloy::sol_types::private::primitives::aliases::U256);
255 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
256 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
258 #[derive(Clone)]
259 pub struct contractNamesReturn {
260 #[allow(missing_docs)]
261 pub _0: alloy::sol_types::private::String,
262 }
263 #[allow(
264 non_camel_case_types,
265 non_snake_case,
266 clippy::pub_underscore_fields,
267 clippy::style
268 )]
269 const _: () = {
270 use alloy::sol_types as alloy_sol_types;
271 {
272 #[doc(hidden)]
273 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
274 #[doc(hidden)]
275 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::primitives::aliases::U256,);
276 #[cfg(test)]
277 #[allow(dead_code, unreachable_patterns)]
278 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
279 match _t {
280 alloy_sol_types::private::AssertTypeEq::<
281 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
282 >(_) => {}
283 }
284 }
285 #[automatically_derived]
286 #[doc(hidden)]
287 impl ::core::convert::From<contractNamesCall> for UnderlyingRustTuple<'_> {
288 fn from(value: contractNamesCall) -> Self {
289 (value.0,)
290 }
291 }
292 #[automatically_derived]
293 #[doc(hidden)]
294 impl ::core::convert::From<UnderlyingRustTuple<'_>> for contractNamesCall {
295 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
296 Self(tuple.0)
297 }
298 }
299 }
300 {
301 #[doc(hidden)]
302 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
303 #[doc(hidden)]
304 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
305 #[cfg(test)]
306 #[allow(dead_code, unreachable_patterns)]
307 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
308 match _t {
309 alloy_sol_types::private::AssertTypeEq::<
310 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
311 >(_) => {}
312 }
313 }
314 #[automatically_derived]
315 #[doc(hidden)]
316 impl ::core::convert::From<contractNamesReturn> for UnderlyingRustTuple<'_> {
317 fn from(value: contractNamesReturn) -> Self {
318 (value._0,)
319 }
320 }
321 #[automatically_derived]
322 #[doc(hidden)]
323 impl ::core::convert::From<UnderlyingRustTuple<'_>> for contractNamesReturn {
324 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
325 Self { _0: tuple.0 }
326 }
327 }
328 }
329 #[automatically_derived]
330 impl alloy_sol_types::SolCall for contractNamesCall {
331 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<256>,);
332 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
333 type Return = alloy::sol_types::private::String;
334 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
335 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
336 const SIGNATURE: &'static str = "contractNames(uint256)";
337 const SELECTOR: [u8; 4] = [60u8, 166u8, 187u8, 146u8];
338 #[inline]
339 fn new<'a>(
340 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
341 ) -> Self {
342 tuple.into()
343 }
344 #[inline]
345 fn tokenize(&self) -> Self::Token<'_> {
346 (
347 <alloy::sol_types::sol_data::Uint<256> as alloy_sol_types::SolType>::tokenize(
348 &self.0,
349 ),
350 )
351 }
352 #[inline]
353 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
354 (<alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(ret),)
355 }
356 #[inline]
357 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
358 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
359 |r| {
360 let r: contractNamesReturn = r.into();
361 r._0
362 },
363 )
364 }
365 #[inline]
366 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
367 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
368 data,
369 )
370 .map(|r| {
371 let r: contractNamesReturn = r.into();
372 r._0
373 })
374 }
375 }
376 };
377 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
378 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
383 #[derive(Clone)]
384 pub struct contractsCall(pub alloy::sol_types::private::String);
385 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
386 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
388 #[derive(Clone)]
389 pub struct contractsReturn {
390 #[allow(missing_docs)]
391 pub _0: alloy::sol_types::private::Address,
392 }
393 #[allow(
394 non_camel_case_types,
395 non_snake_case,
396 clippy::pub_underscore_fields,
397 clippy::style
398 )]
399 const _: () = {
400 use alloy::sol_types as alloy_sol_types;
401 {
402 #[doc(hidden)]
403 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
404 #[doc(hidden)]
405 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
406 #[cfg(test)]
407 #[allow(dead_code, unreachable_patterns)]
408 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
409 match _t {
410 alloy_sol_types::private::AssertTypeEq::<
411 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
412 >(_) => {}
413 }
414 }
415 #[automatically_derived]
416 #[doc(hidden)]
417 impl ::core::convert::From<contractsCall> for UnderlyingRustTuple<'_> {
418 fn from(value: contractsCall) -> Self {
419 (value.0,)
420 }
421 }
422 #[automatically_derived]
423 #[doc(hidden)]
424 impl ::core::convert::From<UnderlyingRustTuple<'_>> for contractsCall {
425 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
426 Self(tuple.0)
427 }
428 }
429 }
430 {
431 #[doc(hidden)]
432 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
433 #[doc(hidden)]
434 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
435 #[cfg(test)]
436 #[allow(dead_code, unreachable_patterns)]
437 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
438 match _t {
439 alloy_sol_types::private::AssertTypeEq::<
440 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
441 >(_) => {}
442 }
443 }
444 #[automatically_derived]
445 #[doc(hidden)]
446 impl ::core::convert::From<contractsReturn> for UnderlyingRustTuple<'_> {
447 fn from(value: contractsReturn) -> Self {
448 (value._0,)
449 }
450 }
451 #[automatically_derived]
452 #[doc(hidden)]
453 impl ::core::convert::From<UnderlyingRustTuple<'_>> for contractsReturn {
454 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
455 Self { _0: tuple.0 }
456 }
457 }
458 }
459 #[automatically_derived]
460 impl alloy_sol_types::SolCall for contractsCall {
461 type Parameters<'a> = (alloy::sol_types::sol_data::String,);
462 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
463 type Return = alloy::sol_types::private::Address;
464 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
465 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
466 const SIGNATURE: &'static str = "contracts(string)";
467 const SELECTOR: [u8; 4] = [140u8, 91u8, 131u8, 133u8];
468 #[inline]
469 fn new<'a>(
470 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
471 ) -> Self {
472 tuple.into()
473 }
474 #[inline]
475 fn tokenize(&self) -> Self::Token<'_> {
476 (
477 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
478 &self.0,
479 ),
480 )
481 }
482 #[inline]
483 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
484 (
485 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
486 ret,
487 ),
488 )
489 }
490 #[inline]
491 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
492 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data).map(
493 |r| {
494 let r: contractsReturn = r.into();
495 r._0
496 },
497 )
498 }
499 #[inline]
500 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
501 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
502 data,
503 )
504 .map(|r| {
505 let r: contractsReturn = r.into();
506 r._0
507 })
508 }
509 }
510 };
511 #[derive(serde::Serialize, serde::Deserialize, Default, Debug, PartialEq, Eq, Hash)]
512 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
517 #[derive(Clone)]
518 pub struct registerContractCall {
519 #[allow(missing_docs)]
520 pub name: alloy::sol_types::private::String,
521 #[allow(missing_docs)]
522 pub _contract: alloy::sol_types::private::Address,
523 }
524 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
526 #[derive(Clone)]
527 pub struct registerContractReturn {}
528 #[allow(
529 non_camel_case_types,
530 non_snake_case,
531 clippy::pub_underscore_fields,
532 clippy::style
533 )]
534 const _: () = {
535 use alloy::sol_types as alloy_sol_types;
536 {
537 #[doc(hidden)]
538 type UnderlyingSolTuple<'a> = (
539 alloy::sol_types::sol_data::String,
540 alloy::sol_types::sol_data::Address,
541 );
542 #[doc(hidden)]
543 type UnderlyingRustTuple<'a> = (
544 alloy::sol_types::private::String,
545 alloy::sol_types::private::Address,
546 );
547 #[cfg(test)]
548 #[allow(dead_code, unreachable_patterns)]
549 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
550 match _t {
551 alloy_sol_types::private::AssertTypeEq::<
552 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
553 >(_) => {}
554 }
555 }
556 #[automatically_derived]
557 #[doc(hidden)]
558 impl ::core::convert::From<registerContractCall> for UnderlyingRustTuple<'_> {
559 fn from(value: registerContractCall) -> Self {
560 (value.name, value._contract)
561 }
562 }
563 #[automatically_derived]
564 #[doc(hidden)]
565 impl ::core::convert::From<UnderlyingRustTuple<'_>> for registerContractCall {
566 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
567 Self {
568 name: tuple.0,
569 _contract: tuple.1,
570 }
571 }
572 }
573 }
574 {
575 #[doc(hidden)]
576 type UnderlyingSolTuple<'a> = ();
577 #[doc(hidden)]
578 type UnderlyingRustTuple<'a> = ();
579 #[cfg(test)]
580 #[allow(dead_code, unreachable_patterns)]
581 fn _type_assertion(_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>) {
582 match _t {
583 alloy_sol_types::private::AssertTypeEq::<
584 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
585 >(_) => {}
586 }
587 }
588 #[automatically_derived]
589 #[doc(hidden)]
590 impl ::core::convert::From<registerContractReturn> for UnderlyingRustTuple<'_> {
591 fn from(value: registerContractReturn) -> Self {
592 ()
593 }
594 }
595 #[automatically_derived]
596 #[doc(hidden)]
597 impl ::core::convert::From<UnderlyingRustTuple<'_>> for registerContractReturn {
598 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
599 Self {}
600 }
601 }
602 }
603 impl registerContractReturn {
604 fn _tokenize(
605 &self,
606 ) -> <registerContractCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
607 ()
608 }
609 }
610 #[automatically_derived]
611 impl alloy_sol_types::SolCall for registerContractCall {
612 type Parameters<'a> = (
613 alloy::sol_types::sol_data::String,
614 alloy::sol_types::sol_data::Address,
615 );
616 type Token<'a> = <Self::Parameters<'a> as alloy_sol_types::SolType>::Token<'a>;
617 type Return = registerContractReturn;
618 type ReturnTuple<'a> = ();
619 type ReturnToken<'a> = <Self::ReturnTuple<'a> as alloy_sol_types::SolType>::Token<'a>;
620 const SIGNATURE: &'static str = "registerContract(string,address)";
621 const SELECTOR: [u8; 4] = [127u8, 60u8, 44u8, 40u8];
622 #[inline]
623 fn new<'a>(
624 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
625 ) -> Self {
626 tuple.into()
627 }
628 #[inline]
629 fn tokenize(&self) -> Self::Token<'_> {
630 (
631 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
632 &self.name,
633 ),
634 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
635 &self._contract,
636 ),
637 )
638 }
639 #[inline]
640 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
641 registerContractReturn::_tokenize(ret)
642 }
643 #[inline]
644 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
645 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence(data)
646 .map(Into::into)
647 }
648 #[inline]
649 fn abi_decode_returns_validate(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
650 <Self::ReturnTuple<'_> as alloy_sol_types::SolType>::abi_decode_sequence_validate(
651 data,
652 )
653 .map(Into::into)
654 }
655 }
656 };
657 #[derive(serde::Serialize, serde::Deserialize)]
659 pub enum ContractsRegistryCalls {
660 #[allow(missing_docs)]
661 contractCount(contractCountCall),
662 #[allow(missing_docs)]
663 contractNames(contractNamesCall),
664 #[allow(missing_docs)]
665 contracts(contractsCall),
666 #[allow(missing_docs)]
667 registerContract(registerContractCall),
668 }
669 #[automatically_derived]
670 impl ContractsRegistryCalls {
671 pub const SELECTORS: &'static [[u8; 4usize]] = &[
678 [60u8, 166u8, 187u8, 146u8],
679 [127u8, 60u8, 44u8, 40u8],
680 [135u8, 54u8, 56u8, 26u8],
681 [140u8, 91u8, 131u8, 133u8],
682 ];
683 }
684 #[automatically_derived]
685 impl alloy_sol_types::SolInterface for ContractsRegistryCalls {
686 const NAME: &'static str = "ContractsRegistryCalls";
687 const MIN_DATA_LENGTH: usize = 0usize;
688 const COUNT: usize = 4usize;
689 #[inline]
690 fn selector(&self) -> [u8; 4] {
691 match self {
692 Self::contractCount(_) => <contractCountCall as alloy_sol_types::SolCall>::SELECTOR,
693 Self::contractNames(_) => <contractNamesCall as alloy_sol_types::SolCall>::SELECTOR,
694 Self::contracts(_) => <contractsCall as alloy_sol_types::SolCall>::SELECTOR,
695 Self::registerContract(_) => {
696 <registerContractCall as alloy_sol_types::SolCall>::SELECTOR
697 }
698 }
699 }
700 #[inline]
701 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
702 Self::SELECTORS.get(i).copied()
703 }
704 #[inline]
705 fn valid_selector(selector: [u8; 4]) -> bool {
706 Self::SELECTORS.binary_search(&selector).is_ok()
707 }
708 #[inline]
709 #[allow(non_snake_case)]
710 fn abi_decode_raw(selector: [u8; 4], data: &[u8]) -> alloy_sol_types::Result<Self> {
711 static DECODE_SHIMS: &[fn(&[u8]) -> alloy_sol_types::Result<ContractsRegistryCalls>] =
712 &[
713 {
714 fn contractNames(
715 data: &[u8],
716 ) -> alloy_sol_types::Result<ContractsRegistryCalls>
717 {
718 <contractNamesCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
719 .map(ContractsRegistryCalls::contractNames)
720 }
721 contractNames
722 },
723 {
724 fn registerContract(
725 data: &[u8],
726 ) -> alloy_sol_types::Result<ContractsRegistryCalls>
727 {
728 <registerContractCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
729 .map(ContractsRegistryCalls::registerContract)
730 }
731 registerContract
732 },
733 {
734 fn contractCount(
735 data: &[u8],
736 ) -> alloy_sol_types::Result<ContractsRegistryCalls>
737 {
738 <contractCountCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
739 .map(ContractsRegistryCalls::contractCount)
740 }
741 contractCount
742 },
743 {
744 fn contracts(
745 data: &[u8],
746 ) -> alloy_sol_types::Result<ContractsRegistryCalls>
747 {
748 <contractsCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
749 .map(ContractsRegistryCalls::contracts)
750 }
751 contracts
752 },
753 ];
754 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
755 return Err(alloy_sol_types::Error::unknown_selector(
756 <Self as alloy_sol_types::SolInterface>::NAME,
757 selector,
758 ));
759 };
760 DECODE_SHIMS[idx](data)
761 }
762 #[inline]
763 #[allow(non_snake_case)]
764 fn abi_decode_raw_validate(
765 selector: [u8; 4],
766 data: &[u8],
767 ) -> alloy_sol_types::Result<Self> {
768 static DECODE_VALIDATE_SHIMS: &[fn(
769 &[u8],
770 ) -> alloy_sol_types::Result<
771 ContractsRegistryCalls,
772 >] = &[
773 {
774 fn contractNames(
775 data: &[u8],
776 ) -> alloy_sol_types::Result<ContractsRegistryCalls> {
777 <contractNamesCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
778 data,
779 )
780 .map(ContractsRegistryCalls::contractNames)
781 }
782 contractNames
783 },
784 {
785 fn registerContract(
786 data: &[u8],
787 ) -> alloy_sol_types::Result<ContractsRegistryCalls> {
788 <registerContractCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
789 data,
790 )
791 .map(ContractsRegistryCalls::registerContract)
792 }
793 registerContract
794 },
795 {
796 fn contractCount(
797 data: &[u8],
798 ) -> alloy_sol_types::Result<ContractsRegistryCalls> {
799 <contractCountCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
800 data,
801 )
802 .map(ContractsRegistryCalls::contractCount)
803 }
804 contractCount
805 },
806 {
807 fn contracts(data: &[u8]) -> alloy_sol_types::Result<ContractsRegistryCalls> {
808 <contractsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(data)
809 .map(ContractsRegistryCalls::contracts)
810 }
811 contracts
812 },
813 ];
814 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
815 return Err(alloy_sol_types::Error::unknown_selector(
816 <Self as alloy_sol_types::SolInterface>::NAME,
817 selector,
818 ));
819 };
820 DECODE_VALIDATE_SHIMS[idx](data)
821 }
822 #[inline]
823 fn abi_encoded_size(&self) -> usize {
824 match self {
825 Self::contractCount(inner) => {
826 <contractCountCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
827 }
828 Self::contractNames(inner) => {
829 <contractNamesCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
830 }
831 Self::contracts(inner) => {
832 <contractsCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
833 }
834 Self::registerContract(inner) => {
835 <registerContractCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
836 }
837 }
838 }
839 #[inline]
840 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
841 match self {
842 Self::contractCount(inner) => {
843 <contractCountCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
844 }
845 Self::contractNames(inner) => {
846 <contractNamesCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
847 }
848 Self::contracts(inner) => {
849 <contractsCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
850 }
851 Self::registerContract(inner) => {
852 <registerContractCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
853 }
854 }
855 }
856 }
857 use alloy::contract as alloy_contract;
858 #[inline]
862 pub const fn new<
863 P: alloy_contract::private::Provider<N>,
864 N: alloy_contract::private::Network,
865 >(
866 address: alloy_sol_types::private::Address,
867 provider: P,
868 ) -> ContractsRegistryInstance<P, N> {
869 ContractsRegistryInstance::<P, N>::new(address, provider)
870 }
871 #[inline]
877 pub fn deploy<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>(
878 provider: P,
879 ) -> impl ::core::future::Future<Output = alloy_contract::Result<ContractsRegistryInstance<P, N>>>
880 {
881 ContractsRegistryInstance::<P, N>::deploy(provider)
882 }
883 #[inline]
889 pub fn deploy_builder<
890 P: alloy_contract::private::Provider<N>,
891 N: alloy_contract::private::Network,
892 >(
893 provider: P,
894 ) -> alloy_contract::RawCallBuilder<P, N> {
895 ContractsRegistryInstance::<P, N>::deploy_builder(provider)
896 }
897 #[derive(Clone)]
909 pub struct ContractsRegistryInstance<P, N = alloy_contract::private::Ethereum> {
910 address: alloy_sol_types::private::Address,
911 provider: P,
912 _network: ::core::marker::PhantomData<N>,
913 }
914 #[automatically_derived]
915 impl<P, N> ::core::fmt::Debug for ContractsRegistryInstance<P, N> {
916 #[inline]
917 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
918 f.debug_tuple("ContractsRegistryInstance")
919 .field(&self.address)
920 .finish()
921 }
922 }
923 #[automatically_derived]
925 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
926 ContractsRegistryInstance<P, N>
927 {
928 #[inline]
932 pub const fn new(address: alloy_sol_types::private::Address, provider: P) -> Self {
933 Self {
934 address,
935 provider,
936 _network: ::core::marker::PhantomData,
937 }
938 }
939 #[inline]
945 pub async fn deploy(
946 provider: P,
947 ) -> alloy_contract::Result<ContractsRegistryInstance<P, N>> {
948 let call_builder = Self::deploy_builder(provider);
949 let contract_address = call_builder.deploy().await?;
950 Ok(Self::new(contract_address, call_builder.provider))
951 }
952 #[inline]
958 pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
959 alloy_contract::RawCallBuilder::new_raw_deploy(
960 provider,
961 ::core::clone::Clone::clone(&BYTECODE),
962 )
963 }
964 #[inline]
966 pub const fn address(&self) -> &alloy_sol_types::private::Address {
967 &self.address
968 }
969 #[inline]
971 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
972 self.address = address;
973 }
974 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
976 self.set_address(address);
977 self
978 }
979 #[inline]
981 pub const fn provider(&self) -> &P {
982 &self.provider
983 }
984 }
985 impl<P: ::core::clone::Clone, N> ContractsRegistryInstance<&P, N> {
986 #[inline]
988 pub fn with_cloned_provider(self) -> ContractsRegistryInstance<P, N> {
989 ContractsRegistryInstance {
990 address: self.address,
991 provider: ::core::clone::Clone::clone(&self.provider),
992 _network: ::core::marker::PhantomData,
993 }
994 }
995 }
996 #[automatically_derived]
998 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
999 ContractsRegistryInstance<P, N>
1000 {
1001 pub fn call_builder<C: alloy_sol_types::SolCall>(
1006 &self,
1007 call: &C,
1008 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
1009 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1010 }
1011 pub fn contractCount(&self) -> alloy_contract::SolCallBuilder<&P, contractCountCall, N> {
1013 self.call_builder(&contractCountCall)
1014 }
1015 pub fn contractNames(
1017 &self,
1018 _0: alloy::sol_types::private::primitives::aliases::U256,
1019 ) -> alloy_contract::SolCallBuilder<&P, contractNamesCall, N> {
1020 self.call_builder(&contractNamesCall(_0))
1021 }
1022 pub fn contracts(
1024 &self,
1025 _0: alloy::sol_types::private::String,
1026 ) -> alloy_contract::SolCallBuilder<&P, contractsCall, N> {
1027 self.call_builder(&contractsCall(_0))
1028 }
1029 pub fn registerContract(
1031 &self,
1032 name: alloy::sol_types::private::String,
1033 _contract: alloy::sol_types::private::Address,
1034 ) -> alloy_contract::SolCallBuilder<&P, registerContractCall, N> {
1035 self.call_builder(®isterContractCall { name, _contract })
1036 }
1037 }
1038 #[automatically_derived]
1040 impl<P: alloy_contract::private::Provider<N>, N: alloy_contract::private::Network>
1041 ContractsRegistryInstance<P, N>
1042 {
1043 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1048 &self,
1049 ) -> alloy_contract::Event<&P, E, N> {
1050 alloy_contract::Event::new_sol(&self.provider, &self.address)
1051 }
1052 }
1053}