1pub use create_2::*;
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 create_2 {
13 #[rustfmt::skip]
14 const __ABI: &str = "[]";
15 pub static CREATE2_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 210,
119 154,
120 164,
121 99,
122 2,
123 118,
124 236,
125 45,
126 54,
127 47,
128 81,
129 0,
130 159,
131 66,
132 222,
133 54,
134 113,
135 129,
136 169,
137 233,
138 164,
139 243,
140 84,
141 242,
142 18,
143 58,
144 173,
145 67,
146 106,
147 37,
148 155,
149 44,
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 CREATE2_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 210,
212 154,
213 164,
214 99,
215 2,
216 118,
217 236,
218 45,
219 54,
220 47,
221 81,
222 0,
223 159,
224 66,
225 222,
226 54,
227 113,
228 129,
229 169,
230 233,
231 164,
232 243,
233 84,
234 242,
235 18,
236 58,
237 173,
238 67,
239 106,
240 37,
241 155,
242 44,
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 CREATE2_DEPLOYED_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
257 __DEPLOYED_BYTECODE,
258 );
259 pub struct Create2<M>(::ethers_contract::Contract<M>);
260 impl<M> ::core::clone::Clone for Create2<M> {
261 fn clone(&self) -> Self {
262 Self(::core::clone::Clone::clone(&self.0))
263 }
264 }
265 impl<M> ::core::ops::Deref for Create2<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 Create2<M> {
272 fn deref_mut(&mut self) -> &mut Self::Target {
273 &mut self.0
274 }
275 }
276 impl<M> ::core::fmt::Debug for Create2<M> {
277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
278 f.debug_tuple(stringify!(Create2)).field(&self.address()).finish()
279 }
280 }
281 impl<M: ::ethers_providers::Middleware> Create2<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 CREATE2_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 CREATE2_ABI.clone(),
328 CREATE2_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 Create2<M> {
338 fn from(contract: ::ethers_contract::Contract<M>) -> Self {
339 Self::new(contract.address(), contract.client())
340 }
341 }
342}