1pub use clones::*;
2#[allow(
5 clippy::enum_variant_names,
6 clippy::too_many_arguments,
7 clippy::upper_case_acronyms,
8 clippy::type_complexity,
9 dead_code,
10 non_camel_case_types,
11)]
12pub mod clones {
13 #[rustfmt::skip]
14 const __ABI: &str = "[]";
15 pub static CLONES_ABI: ::ethers_contract::Lazy<::ethers_core::abi::Abi> = ::ethers_contract::Lazy::new(||
17 ::ethers_core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid"));
18 #[rustfmt::skip]
19 const __BYTECODE: &[u8] = &[
20 96,
21 86,
22 96,
23 55,
24 96,
25 11,
26 130,
27 130,
28 130,
29 57,
30 128,
31 81,
32 96,
33 0,
34 26,
35 96,
36 115,
37 20,
38 96,
39 42,
40 87,
41 99,
42 78,
43 72,
44 123,
45 113,
46 96,
47 224,
48 27,
49 96,
50 0,
51 82,
52 96,
53 0,
54 96,
55 4,
56 82,
57 96,
58 36,
59 96,
60 0,
61 253,
62 91,
63 48,
64 96,
65 0,
66 82,
67 96,
68 115,
69 129,
70 83,
71 130,
72 129,
73 243,
74 254,
75 115,
76 0,
77 0,
78 0,
79 0,
80 0,
81 0,
82 0,
83 0,
84 0,
85 0,
86 0,
87 0,
88 0,
89 0,
90 0,
91 0,
92 0,
93 0,
94 0,
95 0,
96 48,
97 20,
98 96,
99 128,
100 96,
101 64,
102 82,
103 96,
104 0,
105 128,
106 253,
107 254,
108 162,
109 100,
110 105,
111 112,
112 102,
113 115,
114 88,
115 34,
116 18,
117 32,
118 191,
119 161,
120 128,
121 218,
122 173,
123 215,
124 87,
125 120,
126 146,
127 221,
128 35,
129 169,
130 47,
131 148,
132 97,
133 50,
134 100,
135 213,
136 62,
137 49,
138 169,
139 222,
140 160,
141 250,
142 201,
143 153,
144 216,
145 104,
146 185,
147 229,
148 151,
149 36,
150 100,
151 115,
152 111,
153 108,
154 99,
155 67,
156 0,
157 8,
158 13,
159 0,
160 51,
161 ];
162 pub static CLONES_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
164 __BYTECODE,
165 );
166 #[rustfmt::skip]
167 const __DEPLOYED_BYTECODE: &[u8] = &[
168 115,
169 0,
170 0,
171 0,
172 0,
173 0,
174 0,
175 0,
176 0,
177 0,
178 0,
179 0,
180 0,
181 0,
182 0,
183 0,
184 0,
185 0,
186 0,
187 0,
188 0,
189 48,
190 20,
191 96,
192 128,
193 96,
194 64,
195 82,
196 96,
197 0,
198 128,
199 253,
200 254,
201 162,
202 100,
203 105,
204 112,
205 102,
206 115,
207 88,
208 34,
209 18,
210 32,
211 191,
212 161,
213 128,
214 218,
215 173,
216 215,
217 87,
218 120,
219 146,
220 221,
221 35,
222 169,
223 47,
224 148,
225 97,
226 50,
227 100,
228 213,
229 62,
230 49,
231 169,
232 222,
233 160,
234 250,
235 201,
236 153,
237 216,
238 104,
239 185,
240 229,
241 151,
242 36,
243 100,
244 115,
245 111,
246 108,
247 99,
248 67,
249 0,
250 8,
251 13,
252 0,
253 51,
254 ];
255 pub static CLONES_DEPLOYED_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
257 __DEPLOYED_BYTECODE,
258 );
259 pub struct Clones<M>(::ethers_contract::Contract<M>);
260 impl<M> ::core::clone::Clone for Clones<M> {
261 fn clone(&self) -> Self {
262 Self(::core::clone::Clone::clone(&self.0))
263 }
264 }
265 impl<M> ::core::ops::Deref for Clones<M> {
266 type Target = ::ethers_contract::Contract<M>;
267 fn deref(&self) -> &Self::Target {
268 &self.0
269 }
270 }
271 impl<M> ::core::ops::DerefMut for Clones<M> {
272 fn deref_mut(&mut self) -> &mut Self::Target {
273 &mut self.0
274 }
275 }
276 impl<M> ::core::fmt::Debug for Clones<M> {
277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
278 f.debug_tuple(stringify!(Clones)).field(&self.address()).finish()
279 }
280 }
281 impl<M: ::ethers_providers::Middleware> Clones<M> {
282 pub fn new<T: Into<::ethers_core::types::Address>>(
285 address: T,
286 client: ::std::sync::Arc<M>,
287 ) -> Self {
288 Self(
289 ::ethers_contract::Contract::new(
290 address.into(),
291 CLONES_ABI.clone(),
292 client,
293 ),
294 )
295 }
296 pub fn deploy<T: ::ethers_core::abi::Tokenize>(
320 client: ::std::sync::Arc<M>,
321 constructor_args: T,
322 ) -> ::core::result::Result<
323 ::ethers_contract::builders::ContractDeployer<M, Self>,
324 ::ethers_contract::ContractError<M>,
325 > {
326 let factory = ::ethers_contract::ContractFactory::new(
327 CLONES_ABI.clone(),
328 CLONES_BYTECODE.clone().into(),
329 client,
330 );
331 let deployer = factory.deploy(constructor_args)?;
332 let deployer = ::ethers_contract::ContractDeployer::new(deployer);
333 Ok(deployer)
334 }
335 }
336 impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
337 for Clones<M> {
338 fn from(contract: ::ethers_contract::Contract<M>) -> Self {
339 Self::new(contract.address(), contract.client())
340 }
341 }
342}