1pub use safe_cast::*;
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 safe_cast {
13 #[rustfmt::skip]
14 const __ABI: &str = "[]";
15 pub static SAFECAST_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 155,
119 112,
120 241,
121 59,
122 144,
123 55,
124 238,
125 121,
126 193,
127 147,
128 8,
129 68,
130 75,
131 86,
132 178,
133 73,
134 186,
135 81,
136 109,
137 53,
138 245,
139 126,
140 175,
141 134,
142 192,
143 55,
144 179,
145 156,
146 91,
147 240,
148 15,
149 4,
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 SAFECAST_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 155,
212 112,
213 241,
214 59,
215 144,
216 55,
217 238,
218 121,
219 193,
220 147,
221 8,
222 68,
223 75,
224 86,
225 178,
226 73,
227 186,
228 81,
229 109,
230 53,
231 245,
232 126,
233 175,
234 134,
235 192,
236 55,
237 179,
238 156,
239 91,
240 240,
241 15,
242 4,
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 SAFECAST_DEPLOYED_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
257 __DEPLOYED_BYTECODE,
258 );
259 pub struct SafeCast<M>(::ethers_contract::Contract<M>);
260 impl<M> ::core::clone::Clone for SafeCast<M> {
261 fn clone(&self) -> Self {
262 Self(::core::clone::Clone::clone(&self.0))
263 }
264 }
265 impl<M> ::core::ops::Deref for SafeCast<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 SafeCast<M> {
272 fn deref_mut(&mut self) -> &mut Self::Target {
273 &mut self.0
274 }
275 }
276 impl<M> ::core::fmt::Debug for SafeCast<M> {
277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
278 f.debug_tuple(stringify!(SafeCast)).field(&self.address()).finish()
279 }
280 }
281 impl<M: ::ethers_providers::Middleware> SafeCast<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 SAFECAST_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 SAFECAST_ABI.clone(),
328 SAFECAST_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 SafeCast<M> {
338 fn from(contract: ::ethers_contract::Contract<M>) -> Self {
339 Self::new(contract.address(), contract.client())
340 }
341 }
342}