1pub use short_strings::*;
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 short_strings {
13 #[rustfmt::skip]
14 const __ABI: &str = "[{\"inputs\":[],\"type\":\"error\",\"name\":\"InvalidShortString\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\",\"components\":[]}],\"type\":\"error\",\"name\":\"StringTooLong\",\"outputs\":[]}]";
15 pub static SHORTSTRINGS_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 208,
119 219,
120 65,
121 84,
122 45,
123 49,
124 204,
125 217,
126 108,
127 12,
128 46,
129 110,
130 127,
131 67,
132 42,
133 98,
134 175,
135 40,
136 75,
137 206,
138 116,
139 0,
140 87,
141 127,
142 251,
143 204,
144 67,
145 32,
146 95,
147 181,
148 130,
149 82,
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 SHORTSTRINGS_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 208,
212 219,
213 65,
214 84,
215 45,
216 49,
217 204,
218 217,
219 108,
220 12,
221 46,
222 110,
223 127,
224 67,
225 42,
226 98,
227 175,
228 40,
229 75,
230 206,
231 116,
232 0,
233 87,
234 127,
235 251,
236 204,
237 67,
238 32,
239 95,
240 181,
241 130,
242 82,
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 SHORTSTRINGS_DEPLOYED_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
257 __DEPLOYED_BYTECODE,
258 );
259 pub struct ShortStrings<M>(::ethers_contract::Contract<M>);
260 impl<M> ::core::clone::Clone for ShortStrings<M> {
261 fn clone(&self) -> Self {
262 Self(::core::clone::Clone::clone(&self.0))
263 }
264 }
265 impl<M> ::core::ops::Deref for ShortStrings<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 ShortStrings<M> {
272 fn deref_mut(&mut self) -> &mut Self::Target {
273 &mut self.0
274 }
275 }
276 impl<M> ::core::fmt::Debug for ShortStrings<M> {
277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
278 f.debug_tuple(stringify!(ShortStrings)).field(&self.address()).finish()
279 }
280 }
281 impl<M: ::ethers_providers::Middleware> ShortStrings<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 SHORTSTRINGS_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 SHORTSTRINGS_ABI.clone(),
328 SHORTSTRINGS_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 ShortStrings<M> {
338 fn from(contract: ::ethers_contract::Contract<M>) -> Self {
339 Self::new(contract.address(), contract.client())
340 }
341 }
342 #[derive(
344 Clone,
345 ::ethers_contract::EthError,
346 ::ethers_contract::EthDisplay,
347 Default,
348 Debug,
349 PartialEq,
350 Eq,
351 Hash
352 )]
353 #[etherror(name = "InvalidShortString", abi = "InvalidShortString()")]
354 pub struct InvalidShortString;
355 #[derive(
357 Clone,
358 ::ethers_contract::EthError,
359 ::ethers_contract::EthDisplay,
360 Default,
361 Debug,
362 PartialEq,
363 Eq,
364 Hash
365 )]
366 #[etherror(name = "StringTooLong", abi = "StringTooLong(string)")]
367 pub struct StringTooLong {
368 pub str: ::std::string::String,
369 }
370 #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
372 pub enum ShortStringsErrors {
373 InvalidShortString(InvalidShortString),
374 StringTooLong(StringTooLong),
375 RevertString(::std::string::String),
378 }
379 impl ::ethers_core::abi::AbiDecode for ShortStringsErrors {
380 fn decode(
381 data: impl AsRef<[u8]>,
382 ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
383 let data = data.as_ref();
384 if let Ok(decoded)
385 = <::std::string::String as ::ethers_core::abi::AbiDecode>::decode(
386 data,
387 ) {
388 return Ok(Self::RevertString(decoded));
389 }
390 if let Ok(decoded)
391 = <InvalidShortString as ::ethers_core::abi::AbiDecode>::decode(data) {
392 return Ok(Self::InvalidShortString(decoded));
393 }
394 if let Ok(decoded)
395 = <StringTooLong as ::ethers_core::abi::AbiDecode>::decode(data) {
396 return Ok(Self::StringTooLong(decoded));
397 }
398 Err(::ethers_core::abi::Error::InvalidData.into())
399 }
400 }
401 impl ::ethers_core::abi::AbiEncode for ShortStringsErrors {
402 fn encode(self) -> ::std::vec::Vec<u8> {
403 match self {
404 Self::InvalidShortString(element) => {
405 ::ethers_core::abi::AbiEncode::encode(element)
406 }
407 Self::StringTooLong(element) => {
408 ::ethers_core::abi::AbiEncode::encode(element)
409 }
410 Self::RevertString(s) => ::ethers_core::abi::AbiEncode::encode(s),
411 }
412 }
413 }
414 impl ::ethers_contract::ContractRevert for ShortStringsErrors {
415 fn valid_selector(selector: [u8; 4]) -> bool {
416 match selector {
417 [0x08, 0xc3, 0x79, 0xa0] => true,
418 _ if selector
419 == <InvalidShortString as ::ethers_contract::EthError>::selector() => {
420 true
421 }
422 _ if selector
423 == <StringTooLong as ::ethers_contract::EthError>::selector() => true,
424 _ => false,
425 }
426 }
427 }
428 impl ::core::fmt::Display for ShortStringsErrors {
429 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
430 match self {
431 Self::InvalidShortString(element) => {
432 ::core::fmt::Display::fmt(element, f)
433 }
434 Self::StringTooLong(element) => ::core::fmt::Display::fmt(element, f),
435 Self::RevertString(s) => ::core::fmt::Display::fmt(s, f),
436 }
437 }
438 }
439 impl ::core::convert::From<::std::string::String> for ShortStringsErrors {
440 fn from(value: String) -> Self {
441 Self::RevertString(value)
442 }
443 }
444 impl ::core::convert::From<InvalidShortString> for ShortStringsErrors {
445 fn from(value: InvalidShortString) -> Self {
446 Self::InvalidShortString(value)
447 }
448 }
449 impl ::core::convert::From<StringTooLong> for ShortStringsErrors {
450 fn from(value: StringTooLong) -> Self {
451 Self::StringTooLong(value)
452 }
453 }
454}