1pub use hopr_stake_season_5::*;
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 hopr_stake_season_5 {
13 #[allow(deprecated)]
14 fn __abi() -> ::ethers::core::abi::Abi {
15 ::ethers::core::abi::ethabi::Contract {
16 constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor {
17 inputs: ::std::vec![
18 ::ethers::core::abi::ethabi::Param {
19 name: ::std::borrow::ToOwned::to_owned("_newOwner"),
20 kind: ::ethers::core::abi::ethabi::ParamType::Address,
21 internal_type: ::core::option::Option::Some(
22 ::std::borrow::ToOwned::to_owned("address"),
23 ),
24 },
25 ::ethers::core::abi::ethabi::Param {
26 name: ::std::borrow::ToOwned::to_owned("_nftAddress"),
27 kind: ::ethers::core::abi::ethabi::ParamType::Address,
28 internal_type: ::core::option::Option::Some(
29 ::std::borrow::ToOwned::to_owned("address"),
30 ),
31 },
32 ::ethers::core::abi::ethabi::Param {
33 name: ::std::borrow::ToOwned::to_owned("_lockToken"),
34 kind: ::ethers::core::abi::ethabi::ParamType::Address,
35 internal_type: ::core::option::Option::Some(
36 ::std::borrow::ToOwned::to_owned("address"),
37 ),
38 },
39 ::ethers::core::abi::ethabi::Param {
40 name: ::std::borrow::ToOwned::to_owned("_rewardToken"),
41 kind: ::ethers::core::abi::ethabi::ParamType::Address,
42 internal_type: ::core::option::Option::Some(
43 ::std::borrow::ToOwned::to_owned("address"),
44 ),
45 },
46 ],
47 }),
48 functions: ::core::convert::From::from([
49 (
50 ::std::borrow::ToOwned::to_owned("BASIC_FACTOR_NUMERATOR"),
51 ::std::vec![
52 ::ethers::core::abi::ethabi::Function {
53 name: ::std::borrow::ToOwned::to_owned(
54 "BASIC_FACTOR_NUMERATOR",
55 ),
56 inputs: ::std::vec![],
57 outputs: ::std::vec![
58 ::ethers::core::abi::ethabi::Param {
59 name: ::std::string::String::new(),
60 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
61 256usize,
62 ),
63 internal_type: ::core::option::Option::Some(
64 ::std::borrow::ToOwned::to_owned("uint256"),
65 ),
66 },
67 ],
68 constant: ::core::option::Option::None,
69 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
70 },
71 ],
72 ),
73 (
74 ::std::borrow::ToOwned::to_owned("BOOST_CAP"),
75 ::std::vec![
76 ::ethers::core::abi::ethabi::Function {
77 name: ::std::borrow::ToOwned::to_owned("BOOST_CAP"),
78 inputs: ::std::vec![],
79 outputs: ::std::vec![
80 ::ethers::core::abi::ethabi::Param {
81 name: ::std::string::String::new(),
82 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
83 256usize,
84 ),
85 internal_type: ::core::option::Option::Some(
86 ::std::borrow::ToOwned::to_owned("uint256"),
87 ),
88 },
89 ],
90 constant: ::core::option::Option::None,
91 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
92 },
93 ],
94 ),
95 (
96 ::std::borrow::ToOwned::to_owned("FACTOR_DENOMINATOR"),
97 ::std::vec![
98 ::ethers::core::abi::ethabi::Function {
99 name: ::std::borrow::ToOwned::to_owned("FACTOR_DENOMINATOR"),
100 inputs: ::std::vec![],
101 outputs: ::std::vec![
102 ::ethers::core::abi::ethabi::Param {
103 name: ::std::string::String::new(),
104 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
105 256usize,
106 ),
107 internal_type: ::core::option::Option::Some(
108 ::std::borrow::ToOwned::to_owned("uint256"),
109 ),
110 },
111 ],
112 constant: ::core::option::Option::None,
113 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
114 },
115 ],
116 ),
117 (
118 ::std::borrow::ToOwned::to_owned("LOCK_TOKEN"),
119 ::std::vec![
120 ::ethers::core::abi::ethabi::Function {
121 name: ::std::borrow::ToOwned::to_owned("LOCK_TOKEN"),
122 inputs: ::std::vec![],
123 outputs: ::std::vec![
124 ::ethers::core::abi::ethabi::Param {
125 name: ::std::string::String::new(),
126 kind: ::ethers::core::abi::ethabi::ParamType::Address,
127 internal_type: ::core::option::Option::Some(
128 ::std::borrow::ToOwned::to_owned("address"),
129 ),
130 },
131 ],
132 constant: ::core::option::Option::None,
133 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
134 },
135 ],
136 ),
137 (
138 ::std::borrow::ToOwned::to_owned("NFT_CONTRACT"),
139 ::std::vec![
140 ::ethers::core::abi::ethabi::Function {
141 name: ::std::borrow::ToOwned::to_owned("NFT_CONTRACT"),
142 inputs: ::std::vec![],
143 outputs: ::std::vec![
144 ::ethers::core::abi::ethabi::Param {
145 name: ::std::string::String::new(),
146 kind: ::ethers::core::abi::ethabi::ParamType::Address,
147 internal_type: ::core::option::Option::Some(
148 ::std::borrow::ToOwned::to_owned("contract IHoprBoost"),
149 ),
150 },
151 ],
152 constant: ::core::option::Option::None,
153 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
154 },
155 ],
156 ),
157 (
158 ::std::borrow::ToOwned::to_owned("PROGRAM_END"),
159 ::std::vec![
160 ::ethers::core::abi::ethabi::Function {
161 name: ::std::borrow::ToOwned::to_owned("PROGRAM_END"),
162 inputs: ::std::vec![],
163 outputs: ::std::vec![
164 ::ethers::core::abi::ethabi::Param {
165 name: ::std::string::String::new(),
166 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
167 256usize,
168 ),
169 internal_type: ::core::option::Option::Some(
170 ::std::borrow::ToOwned::to_owned("uint256"),
171 ),
172 },
173 ],
174 constant: ::core::option::Option::None,
175 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
176 },
177 ],
178 ),
179 (
180 ::std::borrow::ToOwned::to_owned("PROGRAM_START"),
181 ::std::vec![
182 ::ethers::core::abi::ethabi::Function {
183 name: ::std::borrow::ToOwned::to_owned("PROGRAM_START"),
184 inputs: ::std::vec![],
185 outputs: ::std::vec![
186 ::ethers::core::abi::ethabi::Param {
187 name: ::std::string::String::new(),
188 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
189 256usize,
190 ),
191 internal_type: ::core::option::Option::Some(
192 ::std::borrow::ToOwned::to_owned("uint256"),
193 ),
194 },
195 ],
196 constant: ::core::option::Option::None,
197 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
198 },
199 ],
200 ),
201 (
202 ::std::borrow::ToOwned::to_owned("REWARD_TOKEN"),
203 ::std::vec![
204 ::ethers::core::abi::ethabi::Function {
205 name: ::std::borrow::ToOwned::to_owned("REWARD_TOKEN"),
206 inputs: ::std::vec![],
207 outputs: ::std::vec![
208 ::ethers::core::abi::ethabi::Param {
209 name: ::std::string::String::new(),
210 kind: ::ethers::core::abi::ethabi::ParamType::Address,
211 internal_type: ::core::option::Option::Some(
212 ::std::borrow::ToOwned::to_owned("address"),
213 ),
214 },
215 ],
216 constant: ::core::option::Option::None,
217 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
218 },
219 ],
220 ),
221 (
222 ::std::borrow::ToOwned::to_owned("accounts"),
223 ::std::vec![
224 ::ethers::core::abi::ethabi::Function {
225 name: ::std::borrow::ToOwned::to_owned("accounts"),
226 inputs: ::std::vec![
227 ::ethers::core::abi::ethabi::Param {
228 name: ::std::string::String::new(),
229 kind: ::ethers::core::abi::ethabi::ParamType::Address,
230 internal_type: ::core::option::Option::Some(
231 ::std::borrow::ToOwned::to_owned("address"),
232 ),
233 },
234 ],
235 outputs: ::std::vec![
236 ::ethers::core::abi::ethabi::Param {
237 name: ::std::borrow::ToOwned::to_owned(
238 "actualLockedTokenAmount",
239 ),
240 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
241 256usize,
242 ),
243 internal_type: ::core::option::Option::Some(
244 ::std::borrow::ToOwned::to_owned("uint256"),
245 ),
246 },
247 ::ethers::core::abi::ethabi::Param {
248 name: ::std::borrow::ToOwned::to_owned("lastSyncTimestamp"),
249 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
250 256usize,
251 ),
252 internal_type: ::core::option::Option::Some(
253 ::std::borrow::ToOwned::to_owned("uint256"),
254 ),
255 },
256 ::ethers::core::abi::ethabi::Param {
257 name: ::std::borrow::ToOwned::to_owned("cumulatedRewards"),
258 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
259 256usize,
260 ),
261 internal_type: ::core::option::Option::Some(
262 ::std::borrow::ToOwned::to_owned("uint256"),
263 ),
264 },
265 ::ethers::core::abi::ethabi::Param {
266 name: ::std::borrow::ToOwned::to_owned("claimedRewards"),
267 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
268 256usize,
269 ),
270 internal_type: ::core::option::Option::Some(
271 ::std::borrow::ToOwned::to_owned("uint256"),
272 ),
273 },
274 ],
275 constant: ::core::option::Option::None,
276 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
277 },
278 ],
279 ),
280 (
281 ::std::borrow::ToOwned::to_owned("availableReward"),
282 ::std::vec![
283 ::ethers::core::abi::ethabi::Function {
284 name: ::std::borrow::ToOwned::to_owned("availableReward"),
285 inputs: ::std::vec![],
286 outputs: ::std::vec![
287 ::ethers::core::abi::ethabi::Param {
288 name: ::std::string::String::new(),
289 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
290 256usize,
291 ),
292 internal_type: ::core::option::Option::Some(
293 ::std::borrow::ToOwned::to_owned("uint256"),
294 ),
295 },
296 ],
297 constant: ::core::option::Option::None,
298 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
299 },
300 ],
301 ),
302 (
303 ::std::borrow::ToOwned::to_owned("claimRewards"),
304 ::std::vec![
305 ::ethers::core::abi::ethabi::Function {
306 name: ::std::borrow::ToOwned::to_owned("claimRewards"),
307 inputs: ::std::vec![
308 ::ethers::core::abi::ethabi::Param {
309 name: ::std::borrow::ToOwned::to_owned("account"),
310 kind: ::ethers::core::abi::ethabi::ParamType::Address,
311 internal_type: ::core::option::Option::Some(
312 ::std::borrow::ToOwned::to_owned("address"),
313 ),
314 },
315 ],
316 outputs: ::std::vec![],
317 constant: ::core::option::Option::None,
318 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
319 },
320 ],
321 ),
322 (
323 ::std::borrow::ToOwned::to_owned("getCumulatedRewardsIncrement"),
324 ::std::vec![
325 ::ethers::core::abi::ethabi::Function {
326 name: ::std::borrow::ToOwned::to_owned(
327 "getCumulatedRewardsIncrement",
328 ),
329 inputs: ::std::vec![
330 ::ethers::core::abi::ethabi::Param {
331 name: ::std::borrow::ToOwned::to_owned("_account"),
332 kind: ::ethers::core::abi::ethabi::ParamType::Address,
333 internal_type: ::core::option::Option::Some(
334 ::std::borrow::ToOwned::to_owned("address"),
335 ),
336 },
337 ],
338 outputs: ::std::vec![
339 ::ethers::core::abi::ethabi::Param {
340 name: ::std::string::String::new(),
341 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
342 256usize,
343 ),
344 internal_type: ::core::option::Option::Some(
345 ::std::borrow::ToOwned::to_owned("uint256"),
346 ),
347 },
348 ],
349 constant: ::core::option::Option::None,
350 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
351 },
352 ],
353 ),
354 (
355 ::std::borrow::ToOwned::to_owned("isBlockedNft"),
356 ::std::vec![
357 ::ethers::core::abi::ethabi::Function {
358 name: ::std::borrow::ToOwned::to_owned("isBlockedNft"),
359 inputs: ::std::vec![
360 ::ethers::core::abi::ethabi::Param {
361 name: ::std::string::String::new(),
362 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
363 256usize,
364 ),
365 internal_type: ::core::option::Option::Some(
366 ::std::borrow::ToOwned::to_owned("uint256"),
367 ),
368 },
369 ],
370 outputs: ::std::vec![
371 ::ethers::core::abi::ethabi::Param {
372 name: ::std::string::String::new(),
373 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
374 internal_type: ::core::option::Option::Some(
375 ::std::borrow::ToOwned::to_owned("bool"),
376 ),
377 },
378 ],
379 constant: ::core::option::Option::None,
380 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
381 },
382 ],
383 ),
384 (
385 ::std::borrow::ToOwned::to_owned("isNftTypeAndRankRedeemed1"),
386 ::std::vec![
387 ::ethers::core::abi::ethabi::Function {
388 name: ::std::borrow::ToOwned::to_owned(
389 "isNftTypeAndRankRedeemed1",
390 ),
391 inputs: ::std::vec![
392 ::ethers::core::abi::ethabi::Param {
393 name: ::std::borrow::ToOwned::to_owned("nftType"),
394 kind: ::ethers::core::abi::ethabi::ParamType::String,
395 internal_type: ::core::option::Option::Some(
396 ::std::borrow::ToOwned::to_owned("string"),
397 ),
398 },
399 ::ethers::core::abi::ethabi::Param {
400 name: ::std::borrow::ToOwned::to_owned("nftRank"),
401 kind: ::ethers::core::abi::ethabi::ParamType::String,
402 internal_type: ::core::option::Option::Some(
403 ::std::borrow::ToOwned::to_owned("string"),
404 ),
405 },
406 ::ethers::core::abi::ethabi::Param {
407 name: ::std::borrow::ToOwned::to_owned("hodler"),
408 kind: ::ethers::core::abi::ethabi::ParamType::Address,
409 internal_type: ::core::option::Option::Some(
410 ::std::borrow::ToOwned::to_owned("address"),
411 ),
412 },
413 ],
414 outputs: ::std::vec![
415 ::ethers::core::abi::ethabi::Param {
416 name: ::std::string::String::new(),
417 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
418 internal_type: ::core::option::Option::Some(
419 ::std::borrow::ToOwned::to_owned("bool"),
420 ),
421 },
422 ],
423 constant: ::core::option::Option::None,
424 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
425 },
426 ],
427 ),
428 (
429 ::std::borrow::ToOwned::to_owned("isNftTypeAndRankRedeemed2"),
430 ::std::vec![
431 ::ethers::core::abi::ethabi::Function {
432 name: ::std::borrow::ToOwned::to_owned(
433 "isNftTypeAndRankRedeemed2",
434 ),
435 inputs: ::std::vec![
436 ::ethers::core::abi::ethabi::Param {
437 name: ::std::borrow::ToOwned::to_owned("nftTypeIndex"),
438 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
439 256usize,
440 ),
441 internal_type: ::core::option::Option::Some(
442 ::std::borrow::ToOwned::to_owned("uint256"),
443 ),
444 },
445 ::ethers::core::abi::ethabi::Param {
446 name: ::std::borrow::ToOwned::to_owned("nftRank"),
447 kind: ::ethers::core::abi::ethabi::ParamType::String,
448 internal_type: ::core::option::Option::Some(
449 ::std::borrow::ToOwned::to_owned("string"),
450 ),
451 },
452 ::ethers::core::abi::ethabi::Param {
453 name: ::std::borrow::ToOwned::to_owned("hodler"),
454 kind: ::ethers::core::abi::ethabi::ParamType::Address,
455 internal_type: ::core::option::Option::Some(
456 ::std::borrow::ToOwned::to_owned("address"),
457 ),
458 },
459 ],
460 outputs: ::std::vec![
461 ::ethers::core::abi::ethabi::Param {
462 name: ::std::string::String::new(),
463 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
464 internal_type: ::core::option::Option::Some(
465 ::std::borrow::ToOwned::to_owned("bool"),
466 ),
467 },
468 ],
469 constant: ::core::option::Option::None,
470 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
471 },
472 ],
473 ),
474 (
475 ::std::borrow::ToOwned::to_owned("isNftTypeAndRankRedeemed3"),
476 ::std::vec![
477 ::ethers::core::abi::ethabi::Function {
478 name: ::std::borrow::ToOwned::to_owned(
479 "isNftTypeAndRankRedeemed3",
480 ),
481 inputs: ::std::vec![
482 ::ethers::core::abi::ethabi::Param {
483 name: ::std::borrow::ToOwned::to_owned("nftTypeIndex"),
484 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
485 256usize,
486 ),
487 internal_type: ::core::option::Option::Some(
488 ::std::borrow::ToOwned::to_owned("uint256"),
489 ),
490 },
491 ::ethers::core::abi::ethabi::Param {
492 name: ::std::borrow::ToOwned::to_owned("boostNumerator"),
493 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
494 256usize,
495 ),
496 internal_type: ::core::option::Option::Some(
497 ::std::borrow::ToOwned::to_owned("uint256"),
498 ),
499 },
500 ::ethers::core::abi::ethabi::Param {
501 name: ::std::borrow::ToOwned::to_owned("hodler"),
502 kind: ::ethers::core::abi::ethabi::ParamType::Address,
503 internal_type: ::core::option::Option::Some(
504 ::std::borrow::ToOwned::to_owned("address"),
505 ),
506 },
507 ],
508 outputs: ::std::vec![
509 ::ethers::core::abi::ethabi::Param {
510 name: ::std::string::String::new(),
511 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
512 internal_type: ::core::option::Option::Some(
513 ::std::borrow::ToOwned::to_owned("bool"),
514 ),
515 },
516 ],
517 constant: ::core::option::Option::None,
518 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
519 },
520 ],
521 ),
522 (
523 ::std::borrow::ToOwned::to_owned("isNftTypeAndRankRedeemed4"),
524 ::std::vec![
525 ::ethers::core::abi::ethabi::Function {
526 name: ::std::borrow::ToOwned::to_owned(
527 "isNftTypeAndRankRedeemed4",
528 ),
529 inputs: ::std::vec![
530 ::ethers::core::abi::ethabi::Param {
531 name: ::std::borrow::ToOwned::to_owned("nftType"),
532 kind: ::ethers::core::abi::ethabi::ParamType::String,
533 internal_type: ::core::option::Option::Some(
534 ::std::borrow::ToOwned::to_owned("string"),
535 ),
536 },
537 ::ethers::core::abi::ethabi::Param {
538 name: ::std::borrow::ToOwned::to_owned("boostNumerator"),
539 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
540 256usize,
541 ),
542 internal_type: ::core::option::Option::Some(
543 ::std::borrow::ToOwned::to_owned("uint256"),
544 ),
545 },
546 ::ethers::core::abi::ethabi::Param {
547 name: ::std::borrow::ToOwned::to_owned("hodler"),
548 kind: ::ethers::core::abi::ethabi::ParamType::Address,
549 internal_type: ::core::option::Option::Some(
550 ::std::borrow::ToOwned::to_owned("address"),
551 ),
552 },
553 ],
554 outputs: ::std::vec![
555 ::ethers::core::abi::ethabi::Param {
556 name: ::std::string::String::new(),
557 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
558 internal_type: ::core::option::Option::Some(
559 ::std::borrow::ToOwned::to_owned("bool"),
560 ),
561 },
562 ],
563 constant: ::core::option::Option::None,
564 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
565 },
566 ],
567 ),
568 (
569 ::std::borrow::ToOwned::to_owned("onERC721Received"),
570 ::std::vec![
571 ::ethers::core::abi::ethabi::Function {
572 name: ::std::borrow::ToOwned::to_owned("onERC721Received"),
573 inputs: ::std::vec![
574 ::ethers::core::abi::ethabi::Param {
575 name: ::std::string::String::new(),
576 kind: ::ethers::core::abi::ethabi::ParamType::Address,
577 internal_type: ::core::option::Option::Some(
578 ::std::borrow::ToOwned::to_owned("address"),
579 ),
580 },
581 ::ethers::core::abi::ethabi::Param {
582 name: ::std::borrow::ToOwned::to_owned("from"),
583 kind: ::ethers::core::abi::ethabi::ParamType::Address,
584 internal_type: ::core::option::Option::Some(
585 ::std::borrow::ToOwned::to_owned("address"),
586 ),
587 },
588 ::ethers::core::abi::ethabi::Param {
589 name: ::std::borrow::ToOwned::to_owned("tokenId"),
590 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
591 256usize,
592 ),
593 internal_type: ::core::option::Option::Some(
594 ::std::borrow::ToOwned::to_owned("uint256"),
595 ),
596 },
597 ::ethers::core::abi::ethabi::Param {
598 name: ::std::string::String::new(),
599 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
600 internal_type: ::core::option::Option::Some(
601 ::std::borrow::ToOwned::to_owned("bytes"),
602 ),
603 },
604 ],
605 outputs: ::std::vec![
606 ::ethers::core::abi::ethabi::Param {
607 name: ::std::string::String::new(),
608 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
609 4usize,
610 ),
611 internal_type: ::core::option::Option::Some(
612 ::std::borrow::ToOwned::to_owned("bytes4"),
613 ),
614 },
615 ],
616 constant: ::core::option::Option::None,
617 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
618 },
619 ],
620 ),
621 (
622 ::std::borrow::ToOwned::to_owned("onTokenTransfer"),
623 ::std::vec![
624 ::ethers::core::abi::ethabi::Function {
625 name: ::std::borrow::ToOwned::to_owned("onTokenTransfer"),
626 inputs: ::std::vec![
627 ::ethers::core::abi::ethabi::Param {
628 name: ::std::borrow::ToOwned::to_owned("_from"),
629 kind: ::ethers::core::abi::ethabi::ParamType::Address,
630 internal_type: ::core::option::Option::Some(
631 ::std::borrow::ToOwned::to_owned("address"),
632 ),
633 },
634 ::ethers::core::abi::ethabi::Param {
635 name: ::std::borrow::ToOwned::to_owned("_value"),
636 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
637 256usize,
638 ),
639 internal_type: ::core::option::Option::Some(
640 ::std::borrow::ToOwned::to_owned("uint256"),
641 ),
642 },
643 ::ethers::core::abi::ethabi::Param {
644 name: ::std::string::String::new(),
645 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
646 internal_type: ::core::option::Option::Some(
647 ::std::borrow::ToOwned::to_owned("bytes"),
648 ),
649 },
650 ],
651 outputs: ::std::vec![
652 ::ethers::core::abi::ethabi::Param {
653 name: ::std::string::String::new(),
654 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
655 internal_type: ::core::option::Option::Some(
656 ::std::borrow::ToOwned::to_owned("bool"),
657 ),
658 },
659 ],
660 constant: ::core::option::Option::None,
661 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
662 },
663 ],
664 ),
665 (
666 ::std::borrow::ToOwned::to_owned("owner"),
667 ::std::vec![
668 ::ethers::core::abi::ethabi::Function {
669 name: ::std::borrow::ToOwned::to_owned("owner"),
670 inputs: ::std::vec![],
671 outputs: ::std::vec![
672 ::ethers::core::abi::ethabi::Param {
673 name: ::std::string::String::new(),
674 kind: ::ethers::core::abi::ethabi::ParamType::Address,
675 internal_type: ::core::option::Option::Some(
676 ::std::borrow::ToOwned::to_owned("address"),
677 ),
678 },
679 ],
680 constant: ::core::option::Option::None,
681 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
682 },
683 ],
684 ),
685 (
686 ::std::borrow::ToOwned::to_owned("ownerBlockNftType"),
687 ::std::vec![
688 ::ethers::core::abi::ethabi::Function {
689 name: ::std::borrow::ToOwned::to_owned("ownerBlockNftType"),
690 inputs: ::std::vec![
691 ::ethers::core::abi::ethabi::Param {
692 name: ::std::borrow::ToOwned::to_owned("typeIndex"),
693 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
694 256usize,
695 ),
696 internal_type: ::core::option::Option::Some(
697 ::std::borrow::ToOwned::to_owned("uint256"),
698 ),
699 },
700 ],
701 outputs: ::std::vec![],
702 constant: ::core::option::Option::None,
703 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
704 },
705 ],
706 ),
707 (
708 ::std::borrow::ToOwned::to_owned("ownerUnblockNftType"),
709 ::std::vec![
710 ::ethers::core::abi::ethabi::Function {
711 name: ::std::borrow::ToOwned::to_owned(
712 "ownerUnblockNftType",
713 ),
714 inputs: ::std::vec![
715 ::ethers::core::abi::ethabi::Param {
716 name: ::std::borrow::ToOwned::to_owned("typeIndex"),
717 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
718 256usize,
719 ),
720 internal_type: ::core::option::Option::Some(
721 ::std::borrow::ToOwned::to_owned("uint256"),
722 ),
723 },
724 ],
725 outputs: ::std::vec![],
726 constant: ::core::option::Option::None,
727 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
728 },
729 ],
730 ),
731 (
732 ::std::borrow::ToOwned::to_owned("reclaimErc20Tokens"),
733 ::std::vec![
734 ::ethers::core::abi::ethabi::Function {
735 name: ::std::borrow::ToOwned::to_owned("reclaimErc20Tokens"),
736 inputs: ::std::vec![
737 ::ethers::core::abi::ethabi::Param {
738 name: ::std::borrow::ToOwned::to_owned("tokenAddress"),
739 kind: ::ethers::core::abi::ethabi::ParamType::Address,
740 internal_type: ::core::option::Option::Some(
741 ::std::borrow::ToOwned::to_owned("address"),
742 ),
743 },
744 ],
745 outputs: ::std::vec![],
746 constant: ::core::option::Option::None,
747 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
748 },
749 ],
750 ),
751 (
752 ::std::borrow::ToOwned::to_owned("reclaimErc721Tokens"),
753 ::std::vec![
754 ::ethers::core::abi::ethabi::Function {
755 name: ::std::borrow::ToOwned::to_owned(
756 "reclaimErc721Tokens",
757 ),
758 inputs: ::std::vec![
759 ::ethers::core::abi::ethabi::Param {
760 name: ::std::borrow::ToOwned::to_owned("tokenAddress"),
761 kind: ::ethers::core::abi::ethabi::ParamType::Address,
762 internal_type: ::core::option::Option::Some(
763 ::std::borrow::ToOwned::to_owned("address"),
764 ),
765 },
766 ::ethers::core::abi::ethabi::Param {
767 name: ::std::borrow::ToOwned::to_owned("tokenId"),
768 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
769 256usize,
770 ),
771 internal_type: ::core::option::Option::Some(
772 ::std::borrow::ToOwned::to_owned("uint256"),
773 ),
774 },
775 ],
776 outputs: ::std::vec![],
777 constant: ::core::option::Option::None,
778 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
779 },
780 ],
781 ),
782 (
783 ::std::borrow::ToOwned::to_owned("redeemedFactor"),
784 ::std::vec![
785 ::ethers::core::abi::ethabi::Function {
786 name: ::std::borrow::ToOwned::to_owned("redeemedFactor"),
787 inputs: ::std::vec![
788 ::ethers::core::abi::ethabi::Param {
789 name: ::std::string::String::new(),
790 kind: ::ethers::core::abi::ethabi::ParamType::Address,
791 internal_type: ::core::option::Option::Some(
792 ::std::borrow::ToOwned::to_owned("address"),
793 ),
794 },
795 ::ethers::core::abi::ethabi::Param {
796 name: ::std::string::String::new(),
797 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
798 256usize,
799 ),
800 internal_type: ::core::option::Option::Some(
801 ::std::borrow::ToOwned::to_owned("uint256"),
802 ),
803 },
804 ],
805 outputs: ::std::vec![
806 ::ethers::core::abi::ethabi::Param {
807 name: ::std::string::String::new(),
808 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
809 256usize,
810 ),
811 internal_type: ::core::option::Option::Some(
812 ::std::borrow::ToOwned::to_owned("uint256"),
813 ),
814 },
815 ],
816 constant: ::core::option::Option::None,
817 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
818 },
819 ],
820 ),
821 (
822 ::std::borrow::ToOwned::to_owned("redeemedFactorIndex"),
823 ::std::vec![
824 ::ethers::core::abi::ethabi::Function {
825 name: ::std::borrow::ToOwned::to_owned(
826 "redeemedFactorIndex",
827 ),
828 inputs: ::std::vec![
829 ::ethers::core::abi::ethabi::Param {
830 name: ::std::string::String::new(),
831 kind: ::ethers::core::abi::ethabi::ParamType::Address,
832 internal_type: ::core::option::Option::Some(
833 ::std::borrow::ToOwned::to_owned("address"),
834 ),
835 },
836 ],
837 outputs: ::std::vec![
838 ::ethers::core::abi::ethabi::Param {
839 name: ::std::string::String::new(),
840 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
841 256usize,
842 ),
843 internal_type: ::core::option::Option::Some(
844 ::std::borrow::ToOwned::to_owned("uint256"),
845 ),
846 },
847 ],
848 constant: ::core::option::Option::None,
849 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
850 },
851 ],
852 ),
853 (
854 ::std::borrow::ToOwned::to_owned("redeemedNft"),
855 ::std::vec![
856 ::ethers::core::abi::ethabi::Function {
857 name: ::std::borrow::ToOwned::to_owned("redeemedNft"),
858 inputs: ::std::vec![
859 ::ethers::core::abi::ethabi::Param {
860 name: ::std::string::String::new(),
861 kind: ::ethers::core::abi::ethabi::ParamType::Address,
862 internal_type: ::core::option::Option::Some(
863 ::std::borrow::ToOwned::to_owned("address"),
864 ),
865 },
866 ::ethers::core::abi::ethabi::Param {
867 name: ::std::string::String::new(),
868 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
869 256usize,
870 ),
871 internal_type: ::core::option::Option::Some(
872 ::std::borrow::ToOwned::to_owned("uint256"),
873 ),
874 },
875 ],
876 outputs: ::std::vec![
877 ::ethers::core::abi::ethabi::Param {
878 name: ::std::string::String::new(),
879 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
880 256usize,
881 ),
882 internal_type: ::core::option::Option::Some(
883 ::std::borrow::ToOwned::to_owned("uint256"),
884 ),
885 },
886 ],
887 constant: ::core::option::Option::None,
888 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
889 },
890 ],
891 ),
892 (
893 ::std::borrow::ToOwned::to_owned("redeemedNftIndex"),
894 ::std::vec![
895 ::ethers::core::abi::ethabi::Function {
896 name: ::std::borrow::ToOwned::to_owned("redeemedNftIndex"),
897 inputs: ::std::vec![
898 ::ethers::core::abi::ethabi::Param {
899 name: ::std::string::String::new(),
900 kind: ::ethers::core::abi::ethabi::ParamType::Address,
901 internal_type: ::core::option::Option::Some(
902 ::std::borrow::ToOwned::to_owned("address"),
903 ),
904 },
905 ],
906 outputs: ::std::vec![
907 ::ethers::core::abi::ethabi::Param {
908 name: ::std::string::String::new(),
909 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
910 256usize,
911 ),
912 internal_type: ::core::option::Option::Some(
913 ::std::borrow::ToOwned::to_owned("uint256"),
914 ),
915 },
916 ],
917 constant: ::core::option::Option::None,
918 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
919 },
920 ],
921 ),
922 (
923 ::std::borrow::ToOwned::to_owned("renounceOwnership"),
924 ::std::vec![
925 ::ethers::core::abi::ethabi::Function {
926 name: ::std::borrow::ToOwned::to_owned("renounceOwnership"),
927 inputs: ::std::vec![],
928 outputs: ::std::vec![],
929 constant: ::core::option::Option::None,
930 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
931 },
932 ],
933 ),
934 (
935 ::std::borrow::ToOwned::to_owned("stakedHoprTokens"),
936 ::std::vec![
937 ::ethers::core::abi::ethabi::Function {
938 name: ::std::borrow::ToOwned::to_owned("stakedHoprTokens"),
939 inputs: ::std::vec![
940 ::ethers::core::abi::ethabi::Param {
941 name: ::std::borrow::ToOwned::to_owned("_account"),
942 kind: ::ethers::core::abi::ethabi::ParamType::Address,
943 internal_type: ::core::option::Option::Some(
944 ::std::borrow::ToOwned::to_owned("address"),
945 ),
946 },
947 ],
948 outputs: ::std::vec![
949 ::ethers::core::abi::ethabi::Param {
950 name: ::std::string::String::new(),
951 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
952 256usize,
953 ),
954 internal_type: ::core::option::Option::Some(
955 ::std::borrow::ToOwned::to_owned("uint256"),
956 ),
957 },
958 ],
959 constant: ::core::option::Option::None,
960 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
961 },
962 ],
963 ),
964 (
965 ::std::borrow::ToOwned::to_owned("sync"),
966 ::std::vec![
967 ::ethers::core::abi::ethabi::Function {
968 name: ::std::borrow::ToOwned::to_owned("sync"),
969 inputs: ::std::vec![
970 ::ethers::core::abi::ethabi::Param {
971 name: ::std::borrow::ToOwned::to_owned("account"),
972 kind: ::ethers::core::abi::ethabi::ParamType::Address,
973 internal_type: ::core::option::Option::Some(
974 ::std::borrow::ToOwned::to_owned("address"),
975 ),
976 },
977 ],
978 outputs: ::std::vec![],
979 constant: ::core::option::Option::None,
980 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
981 },
982 ],
983 ),
984 (
985 ::std::borrow::ToOwned::to_owned("tokensReceived"),
986 ::std::vec![
987 ::ethers::core::abi::ethabi::Function {
988 name: ::std::borrow::ToOwned::to_owned("tokensReceived"),
989 inputs: ::std::vec![
990 ::ethers::core::abi::ethabi::Param {
991 name: ::std::string::String::new(),
992 kind: ::ethers::core::abi::ethabi::ParamType::Address,
993 internal_type: ::core::option::Option::Some(
994 ::std::borrow::ToOwned::to_owned("address"),
995 ),
996 },
997 ::ethers::core::abi::ethabi::Param {
998 name: ::std::borrow::ToOwned::to_owned("from"),
999 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1000 internal_type: ::core::option::Option::Some(
1001 ::std::borrow::ToOwned::to_owned("address"),
1002 ),
1003 },
1004 ::ethers::core::abi::ethabi::Param {
1005 name: ::std::borrow::ToOwned::to_owned("to"),
1006 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1007 internal_type: ::core::option::Option::Some(
1008 ::std::borrow::ToOwned::to_owned("address"),
1009 ),
1010 },
1011 ::ethers::core::abi::ethabi::Param {
1012 name: ::std::borrow::ToOwned::to_owned("amount"),
1013 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1014 256usize,
1015 ),
1016 internal_type: ::core::option::Option::Some(
1017 ::std::borrow::ToOwned::to_owned("uint256"),
1018 ),
1019 },
1020 ::ethers::core::abi::ethabi::Param {
1021 name: ::std::string::String::new(),
1022 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1023 internal_type: ::core::option::Option::Some(
1024 ::std::borrow::ToOwned::to_owned("bytes"),
1025 ),
1026 },
1027 ::ethers::core::abi::ethabi::Param {
1028 name: ::std::string::String::new(),
1029 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1030 internal_type: ::core::option::Option::Some(
1031 ::std::borrow::ToOwned::to_owned("bytes"),
1032 ),
1033 },
1034 ],
1035 outputs: ::std::vec![],
1036 constant: ::core::option::Option::None,
1037 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1038 },
1039 ],
1040 ),
1041 (
1042 ::std::borrow::ToOwned::to_owned("totalLocked"),
1043 ::std::vec![
1044 ::ethers::core::abi::ethabi::Function {
1045 name: ::std::borrow::ToOwned::to_owned("totalLocked"),
1046 inputs: ::std::vec![],
1047 outputs: ::std::vec![
1048 ::ethers::core::abi::ethabi::Param {
1049 name: ::std::string::String::new(),
1050 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1051 256usize,
1052 ),
1053 internal_type: ::core::option::Option::Some(
1054 ::std::borrow::ToOwned::to_owned("uint256"),
1055 ),
1056 },
1057 ],
1058 constant: ::core::option::Option::None,
1059 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1060 },
1061 ],
1062 ),
1063 (
1064 ::std::borrow::ToOwned::to_owned("transferOwnership"),
1065 ::std::vec![
1066 ::ethers::core::abi::ethabi::Function {
1067 name: ::std::borrow::ToOwned::to_owned("transferOwnership"),
1068 inputs: ::std::vec![
1069 ::ethers::core::abi::ethabi::Param {
1070 name: ::std::borrow::ToOwned::to_owned("newOwner"),
1071 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1072 internal_type: ::core::option::Option::Some(
1073 ::std::borrow::ToOwned::to_owned("address"),
1074 ),
1075 },
1076 ],
1077 outputs: ::std::vec![],
1078 constant: ::core::option::Option::None,
1079 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1080 },
1081 ],
1082 ),
1083 (
1084 ::std::borrow::ToOwned::to_owned("unlock"),
1085 ::std::vec![
1086 ::ethers::core::abi::ethabi::Function {
1087 name: ::std::borrow::ToOwned::to_owned("unlock"),
1088 inputs: ::std::vec![],
1089 outputs: ::std::vec![],
1090 constant: ::core::option::Option::None,
1091 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1092 },
1093 ],
1094 ),
1095 (
1096 ::std::borrow::ToOwned::to_owned("unlockFor"),
1097 ::std::vec![
1098 ::ethers::core::abi::ethabi::Function {
1099 name: ::std::borrow::ToOwned::to_owned("unlockFor"),
1100 inputs: ::std::vec![
1101 ::ethers::core::abi::ethabi::Param {
1102 name: ::std::borrow::ToOwned::to_owned("account"),
1103 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1104 internal_type: ::core::option::Option::Some(
1105 ::std::borrow::ToOwned::to_owned("address"),
1106 ),
1107 },
1108 ],
1109 outputs: ::std::vec![],
1110 constant: ::core::option::Option::None,
1111 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1112 },
1113 ],
1114 ),
1115 ]),
1116 events: ::core::convert::From::from([
1117 (
1118 ::std::borrow::ToOwned::to_owned("Claimed"),
1119 ::std::vec![
1120 ::ethers::core::abi::ethabi::Event {
1121 name: ::std::borrow::ToOwned::to_owned("Claimed"),
1122 inputs: ::std::vec![
1123 ::ethers::core::abi::ethabi::EventParam {
1124 name: ::std::borrow::ToOwned::to_owned("account"),
1125 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1126 indexed: true,
1127 },
1128 ::ethers::core::abi::ethabi::EventParam {
1129 name: ::std::borrow::ToOwned::to_owned("rewardAmount"),
1130 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1131 256usize,
1132 ),
1133 indexed: true,
1134 },
1135 ],
1136 anonymous: false,
1137 },
1138 ],
1139 ),
1140 (
1141 ::std::borrow::ToOwned::to_owned("NftAllowed"),
1142 ::std::vec![
1143 ::ethers::core::abi::ethabi::Event {
1144 name: ::std::borrow::ToOwned::to_owned("NftAllowed"),
1145 inputs: ::std::vec![
1146 ::ethers::core::abi::ethabi::EventParam {
1147 name: ::std::borrow::ToOwned::to_owned("typeIndex"),
1148 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1149 256usize,
1150 ),
1151 indexed: true,
1152 },
1153 ],
1154 anonymous: false,
1155 },
1156 ],
1157 ),
1158 (
1159 ::std::borrow::ToOwned::to_owned("NftBlocked"),
1160 ::std::vec![
1161 ::ethers::core::abi::ethabi::Event {
1162 name: ::std::borrow::ToOwned::to_owned("NftBlocked"),
1163 inputs: ::std::vec![
1164 ::ethers::core::abi::ethabi::EventParam {
1165 name: ::std::borrow::ToOwned::to_owned("typeIndex"),
1166 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1167 256usize,
1168 ),
1169 indexed: true,
1170 },
1171 ],
1172 anonymous: false,
1173 },
1174 ],
1175 ),
1176 (
1177 ::std::borrow::ToOwned::to_owned("OwnershipTransferred"),
1178 ::std::vec![
1179 ::ethers::core::abi::ethabi::Event {
1180 name: ::std::borrow::ToOwned::to_owned(
1181 "OwnershipTransferred",
1182 ),
1183 inputs: ::std::vec![
1184 ::ethers::core::abi::ethabi::EventParam {
1185 name: ::std::borrow::ToOwned::to_owned("previousOwner"),
1186 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1187 indexed: true,
1188 },
1189 ::ethers::core::abi::ethabi::EventParam {
1190 name: ::std::borrow::ToOwned::to_owned("newOwner"),
1191 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1192 indexed: true,
1193 },
1194 ],
1195 anonymous: false,
1196 },
1197 ],
1198 ),
1199 (
1200 ::std::borrow::ToOwned::to_owned("Redeemed"),
1201 ::std::vec![
1202 ::ethers::core::abi::ethabi::Event {
1203 name: ::std::borrow::ToOwned::to_owned("Redeemed"),
1204 inputs: ::std::vec![
1205 ::ethers::core::abi::ethabi::EventParam {
1206 name: ::std::borrow::ToOwned::to_owned("account"),
1207 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1208 indexed: true,
1209 },
1210 ::ethers::core::abi::ethabi::EventParam {
1211 name: ::std::borrow::ToOwned::to_owned("boostTokenId"),
1212 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1213 256usize,
1214 ),
1215 indexed: true,
1216 },
1217 ::ethers::core::abi::ethabi::EventParam {
1218 name: ::std::borrow::ToOwned::to_owned("factorRegistered"),
1219 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
1220 indexed: true,
1221 },
1222 ],
1223 anonymous: false,
1224 },
1225 ],
1226 ),
1227 (
1228 ::std::borrow::ToOwned::to_owned("Released"),
1229 ::std::vec![
1230 ::ethers::core::abi::ethabi::Event {
1231 name: ::std::borrow::ToOwned::to_owned("Released"),
1232 inputs: ::std::vec![
1233 ::ethers::core::abi::ethabi::EventParam {
1234 name: ::std::borrow::ToOwned::to_owned("account"),
1235 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1236 indexed: true,
1237 },
1238 ::ethers::core::abi::ethabi::EventParam {
1239 name: ::std::borrow::ToOwned::to_owned("actualAmount"),
1240 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1241 256usize,
1242 ),
1243 indexed: true,
1244 },
1245 ],
1246 anonymous: false,
1247 },
1248 ],
1249 ),
1250 (
1251 ::std::borrow::ToOwned::to_owned("RewardFueled"),
1252 ::std::vec![
1253 ::ethers::core::abi::ethabi::Event {
1254 name: ::std::borrow::ToOwned::to_owned("RewardFueled"),
1255 inputs: ::std::vec![
1256 ::ethers::core::abi::ethabi::EventParam {
1257 name: ::std::borrow::ToOwned::to_owned("amount"),
1258 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1259 256usize,
1260 ),
1261 indexed: true,
1262 },
1263 ],
1264 anonymous: false,
1265 },
1266 ],
1267 ),
1268 (
1269 ::std::borrow::ToOwned::to_owned("Staked"),
1270 ::std::vec![
1271 ::ethers::core::abi::ethabi::Event {
1272 name: ::std::borrow::ToOwned::to_owned("Staked"),
1273 inputs: ::std::vec![
1274 ::ethers::core::abi::ethabi::EventParam {
1275 name: ::std::borrow::ToOwned::to_owned("account"),
1276 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1277 indexed: true,
1278 },
1279 ::ethers::core::abi::ethabi::EventParam {
1280 name: ::std::borrow::ToOwned::to_owned("actualAmount"),
1281 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1282 256usize,
1283 ),
1284 indexed: true,
1285 },
1286 ],
1287 anonymous: false,
1288 },
1289 ],
1290 ),
1291 (
1292 ::std::borrow::ToOwned::to_owned("Sync"),
1293 ::std::vec![
1294 ::ethers::core::abi::ethabi::Event {
1295 name: ::std::borrow::ToOwned::to_owned("Sync"),
1296 inputs: ::std::vec![
1297 ::ethers::core::abi::ethabi::EventParam {
1298 name: ::std::borrow::ToOwned::to_owned("account"),
1299 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1300 indexed: true,
1301 },
1302 ::ethers::core::abi::ethabi::EventParam {
1303 name: ::std::borrow::ToOwned::to_owned("increment"),
1304 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1305 256usize,
1306 ),
1307 indexed: true,
1308 },
1309 ],
1310 anonymous: false,
1311 },
1312 ],
1313 ),
1314 ]),
1315 errors: ::std::collections::BTreeMap::new(),
1316 receive: false,
1317 fallback: false,
1318 }
1319 }
1320 pub static HOPRSTAKESEASON5_ABI: ::ethers::contract::Lazy<
1322 ::ethers::core::abi::Abi,
1323 > = ::ethers::contract::Lazy::new(__abi);
1324 #[rustfmt::skip]
1325 const __BYTECODE: &[u8] = b"a\x01\0`@R`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x19\x90\x81\x16s\xD0W`J\x14\x98/\xE8\xD8\x8C_\xC2Z\xAC2g\xEA\x14*\x08\x17\x90\x91U`\x03\x80T\x82\x16s\xD4\xFD\xECD\xDB\x9DD\xB8\xF2\xB6\xD5)b\x0F\x9C\x0Cpf\xA2\xC1\x17\x90U`\x04\x80T\x90\x91\x16sC\xD1={\x83`\x7F\x143\\\xF2\xCBu\xE8}\xA3i\xD0V\xC7\x17\x90U4\x80\x15b\0\0xW`\0\x80\xFD[P`@Qb\0/\x1B8\x03\x80b\0/\x1B\x839\x81\x01`@\x81\x90Rb\0\0\x9B\x91b\0\x03\xEAV[F`d\x14b\0\0\xABW\x83b\0\0\xC1V[s\xD9\xA0\x01v\xCFI\xDF\xB9\xCA>\xF6\x18\x05\xA2\x85\x0FE\xCB\x1D\x05[ccY!@cc\xD2yPa\x03\x19i*Z\x05\x8F\xC2\x95\xED\0\0\0\x87\x87\x87b\0\0\xE73b\0\x02eV[`\x01\x80U`\x80\x87\x90R`\xA0\x86\x90R`\xC0\x85\x90R`\xE0\x84\x90Rb\0\x01\n\x88b\0\x02\xB5V[`@Qc)\x96Z\x1D`\xE0\x1B\x81R0`\x04\x82\x01\x81\x90R\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;`$\x83\x01R`D\x82\x01Rs\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c)\x96Z\x1D\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x01\x84W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x01\x99W=`\0\x80>=`\0\xFD[PP`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x19\x90\x81\x16`\x01`\x01`\xA0\x1B\x03\x96\x87\x16\x17\x82U`\x03\x80T\x82\x16\x95\x87\x16\x95\x90\x95\x17\x90\x94U`\x04\x80T\x90\x94\x16\x95\x90\x94\x16\x94\x90\x94\x17\x90\x91UPb\0\x01\xEF\x96P\x94Pb\0\x03\x8A\x93PPPPV[b\0\x01\xFB`\x03b\0\x03\x8AV[b\0\x02\x07`\x04b\0\x03\x8AV[b\0\x02\x13`\x07b\0\x03\x8AV[b\0\x02\x1F`\x08b\0\x03\x8AV[b\0\x02+`\tb\0\x03\x8AV[b\0\x027`\nb\0\x03\x8AV[b\0\x02C`\x0Bb\0\x03\x8AV[b\0\x02O`\x0Cb\0\x03\x8AV[b\0\x02[`\rb\0\x03\x8AV[PPPPb\0\x04GV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14b\0\x03\x15W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16b\0\x03|W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01b\0\x03\x0CV[b\0\x03\x87\x81b\0\x02eV[PV[`\0\x81\x81R`\t` R`@\x80\x82 \x80T`\xFF\x19\x16`\x01\x17\x90UQ\x82\x91\x7Fb\r\t\xC7\xC7\xF3\xC5\xC4\x1D\x8B^\xA7\xF2tb-\xDDj\xC6\xB8\x01\xF05\xFCt\x12\x05\xD1\x13\x19\x9C\x0C\x91\xA2PV[\x80Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x03\xE5W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x04\x01W`\0\x80\xFD[b\0\x04\x0C\x85b\0\x03\xCDV[\x93Pb\0\x04\x1C` \x86\x01b\0\x03\xCDV[\x92Pb\0\x04,`@\x86\x01b\0\x03\xCDV[\x91Pb\0\x04<``\x86\x01b\0\x03\xCDV[\x90P\x92\x95\x91\x94P\x92PV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa*Mb\0\x04\xCE`\09`\0\x81\x81a\x05\x80\x01Ra\x1B\xE8\x01R`\0\x81\x81a\x04\x08\x01Ra\x1B\x04\x01R`\0\x81\x81a\x05\0\x01R\x81\x81a\x08,\x01R\x81\x81a\x14\xE4\x01R\x81\x81a\x1A\xC4\x01R\x81\x81a\x1CC\x01R\x81\x81a\x1C\xA4\x01Ra\x1E\x0E\x01R`\0\x81\x81a\x03Z\x01R\x81\x81a\x1A\x9A\x01R\x81\x81a\x1Cg\x01Ra\x1C\xC9\x01Ra*M`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x02\x1BW`\x005`\xE0\x1C\x80c\x81\x12\x8C\x1D\x11a\x01%W\x80c\xCB\xFF\xA3\xC7\x11a\0\xADW\x80c\xDD\xE4\x99y\x11a\0|W\x80c\xDD\xE4\x99y\x14a\x05hW\x80c\xEF\x05&\xA2\x14a\x05{W\x80c\xEF\\\xFB\x8C\x14a\x05\xA2W\x80c\xF2\xFD\xE3\x8B\x14a\x05\xB5W\x80c\xF9x\xFF\xF1\x14a\x05\xC8W`\0\x80\xFD[\x80c\xCB\xFF\xA3\xC7\x14a\x04\xFBW\x80c\xCE#\x17~\x14a\x05\"W\x80c\xD0\xC0-c\x14a\x055W\x80c\xD0\xDAh\x01\x14a\x05UW`\0\x80\xFD[\x80c\x99$\x8E\xA7\x11a\0\xF4W\x80c\x99$\x8E\xA7\x14a\x04\xA7W\x80c\xA4\xC0\xED6\x14a\x04\xBAW\x80c\xA5\x84\x11\x94\x14a\x04\xCDW\x80c\xA6\x9D\xF4\xB5\x14a\x04\xE0W\x80c\xA8=\x1E\xD6\x14a\x04\xE8W`\0\x80\xFD[\x80c\x81\x12\x8C\x1D\x14a\x04EW\x80c\x8C$\xAD\xD4\x14a\x04pW\x80c\x8D\xA5\xCB[\x14a\x04\x83W\x80c\x96\xA9\xCD}\x14a\x04\x94W`\0\x80\xFD[\x80cV\x89\x14\x12\x11a\x01\xA8W\x80c^\xF7=X\x11a\x01wW\x80c^\xF7=X\x14a\x03\xE4W\x80c`g\xBC\x15\x14a\x03\xF0W\x80cj\xA8\xD4\xCF\x14a\x04\x03W\x80cp\xAF\t4\x14a\x04*W\x80cqP\x18\xA6\x14a\x04=W`\0\x80\xFD[\x80cV\x89\x14\x12\x14a\x03LW\x80c[\xBBc\xA6\x14a\x03UW\x80c^L\x0E\x15\x14a\x03|W\x80c^\\\x06\xE2\x14a\x03\x8FW`\0\x80\xFD[\x80c\x1F\xDA\x9A\x02\x11a\x01\xEFW\x80c\x1F\xDA\x9A\x02\x14a\x02\xBFW\x80c!\xCF\x85\xBA\x14a\x02\xEAW\x80cB\xC93a\x14a\x02\xFDW\x80cH\xC6NA\x14a\x030W\x80cJ\xD8K4\x14a\x03CW`\0\x80\xFD[\x80b#\xDE)\x14a\x02 W\x80c\n\x1A%z\x14a\x025W\x80c\x15\x0Bz\x02\x14a\x02sW\x80c\x1F\x01M\x83\x14a\x02\x9FW[`\0\x80\xFD[a\x023a\x02.6`\x04a#\xB5V[a\x05\xF1V[\0[a\x02`a\x02C6`\x04a$`V[`\x05` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x02\x86a\x02\x816`\x04a$\x8AV[a\x07\x9EV[`@Q`\x01`\x01`\xE0\x1B\x03\x19\x90\x91\x16\x81R` \x01a\x02jV[a\x02`a\x02\xAD6`\x04a$\xF9V[`\x08` R`\0\x90\x81R`@\x90 T\x81V[`\x04Ta\x02\xD2\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02jV[a\x023a\x02\xF86`\x04a%\x14V[a\x0C\xB2V[a\x03 a\x03\x0B6`\x04a%\x14V[`\t` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\x02jV[a\x023a\x03>6`\x04a$`V[a\r\x85V[a\x02``\x0CT\x81V[a\x02``\x0BT\x81V[a\x02`\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x023a\x03\x8A6`\x04a%\x14V[a\x0F\x03V[a\x03\xC4a\x03\x9D6`\x04a$\xF9V[`\n` R`\0\x90\x81R`@\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x90\x93\x01T\x91\x92\x90\x91\x84V[`@\x80Q\x94\x85R` \x85\x01\x93\x90\x93R\x91\x83\x01R``\x82\x01R`\x80\x01a\x02jV[a\x02`d\xE8\xD4\xA5\x10\0\x81V[a\x023a\x03\xFE6`\x04a$\xF9V[a\x0F\xA7V[a\x02`\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x02`a\x0486`\x04a$\xF9V[a\x11ZV[a\x023a\x11kV[a\x02`a\x04S6`\x04a$`V[`\x07` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[a\x03 a\x04~6`\x04a%\xFAV[a\x11\xA1V[`\0T`\x01`\x01`\xA0\x1B\x03\x16a\x02\xD2V[a\x03 a\x04\xA26`\x04a&QV[a\x13\x13V[`\x03Ta\x02\xD2\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x03 a\x04\xC86`\x04a&\x9FV[a\x14pV[a\x023a\x04\xDB6`\x04a$\xF9V[a\x15\xF9V[a\x023a\x16\x02V[a\x03 a\x04\xF66`\x04a'\nV[a\x16\x0BV[a\x02`\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x03 a\x0506`\x04a'6V[a\x17^V[a\x02`a\x05C6`\x04a$\xF9V[`\x06` R`\0\x90\x81R`@\x90 T\x81V[`\x02Ta\x02\xD2\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x023a\x05v6`\x04a$\xF9V[a\x18xV[a\x02`\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x023a\x05\xB06`\x04a$\xF9V[a\x18\x81V[a\x023a\x05\xC36`\x04a$\xF9V[a\x18\x93V[a\x02`a\x05\xD66`\x04a$\xF9V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\n` R`@\x90 T\x90V[`\x03T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x06_W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FHoprStake: Sender must be wxHOPR`D\x82\x01Re\x10:7\xB5\xB2\xB7`\xD1\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x86\x160\x14a\x06\xDDW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`7`$\x82\x01R\x7FHoprStake: Must be sending token`D\x82\x01R\x7Fs to HoprStake contract\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06VV[`\0T`\x01`\x01`\xA0\x1B\x03\x88\x81\x16\x91\x16\x14a\x07RW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FHoprStake: Only accept owner to `D\x82\x01Rnprovide rewards`\x88\x1B`d\x82\x01R`\x84\x01a\x06VV[\x84`\x0C`\0\x82\x82Ta\x07d\x91\x90a'\xA8V[\x90\x91UPP`@Q\x85\x90\x7F+\xF5+\xCA\xE3\x19`%\x14\xE0/\xF6\x9B\xBEK\x89\xA1\x97\x18\xB9nxg\x04A(\xEC\x87$\x19C|\x90`\0\x90\xA2PPPPPPPPV[`\x04T`\0\x90`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\x08*W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`?`$\x82\x01R\x7FHoprStake: Cannot SafeTransferFr`D\x82\x01R\x7Fom tokens other than HoprBoost.\0`d\x82\x01R`\x84\x01a\x06VV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B\x11\x15a\x08\xB2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FHoprStake: Program ended, cannot`D\x82\x01Rn\x1092\xB22\xB2\xB6\x9017\xB7\xB9\xBA9\x97`\x89\x1B`d\x82\x01R`\x84\x01a\x06VV[a\x08\xBB\x85a\x19+V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 `\x06\x80\x84R\x82\x85 \x80T\x86R\x91\x84R\x91\x84 \x89\x90U\x93\x83R\x90R\x81T`\x01\x92\x91\x90a\t\x02\x90\x84\x90a'\xA8V[\x90\x91UPP`\x04\x80T`@QcV#\x17\xC5`\xE0\x1B\x81R\x91\x82\x01\x86\x90R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90cV#\x17\xC5\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\tSW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\tw\x91\x90a'\xBBV[`\x04\x80T`@Qc\"[7}`\xE2\x1B\x81R\x91\x82\x01\x88\x90R\x91\x92P`\0\x91`\x01`\x01`\xA0\x1B\x03\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\t\xC3W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\xE7\x91\x90a'\xD4V[P`\0\x83\x81R`\t` R`@\x90 T\x90\x91P`\xFF\x16\x15a\ndW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`1`$\x82\x01R\x7FHoprStake: Can only redeem NFTs `D\x82\x01Rp7\xB3\x100\xB667\xBB\xB2\xB2\x10:<\xB82\xB9\x97`y\x1B`d\x82\x01R`\x84\x01a\x06VV[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81R`\x08` R`@\x81 T\x90[\x81\x81\x10\x15a\x0C\x15W`\x01`\x01`\xA0\x1B\x03\x89\x81\x16`\0\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92QcV#\x17\xC5`\xE0\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90cV#\x17\xC5\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n\xF0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\x14\x91\x90a'\xBBV[`\x04\x80T`@Qc\"[7}`\xE2\x1B\x81R\x91\x82\x01\x85\x90R\x91\x92P`\0\x91`\x01`\x01`\xA0\x1B\x03\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0B`W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\x84\x91\x90a'\xD4V[P\x90P\x86\x82\x03a\x0B\xFFW\x85\x81\x10\x15a\x0B\xBDW`\x01`\x01`\xA0\x1B\x03\x8C\x16`\0\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x87\x84R\x90\x91R\x90 \x8B\x90U[`@Q\x86\x82\x10\x90\x8C\x90`\x01`\x01`\xA0\x1B\x03\x8F\x16\x90\x7F\x06m\x96\xCB(\x0F\xCC\xF3\xA0\xA3\xA5hif\xA8\x01\xB2i\n2\xEC\x98\xFD'\x11\xA4\xE0\x9F4]\x93]\x90`\0\x90\xA4PPPa\x0C\x15V[PPP\x80\x80a\x0C\r\x90a'\xF8V[\x91PPa\n\x7FV[\x81\x81\x03a\x0C\x9CW`\x01`\x01`\xA0\x1B\x03\x89\x16`\0\x81\x81R`\x07` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x80\x83 \x8C\x90U\x92\x82R`\x08\x90R\x90\x81 \x80T`\x01\x92\x90a\x0C]\x90\x84\x90a'\xA8V[\x90\x91UPP`@Q`\x01\x90\x89\x90`\x01`\x01`\xA0\x1B\x03\x8C\x16\x90\x7F\x06m\x96\xCB(\x0F\xCC\xF3\xA0\xA3\xA5hif\xA8\x01\xB2i\n2\xEC\x98\xFD'\x11\xA4\xE0\x9F4]\x93]\x90`\0\x90\xA4[Pc\n\x85\xBD\x01`\xE1\x1B\x99\x98PPPPPPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0C\xDCW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\0\x81\x81R`\t` R`@\x90 T`\xFF\x16a\rEW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FHoprStake: NFT type is not block`D\x82\x01Ra\x19Y`\xF2\x1B`d\x82\x01R`\x84\x01a\x06VV[`\0\x81\x81R`\t` R`@\x80\x82 \x80T`\xFF\x19\x16\x90UQ\x82\x91\x7F\xF7\x8Frf\xAB\x98]\xDB'\x82\xB5/\xC26\xB9\xD2\xF2/\xF2Q\xA3z3j)n\xD4\xB1\x88\xF7\xA9&\x91\xA2PV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\r\xAFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\x02`\x01T\x03a\x0E\x01W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x06VV[`\x02`\x01U`\x04T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x90\x83\x16\x03a\x0ErW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`%`$\x82\x01R\x7FHoprStake: Cannot claim HoprBoos`D\x82\x01Rd\x1D\x08\x13\x91\x95`\xDA\x1B`d\x82\x01R`\x84\x01a\x06VV[\x81`\x01`\x01`\xA0\x1B\x03\x16c#\xB8r\xDD0a\x0E\x94`\0T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x92\x83\x16`\x04\x82\x01R\x91\x16`$\x82\x01R`D\x81\x01\x84\x90R`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0E\xE3W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0E\xF7W=`\0\x80>=`\0\xFD[PP`\x01\x80UPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F-W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\0\x81\x81R`\t` R`@\x90 T`\xFF\x16\x15a\x0F\x9BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FHoprStake: NFT type is already b`D\x82\x01Re\x1B\x1B\xD8\xDA\xD9Y`\xD2\x1B`d\x82\x01R`\x84\x01a\x06VV[a\x0F\xA4\x81a\x19\xB6V[PV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F\xD1W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\x02`\x01T\x03a\x10#W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x06VV[`\x02`\x01\x81\x90UT`\0\x90`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x90\x83\x16\x03a\x10\xC1W`\x0BT`\x02T`@Qcp\xA0\x821`\xE0\x1B\x81R0`\x04\x82\x01R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10\x8CW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x10\xB0\x91\x90a'\xBBV[a\x10\xBA\x91\x90a(FV[\x90Pa\x11,V[`@Qcp\xA0\x821`\xE0\x1B\x81R0`\x04\x82\x01R`\x01`\x01`\xA0\x1B\x03\x83\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x11\x05W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x11)\x91\x90a'\xBBV[\x90P[a\x11Ra\x11A`\0T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x83a\x19\xF9V[PP`\x01\x80UV[`\0a\x11e\x82a\x1APV[\x92\x91PPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x11\x95W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[a\x11\x9F`\0a\x1D\x13V[V[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x13\x06W`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\"[7}`\xE2\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12-W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x12Q\x91\x90a'\xD4V[P\x87Q` \x89\x01 `\x04\x80T`@Qc\xC5\x88\xFF\x8B`\xE0\x1B\x81R\x91\x82\x01\x86\x90R\x92\x93P\x90\x91`\x01`\x01`\xA0\x1B\x03\x16\x90c\xC5\x88\xFF\x8B\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\xA5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x12\xCD\x91\x90\x81\x01\x90a(}V[\x80Q\x90` \x01 \x14\x80\x15a\x12\xE0WP\x80\x86\x14[\x15a\x12\xF1W`\x01\x93PPPPa\x13\x0CV[PP\x80\x80a\x12\xFE\x90a'\xF8V[\x91PPa\x11\xA5V[P`\0\x90P[\x93\x92PPPV[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x13\x06W`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\xC8{V\xDD`\xE0\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\xC8{V\xDD\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x13\xA0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x13\xC8\x91\x90\x81\x01\x90a(}V[`\x04\x80T`@QcV#\x17\xC5`\xE0\x1B\x81R\x91\x82\x01\x85\x90R\x91\x92P\x88\x91`\x01`\x01`\xA0\x1B\x03\x16\x90cV#\x17\xC5\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x14\x14W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x148\x91\x90a'\xBBV[\x14\x80\x15a\x14JWPa\x14J\x81\x87a\x1DcV[\x15a\x14[W`\x01\x93PPPPa\x13\x0CV[PP\x80\x80a\x14h\x90a'\xF8V[\x91PPa\x13\x17V[`\x02T`\0\x90`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14\xE2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`,`$\x82\x01R\x7FHoprStake: Only accept LOCK_TOKE`D\x82\x01RkN in staking`\xA0\x1B`d\x82\x01R`\x84\x01a\x06VV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B\x11\x15a\x15jW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FHoprStake: Program ended, cannot`D\x82\x01Rn\x109\xBA0\xB5\xB2\x900\xB7<\xB6\xB7\xB92\x97`\x89\x1B`d\x82\x01R`\x84\x01a\x06VV[a\x15s\x84a\x19+V[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R`\n` R`@\x81 \x80T\x85\x92\x90a\x15\x9B\x90\x84\x90a'\xA8V[\x92PP\x81\x90UP\x82`\x0B`\0\x82\x82Ta\x15\xB4\x91\x90a'\xA8V[\x90\x91UPP`@Q\x83\x90`\x01`\x01`\xA0\x1B\x03\x86\x16\x90\x7F\x9Eq\xBC\x8E\xEA\x02\xA69i\xF5\t\x81\x8F-\xAF\xB9%E2\x90C\x19\xF9\xDB\xDAy\xB6{\xD3J_=\x90`\0\x90\xA3P`\x01\x93\x92PPPV[a\x0F\xA4\x81a\x19+V[a\x11\x9F3a\x1E\x0CV[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x13\x06W`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\"[7}`\xE2\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x16\x97W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16\xBB\x91\x90a'\xD4V[P`\x04\x80T`@QcV#\x17\xC5`\xE0\x1B\x81R\x91\x82\x01\x85\x90R\x91\x92P\x88\x91`\x01`\x01`\xA0\x1B\x03\x16\x90cV#\x17\xC5\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17\x08W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17,\x91\x90a'\xBBV[\x14\x80\x15a\x178WP\x80\x86\x14[\x15a\x17IW`\x01\x93PPPPa\x13\x0CV[PP\x80\x80a\x17V\x90a'\xF8V[\x91PPa\x16\x0FV[`\0\x80\x84\x84`@Q` \x01a\x17t\x92\x91\x90a(\xF4V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P`\0[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x18lW`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\xC8{V\xDD`\xE0\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\xC8{V\xDD\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x18\x11W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x189\x91\x90\x81\x01\x90a(}V[\x90Pa\x18E\x81\x85a\x1DcV[\x15a\x18WW`\x01\x94PPPPPa\x13\x0CV[PP\x80\x80a\x18d\x90a'\xF8V[\x91PPa\x17\x88V[P`\0\x95\x94PPPPPV[a\x0F\xA4\x81a\x1E\x0CV[a\x18\x8A\x81a\x19+V[a\x0F\xA4\x81a \x06V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x18\xBDW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x19\"W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x06VV[a\x0F\xA4\x81a\x1D\x13V[`\0a\x196\x82a\x1APV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x81 `\x02\x01\x80T\x92\x93P\x83\x92\x90\x91\x90a\x19f\x90\x84\x90a'\xA8V[\x90\x91UPP`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x81\x81R`\n` R`@\x80\x82 B`\x01\x90\x91\x01UQ\x83\x92\x91\x7F\x99\x86\x9D\x96\x8C\xA3X\x1Af\x1F1\xAB\xB3\xA6\xAAp\xCC\xEC\\\xDCI\x85^\xAB\x17L\xF9\xE0\n$b\xDB\x91\xA3PPV[`\0\x81\x81R`\t` R`@\x80\x82 \x80T`\xFF\x19\x16`\x01\x17\x90UQ\x82\x91\x7Fb\r\t\xC7\xC7\xF3\xC5\xC4\x1D\x8B^\xA7\xF2tb-\xDDj\xC6\xB8\x01\xF05\xFCt\x12\x05\xD1\x13\x19\x9C\x0C\x91\xA2PV[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x80\x82\x01\x84\x90R\x82Q\x80\x83\x03\x90\x91\x01\x81R`d\x90\x91\x01\x90\x91R` \x81\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16c\xA9\x05\x9C\xBB`\xE0\x1B\x17\x90Ra\x1AK\x90\x84\x90a!MV[PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x01T``\x82\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B\x11\x15\x80a\x1A\xEBWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81` \x01Q\x10\x15[\x15a\x1A\xF9WP`\0\x92\x91PPV[\x80Q`\0\x90a\x1B)\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90a)0V[\x90P`\0[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81R`\x08` R`@\x90 T\x81\x10\x15a\x1C7W`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\0\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\"[7}`\xE2\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B\xB6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1B\xDA\x91\x90a'\xD4V[P\x85Q\x90\x91P\x81\x90a\x1C\x0C\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\"\x1FV[a\x1C\x16\x91\x90a)0V[a\x1C \x90\x85a'\xA8V[\x93PPP\x80\x80a\x1C/\x90a'\xF8V[\x91PPa\x1B.V[Pd\xE8\xD4\xA5\x10\0a\x1C\x9F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\x1C\x99\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86` \x01Qa\"5\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90a\"\x1FV[a\x1C\xED\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\x1C\x99B\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\"5V[a\x1C\xF7\x91\x90a(FV[a\x1D\x01\x90\x83a)0V[a\x1D\x0B\x91\x90a)GV[\x94\x93PPPPV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[\x80Q\x82Q`\0\x91\x84\x91\x84\x91\x90\x84\x90a\x1D|\x90\x83\x90a(FV[\x90P`\0\x84a\x1D\x8C`\x01\x84a(FV[\x81Q\x81\x10a\x1D\x9CWa\x1D\x9Ca)iV[\x01` \x01Q`\x01`\x01`\xF8\x1B\x03\x19\x16\x90P`/`\xF8\x1B\x81\x14a\x1D\xC6W`\0\x95PPPPPPa\x11eV[`\0a\x1D\xD3\x84` a(FV[a\x1D\xDE\x90`\x08a)0V[\x90P`\0\x80a\x1D\xEC\x87a)\x7FV[\x97\x90\x94\x01` \x01Q\x96\x82\x1C\x96\x90\x91\x1C\x95\x90\x95\x14\x95PPPPPP\x92\x91PPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B\x11a\x1E\x97W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`3`$\x82\x01R\x7FHoprStake: Program is ongoing, c`D\x82\x01Rr0\xB777\xBA\x10:\xB767\xB1\xB5\x909\xBA0\xB5\xB2\x97`i\x1B`d\x82\x01R`\x84\x01a\x06VV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\n` R`@\x90 Ta\x1E\xB9\x82a\x19+V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\n` R`@\x81 \x81\x90U`\x0B\x80T\x83\x92\x90a\x1E\xE6\x90\x84\x90a(FV[\x90\x91UPa\x1E\xF5\x90P\x82a \x06V[`\x02Ta\x1F\x0C\x90`\x01`\x01`\xA0\x1B\x03\x16\x83\x83a\x19\xF9V[`\0[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x1F\xCBW`\x04\x80T`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 \x88\x84R\x90\x91R\x90\x81\x90 T\x90Qc#\xB8r\xDD`\xE0\x1B\x81R0\x95\x81\x01\x95\x90\x95R`$\x85\x01\x91\x90\x91R`D\x84\x01R\x16\x90c#\xB8r\xDD\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1F\xA0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1F\xB4W=`\0\x80>=`\0\xFD[PPPP\x80\x80a\x1F\xC3\x90a'\xF8V[\x91PPa\x1F\x0FV[P`@Q\x81\x90`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x7F\xB2\x1F\xB5-WI\xB8\x0F1\x82\xF8\xC6\x99\"6\xB5\xE5Wf\x81\x88\t\x14HM\x7FL\x9B\x06.a\x9E\x90`\0\x90\xA3PPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x82\x90R`\x03\x01T``\x83\x01\x81\x90R\x91\x92\x91a [\x91a(FV[\x90P\x80\x15a\x1AKW`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x90 `\x02\x81\x01T`\x03\x90\x91\x01U`\x0CT\x81\x11\x15a \xE4W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`$\x80\x82\x01R\x7FHoprStake: Insufficient reward p`D\x82\x01Rc7\xB7\xB6\x17`\xE1\x1B`d\x82\x01R`\x84\x01a\x06VV[\x80`\x0C`\0\x82\x82Ta \xF6\x91\x90a(FV[\x90\x91UPP`\x03Ta!\x12\x90`\x01`\x01`\xA0\x1B\x03\x16\x84\x83a\x19\xF9V[`@Q\x81\x90`\x01`\x01`\xA0\x1B\x03\x85\x16\x90\x7F\xD8\x13\x8F\x8A?7|RY\xCAT\x8Ep\xE4\xC2\xDE\x94\xF1)\xF5\xA1\x106\xA1[iQ<\xBA+Bj\x90`\0\x90\xA3PPPV[`\0a!\xA2\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a\"E\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80Q\x90\x91P\x15a\x1AKW\x80\x80` \x01\x90Q\x81\x01\x90a!\xC0\x91\x90a)\xA6V[a\x1AKW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`*`$\x82\x01R\x7FSafeERC20: ERC20 operation did n`D\x82\x01Ri\x1B\xDD\x08\x1C\xDDX\xD8\xD9YY`\xB2\x1B`d\x82\x01R`\x84\x01a\x06VV[`\0\x81\x83\x10a\".W\x81a\x13\x0CV[P\x90\x91\x90PV[`\0\x81\x83\x10\x15a\".W\x81a\x13\x0CV[``a\x1D\x0B\x84\x84`\0\x85\x85\x84;a\"\x9EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: call to non-contract\0\0\0`D\x82\x01R`d\x01a\x06VV[`\0\x80\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa\"\xBA\x91\x90a)\xC8V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\"\xF7W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\"\xFCV[``\x91P[P\x91P\x91Pa#\x0C\x82\x82\x86a#\x17V[\x97\x96PPPPPPPV[``\x83\x15a#&WP\x81a\x13\x0CV[\x82Q\x15a#6W\x82Q\x80\x84` \x01\xFD[\x81`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x91\x90a)\xE4V[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a#gW`\0\x80\xFD[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a#~W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#\x96W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a#\xAEW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\0\x80`\xC0\x89\x8B\x03\x12\x15a#\xD1W`\0\x80\xFD[a#\xDA\x89a#PV[\x97Pa#\xE8` \x8A\x01a#PV[\x96Pa#\xF6`@\x8A\x01a#PV[\x95P``\x89\x015\x94P`\x80\x89\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$\x1AW`\0\x80\xFD[a$&\x8C\x83\x8D\x01a#lV[\x90\x96P\x94P`\xA0\x8B\x015\x91P\x80\x82\x11\x15a$?W`\0\x80\xFD[Pa$L\x8B\x82\x8C\x01a#lV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0\x80`@\x83\x85\x03\x12\x15a$sW`\0\x80\xFD[a$|\x83a#PV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0\x80`\0`\x80\x86\x88\x03\x12\x15a$\xA2W`\0\x80\xFD[a$\xAB\x86a#PV[\x94Pa$\xB9` \x87\x01a#PV[\x93P`@\x86\x015\x92P``\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xDCW`\0\x80\xFD[a$\xE8\x88\x82\x89\x01a#lV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a%\x0BW`\0\x80\xFD[a\x13\x0C\x82a#PV[`\0` \x82\x84\x03\x12\x15a%&W`\0\x80\xFD[P5\x91\x90PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a%lWa%la%-V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%\x8EWa%\x8Ea%-V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0a%\xAFa%\xAA\x84a%tV[a%CV[\x90P\x82\x81R\x83\x83\x83\x01\x11\x15a%\xC3W`\0\x80\xFD[\x82\x82` \x83\x017`\0` \x84\x83\x01\x01R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a%\xEBW`\0\x80\xFD[a\x13\x0C\x83\x835` \x85\x01a%\x9CV[`\0\x80`\0``\x84\x86\x03\x12\x15a&\x0FW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&&W`\0\x80\xFD[a&2\x86\x82\x87\x01a%\xDAV[\x93PP` \x84\x015\x91Pa&H`@\x85\x01a#PV[\x90P\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a&fW`\0\x80\xFD[\x835\x92P` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\x84W`\0\x80\xFD[a&\x90\x86\x82\x87\x01a%\xDAV[\x92PPa&H`@\x85\x01a#PV[`\0\x80`\0``\x84\x86\x03\x12\x15a&\xB4W`\0\x80\xFD[a&\xBD\x84a#PV[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\xE0W`\0\x80\xFD[\x84\x01`\x1F\x81\x01\x86\x13a&\xF1W`\0\x80\xFD[a'\0\x86\x825` \x84\x01a%\x9CV[\x91PP\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a'\x1FW`\0\x80\xFD[\x835\x92P` \x84\x015\x91Pa&H`@\x85\x01a#PV[`\0\x80`\0``\x84\x86\x03\x12\x15a'KW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a'cW`\0\x80\xFD[a'o\x87\x83\x88\x01a%\xDAV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a'\x85W`\0\x80\xFD[Pa&\x90\x86\x82\x87\x01a%\xDAV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x11eWa\x11ea'\x92V[`\0` \x82\x84\x03\x12\x15a'\xCDW`\0\x80\xFD[PQ\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a'\xE7W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0`\x01\x82\x01a(\nWa(\na'\x92V[P`\x01\x01\x90V[` \x80\x82R\x81\x81\x01R\x7FOwnable: caller is not the owner`@\x82\x01R``\x01\x90V[\x81\x81\x03\x81\x81\x11\x15a\x11eWa\x11ea'\x92V[`\0[\x83\x81\x10\x15a(tW\x81\x81\x01Q\x83\x82\x01R` \x01a(\\V[PP`\0\x91\x01RV[`\0` \x82\x84\x03\x12\x15a(\x8FW`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(\xA6W`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a(\xB7W`\0\x80\xFD[\x80Qa(\xC5a%\xAA\x82a%tV[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a(\xDAW`\0\x80\xFD[a(\xEB\x82` \x83\x01` \x86\x01a(YV[\x95\x94PPPPPV[`\0\x83Qa)\x06\x81\x84` \x88\x01a(YV[`/`\xF8\x1B\x90\x83\x01\x90\x81R\x83Qa)$\x81`\x01\x84\x01` \x88\x01a(YV[\x01`\x01\x01\x94\x93PPPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x11eWa\x11ea'\x92V[`\0\x82a)dWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a)\xA0W`\0\x19\x81` \x03`\x03\x1B\x1B\x82\x16\x91P[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a)\xB8W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x13\x0CW`\0\x80\xFD[`\0\x82Qa)\xDA\x81\x84` \x87\x01a(YV[\x91\x90\x91\x01\x92\x91PPV[` \x81R`\0\x82Q\x80` \x84\x01Ra*\x03\x81`@\x85\x01` \x87\x01a(YV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 \xF8\x87%\xEF\xCD\x1C6\x83\x11\x8D\x03\xA6\xF6\x0F\x8Bv\xF3\xE0\x85\xA1D\xBD\x8C\x1F\0\xF3\xF5\x07\x91\xE6\x91\xAFdsolcC\0\x08\x13\x003";
1326 pub static HOPRSTAKESEASON5_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
1328 __BYTECODE,
1329 );
1330 #[rustfmt::skip]
1331 const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x02\x1BW`\x005`\xE0\x1C\x80c\x81\x12\x8C\x1D\x11a\x01%W\x80c\xCB\xFF\xA3\xC7\x11a\0\xADW\x80c\xDD\xE4\x99y\x11a\0|W\x80c\xDD\xE4\x99y\x14a\x05hW\x80c\xEF\x05&\xA2\x14a\x05{W\x80c\xEF\\\xFB\x8C\x14a\x05\xA2W\x80c\xF2\xFD\xE3\x8B\x14a\x05\xB5W\x80c\xF9x\xFF\xF1\x14a\x05\xC8W`\0\x80\xFD[\x80c\xCB\xFF\xA3\xC7\x14a\x04\xFBW\x80c\xCE#\x17~\x14a\x05\"W\x80c\xD0\xC0-c\x14a\x055W\x80c\xD0\xDAh\x01\x14a\x05UW`\0\x80\xFD[\x80c\x99$\x8E\xA7\x11a\0\xF4W\x80c\x99$\x8E\xA7\x14a\x04\xA7W\x80c\xA4\xC0\xED6\x14a\x04\xBAW\x80c\xA5\x84\x11\x94\x14a\x04\xCDW\x80c\xA6\x9D\xF4\xB5\x14a\x04\xE0W\x80c\xA8=\x1E\xD6\x14a\x04\xE8W`\0\x80\xFD[\x80c\x81\x12\x8C\x1D\x14a\x04EW\x80c\x8C$\xAD\xD4\x14a\x04pW\x80c\x8D\xA5\xCB[\x14a\x04\x83W\x80c\x96\xA9\xCD}\x14a\x04\x94W`\0\x80\xFD[\x80cV\x89\x14\x12\x11a\x01\xA8W\x80c^\xF7=X\x11a\x01wW\x80c^\xF7=X\x14a\x03\xE4W\x80c`g\xBC\x15\x14a\x03\xF0W\x80cj\xA8\xD4\xCF\x14a\x04\x03W\x80cp\xAF\t4\x14a\x04*W\x80cqP\x18\xA6\x14a\x04=W`\0\x80\xFD[\x80cV\x89\x14\x12\x14a\x03LW\x80c[\xBBc\xA6\x14a\x03UW\x80c^L\x0E\x15\x14a\x03|W\x80c^\\\x06\xE2\x14a\x03\x8FW`\0\x80\xFD[\x80c\x1F\xDA\x9A\x02\x11a\x01\xEFW\x80c\x1F\xDA\x9A\x02\x14a\x02\xBFW\x80c!\xCF\x85\xBA\x14a\x02\xEAW\x80cB\xC93a\x14a\x02\xFDW\x80cH\xC6NA\x14a\x030W\x80cJ\xD8K4\x14a\x03CW`\0\x80\xFD[\x80b#\xDE)\x14a\x02 W\x80c\n\x1A%z\x14a\x025W\x80c\x15\x0Bz\x02\x14a\x02sW\x80c\x1F\x01M\x83\x14a\x02\x9FW[`\0\x80\xFD[a\x023a\x02.6`\x04a#\xB5V[a\x05\xF1V[\0[a\x02`a\x02C6`\x04a$`V[`\x05` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x02\x86a\x02\x816`\x04a$\x8AV[a\x07\x9EV[`@Q`\x01`\x01`\xE0\x1B\x03\x19\x90\x91\x16\x81R` \x01a\x02jV[a\x02`a\x02\xAD6`\x04a$\xF9V[`\x08` R`\0\x90\x81R`@\x90 T\x81V[`\x04Ta\x02\xD2\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02jV[a\x023a\x02\xF86`\x04a%\x14V[a\x0C\xB2V[a\x03 a\x03\x0B6`\x04a%\x14V[`\t` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\x02jV[a\x023a\x03>6`\x04a$`V[a\r\x85V[a\x02``\x0CT\x81V[a\x02``\x0BT\x81V[a\x02`\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x023a\x03\x8A6`\x04a%\x14V[a\x0F\x03V[a\x03\xC4a\x03\x9D6`\x04a$\xF9V[`\n` R`\0\x90\x81R`@\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x90\x93\x01T\x91\x92\x90\x91\x84V[`@\x80Q\x94\x85R` \x85\x01\x93\x90\x93R\x91\x83\x01R``\x82\x01R`\x80\x01a\x02jV[a\x02`d\xE8\xD4\xA5\x10\0\x81V[a\x023a\x03\xFE6`\x04a$\xF9V[a\x0F\xA7V[a\x02`\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x02`a\x0486`\x04a$\xF9V[a\x11ZV[a\x023a\x11kV[a\x02`a\x04S6`\x04a$`V[`\x07` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[a\x03 a\x04~6`\x04a%\xFAV[a\x11\xA1V[`\0T`\x01`\x01`\xA0\x1B\x03\x16a\x02\xD2V[a\x03 a\x04\xA26`\x04a&QV[a\x13\x13V[`\x03Ta\x02\xD2\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x03 a\x04\xC86`\x04a&\x9FV[a\x14pV[a\x023a\x04\xDB6`\x04a$\xF9V[a\x15\xF9V[a\x023a\x16\x02V[a\x03 a\x04\xF66`\x04a'\nV[a\x16\x0BV[a\x02`\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x03 a\x0506`\x04a'6V[a\x17^V[a\x02`a\x05C6`\x04a$\xF9V[`\x06` R`\0\x90\x81R`@\x90 T\x81V[`\x02Ta\x02\xD2\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x023a\x05v6`\x04a$\xF9V[a\x18xV[a\x02`\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x023a\x05\xB06`\x04a$\xF9V[a\x18\x81V[a\x023a\x05\xC36`\x04a$\xF9V[a\x18\x93V[a\x02`a\x05\xD66`\x04a$\xF9V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\n` R`@\x90 T\x90V[`\x03T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x06_W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FHoprStake: Sender must be wxHOPR`D\x82\x01Re\x10:7\xB5\xB2\xB7`\xD1\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x86\x160\x14a\x06\xDDW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`7`$\x82\x01R\x7FHoprStake: Must be sending token`D\x82\x01R\x7Fs to HoprStake contract\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06VV[`\0T`\x01`\x01`\xA0\x1B\x03\x88\x81\x16\x91\x16\x14a\x07RW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FHoprStake: Only accept owner to `D\x82\x01Rnprovide rewards`\x88\x1B`d\x82\x01R`\x84\x01a\x06VV[\x84`\x0C`\0\x82\x82Ta\x07d\x91\x90a'\xA8V[\x90\x91UPP`@Q\x85\x90\x7F+\xF5+\xCA\xE3\x19`%\x14\xE0/\xF6\x9B\xBEK\x89\xA1\x97\x18\xB9nxg\x04A(\xEC\x87$\x19C|\x90`\0\x90\xA2PPPPPPPPV[`\x04T`\0\x90`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\x08*W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`?`$\x82\x01R\x7FHoprStake: Cannot SafeTransferFr`D\x82\x01R\x7Fom tokens other than HoprBoost.\0`d\x82\x01R`\x84\x01a\x06VV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B\x11\x15a\x08\xB2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FHoprStake: Program ended, cannot`D\x82\x01Rn\x1092\xB22\xB2\xB6\x9017\xB7\xB9\xBA9\x97`\x89\x1B`d\x82\x01R`\x84\x01a\x06VV[a\x08\xBB\x85a\x19+V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 `\x06\x80\x84R\x82\x85 \x80T\x86R\x91\x84R\x91\x84 \x89\x90U\x93\x83R\x90R\x81T`\x01\x92\x91\x90a\t\x02\x90\x84\x90a'\xA8V[\x90\x91UPP`\x04\x80T`@QcV#\x17\xC5`\xE0\x1B\x81R\x91\x82\x01\x86\x90R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90cV#\x17\xC5\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\tSW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\tw\x91\x90a'\xBBV[`\x04\x80T`@Qc\"[7}`\xE2\x1B\x81R\x91\x82\x01\x88\x90R\x91\x92P`\0\x91`\x01`\x01`\xA0\x1B\x03\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\t\xC3W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\xE7\x91\x90a'\xD4V[P`\0\x83\x81R`\t` R`@\x90 T\x90\x91P`\xFF\x16\x15a\ndW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`1`$\x82\x01R\x7FHoprStake: Can only redeem NFTs `D\x82\x01Rp7\xB3\x100\xB667\xBB\xB2\xB2\x10:<\xB82\xB9\x97`y\x1B`d\x82\x01R`\x84\x01a\x06VV[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81R`\x08` R`@\x81 T\x90[\x81\x81\x10\x15a\x0C\x15W`\x01`\x01`\xA0\x1B\x03\x89\x81\x16`\0\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92QcV#\x17\xC5`\xE0\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90cV#\x17\xC5\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n\xF0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\x14\x91\x90a'\xBBV[`\x04\x80T`@Qc\"[7}`\xE2\x1B\x81R\x91\x82\x01\x85\x90R\x91\x92P`\0\x91`\x01`\x01`\xA0\x1B\x03\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0B`W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\x84\x91\x90a'\xD4V[P\x90P\x86\x82\x03a\x0B\xFFW\x85\x81\x10\x15a\x0B\xBDW`\x01`\x01`\xA0\x1B\x03\x8C\x16`\0\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x87\x84R\x90\x91R\x90 \x8B\x90U[`@Q\x86\x82\x10\x90\x8C\x90`\x01`\x01`\xA0\x1B\x03\x8F\x16\x90\x7F\x06m\x96\xCB(\x0F\xCC\xF3\xA0\xA3\xA5hif\xA8\x01\xB2i\n2\xEC\x98\xFD'\x11\xA4\xE0\x9F4]\x93]\x90`\0\x90\xA4PPPa\x0C\x15V[PPP\x80\x80a\x0C\r\x90a'\xF8V[\x91PPa\n\x7FV[\x81\x81\x03a\x0C\x9CW`\x01`\x01`\xA0\x1B\x03\x89\x16`\0\x81\x81R`\x07` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x80\x83 \x8C\x90U\x92\x82R`\x08\x90R\x90\x81 \x80T`\x01\x92\x90a\x0C]\x90\x84\x90a'\xA8V[\x90\x91UPP`@Q`\x01\x90\x89\x90`\x01`\x01`\xA0\x1B\x03\x8C\x16\x90\x7F\x06m\x96\xCB(\x0F\xCC\xF3\xA0\xA3\xA5hif\xA8\x01\xB2i\n2\xEC\x98\xFD'\x11\xA4\xE0\x9F4]\x93]\x90`\0\x90\xA4[Pc\n\x85\xBD\x01`\xE1\x1B\x99\x98PPPPPPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0C\xDCW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\0\x81\x81R`\t` R`@\x90 T`\xFF\x16a\rEW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FHoprStake: NFT type is not block`D\x82\x01Ra\x19Y`\xF2\x1B`d\x82\x01R`\x84\x01a\x06VV[`\0\x81\x81R`\t` R`@\x80\x82 \x80T`\xFF\x19\x16\x90UQ\x82\x91\x7F\xF7\x8Frf\xAB\x98]\xDB'\x82\xB5/\xC26\xB9\xD2\xF2/\xF2Q\xA3z3j)n\xD4\xB1\x88\xF7\xA9&\x91\xA2PV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\r\xAFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\x02`\x01T\x03a\x0E\x01W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x06VV[`\x02`\x01U`\x04T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x90\x83\x16\x03a\x0ErW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`%`$\x82\x01R\x7FHoprStake: Cannot claim HoprBoos`D\x82\x01Rd\x1D\x08\x13\x91\x95`\xDA\x1B`d\x82\x01R`\x84\x01a\x06VV[\x81`\x01`\x01`\xA0\x1B\x03\x16c#\xB8r\xDD0a\x0E\x94`\0T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x92\x83\x16`\x04\x82\x01R\x91\x16`$\x82\x01R`D\x81\x01\x84\x90R`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0E\xE3W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0E\xF7W=`\0\x80>=`\0\xFD[PP`\x01\x80UPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F-W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\0\x81\x81R`\t` R`@\x90 T`\xFF\x16\x15a\x0F\x9BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FHoprStake: NFT type is already b`D\x82\x01Re\x1B\x1B\xD8\xDA\xD9Y`\xD2\x1B`d\x82\x01R`\x84\x01a\x06VV[a\x0F\xA4\x81a\x19\xB6V[PV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F\xD1W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\x02`\x01T\x03a\x10#W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x06VV[`\x02`\x01\x81\x90UT`\0\x90`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x90\x83\x16\x03a\x10\xC1W`\x0BT`\x02T`@Qcp\xA0\x821`\xE0\x1B\x81R0`\x04\x82\x01R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10\x8CW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x10\xB0\x91\x90a'\xBBV[a\x10\xBA\x91\x90a(FV[\x90Pa\x11,V[`@Qcp\xA0\x821`\xE0\x1B\x81R0`\x04\x82\x01R`\x01`\x01`\xA0\x1B\x03\x83\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x11\x05W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x11)\x91\x90a'\xBBV[\x90P[a\x11Ra\x11A`\0T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x83a\x19\xF9V[PP`\x01\x80UV[`\0a\x11e\x82a\x1APV[\x92\x91PPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x11\x95W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[a\x11\x9F`\0a\x1D\x13V[V[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x13\x06W`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\"[7}`\xE2\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12-W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x12Q\x91\x90a'\xD4V[P\x87Q` \x89\x01 `\x04\x80T`@Qc\xC5\x88\xFF\x8B`\xE0\x1B\x81R\x91\x82\x01\x86\x90R\x92\x93P\x90\x91`\x01`\x01`\xA0\x1B\x03\x16\x90c\xC5\x88\xFF\x8B\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\xA5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x12\xCD\x91\x90\x81\x01\x90a(}V[\x80Q\x90` \x01 \x14\x80\x15a\x12\xE0WP\x80\x86\x14[\x15a\x12\xF1W`\x01\x93PPPPa\x13\x0CV[PP\x80\x80a\x12\xFE\x90a'\xF8V[\x91PPa\x11\xA5V[P`\0\x90P[\x93\x92PPPV[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x13\x06W`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\xC8{V\xDD`\xE0\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\xC8{V\xDD\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x13\xA0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x13\xC8\x91\x90\x81\x01\x90a(}V[`\x04\x80T`@QcV#\x17\xC5`\xE0\x1B\x81R\x91\x82\x01\x85\x90R\x91\x92P\x88\x91`\x01`\x01`\xA0\x1B\x03\x16\x90cV#\x17\xC5\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x14\x14W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x148\x91\x90a'\xBBV[\x14\x80\x15a\x14JWPa\x14J\x81\x87a\x1DcV[\x15a\x14[W`\x01\x93PPPPa\x13\x0CV[PP\x80\x80a\x14h\x90a'\xF8V[\x91PPa\x13\x17V[`\x02T`\0\x90`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14\xE2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`,`$\x82\x01R\x7FHoprStake: Only accept LOCK_TOKE`D\x82\x01RkN in staking`\xA0\x1B`d\x82\x01R`\x84\x01a\x06VV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B\x11\x15a\x15jW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FHoprStake: Program ended, cannot`D\x82\x01Rn\x109\xBA0\xB5\xB2\x900\xB7<\xB6\xB7\xB92\x97`\x89\x1B`d\x82\x01R`\x84\x01a\x06VV[a\x15s\x84a\x19+V[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R`\n` R`@\x81 \x80T\x85\x92\x90a\x15\x9B\x90\x84\x90a'\xA8V[\x92PP\x81\x90UP\x82`\x0B`\0\x82\x82Ta\x15\xB4\x91\x90a'\xA8V[\x90\x91UPP`@Q\x83\x90`\x01`\x01`\xA0\x1B\x03\x86\x16\x90\x7F\x9Eq\xBC\x8E\xEA\x02\xA69i\xF5\t\x81\x8F-\xAF\xB9%E2\x90C\x19\xF9\xDB\xDAy\xB6{\xD3J_=\x90`\0\x90\xA3P`\x01\x93\x92PPPV[a\x0F\xA4\x81a\x19+V[a\x11\x9F3a\x1E\x0CV[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x13\x06W`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\"[7}`\xE2\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x16\x97W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16\xBB\x91\x90a'\xD4V[P`\x04\x80T`@QcV#\x17\xC5`\xE0\x1B\x81R\x91\x82\x01\x85\x90R\x91\x92P\x88\x91`\x01`\x01`\xA0\x1B\x03\x16\x90cV#\x17\xC5\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17\x08W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17,\x91\x90a'\xBBV[\x14\x80\x15a\x178WP\x80\x86\x14[\x15a\x17IW`\x01\x93PPPPa\x13\x0CV[PP\x80\x80a\x17V\x90a'\xF8V[\x91PPa\x16\x0FV[`\0\x80\x84\x84`@Q` \x01a\x17t\x92\x91\x90a(\xF4V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P`\0[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x18lW`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\xC8{V\xDD`\xE0\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\xC8{V\xDD\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x18\x11W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x189\x91\x90\x81\x01\x90a(}V[\x90Pa\x18E\x81\x85a\x1DcV[\x15a\x18WW`\x01\x94PPPPPa\x13\x0CV[PP\x80\x80a\x18d\x90a'\xF8V[\x91PPa\x17\x88V[P`\0\x95\x94PPPPPV[a\x0F\xA4\x81a\x1E\x0CV[a\x18\x8A\x81a\x19+V[a\x0F\xA4\x81a \x06V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x18\xBDW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x90a(\x11V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x19\"W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x06VV[a\x0F\xA4\x81a\x1D\x13V[`\0a\x196\x82a\x1APV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x81 `\x02\x01\x80T\x92\x93P\x83\x92\x90\x91\x90a\x19f\x90\x84\x90a'\xA8V[\x90\x91UPP`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x81\x81R`\n` R`@\x80\x82 B`\x01\x90\x91\x01UQ\x83\x92\x91\x7F\x99\x86\x9D\x96\x8C\xA3X\x1Af\x1F1\xAB\xB3\xA6\xAAp\xCC\xEC\\\xDCI\x85^\xAB\x17L\xF9\xE0\n$b\xDB\x91\xA3PPV[`\0\x81\x81R`\t` R`@\x80\x82 \x80T`\xFF\x19\x16`\x01\x17\x90UQ\x82\x91\x7Fb\r\t\xC7\xC7\xF3\xC5\xC4\x1D\x8B^\xA7\xF2tb-\xDDj\xC6\xB8\x01\xF05\xFCt\x12\x05\xD1\x13\x19\x9C\x0C\x91\xA2PV[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x80\x82\x01\x84\x90R\x82Q\x80\x83\x03\x90\x91\x01\x81R`d\x90\x91\x01\x90\x91R` \x81\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16c\xA9\x05\x9C\xBB`\xE0\x1B\x17\x90Ra\x1AK\x90\x84\x90a!MV[PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x01T``\x82\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B\x11\x15\x80a\x1A\xEBWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81` \x01Q\x10\x15[\x15a\x1A\xF9WP`\0\x92\x91PPV[\x80Q`\0\x90a\x1B)\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90a)0V[\x90P`\0[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81R`\x08` R`@\x90 T\x81\x10\x15a\x1C7W`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\0\x90\x81R`\x07` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 T`\x04\x80T\x92Qc\"[7}`\xE2\x1B\x81R\x90\x81\x01\x82\x90R\x90\x93\x91\x90\x91\x16\x90c\x89l\xDD\xF4\x90`$\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B\xB6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1B\xDA\x91\x90a'\xD4V[P\x85Q\x90\x91P\x81\x90a\x1C\x0C\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\"\x1FV[a\x1C\x16\x91\x90a)0V[a\x1C \x90\x85a'\xA8V[\x93PPP\x80\x80a\x1C/\x90a'\xF8V[\x91PPa\x1B.V[Pd\xE8\xD4\xA5\x10\0a\x1C\x9F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\x1C\x99\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86` \x01Qa\"5\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90a\"\x1FV[a\x1C\xED\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\x1C\x99B\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\"5V[a\x1C\xF7\x91\x90a(FV[a\x1D\x01\x90\x83a)0V[a\x1D\x0B\x91\x90a)GV[\x94\x93PPPPV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[\x80Q\x82Q`\0\x91\x84\x91\x84\x91\x90\x84\x90a\x1D|\x90\x83\x90a(FV[\x90P`\0\x84a\x1D\x8C`\x01\x84a(FV[\x81Q\x81\x10a\x1D\x9CWa\x1D\x9Ca)iV[\x01` \x01Q`\x01`\x01`\xF8\x1B\x03\x19\x16\x90P`/`\xF8\x1B\x81\x14a\x1D\xC6W`\0\x95PPPPPPa\x11eV[`\0a\x1D\xD3\x84` a(FV[a\x1D\xDE\x90`\x08a)0V[\x90P`\0\x80a\x1D\xEC\x87a)\x7FV[\x97\x90\x94\x01` \x01Q\x96\x82\x1C\x96\x90\x91\x1C\x95\x90\x95\x14\x95PPPPPP\x92\x91PPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B\x11a\x1E\x97W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`3`$\x82\x01R\x7FHoprStake: Program is ongoing, c`D\x82\x01Rr0\xB777\xBA\x10:\xB767\xB1\xB5\x909\xBA0\xB5\xB2\x97`i\x1B`d\x82\x01R`\x84\x01a\x06VV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\n` R`@\x90 Ta\x1E\xB9\x82a\x19+V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\n` R`@\x81 \x81\x90U`\x0B\x80T\x83\x92\x90a\x1E\xE6\x90\x84\x90a(FV[\x90\x91UPa\x1E\xF5\x90P\x82a \x06V[`\x02Ta\x1F\x0C\x90`\x01`\x01`\xA0\x1B\x03\x16\x83\x83a\x19\xF9V[`\0[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x1F\xCBW`\x04\x80T`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 \x88\x84R\x90\x91R\x90\x81\x90 T\x90Qc#\xB8r\xDD`\xE0\x1B\x81R0\x95\x81\x01\x95\x90\x95R`$\x85\x01\x91\x90\x91R`D\x84\x01R\x16\x90c#\xB8r\xDD\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1F\xA0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1F\xB4W=`\0\x80>=`\0\xFD[PPPP\x80\x80a\x1F\xC3\x90a'\xF8V[\x91PPa\x1F\x0FV[P`@Q\x81\x90`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x7F\xB2\x1F\xB5-WI\xB8\x0F1\x82\xF8\xC6\x99\"6\xB5\xE5Wf\x81\x88\t\x14HM\x7FL\x9B\x06.a\x9E\x90`\0\x90\xA3PPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x81Q`\x80\x81\x01\x83R\x81T\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x82\x90R`\x03\x01T``\x83\x01\x81\x90R\x91\x92\x91a [\x91a(FV[\x90P\x80\x15a\x1AKW`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x90 `\x02\x81\x01T`\x03\x90\x91\x01U`\x0CT\x81\x11\x15a \xE4W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`$\x80\x82\x01R\x7FHoprStake: Insufficient reward p`D\x82\x01Rc7\xB7\xB6\x17`\xE1\x1B`d\x82\x01R`\x84\x01a\x06VV[\x80`\x0C`\0\x82\x82Ta \xF6\x91\x90a(FV[\x90\x91UPP`\x03Ta!\x12\x90`\x01`\x01`\xA0\x1B\x03\x16\x84\x83a\x19\xF9V[`@Q\x81\x90`\x01`\x01`\xA0\x1B\x03\x85\x16\x90\x7F\xD8\x13\x8F\x8A?7|RY\xCAT\x8Ep\xE4\xC2\xDE\x94\xF1)\xF5\xA1\x106\xA1[iQ<\xBA+Bj\x90`\0\x90\xA3PPPV[`\0a!\xA2\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a\"E\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80Q\x90\x91P\x15a\x1AKW\x80\x80` \x01\x90Q\x81\x01\x90a!\xC0\x91\x90a)\xA6V[a\x1AKW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`*`$\x82\x01R\x7FSafeERC20: ERC20 operation did n`D\x82\x01Ri\x1B\xDD\x08\x1C\xDDX\xD8\xD9YY`\xB2\x1B`d\x82\x01R`\x84\x01a\x06VV[`\0\x81\x83\x10a\".W\x81a\x13\x0CV[P\x90\x91\x90PV[`\0\x81\x83\x10\x15a\".W\x81a\x13\x0CV[``a\x1D\x0B\x84\x84`\0\x85\x85\x84;a\"\x9EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: call to non-contract\0\0\0`D\x82\x01R`d\x01a\x06VV[`\0\x80\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa\"\xBA\x91\x90a)\xC8V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\"\xF7W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\"\xFCV[``\x91P[P\x91P\x91Pa#\x0C\x82\x82\x86a#\x17V[\x97\x96PPPPPPPV[``\x83\x15a#&WP\x81a\x13\x0CV[\x82Q\x15a#6W\x82Q\x80\x84` \x01\xFD[\x81`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06V\x91\x90a)\xE4V[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a#gW`\0\x80\xFD[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a#~W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#\x96W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a#\xAEW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\0\x80`\xC0\x89\x8B\x03\x12\x15a#\xD1W`\0\x80\xFD[a#\xDA\x89a#PV[\x97Pa#\xE8` \x8A\x01a#PV[\x96Pa#\xF6`@\x8A\x01a#PV[\x95P``\x89\x015\x94P`\x80\x89\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$\x1AW`\0\x80\xFD[a$&\x8C\x83\x8D\x01a#lV[\x90\x96P\x94P`\xA0\x8B\x015\x91P\x80\x82\x11\x15a$?W`\0\x80\xFD[Pa$L\x8B\x82\x8C\x01a#lV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0\x80`@\x83\x85\x03\x12\x15a$sW`\0\x80\xFD[a$|\x83a#PV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0\x80`\0`\x80\x86\x88\x03\x12\x15a$\xA2W`\0\x80\xFD[a$\xAB\x86a#PV[\x94Pa$\xB9` \x87\x01a#PV[\x93P`@\x86\x015\x92P``\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xDCW`\0\x80\xFD[a$\xE8\x88\x82\x89\x01a#lV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a%\x0BW`\0\x80\xFD[a\x13\x0C\x82a#PV[`\0` \x82\x84\x03\x12\x15a%&W`\0\x80\xFD[P5\x91\x90PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a%lWa%la%-V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%\x8EWa%\x8Ea%-V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0a%\xAFa%\xAA\x84a%tV[a%CV[\x90P\x82\x81R\x83\x83\x83\x01\x11\x15a%\xC3W`\0\x80\xFD[\x82\x82` \x83\x017`\0` \x84\x83\x01\x01R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a%\xEBW`\0\x80\xFD[a\x13\x0C\x83\x835` \x85\x01a%\x9CV[`\0\x80`\0``\x84\x86\x03\x12\x15a&\x0FW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&&W`\0\x80\xFD[a&2\x86\x82\x87\x01a%\xDAV[\x93PP` \x84\x015\x91Pa&H`@\x85\x01a#PV[\x90P\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a&fW`\0\x80\xFD[\x835\x92P` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\x84W`\0\x80\xFD[a&\x90\x86\x82\x87\x01a%\xDAV[\x92PPa&H`@\x85\x01a#PV[`\0\x80`\0``\x84\x86\x03\x12\x15a&\xB4W`\0\x80\xFD[a&\xBD\x84a#PV[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\xE0W`\0\x80\xFD[\x84\x01`\x1F\x81\x01\x86\x13a&\xF1W`\0\x80\xFD[a'\0\x86\x825` \x84\x01a%\x9CV[\x91PP\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a'\x1FW`\0\x80\xFD[\x835\x92P` \x84\x015\x91Pa&H`@\x85\x01a#PV[`\0\x80`\0``\x84\x86\x03\x12\x15a'KW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a'cW`\0\x80\xFD[a'o\x87\x83\x88\x01a%\xDAV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a'\x85W`\0\x80\xFD[Pa&\x90\x86\x82\x87\x01a%\xDAV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x11eWa\x11ea'\x92V[`\0` \x82\x84\x03\x12\x15a'\xCDW`\0\x80\xFD[PQ\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a'\xE7W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0`\x01\x82\x01a(\nWa(\na'\x92V[P`\x01\x01\x90V[` \x80\x82R\x81\x81\x01R\x7FOwnable: caller is not the owner`@\x82\x01R``\x01\x90V[\x81\x81\x03\x81\x81\x11\x15a\x11eWa\x11ea'\x92V[`\0[\x83\x81\x10\x15a(tW\x81\x81\x01Q\x83\x82\x01R` \x01a(\\V[PP`\0\x91\x01RV[`\0` \x82\x84\x03\x12\x15a(\x8FW`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(\xA6W`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a(\xB7W`\0\x80\xFD[\x80Qa(\xC5a%\xAA\x82a%tV[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a(\xDAW`\0\x80\xFD[a(\xEB\x82` \x83\x01` \x86\x01a(YV[\x95\x94PPPPPV[`\0\x83Qa)\x06\x81\x84` \x88\x01a(YV[`/`\xF8\x1B\x90\x83\x01\x90\x81R\x83Qa)$\x81`\x01\x84\x01` \x88\x01a(YV[\x01`\x01\x01\x94\x93PPPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x11eWa\x11ea'\x92V[`\0\x82a)dWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a)\xA0W`\0\x19\x81` \x03`\x03\x1B\x1B\x82\x16\x91P[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a)\xB8W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x13\x0CW`\0\x80\xFD[`\0\x82Qa)\xDA\x81\x84` \x87\x01a(YV[\x91\x90\x91\x01\x92\x91PPV[` \x81R`\0\x82Q\x80` \x84\x01Ra*\x03\x81`@\x85\x01` \x87\x01a(YV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 \xF8\x87%\xEF\xCD\x1C6\x83\x11\x8D\x03\xA6\xF6\x0F\x8Bv\xF3\xE0\x85\xA1D\xBD\x8C\x1F\0\xF3\xF5\x07\x91\xE6\x91\xAFdsolcC\0\x08\x13\x003";
1332 pub static HOPRSTAKESEASON5_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
1334 __DEPLOYED_BYTECODE,
1335 );
1336 pub struct HoprStakeSeason5<M>(::ethers::contract::Contract<M>);
1337 impl<M> ::core::clone::Clone for HoprStakeSeason5<M> {
1338 fn clone(&self) -> Self {
1339 Self(::core::clone::Clone::clone(&self.0))
1340 }
1341 }
1342 impl<M> ::core::ops::Deref for HoprStakeSeason5<M> {
1343 type Target = ::ethers::contract::Contract<M>;
1344 fn deref(&self) -> &Self::Target {
1345 &self.0
1346 }
1347 }
1348 impl<M> ::core::ops::DerefMut for HoprStakeSeason5<M> {
1349 fn deref_mut(&mut self) -> &mut Self::Target {
1350 &mut self.0
1351 }
1352 }
1353 impl<M> ::core::fmt::Debug for HoprStakeSeason5<M> {
1354 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1355 f.debug_tuple(::core::stringify!(HoprStakeSeason5))
1356 .field(&self.address())
1357 .finish()
1358 }
1359 }
1360 impl<M: ::ethers::providers::Middleware> HoprStakeSeason5<M> {
1361 pub fn new<T: Into<::ethers::core::types::Address>>(
1364 address: T,
1365 client: ::std::sync::Arc<M>,
1366 ) -> Self {
1367 Self(
1368 ::ethers::contract::Contract::new(
1369 address.into(),
1370 HOPRSTAKESEASON5_ABI.clone(),
1371 client,
1372 ),
1373 )
1374 }
1375 pub fn deploy<T: ::ethers::core::abi::Tokenize>(
1399 client: ::std::sync::Arc<M>,
1400 constructor_args: T,
1401 ) -> ::core::result::Result<
1402 ::ethers::contract::builders::ContractDeployer<M, Self>,
1403 ::ethers::contract::ContractError<M>,
1404 > {
1405 let factory = ::ethers::contract::ContractFactory::new(
1406 HOPRSTAKESEASON5_ABI.clone(),
1407 HOPRSTAKESEASON5_BYTECODE.clone().into(),
1408 client,
1409 );
1410 let deployer = factory.deploy(constructor_args)?;
1411 let deployer = ::ethers::contract::ContractDeployer::new(deployer);
1412 Ok(deployer)
1413 }
1414 pub fn basic_factor_numerator(
1416 &self,
1417 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1418 self.0
1419 .method_hash([106, 168, 212, 207], ())
1420 .expect("method not found (this should never happen)")
1421 }
1422 pub fn boost_cap(
1424 &self,
1425 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1426 self.0
1427 .method_hash([239, 5, 38, 162], ())
1428 .expect("method not found (this should never happen)")
1429 }
1430 pub fn factor_denominator(
1432 &self,
1433 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1434 self.0
1435 .method_hash([94, 247, 61, 88], ())
1436 .expect("method not found (this should never happen)")
1437 }
1438 pub fn lock_token(
1440 &self,
1441 ) -> ::ethers::contract::builders::ContractCall<
1442 M,
1443 ::ethers::core::types::Address,
1444 > {
1445 self.0
1446 .method_hash([208, 218, 104, 1], ())
1447 .expect("method not found (this should never happen)")
1448 }
1449 pub fn nft_contract(
1451 &self,
1452 ) -> ::ethers::contract::builders::ContractCall<
1453 M,
1454 ::ethers::core::types::Address,
1455 > {
1456 self.0
1457 .method_hash([31, 218, 154, 2], ())
1458 .expect("method not found (this should never happen)")
1459 }
1460 pub fn program_end(
1462 &self,
1463 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1464 self.0
1465 .method_hash([203, 255, 163, 199], ())
1466 .expect("method not found (this should never happen)")
1467 }
1468 pub fn program_start(
1470 &self,
1471 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1472 self.0
1473 .method_hash([91, 187, 99, 166], ())
1474 .expect("method not found (this should never happen)")
1475 }
1476 pub fn reward_token(
1478 &self,
1479 ) -> ::ethers::contract::builders::ContractCall<
1480 M,
1481 ::ethers::core::types::Address,
1482 > {
1483 self.0
1484 .method_hash([153, 36, 142, 167], ())
1485 .expect("method not found (this should never happen)")
1486 }
1487 pub fn accounts(
1489 &self,
1490 p0: ::ethers::core::types::Address,
1491 ) -> ::ethers::contract::builders::ContractCall<
1492 M,
1493 (
1494 ::ethers::core::types::U256,
1495 ::ethers::core::types::U256,
1496 ::ethers::core::types::U256,
1497 ::ethers::core::types::U256,
1498 ),
1499 > {
1500 self.0
1501 .method_hash([94, 92, 6, 226], p0)
1502 .expect("method not found (this should never happen)")
1503 }
1504 pub fn available_reward(
1506 &self,
1507 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1508 self.0
1509 .method_hash([74, 216, 75, 52], ())
1510 .expect("method not found (this should never happen)")
1511 }
1512 pub fn claim_rewards(
1514 &self,
1515 account: ::ethers::core::types::Address,
1516 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1517 self.0
1518 .method_hash([239, 92, 251, 140], account)
1519 .expect("method not found (this should never happen)")
1520 }
1521 pub fn get_cumulated_rewards_increment(
1523 &self,
1524 account: ::ethers::core::types::Address,
1525 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1526 self.0
1527 .method_hash([112, 175, 9, 52], account)
1528 .expect("method not found (this should never happen)")
1529 }
1530 pub fn is_blocked_nft(
1532 &self,
1533 p0: ::ethers::core::types::U256,
1534 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1535 self.0
1536 .method_hash([66, 201, 51, 97], p0)
1537 .expect("method not found (this should never happen)")
1538 }
1539 pub fn is_nft_type_and_rank_redeemed_1(
1541 &self,
1542 nft_type: ::std::string::String,
1543 nft_rank: ::std::string::String,
1544 hodler: ::ethers::core::types::Address,
1545 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1546 self.0
1547 .method_hash([206, 35, 23, 126], (nft_type, nft_rank, hodler))
1548 .expect("method not found (this should never happen)")
1549 }
1550 pub fn is_nft_type_and_rank_redeemed_2(
1552 &self,
1553 nft_type_index: ::ethers::core::types::U256,
1554 nft_rank: ::std::string::String,
1555 hodler: ::ethers::core::types::Address,
1556 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1557 self.0
1558 .method_hash([150, 169, 205, 125], (nft_type_index, nft_rank, hodler))
1559 .expect("method not found (this should never happen)")
1560 }
1561 pub fn is_nft_type_and_rank_redeemed_3(
1563 &self,
1564 nft_type_index: ::ethers::core::types::U256,
1565 boost_numerator: ::ethers::core::types::U256,
1566 hodler: ::ethers::core::types::Address,
1567 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1568 self.0
1569 .method_hash(
1570 [168, 61, 30, 214],
1571 (nft_type_index, boost_numerator, hodler),
1572 )
1573 .expect("method not found (this should never happen)")
1574 }
1575 pub fn is_nft_type_and_rank_redeemed_4(
1577 &self,
1578 nft_type: ::std::string::String,
1579 boost_numerator: ::ethers::core::types::U256,
1580 hodler: ::ethers::core::types::Address,
1581 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1582 self.0
1583 .method_hash([140, 36, 173, 212], (nft_type, boost_numerator, hodler))
1584 .expect("method not found (this should never happen)")
1585 }
1586 pub fn on_erc721_received(
1588 &self,
1589 p0: ::ethers::core::types::Address,
1590 from: ::ethers::core::types::Address,
1591 token_id: ::ethers::core::types::U256,
1592 p3: ::ethers::core::types::Bytes,
1593 ) -> ::ethers::contract::builders::ContractCall<M, [u8; 4]> {
1594 self.0
1595 .method_hash([21, 11, 122, 2], (p0, from, token_id, p3))
1596 .expect("method not found (this should never happen)")
1597 }
1598 pub fn on_token_transfer(
1600 &self,
1601 from: ::ethers::core::types::Address,
1602 value: ::ethers::core::types::U256,
1603 p2: ::ethers::core::types::Bytes,
1604 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1605 self.0
1606 .method_hash([164, 192, 237, 54], (from, value, p2))
1607 .expect("method not found (this should never happen)")
1608 }
1609 pub fn owner(
1611 &self,
1612 ) -> ::ethers::contract::builders::ContractCall<
1613 M,
1614 ::ethers::core::types::Address,
1615 > {
1616 self.0
1617 .method_hash([141, 165, 203, 91], ())
1618 .expect("method not found (this should never happen)")
1619 }
1620 pub fn owner_block_nft_type(
1622 &self,
1623 type_index: ::ethers::core::types::U256,
1624 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1625 self.0
1626 .method_hash([94, 76, 14, 21], type_index)
1627 .expect("method not found (this should never happen)")
1628 }
1629 pub fn owner_unblock_nft_type(
1631 &self,
1632 type_index: ::ethers::core::types::U256,
1633 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1634 self.0
1635 .method_hash([33, 207, 133, 186], type_index)
1636 .expect("method not found (this should never happen)")
1637 }
1638 pub fn reclaim_erc_20_tokens(
1640 &self,
1641 token_address: ::ethers::core::types::Address,
1642 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1643 self.0
1644 .method_hash([96, 103, 188, 21], token_address)
1645 .expect("method not found (this should never happen)")
1646 }
1647 pub fn reclaim_erc_721_tokens(
1649 &self,
1650 token_address: ::ethers::core::types::Address,
1651 token_id: ::ethers::core::types::U256,
1652 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1653 self.0
1654 .method_hash([72, 198, 78, 65], (token_address, token_id))
1655 .expect("method not found (this should never happen)")
1656 }
1657 pub fn redeemed_factor(
1659 &self,
1660 p0: ::ethers::core::types::Address,
1661 p1: ::ethers::core::types::U256,
1662 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1663 self.0
1664 .method_hash([129, 18, 140, 29], (p0, p1))
1665 .expect("method not found (this should never happen)")
1666 }
1667 pub fn redeemed_factor_index(
1669 &self,
1670 p0: ::ethers::core::types::Address,
1671 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1672 self.0
1673 .method_hash([31, 1, 77, 131], p0)
1674 .expect("method not found (this should never happen)")
1675 }
1676 pub fn redeemed_nft(
1678 &self,
1679 p0: ::ethers::core::types::Address,
1680 p1: ::ethers::core::types::U256,
1681 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1682 self.0
1683 .method_hash([10, 26, 37, 122], (p0, p1))
1684 .expect("method not found (this should never happen)")
1685 }
1686 pub fn redeemed_nft_index(
1688 &self,
1689 p0: ::ethers::core::types::Address,
1690 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1691 self.0
1692 .method_hash([208, 192, 45, 99], p0)
1693 .expect("method not found (this should never happen)")
1694 }
1695 pub fn renounce_ownership(
1697 &self,
1698 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1699 self.0
1700 .method_hash([113, 80, 24, 166], ())
1701 .expect("method not found (this should never happen)")
1702 }
1703 pub fn staked_hopr_tokens(
1705 &self,
1706 account: ::ethers::core::types::Address,
1707 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1708 self.0
1709 .method_hash([249, 120, 255, 241], account)
1710 .expect("method not found (this should never happen)")
1711 }
1712 pub fn sync(
1714 &self,
1715 account: ::ethers::core::types::Address,
1716 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1717 self.0
1718 .method_hash([165, 132, 17, 148], account)
1719 .expect("method not found (this should never happen)")
1720 }
1721 pub fn tokens_received(
1723 &self,
1724 p0: ::ethers::core::types::Address,
1725 from: ::ethers::core::types::Address,
1726 to: ::ethers::core::types::Address,
1727 amount: ::ethers::core::types::U256,
1728 p4: ::ethers::core::types::Bytes,
1729 p5: ::ethers::core::types::Bytes,
1730 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1731 self.0
1732 .method_hash([0, 35, 222, 41], (p0, from, to, amount, p4, p5))
1733 .expect("method not found (this should never happen)")
1734 }
1735 pub fn total_locked(
1737 &self,
1738 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1739 self.0
1740 .method_hash([86, 137, 20, 18], ())
1741 .expect("method not found (this should never happen)")
1742 }
1743 pub fn transfer_ownership(
1745 &self,
1746 new_owner: ::ethers::core::types::Address,
1747 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1748 self.0
1749 .method_hash([242, 253, 227, 139], new_owner)
1750 .expect("method not found (this should never happen)")
1751 }
1752 pub fn unlock(&self) -> ::ethers::contract::builders::ContractCall<M, ()> {
1754 self.0
1755 .method_hash([166, 157, 244, 181], ())
1756 .expect("method not found (this should never happen)")
1757 }
1758 pub fn unlock_for(
1760 &self,
1761 account: ::ethers::core::types::Address,
1762 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1763 self.0
1764 .method_hash([221, 228, 153, 121], account)
1765 .expect("method not found (this should never happen)")
1766 }
1767 pub fn claimed_filter(
1769 &self,
1770 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, ClaimedFilter> {
1771 self.0.event()
1772 }
1773 pub fn nft_allowed_filter(
1775 &self,
1776 ) -> ::ethers::contract::builders::Event<
1777 ::std::sync::Arc<M>,
1778 M,
1779 NftAllowedFilter,
1780 > {
1781 self.0.event()
1782 }
1783 pub fn nft_blocked_filter(
1785 &self,
1786 ) -> ::ethers::contract::builders::Event<
1787 ::std::sync::Arc<M>,
1788 M,
1789 NftBlockedFilter,
1790 > {
1791 self.0.event()
1792 }
1793 pub fn ownership_transferred_filter(
1795 &self,
1796 ) -> ::ethers::contract::builders::Event<
1797 ::std::sync::Arc<M>,
1798 M,
1799 OwnershipTransferredFilter,
1800 > {
1801 self.0.event()
1802 }
1803 pub fn redeemed_filter(
1805 &self,
1806 ) -> ::ethers::contract::builders::Event<
1807 ::std::sync::Arc<M>,
1808 M,
1809 RedeemedFilter,
1810 > {
1811 self.0.event()
1812 }
1813 pub fn released_filter(
1815 &self,
1816 ) -> ::ethers::contract::builders::Event<
1817 ::std::sync::Arc<M>,
1818 M,
1819 ReleasedFilter,
1820 > {
1821 self.0.event()
1822 }
1823 pub fn reward_fueled_filter(
1825 &self,
1826 ) -> ::ethers::contract::builders::Event<
1827 ::std::sync::Arc<M>,
1828 M,
1829 RewardFueledFilter,
1830 > {
1831 self.0.event()
1832 }
1833 pub fn staked_filter(
1835 &self,
1836 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, StakedFilter> {
1837 self.0.event()
1838 }
1839 pub fn sync_filter(
1841 &self,
1842 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, SyncFilter> {
1843 self.0.event()
1844 }
1845 pub fn events(
1847 &self,
1848 ) -> ::ethers::contract::builders::Event<
1849 ::std::sync::Arc<M>,
1850 M,
1851 HoprStakeSeason5Events,
1852 > {
1853 self.0.event_with_filter(::core::default::Default::default())
1854 }
1855 }
1856 impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
1857 for HoprStakeSeason5<M> {
1858 fn from(contract: ::ethers::contract::Contract<M>) -> Self {
1859 Self::new(contract.address(), contract.client())
1860 }
1861 }
1862 #[derive(
1863 Clone,
1864 ::ethers::contract::EthEvent,
1865 ::ethers::contract::EthDisplay,
1866 serde::Serialize,
1867 serde::Deserialize,
1868 Default,
1869 Debug,
1870 PartialEq,
1871 Eq,
1872 Hash
1873 )]
1874 #[ethevent(name = "Claimed", abi = "Claimed(address,uint256)")]
1875 pub struct ClaimedFilter {
1876 #[ethevent(indexed)]
1877 pub account: ::ethers::core::types::Address,
1878 #[ethevent(indexed)]
1879 pub reward_amount: ::ethers::core::types::U256,
1880 }
1881 #[derive(
1882 Clone,
1883 ::ethers::contract::EthEvent,
1884 ::ethers::contract::EthDisplay,
1885 serde::Serialize,
1886 serde::Deserialize,
1887 Default,
1888 Debug,
1889 PartialEq,
1890 Eq,
1891 Hash
1892 )]
1893 #[ethevent(name = "NftAllowed", abi = "NftAllowed(uint256)")]
1894 pub struct NftAllowedFilter {
1895 #[ethevent(indexed)]
1896 pub type_index: ::ethers::core::types::U256,
1897 }
1898 #[derive(
1899 Clone,
1900 ::ethers::contract::EthEvent,
1901 ::ethers::contract::EthDisplay,
1902 serde::Serialize,
1903 serde::Deserialize,
1904 Default,
1905 Debug,
1906 PartialEq,
1907 Eq,
1908 Hash
1909 )]
1910 #[ethevent(name = "NftBlocked", abi = "NftBlocked(uint256)")]
1911 pub struct NftBlockedFilter {
1912 #[ethevent(indexed)]
1913 pub type_index: ::ethers::core::types::U256,
1914 }
1915 #[derive(
1916 Clone,
1917 ::ethers::contract::EthEvent,
1918 ::ethers::contract::EthDisplay,
1919 serde::Serialize,
1920 serde::Deserialize,
1921 Default,
1922 Debug,
1923 PartialEq,
1924 Eq,
1925 Hash
1926 )]
1927 #[ethevent(
1928 name = "OwnershipTransferred",
1929 abi = "OwnershipTransferred(address,address)"
1930 )]
1931 pub struct OwnershipTransferredFilter {
1932 #[ethevent(indexed)]
1933 pub previous_owner: ::ethers::core::types::Address,
1934 #[ethevent(indexed)]
1935 pub new_owner: ::ethers::core::types::Address,
1936 }
1937 #[derive(
1938 Clone,
1939 ::ethers::contract::EthEvent,
1940 ::ethers::contract::EthDisplay,
1941 serde::Serialize,
1942 serde::Deserialize,
1943 Default,
1944 Debug,
1945 PartialEq,
1946 Eq,
1947 Hash
1948 )]
1949 #[ethevent(name = "Redeemed", abi = "Redeemed(address,uint256,bool)")]
1950 pub struct RedeemedFilter {
1951 #[ethevent(indexed)]
1952 pub account: ::ethers::core::types::Address,
1953 #[ethevent(indexed)]
1954 pub boost_token_id: ::ethers::core::types::U256,
1955 #[ethevent(indexed)]
1956 pub factor_registered: bool,
1957 }
1958 #[derive(
1959 Clone,
1960 ::ethers::contract::EthEvent,
1961 ::ethers::contract::EthDisplay,
1962 serde::Serialize,
1963 serde::Deserialize,
1964 Default,
1965 Debug,
1966 PartialEq,
1967 Eq,
1968 Hash
1969 )]
1970 #[ethevent(name = "Released", abi = "Released(address,uint256)")]
1971 pub struct ReleasedFilter {
1972 #[ethevent(indexed)]
1973 pub account: ::ethers::core::types::Address,
1974 #[ethevent(indexed)]
1975 pub actual_amount: ::ethers::core::types::U256,
1976 }
1977 #[derive(
1978 Clone,
1979 ::ethers::contract::EthEvent,
1980 ::ethers::contract::EthDisplay,
1981 serde::Serialize,
1982 serde::Deserialize,
1983 Default,
1984 Debug,
1985 PartialEq,
1986 Eq,
1987 Hash
1988 )]
1989 #[ethevent(name = "RewardFueled", abi = "RewardFueled(uint256)")]
1990 pub struct RewardFueledFilter {
1991 #[ethevent(indexed)]
1992 pub amount: ::ethers::core::types::U256,
1993 }
1994 #[derive(
1995 Clone,
1996 ::ethers::contract::EthEvent,
1997 ::ethers::contract::EthDisplay,
1998 serde::Serialize,
1999 serde::Deserialize,
2000 Default,
2001 Debug,
2002 PartialEq,
2003 Eq,
2004 Hash
2005 )]
2006 #[ethevent(name = "Staked", abi = "Staked(address,uint256)")]
2007 pub struct StakedFilter {
2008 #[ethevent(indexed)]
2009 pub account: ::ethers::core::types::Address,
2010 #[ethevent(indexed)]
2011 pub actual_amount: ::ethers::core::types::U256,
2012 }
2013 #[derive(
2014 Clone,
2015 ::ethers::contract::EthEvent,
2016 ::ethers::contract::EthDisplay,
2017 serde::Serialize,
2018 serde::Deserialize,
2019 Default,
2020 Debug,
2021 PartialEq,
2022 Eq,
2023 Hash
2024 )]
2025 #[ethevent(name = "Sync", abi = "Sync(address,uint256)")]
2026 pub struct SyncFilter {
2027 #[ethevent(indexed)]
2028 pub account: ::ethers::core::types::Address,
2029 #[ethevent(indexed)]
2030 pub increment: ::ethers::core::types::U256,
2031 }
2032 #[derive(
2034 Clone,
2035 ::ethers::contract::EthAbiType,
2036 serde::Serialize,
2037 serde::Deserialize,
2038 Debug,
2039 PartialEq,
2040 Eq,
2041 Hash
2042 )]
2043 pub enum HoprStakeSeason5Events {
2044 ClaimedFilter(ClaimedFilter),
2045 NftAllowedFilter(NftAllowedFilter),
2046 NftBlockedFilter(NftBlockedFilter),
2047 OwnershipTransferredFilter(OwnershipTransferredFilter),
2048 RedeemedFilter(RedeemedFilter),
2049 ReleasedFilter(ReleasedFilter),
2050 RewardFueledFilter(RewardFueledFilter),
2051 StakedFilter(StakedFilter),
2052 SyncFilter(SyncFilter),
2053 }
2054 impl ::ethers::contract::EthLogDecode for HoprStakeSeason5Events {
2055 fn decode_log(
2056 log: &::ethers::core::abi::RawLog,
2057 ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
2058 if let Ok(decoded) = ClaimedFilter::decode_log(log) {
2059 return Ok(HoprStakeSeason5Events::ClaimedFilter(decoded));
2060 }
2061 if let Ok(decoded) = NftAllowedFilter::decode_log(log) {
2062 return Ok(HoprStakeSeason5Events::NftAllowedFilter(decoded));
2063 }
2064 if let Ok(decoded) = NftBlockedFilter::decode_log(log) {
2065 return Ok(HoprStakeSeason5Events::NftBlockedFilter(decoded));
2066 }
2067 if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) {
2068 return Ok(HoprStakeSeason5Events::OwnershipTransferredFilter(decoded));
2069 }
2070 if let Ok(decoded) = RedeemedFilter::decode_log(log) {
2071 return Ok(HoprStakeSeason5Events::RedeemedFilter(decoded));
2072 }
2073 if let Ok(decoded) = ReleasedFilter::decode_log(log) {
2074 return Ok(HoprStakeSeason5Events::ReleasedFilter(decoded));
2075 }
2076 if let Ok(decoded) = RewardFueledFilter::decode_log(log) {
2077 return Ok(HoprStakeSeason5Events::RewardFueledFilter(decoded));
2078 }
2079 if let Ok(decoded) = StakedFilter::decode_log(log) {
2080 return Ok(HoprStakeSeason5Events::StakedFilter(decoded));
2081 }
2082 if let Ok(decoded) = SyncFilter::decode_log(log) {
2083 return Ok(HoprStakeSeason5Events::SyncFilter(decoded));
2084 }
2085 Err(::ethers::core::abi::Error::InvalidData)
2086 }
2087 }
2088 impl ::core::fmt::Display for HoprStakeSeason5Events {
2089 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2090 match self {
2091 Self::ClaimedFilter(element) => ::core::fmt::Display::fmt(element, f),
2092 Self::NftAllowedFilter(element) => ::core::fmt::Display::fmt(element, f),
2093 Self::NftBlockedFilter(element) => ::core::fmt::Display::fmt(element, f),
2094 Self::OwnershipTransferredFilter(element) => {
2095 ::core::fmt::Display::fmt(element, f)
2096 }
2097 Self::RedeemedFilter(element) => ::core::fmt::Display::fmt(element, f),
2098 Self::ReleasedFilter(element) => ::core::fmt::Display::fmt(element, f),
2099 Self::RewardFueledFilter(element) => {
2100 ::core::fmt::Display::fmt(element, f)
2101 }
2102 Self::StakedFilter(element) => ::core::fmt::Display::fmt(element, f),
2103 Self::SyncFilter(element) => ::core::fmt::Display::fmt(element, f),
2104 }
2105 }
2106 }
2107 impl ::core::convert::From<ClaimedFilter> for HoprStakeSeason5Events {
2108 fn from(value: ClaimedFilter) -> Self {
2109 Self::ClaimedFilter(value)
2110 }
2111 }
2112 impl ::core::convert::From<NftAllowedFilter> for HoprStakeSeason5Events {
2113 fn from(value: NftAllowedFilter) -> Self {
2114 Self::NftAllowedFilter(value)
2115 }
2116 }
2117 impl ::core::convert::From<NftBlockedFilter> for HoprStakeSeason5Events {
2118 fn from(value: NftBlockedFilter) -> Self {
2119 Self::NftBlockedFilter(value)
2120 }
2121 }
2122 impl ::core::convert::From<OwnershipTransferredFilter> for HoprStakeSeason5Events {
2123 fn from(value: OwnershipTransferredFilter) -> Self {
2124 Self::OwnershipTransferredFilter(value)
2125 }
2126 }
2127 impl ::core::convert::From<RedeemedFilter> for HoprStakeSeason5Events {
2128 fn from(value: RedeemedFilter) -> Self {
2129 Self::RedeemedFilter(value)
2130 }
2131 }
2132 impl ::core::convert::From<ReleasedFilter> for HoprStakeSeason5Events {
2133 fn from(value: ReleasedFilter) -> Self {
2134 Self::ReleasedFilter(value)
2135 }
2136 }
2137 impl ::core::convert::From<RewardFueledFilter> for HoprStakeSeason5Events {
2138 fn from(value: RewardFueledFilter) -> Self {
2139 Self::RewardFueledFilter(value)
2140 }
2141 }
2142 impl ::core::convert::From<StakedFilter> for HoprStakeSeason5Events {
2143 fn from(value: StakedFilter) -> Self {
2144 Self::StakedFilter(value)
2145 }
2146 }
2147 impl ::core::convert::From<SyncFilter> for HoprStakeSeason5Events {
2148 fn from(value: SyncFilter) -> Self {
2149 Self::SyncFilter(value)
2150 }
2151 }
2152 #[derive(
2154 Clone,
2155 ::ethers::contract::EthCall,
2156 ::ethers::contract::EthDisplay,
2157 serde::Serialize,
2158 serde::Deserialize,
2159 Default,
2160 Debug,
2161 PartialEq,
2162 Eq,
2163 Hash
2164 )]
2165 #[ethcall(name = "BASIC_FACTOR_NUMERATOR", abi = "BASIC_FACTOR_NUMERATOR()")]
2166 pub struct BasicFactorNumeratorCall;
2167 #[derive(
2169 Clone,
2170 ::ethers::contract::EthCall,
2171 ::ethers::contract::EthDisplay,
2172 serde::Serialize,
2173 serde::Deserialize,
2174 Default,
2175 Debug,
2176 PartialEq,
2177 Eq,
2178 Hash
2179 )]
2180 #[ethcall(name = "BOOST_CAP", abi = "BOOST_CAP()")]
2181 pub struct BoostCapCall;
2182 #[derive(
2184 Clone,
2185 ::ethers::contract::EthCall,
2186 ::ethers::contract::EthDisplay,
2187 serde::Serialize,
2188 serde::Deserialize,
2189 Default,
2190 Debug,
2191 PartialEq,
2192 Eq,
2193 Hash
2194 )]
2195 #[ethcall(name = "FACTOR_DENOMINATOR", abi = "FACTOR_DENOMINATOR()")]
2196 pub struct FactorDenominatorCall;
2197 #[derive(
2199 Clone,
2200 ::ethers::contract::EthCall,
2201 ::ethers::contract::EthDisplay,
2202 serde::Serialize,
2203 serde::Deserialize,
2204 Default,
2205 Debug,
2206 PartialEq,
2207 Eq,
2208 Hash
2209 )]
2210 #[ethcall(name = "LOCK_TOKEN", abi = "LOCK_TOKEN()")]
2211 pub struct LockTokenCall;
2212 #[derive(
2214 Clone,
2215 ::ethers::contract::EthCall,
2216 ::ethers::contract::EthDisplay,
2217 serde::Serialize,
2218 serde::Deserialize,
2219 Default,
2220 Debug,
2221 PartialEq,
2222 Eq,
2223 Hash
2224 )]
2225 #[ethcall(name = "NFT_CONTRACT", abi = "NFT_CONTRACT()")]
2226 pub struct NftContractCall;
2227 #[derive(
2229 Clone,
2230 ::ethers::contract::EthCall,
2231 ::ethers::contract::EthDisplay,
2232 serde::Serialize,
2233 serde::Deserialize,
2234 Default,
2235 Debug,
2236 PartialEq,
2237 Eq,
2238 Hash
2239 )]
2240 #[ethcall(name = "PROGRAM_END", abi = "PROGRAM_END()")]
2241 pub struct ProgramEndCall;
2242 #[derive(
2244 Clone,
2245 ::ethers::contract::EthCall,
2246 ::ethers::contract::EthDisplay,
2247 serde::Serialize,
2248 serde::Deserialize,
2249 Default,
2250 Debug,
2251 PartialEq,
2252 Eq,
2253 Hash
2254 )]
2255 #[ethcall(name = "PROGRAM_START", abi = "PROGRAM_START()")]
2256 pub struct ProgramStartCall;
2257 #[derive(
2259 Clone,
2260 ::ethers::contract::EthCall,
2261 ::ethers::contract::EthDisplay,
2262 serde::Serialize,
2263 serde::Deserialize,
2264 Default,
2265 Debug,
2266 PartialEq,
2267 Eq,
2268 Hash
2269 )]
2270 #[ethcall(name = "REWARD_TOKEN", abi = "REWARD_TOKEN()")]
2271 pub struct RewardTokenCall;
2272 #[derive(
2274 Clone,
2275 ::ethers::contract::EthCall,
2276 ::ethers::contract::EthDisplay,
2277 serde::Serialize,
2278 serde::Deserialize,
2279 Default,
2280 Debug,
2281 PartialEq,
2282 Eq,
2283 Hash
2284 )]
2285 #[ethcall(name = "accounts", abi = "accounts(address)")]
2286 pub struct AccountsCall(pub ::ethers::core::types::Address);
2287 #[derive(
2289 Clone,
2290 ::ethers::contract::EthCall,
2291 ::ethers::contract::EthDisplay,
2292 serde::Serialize,
2293 serde::Deserialize,
2294 Default,
2295 Debug,
2296 PartialEq,
2297 Eq,
2298 Hash
2299 )]
2300 #[ethcall(name = "availableReward", abi = "availableReward()")]
2301 pub struct AvailableRewardCall;
2302 #[derive(
2304 Clone,
2305 ::ethers::contract::EthCall,
2306 ::ethers::contract::EthDisplay,
2307 serde::Serialize,
2308 serde::Deserialize,
2309 Default,
2310 Debug,
2311 PartialEq,
2312 Eq,
2313 Hash
2314 )]
2315 #[ethcall(name = "claimRewards", abi = "claimRewards(address)")]
2316 pub struct ClaimRewardsCall {
2317 pub account: ::ethers::core::types::Address,
2318 }
2319 #[derive(
2321 Clone,
2322 ::ethers::contract::EthCall,
2323 ::ethers::contract::EthDisplay,
2324 serde::Serialize,
2325 serde::Deserialize,
2326 Default,
2327 Debug,
2328 PartialEq,
2329 Eq,
2330 Hash
2331 )]
2332 #[ethcall(
2333 name = "getCumulatedRewardsIncrement",
2334 abi = "getCumulatedRewardsIncrement(address)"
2335 )]
2336 pub struct GetCumulatedRewardsIncrementCall {
2337 pub account: ::ethers::core::types::Address,
2338 }
2339 #[derive(
2341 Clone,
2342 ::ethers::contract::EthCall,
2343 ::ethers::contract::EthDisplay,
2344 serde::Serialize,
2345 serde::Deserialize,
2346 Default,
2347 Debug,
2348 PartialEq,
2349 Eq,
2350 Hash
2351 )]
2352 #[ethcall(name = "isBlockedNft", abi = "isBlockedNft(uint256)")]
2353 pub struct IsBlockedNftCall(pub ::ethers::core::types::U256);
2354 #[derive(
2356 Clone,
2357 ::ethers::contract::EthCall,
2358 ::ethers::contract::EthDisplay,
2359 serde::Serialize,
2360 serde::Deserialize,
2361 Default,
2362 Debug,
2363 PartialEq,
2364 Eq,
2365 Hash
2366 )]
2367 #[ethcall(
2368 name = "isNftTypeAndRankRedeemed1",
2369 abi = "isNftTypeAndRankRedeemed1(string,string,address)"
2370 )]
2371 pub struct IsNftTypeAndRankRedeemed1Call {
2372 pub nft_type: ::std::string::String,
2373 pub nft_rank: ::std::string::String,
2374 pub hodler: ::ethers::core::types::Address,
2375 }
2376 #[derive(
2378 Clone,
2379 ::ethers::contract::EthCall,
2380 ::ethers::contract::EthDisplay,
2381 serde::Serialize,
2382 serde::Deserialize,
2383 Default,
2384 Debug,
2385 PartialEq,
2386 Eq,
2387 Hash
2388 )]
2389 #[ethcall(
2390 name = "isNftTypeAndRankRedeemed2",
2391 abi = "isNftTypeAndRankRedeemed2(uint256,string,address)"
2392 )]
2393 pub struct IsNftTypeAndRankRedeemed2Call {
2394 pub nft_type_index: ::ethers::core::types::U256,
2395 pub nft_rank: ::std::string::String,
2396 pub hodler: ::ethers::core::types::Address,
2397 }
2398 #[derive(
2400 Clone,
2401 ::ethers::contract::EthCall,
2402 ::ethers::contract::EthDisplay,
2403 serde::Serialize,
2404 serde::Deserialize,
2405 Default,
2406 Debug,
2407 PartialEq,
2408 Eq,
2409 Hash
2410 )]
2411 #[ethcall(
2412 name = "isNftTypeAndRankRedeemed3",
2413 abi = "isNftTypeAndRankRedeemed3(uint256,uint256,address)"
2414 )]
2415 pub struct IsNftTypeAndRankRedeemed3Call {
2416 pub nft_type_index: ::ethers::core::types::U256,
2417 pub boost_numerator: ::ethers::core::types::U256,
2418 pub hodler: ::ethers::core::types::Address,
2419 }
2420 #[derive(
2422 Clone,
2423 ::ethers::contract::EthCall,
2424 ::ethers::contract::EthDisplay,
2425 serde::Serialize,
2426 serde::Deserialize,
2427 Default,
2428 Debug,
2429 PartialEq,
2430 Eq,
2431 Hash
2432 )]
2433 #[ethcall(
2434 name = "isNftTypeAndRankRedeemed4",
2435 abi = "isNftTypeAndRankRedeemed4(string,uint256,address)"
2436 )]
2437 pub struct IsNftTypeAndRankRedeemed4Call {
2438 pub nft_type: ::std::string::String,
2439 pub boost_numerator: ::ethers::core::types::U256,
2440 pub hodler: ::ethers::core::types::Address,
2441 }
2442 #[derive(
2444 Clone,
2445 ::ethers::contract::EthCall,
2446 ::ethers::contract::EthDisplay,
2447 serde::Serialize,
2448 serde::Deserialize,
2449 Default,
2450 Debug,
2451 PartialEq,
2452 Eq,
2453 Hash
2454 )]
2455 #[ethcall(
2456 name = "onERC721Received",
2457 abi = "onERC721Received(address,address,uint256,bytes)"
2458 )]
2459 pub struct OnERC721ReceivedCall {
2460 pub p0: ::ethers::core::types::Address,
2461 pub from: ::ethers::core::types::Address,
2462 pub token_id: ::ethers::core::types::U256,
2463 pub p3: ::ethers::core::types::Bytes,
2464 }
2465 #[derive(
2467 Clone,
2468 ::ethers::contract::EthCall,
2469 ::ethers::contract::EthDisplay,
2470 serde::Serialize,
2471 serde::Deserialize,
2472 Default,
2473 Debug,
2474 PartialEq,
2475 Eq,
2476 Hash
2477 )]
2478 #[ethcall(name = "onTokenTransfer", abi = "onTokenTransfer(address,uint256,bytes)")]
2479 pub struct OnTokenTransferCall {
2480 pub from: ::ethers::core::types::Address,
2481 pub value: ::ethers::core::types::U256,
2482 pub p2: ::ethers::core::types::Bytes,
2483 }
2484 #[derive(
2486 Clone,
2487 ::ethers::contract::EthCall,
2488 ::ethers::contract::EthDisplay,
2489 serde::Serialize,
2490 serde::Deserialize,
2491 Default,
2492 Debug,
2493 PartialEq,
2494 Eq,
2495 Hash
2496 )]
2497 #[ethcall(name = "owner", abi = "owner()")]
2498 pub struct OwnerCall;
2499 #[derive(
2501 Clone,
2502 ::ethers::contract::EthCall,
2503 ::ethers::contract::EthDisplay,
2504 serde::Serialize,
2505 serde::Deserialize,
2506 Default,
2507 Debug,
2508 PartialEq,
2509 Eq,
2510 Hash
2511 )]
2512 #[ethcall(name = "ownerBlockNftType", abi = "ownerBlockNftType(uint256)")]
2513 pub struct OwnerBlockNftTypeCall {
2514 pub type_index: ::ethers::core::types::U256,
2515 }
2516 #[derive(
2518 Clone,
2519 ::ethers::contract::EthCall,
2520 ::ethers::contract::EthDisplay,
2521 serde::Serialize,
2522 serde::Deserialize,
2523 Default,
2524 Debug,
2525 PartialEq,
2526 Eq,
2527 Hash
2528 )]
2529 #[ethcall(name = "ownerUnblockNftType", abi = "ownerUnblockNftType(uint256)")]
2530 pub struct OwnerUnblockNftTypeCall {
2531 pub type_index: ::ethers::core::types::U256,
2532 }
2533 #[derive(
2535 Clone,
2536 ::ethers::contract::EthCall,
2537 ::ethers::contract::EthDisplay,
2538 serde::Serialize,
2539 serde::Deserialize,
2540 Default,
2541 Debug,
2542 PartialEq,
2543 Eq,
2544 Hash
2545 )]
2546 #[ethcall(name = "reclaimErc20Tokens", abi = "reclaimErc20Tokens(address)")]
2547 pub struct ReclaimErc20TokensCall {
2548 pub token_address: ::ethers::core::types::Address,
2549 }
2550 #[derive(
2552 Clone,
2553 ::ethers::contract::EthCall,
2554 ::ethers::contract::EthDisplay,
2555 serde::Serialize,
2556 serde::Deserialize,
2557 Default,
2558 Debug,
2559 PartialEq,
2560 Eq,
2561 Hash
2562 )]
2563 #[ethcall(
2564 name = "reclaimErc721Tokens",
2565 abi = "reclaimErc721Tokens(address,uint256)"
2566 )]
2567 pub struct ReclaimErc721TokensCall {
2568 pub token_address: ::ethers::core::types::Address,
2569 pub token_id: ::ethers::core::types::U256,
2570 }
2571 #[derive(
2573 Clone,
2574 ::ethers::contract::EthCall,
2575 ::ethers::contract::EthDisplay,
2576 serde::Serialize,
2577 serde::Deserialize,
2578 Default,
2579 Debug,
2580 PartialEq,
2581 Eq,
2582 Hash
2583 )]
2584 #[ethcall(name = "redeemedFactor", abi = "redeemedFactor(address,uint256)")]
2585 pub struct RedeemedFactorCall(
2586 pub ::ethers::core::types::Address,
2587 pub ::ethers::core::types::U256,
2588 );
2589 #[derive(
2591 Clone,
2592 ::ethers::contract::EthCall,
2593 ::ethers::contract::EthDisplay,
2594 serde::Serialize,
2595 serde::Deserialize,
2596 Default,
2597 Debug,
2598 PartialEq,
2599 Eq,
2600 Hash
2601 )]
2602 #[ethcall(name = "redeemedFactorIndex", abi = "redeemedFactorIndex(address)")]
2603 pub struct RedeemedFactorIndexCall(pub ::ethers::core::types::Address);
2604 #[derive(
2606 Clone,
2607 ::ethers::contract::EthCall,
2608 ::ethers::contract::EthDisplay,
2609 serde::Serialize,
2610 serde::Deserialize,
2611 Default,
2612 Debug,
2613 PartialEq,
2614 Eq,
2615 Hash
2616 )]
2617 #[ethcall(name = "redeemedNft", abi = "redeemedNft(address,uint256)")]
2618 pub struct RedeemedNftCall(
2619 pub ::ethers::core::types::Address,
2620 pub ::ethers::core::types::U256,
2621 );
2622 #[derive(
2624 Clone,
2625 ::ethers::contract::EthCall,
2626 ::ethers::contract::EthDisplay,
2627 serde::Serialize,
2628 serde::Deserialize,
2629 Default,
2630 Debug,
2631 PartialEq,
2632 Eq,
2633 Hash
2634 )]
2635 #[ethcall(name = "redeemedNftIndex", abi = "redeemedNftIndex(address)")]
2636 pub struct RedeemedNftIndexCall(pub ::ethers::core::types::Address);
2637 #[derive(
2639 Clone,
2640 ::ethers::contract::EthCall,
2641 ::ethers::contract::EthDisplay,
2642 serde::Serialize,
2643 serde::Deserialize,
2644 Default,
2645 Debug,
2646 PartialEq,
2647 Eq,
2648 Hash
2649 )]
2650 #[ethcall(name = "renounceOwnership", abi = "renounceOwnership()")]
2651 pub struct RenounceOwnershipCall;
2652 #[derive(
2654 Clone,
2655 ::ethers::contract::EthCall,
2656 ::ethers::contract::EthDisplay,
2657 serde::Serialize,
2658 serde::Deserialize,
2659 Default,
2660 Debug,
2661 PartialEq,
2662 Eq,
2663 Hash
2664 )]
2665 #[ethcall(name = "stakedHoprTokens", abi = "stakedHoprTokens(address)")]
2666 pub struct StakedHoprTokensCall {
2667 pub account: ::ethers::core::types::Address,
2668 }
2669 #[derive(
2671 Clone,
2672 ::ethers::contract::EthCall,
2673 ::ethers::contract::EthDisplay,
2674 serde::Serialize,
2675 serde::Deserialize,
2676 Default,
2677 Debug,
2678 PartialEq,
2679 Eq,
2680 Hash
2681 )]
2682 #[ethcall(name = "sync", abi = "sync(address)")]
2683 pub struct SyncCall {
2684 pub account: ::ethers::core::types::Address,
2685 }
2686 #[derive(
2688 Clone,
2689 ::ethers::contract::EthCall,
2690 ::ethers::contract::EthDisplay,
2691 serde::Serialize,
2692 serde::Deserialize,
2693 Default,
2694 Debug,
2695 PartialEq,
2696 Eq,
2697 Hash
2698 )]
2699 #[ethcall(
2700 name = "tokensReceived",
2701 abi = "tokensReceived(address,address,address,uint256,bytes,bytes)"
2702 )]
2703 pub struct TokensReceivedCall {
2704 pub p0: ::ethers::core::types::Address,
2705 pub from: ::ethers::core::types::Address,
2706 pub to: ::ethers::core::types::Address,
2707 pub amount: ::ethers::core::types::U256,
2708 pub p4: ::ethers::core::types::Bytes,
2709 pub p5: ::ethers::core::types::Bytes,
2710 }
2711 #[derive(
2713 Clone,
2714 ::ethers::contract::EthCall,
2715 ::ethers::contract::EthDisplay,
2716 serde::Serialize,
2717 serde::Deserialize,
2718 Default,
2719 Debug,
2720 PartialEq,
2721 Eq,
2722 Hash
2723 )]
2724 #[ethcall(name = "totalLocked", abi = "totalLocked()")]
2725 pub struct TotalLockedCall;
2726 #[derive(
2728 Clone,
2729 ::ethers::contract::EthCall,
2730 ::ethers::contract::EthDisplay,
2731 serde::Serialize,
2732 serde::Deserialize,
2733 Default,
2734 Debug,
2735 PartialEq,
2736 Eq,
2737 Hash
2738 )]
2739 #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")]
2740 pub struct TransferOwnershipCall {
2741 pub new_owner: ::ethers::core::types::Address,
2742 }
2743 #[derive(
2745 Clone,
2746 ::ethers::contract::EthCall,
2747 ::ethers::contract::EthDisplay,
2748 serde::Serialize,
2749 serde::Deserialize,
2750 Default,
2751 Debug,
2752 PartialEq,
2753 Eq,
2754 Hash
2755 )]
2756 #[ethcall(name = "unlock", abi = "unlock()")]
2757 pub struct UnlockCall;
2758 #[derive(
2760 Clone,
2761 ::ethers::contract::EthCall,
2762 ::ethers::contract::EthDisplay,
2763 serde::Serialize,
2764 serde::Deserialize,
2765 Default,
2766 Debug,
2767 PartialEq,
2768 Eq,
2769 Hash
2770 )]
2771 #[ethcall(name = "unlockFor", abi = "unlockFor(address)")]
2772 pub struct UnlockForCall {
2773 pub account: ::ethers::core::types::Address,
2774 }
2775 #[derive(
2777 Clone,
2778 ::ethers::contract::EthAbiType,
2779 serde::Serialize,
2780 serde::Deserialize,
2781 Debug,
2782 PartialEq,
2783 Eq,
2784 Hash
2785 )]
2786 pub enum HoprStakeSeason5Calls {
2787 BasicFactorNumerator(BasicFactorNumeratorCall),
2788 BoostCap(BoostCapCall),
2789 FactorDenominator(FactorDenominatorCall),
2790 LockToken(LockTokenCall),
2791 NftContract(NftContractCall),
2792 ProgramEnd(ProgramEndCall),
2793 ProgramStart(ProgramStartCall),
2794 RewardToken(RewardTokenCall),
2795 Accounts(AccountsCall),
2796 AvailableReward(AvailableRewardCall),
2797 ClaimRewards(ClaimRewardsCall),
2798 GetCumulatedRewardsIncrement(GetCumulatedRewardsIncrementCall),
2799 IsBlockedNft(IsBlockedNftCall),
2800 IsNftTypeAndRankRedeemed1(IsNftTypeAndRankRedeemed1Call),
2801 IsNftTypeAndRankRedeemed2(IsNftTypeAndRankRedeemed2Call),
2802 IsNftTypeAndRankRedeemed3(IsNftTypeAndRankRedeemed3Call),
2803 IsNftTypeAndRankRedeemed4(IsNftTypeAndRankRedeemed4Call),
2804 OnERC721Received(OnERC721ReceivedCall),
2805 OnTokenTransfer(OnTokenTransferCall),
2806 Owner(OwnerCall),
2807 OwnerBlockNftType(OwnerBlockNftTypeCall),
2808 OwnerUnblockNftType(OwnerUnblockNftTypeCall),
2809 ReclaimErc20Tokens(ReclaimErc20TokensCall),
2810 ReclaimErc721Tokens(ReclaimErc721TokensCall),
2811 RedeemedFactor(RedeemedFactorCall),
2812 RedeemedFactorIndex(RedeemedFactorIndexCall),
2813 RedeemedNft(RedeemedNftCall),
2814 RedeemedNftIndex(RedeemedNftIndexCall),
2815 RenounceOwnership(RenounceOwnershipCall),
2816 StakedHoprTokens(StakedHoprTokensCall),
2817 Sync(SyncCall),
2818 TokensReceived(TokensReceivedCall),
2819 TotalLocked(TotalLockedCall),
2820 TransferOwnership(TransferOwnershipCall),
2821 Unlock(UnlockCall),
2822 UnlockFor(UnlockForCall),
2823 }
2824 impl ::ethers::core::abi::AbiDecode for HoprStakeSeason5Calls {
2825 fn decode(
2826 data: impl AsRef<[u8]>,
2827 ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
2828 let data = data.as_ref();
2829 if let Ok(decoded) = <BasicFactorNumeratorCall as ::ethers::core::abi::AbiDecode>::decode(
2830 data,
2831 ) {
2832 return Ok(Self::BasicFactorNumerator(decoded));
2833 }
2834 if let Ok(decoded) = <BoostCapCall as ::ethers::core::abi::AbiDecode>::decode(
2835 data,
2836 ) {
2837 return Ok(Self::BoostCap(decoded));
2838 }
2839 if let Ok(decoded) = <FactorDenominatorCall as ::ethers::core::abi::AbiDecode>::decode(
2840 data,
2841 ) {
2842 return Ok(Self::FactorDenominator(decoded));
2843 }
2844 if let Ok(decoded) = <LockTokenCall as ::ethers::core::abi::AbiDecode>::decode(
2845 data,
2846 ) {
2847 return Ok(Self::LockToken(decoded));
2848 }
2849 if let Ok(decoded) = <NftContractCall as ::ethers::core::abi::AbiDecode>::decode(
2850 data,
2851 ) {
2852 return Ok(Self::NftContract(decoded));
2853 }
2854 if let Ok(decoded) = <ProgramEndCall as ::ethers::core::abi::AbiDecode>::decode(
2855 data,
2856 ) {
2857 return Ok(Self::ProgramEnd(decoded));
2858 }
2859 if let Ok(decoded) = <ProgramStartCall as ::ethers::core::abi::AbiDecode>::decode(
2860 data,
2861 ) {
2862 return Ok(Self::ProgramStart(decoded));
2863 }
2864 if let Ok(decoded) = <RewardTokenCall as ::ethers::core::abi::AbiDecode>::decode(
2865 data,
2866 ) {
2867 return Ok(Self::RewardToken(decoded));
2868 }
2869 if let Ok(decoded) = <AccountsCall as ::ethers::core::abi::AbiDecode>::decode(
2870 data,
2871 ) {
2872 return Ok(Self::Accounts(decoded));
2873 }
2874 if let Ok(decoded) = <AvailableRewardCall as ::ethers::core::abi::AbiDecode>::decode(
2875 data,
2876 ) {
2877 return Ok(Self::AvailableReward(decoded));
2878 }
2879 if let Ok(decoded) = <ClaimRewardsCall as ::ethers::core::abi::AbiDecode>::decode(
2880 data,
2881 ) {
2882 return Ok(Self::ClaimRewards(decoded));
2883 }
2884 if let Ok(decoded) = <GetCumulatedRewardsIncrementCall as ::ethers::core::abi::AbiDecode>::decode(
2885 data,
2886 ) {
2887 return Ok(Self::GetCumulatedRewardsIncrement(decoded));
2888 }
2889 if let Ok(decoded) = <IsBlockedNftCall as ::ethers::core::abi::AbiDecode>::decode(
2890 data,
2891 ) {
2892 return Ok(Self::IsBlockedNft(decoded));
2893 }
2894 if let Ok(decoded) = <IsNftTypeAndRankRedeemed1Call as ::ethers::core::abi::AbiDecode>::decode(
2895 data,
2896 ) {
2897 return Ok(Self::IsNftTypeAndRankRedeemed1(decoded));
2898 }
2899 if let Ok(decoded) = <IsNftTypeAndRankRedeemed2Call as ::ethers::core::abi::AbiDecode>::decode(
2900 data,
2901 ) {
2902 return Ok(Self::IsNftTypeAndRankRedeemed2(decoded));
2903 }
2904 if let Ok(decoded) = <IsNftTypeAndRankRedeemed3Call as ::ethers::core::abi::AbiDecode>::decode(
2905 data,
2906 ) {
2907 return Ok(Self::IsNftTypeAndRankRedeemed3(decoded));
2908 }
2909 if let Ok(decoded) = <IsNftTypeAndRankRedeemed4Call as ::ethers::core::abi::AbiDecode>::decode(
2910 data,
2911 ) {
2912 return Ok(Self::IsNftTypeAndRankRedeemed4(decoded));
2913 }
2914 if let Ok(decoded) = <OnERC721ReceivedCall as ::ethers::core::abi::AbiDecode>::decode(
2915 data,
2916 ) {
2917 return Ok(Self::OnERC721Received(decoded));
2918 }
2919 if let Ok(decoded) = <OnTokenTransferCall as ::ethers::core::abi::AbiDecode>::decode(
2920 data,
2921 ) {
2922 return Ok(Self::OnTokenTransfer(decoded));
2923 }
2924 if let Ok(decoded) = <OwnerCall as ::ethers::core::abi::AbiDecode>::decode(
2925 data,
2926 ) {
2927 return Ok(Self::Owner(decoded));
2928 }
2929 if let Ok(decoded) = <OwnerBlockNftTypeCall as ::ethers::core::abi::AbiDecode>::decode(
2930 data,
2931 ) {
2932 return Ok(Self::OwnerBlockNftType(decoded));
2933 }
2934 if let Ok(decoded) = <OwnerUnblockNftTypeCall as ::ethers::core::abi::AbiDecode>::decode(
2935 data,
2936 ) {
2937 return Ok(Self::OwnerUnblockNftType(decoded));
2938 }
2939 if let Ok(decoded) = <ReclaimErc20TokensCall as ::ethers::core::abi::AbiDecode>::decode(
2940 data,
2941 ) {
2942 return Ok(Self::ReclaimErc20Tokens(decoded));
2943 }
2944 if let Ok(decoded) = <ReclaimErc721TokensCall as ::ethers::core::abi::AbiDecode>::decode(
2945 data,
2946 ) {
2947 return Ok(Self::ReclaimErc721Tokens(decoded));
2948 }
2949 if let Ok(decoded) = <RedeemedFactorCall as ::ethers::core::abi::AbiDecode>::decode(
2950 data,
2951 ) {
2952 return Ok(Self::RedeemedFactor(decoded));
2953 }
2954 if let Ok(decoded) = <RedeemedFactorIndexCall as ::ethers::core::abi::AbiDecode>::decode(
2955 data,
2956 ) {
2957 return Ok(Self::RedeemedFactorIndex(decoded));
2958 }
2959 if let Ok(decoded) = <RedeemedNftCall as ::ethers::core::abi::AbiDecode>::decode(
2960 data,
2961 ) {
2962 return Ok(Self::RedeemedNft(decoded));
2963 }
2964 if let Ok(decoded) = <RedeemedNftIndexCall as ::ethers::core::abi::AbiDecode>::decode(
2965 data,
2966 ) {
2967 return Ok(Self::RedeemedNftIndex(decoded));
2968 }
2969 if let Ok(decoded) = <RenounceOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(
2970 data,
2971 ) {
2972 return Ok(Self::RenounceOwnership(decoded));
2973 }
2974 if let Ok(decoded) = <StakedHoprTokensCall as ::ethers::core::abi::AbiDecode>::decode(
2975 data,
2976 ) {
2977 return Ok(Self::StakedHoprTokens(decoded));
2978 }
2979 if let Ok(decoded) = <SyncCall as ::ethers::core::abi::AbiDecode>::decode(
2980 data,
2981 ) {
2982 return Ok(Self::Sync(decoded));
2983 }
2984 if let Ok(decoded) = <TokensReceivedCall as ::ethers::core::abi::AbiDecode>::decode(
2985 data,
2986 ) {
2987 return Ok(Self::TokensReceived(decoded));
2988 }
2989 if let Ok(decoded) = <TotalLockedCall as ::ethers::core::abi::AbiDecode>::decode(
2990 data,
2991 ) {
2992 return Ok(Self::TotalLocked(decoded));
2993 }
2994 if let Ok(decoded) = <TransferOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(
2995 data,
2996 ) {
2997 return Ok(Self::TransferOwnership(decoded));
2998 }
2999 if let Ok(decoded) = <UnlockCall as ::ethers::core::abi::AbiDecode>::decode(
3000 data,
3001 ) {
3002 return Ok(Self::Unlock(decoded));
3003 }
3004 if let Ok(decoded) = <UnlockForCall as ::ethers::core::abi::AbiDecode>::decode(
3005 data,
3006 ) {
3007 return Ok(Self::UnlockFor(decoded));
3008 }
3009 Err(::ethers::core::abi::Error::InvalidData.into())
3010 }
3011 }
3012 impl ::ethers::core::abi::AbiEncode for HoprStakeSeason5Calls {
3013 fn encode(self) -> Vec<u8> {
3014 match self {
3015 Self::BasicFactorNumerator(element) => {
3016 ::ethers::core::abi::AbiEncode::encode(element)
3017 }
3018 Self::BoostCap(element) => {
3019 ::ethers::core::abi::AbiEncode::encode(element)
3020 }
3021 Self::FactorDenominator(element) => {
3022 ::ethers::core::abi::AbiEncode::encode(element)
3023 }
3024 Self::LockToken(element) => {
3025 ::ethers::core::abi::AbiEncode::encode(element)
3026 }
3027 Self::NftContract(element) => {
3028 ::ethers::core::abi::AbiEncode::encode(element)
3029 }
3030 Self::ProgramEnd(element) => {
3031 ::ethers::core::abi::AbiEncode::encode(element)
3032 }
3033 Self::ProgramStart(element) => {
3034 ::ethers::core::abi::AbiEncode::encode(element)
3035 }
3036 Self::RewardToken(element) => {
3037 ::ethers::core::abi::AbiEncode::encode(element)
3038 }
3039 Self::Accounts(element) => {
3040 ::ethers::core::abi::AbiEncode::encode(element)
3041 }
3042 Self::AvailableReward(element) => {
3043 ::ethers::core::abi::AbiEncode::encode(element)
3044 }
3045 Self::ClaimRewards(element) => {
3046 ::ethers::core::abi::AbiEncode::encode(element)
3047 }
3048 Self::GetCumulatedRewardsIncrement(element) => {
3049 ::ethers::core::abi::AbiEncode::encode(element)
3050 }
3051 Self::IsBlockedNft(element) => {
3052 ::ethers::core::abi::AbiEncode::encode(element)
3053 }
3054 Self::IsNftTypeAndRankRedeemed1(element) => {
3055 ::ethers::core::abi::AbiEncode::encode(element)
3056 }
3057 Self::IsNftTypeAndRankRedeemed2(element) => {
3058 ::ethers::core::abi::AbiEncode::encode(element)
3059 }
3060 Self::IsNftTypeAndRankRedeemed3(element) => {
3061 ::ethers::core::abi::AbiEncode::encode(element)
3062 }
3063 Self::IsNftTypeAndRankRedeemed4(element) => {
3064 ::ethers::core::abi::AbiEncode::encode(element)
3065 }
3066 Self::OnERC721Received(element) => {
3067 ::ethers::core::abi::AbiEncode::encode(element)
3068 }
3069 Self::OnTokenTransfer(element) => {
3070 ::ethers::core::abi::AbiEncode::encode(element)
3071 }
3072 Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element),
3073 Self::OwnerBlockNftType(element) => {
3074 ::ethers::core::abi::AbiEncode::encode(element)
3075 }
3076 Self::OwnerUnblockNftType(element) => {
3077 ::ethers::core::abi::AbiEncode::encode(element)
3078 }
3079 Self::ReclaimErc20Tokens(element) => {
3080 ::ethers::core::abi::AbiEncode::encode(element)
3081 }
3082 Self::ReclaimErc721Tokens(element) => {
3083 ::ethers::core::abi::AbiEncode::encode(element)
3084 }
3085 Self::RedeemedFactor(element) => {
3086 ::ethers::core::abi::AbiEncode::encode(element)
3087 }
3088 Self::RedeemedFactorIndex(element) => {
3089 ::ethers::core::abi::AbiEncode::encode(element)
3090 }
3091 Self::RedeemedNft(element) => {
3092 ::ethers::core::abi::AbiEncode::encode(element)
3093 }
3094 Self::RedeemedNftIndex(element) => {
3095 ::ethers::core::abi::AbiEncode::encode(element)
3096 }
3097 Self::RenounceOwnership(element) => {
3098 ::ethers::core::abi::AbiEncode::encode(element)
3099 }
3100 Self::StakedHoprTokens(element) => {
3101 ::ethers::core::abi::AbiEncode::encode(element)
3102 }
3103 Self::Sync(element) => ::ethers::core::abi::AbiEncode::encode(element),
3104 Self::TokensReceived(element) => {
3105 ::ethers::core::abi::AbiEncode::encode(element)
3106 }
3107 Self::TotalLocked(element) => {
3108 ::ethers::core::abi::AbiEncode::encode(element)
3109 }
3110 Self::TransferOwnership(element) => {
3111 ::ethers::core::abi::AbiEncode::encode(element)
3112 }
3113 Self::Unlock(element) => ::ethers::core::abi::AbiEncode::encode(element),
3114 Self::UnlockFor(element) => {
3115 ::ethers::core::abi::AbiEncode::encode(element)
3116 }
3117 }
3118 }
3119 }
3120 impl ::core::fmt::Display for HoprStakeSeason5Calls {
3121 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3122 match self {
3123 Self::BasicFactorNumerator(element) => {
3124 ::core::fmt::Display::fmt(element, f)
3125 }
3126 Self::BoostCap(element) => ::core::fmt::Display::fmt(element, f),
3127 Self::FactorDenominator(element) => ::core::fmt::Display::fmt(element, f),
3128 Self::LockToken(element) => ::core::fmt::Display::fmt(element, f),
3129 Self::NftContract(element) => ::core::fmt::Display::fmt(element, f),
3130 Self::ProgramEnd(element) => ::core::fmt::Display::fmt(element, f),
3131 Self::ProgramStart(element) => ::core::fmt::Display::fmt(element, f),
3132 Self::RewardToken(element) => ::core::fmt::Display::fmt(element, f),
3133 Self::Accounts(element) => ::core::fmt::Display::fmt(element, f),
3134 Self::AvailableReward(element) => ::core::fmt::Display::fmt(element, f),
3135 Self::ClaimRewards(element) => ::core::fmt::Display::fmt(element, f),
3136 Self::GetCumulatedRewardsIncrement(element) => {
3137 ::core::fmt::Display::fmt(element, f)
3138 }
3139 Self::IsBlockedNft(element) => ::core::fmt::Display::fmt(element, f),
3140 Self::IsNftTypeAndRankRedeemed1(element) => {
3141 ::core::fmt::Display::fmt(element, f)
3142 }
3143 Self::IsNftTypeAndRankRedeemed2(element) => {
3144 ::core::fmt::Display::fmt(element, f)
3145 }
3146 Self::IsNftTypeAndRankRedeemed3(element) => {
3147 ::core::fmt::Display::fmt(element, f)
3148 }
3149 Self::IsNftTypeAndRankRedeemed4(element) => {
3150 ::core::fmt::Display::fmt(element, f)
3151 }
3152 Self::OnERC721Received(element) => ::core::fmt::Display::fmt(element, f),
3153 Self::OnTokenTransfer(element) => ::core::fmt::Display::fmt(element, f),
3154 Self::Owner(element) => ::core::fmt::Display::fmt(element, f),
3155 Self::OwnerBlockNftType(element) => ::core::fmt::Display::fmt(element, f),
3156 Self::OwnerUnblockNftType(element) => {
3157 ::core::fmt::Display::fmt(element, f)
3158 }
3159 Self::ReclaimErc20Tokens(element) => {
3160 ::core::fmt::Display::fmt(element, f)
3161 }
3162 Self::ReclaimErc721Tokens(element) => {
3163 ::core::fmt::Display::fmt(element, f)
3164 }
3165 Self::RedeemedFactor(element) => ::core::fmt::Display::fmt(element, f),
3166 Self::RedeemedFactorIndex(element) => {
3167 ::core::fmt::Display::fmt(element, f)
3168 }
3169 Self::RedeemedNft(element) => ::core::fmt::Display::fmt(element, f),
3170 Self::RedeemedNftIndex(element) => ::core::fmt::Display::fmt(element, f),
3171 Self::RenounceOwnership(element) => ::core::fmt::Display::fmt(element, f),
3172 Self::StakedHoprTokens(element) => ::core::fmt::Display::fmt(element, f),
3173 Self::Sync(element) => ::core::fmt::Display::fmt(element, f),
3174 Self::TokensReceived(element) => ::core::fmt::Display::fmt(element, f),
3175 Self::TotalLocked(element) => ::core::fmt::Display::fmt(element, f),
3176 Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f),
3177 Self::Unlock(element) => ::core::fmt::Display::fmt(element, f),
3178 Self::UnlockFor(element) => ::core::fmt::Display::fmt(element, f),
3179 }
3180 }
3181 }
3182 impl ::core::convert::From<BasicFactorNumeratorCall> for HoprStakeSeason5Calls {
3183 fn from(value: BasicFactorNumeratorCall) -> Self {
3184 Self::BasicFactorNumerator(value)
3185 }
3186 }
3187 impl ::core::convert::From<BoostCapCall> for HoprStakeSeason5Calls {
3188 fn from(value: BoostCapCall) -> Self {
3189 Self::BoostCap(value)
3190 }
3191 }
3192 impl ::core::convert::From<FactorDenominatorCall> for HoprStakeSeason5Calls {
3193 fn from(value: FactorDenominatorCall) -> Self {
3194 Self::FactorDenominator(value)
3195 }
3196 }
3197 impl ::core::convert::From<LockTokenCall> for HoprStakeSeason5Calls {
3198 fn from(value: LockTokenCall) -> Self {
3199 Self::LockToken(value)
3200 }
3201 }
3202 impl ::core::convert::From<NftContractCall> for HoprStakeSeason5Calls {
3203 fn from(value: NftContractCall) -> Self {
3204 Self::NftContract(value)
3205 }
3206 }
3207 impl ::core::convert::From<ProgramEndCall> for HoprStakeSeason5Calls {
3208 fn from(value: ProgramEndCall) -> Self {
3209 Self::ProgramEnd(value)
3210 }
3211 }
3212 impl ::core::convert::From<ProgramStartCall> for HoprStakeSeason5Calls {
3213 fn from(value: ProgramStartCall) -> Self {
3214 Self::ProgramStart(value)
3215 }
3216 }
3217 impl ::core::convert::From<RewardTokenCall> for HoprStakeSeason5Calls {
3218 fn from(value: RewardTokenCall) -> Self {
3219 Self::RewardToken(value)
3220 }
3221 }
3222 impl ::core::convert::From<AccountsCall> for HoprStakeSeason5Calls {
3223 fn from(value: AccountsCall) -> Self {
3224 Self::Accounts(value)
3225 }
3226 }
3227 impl ::core::convert::From<AvailableRewardCall> for HoprStakeSeason5Calls {
3228 fn from(value: AvailableRewardCall) -> Self {
3229 Self::AvailableReward(value)
3230 }
3231 }
3232 impl ::core::convert::From<ClaimRewardsCall> for HoprStakeSeason5Calls {
3233 fn from(value: ClaimRewardsCall) -> Self {
3234 Self::ClaimRewards(value)
3235 }
3236 }
3237 impl ::core::convert::From<GetCumulatedRewardsIncrementCall>
3238 for HoprStakeSeason5Calls {
3239 fn from(value: GetCumulatedRewardsIncrementCall) -> Self {
3240 Self::GetCumulatedRewardsIncrement(value)
3241 }
3242 }
3243 impl ::core::convert::From<IsBlockedNftCall> for HoprStakeSeason5Calls {
3244 fn from(value: IsBlockedNftCall) -> Self {
3245 Self::IsBlockedNft(value)
3246 }
3247 }
3248 impl ::core::convert::From<IsNftTypeAndRankRedeemed1Call> for HoprStakeSeason5Calls {
3249 fn from(value: IsNftTypeAndRankRedeemed1Call) -> Self {
3250 Self::IsNftTypeAndRankRedeemed1(value)
3251 }
3252 }
3253 impl ::core::convert::From<IsNftTypeAndRankRedeemed2Call> for HoprStakeSeason5Calls {
3254 fn from(value: IsNftTypeAndRankRedeemed2Call) -> Self {
3255 Self::IsNftTypeAndRankRedeemed2(value)
3256 }
3257 }
3258 impl ::core::convert::From<IsNftTypeAndRankRedeemed3Call> for HoprStakeSeason5Calls {
3259 fn from(value: IsNftTypeAndRankRedeemed3Call) -> Self {
3260 Self::IsNftTypeAndRankRedeemed3(value)
3261 }
3262 }
3263 impl ::core::convert::From<IsNftTypeAndRankRedeemed4Call> for HoprStakeSeason5Calls {
3264 fn from(value: IsNftTypeAndRankRedeemed4Call) -> Self {
3265 Self::IsNftTypeAndRankRedeemed4(value)
3266 }
3267 }
3268 impl ::core::convert::From<OnERC721ReceivedCall> for HoprStakeSeason5Calls {
3269 fn from(value: OnERC721ReceivedCall) -> Self {
3270 Self::OnERC721Received(value)
3271 }
3272 }
3273 impl ::core::convert::From<OnTokenTransferCall> for HoprStakeSeason5Calls {
3274 fn from(value: OnTokenTransferCall) -> Self {
3275 Self::OnTokenTransfer(value)
3276 }
3277 }
3278 impl ::core::convert::From<OwnerCall> for HoprStakeSeason5Calls {
3279 fn from(value: OwnerCall) -> Self {
3280 Self::Owner(value)
3281 }
3282 }
3283 impl ::core::convert::From<OwnerBlockNftTypeCall> for HoprStakeSeason5Calls {
3284 fn from(value: OwnerBlockNftTypeCall) -> Self {
3285 Self::OwnerBlockNftType(value)
3286 }
3287 }
3288 impl ::core::convert::From<OwnerUnblockNftTypeCall> for HoprStakeSeason5Calls {
3289 fn from(value: OwnerUnblockNftTypeCall) -> Self {
3290 Self::OwnerUnblockNftType(value)
3291 }
3292 }
3293 impl ::core::convert::From<ReclaimErc20TokensCall> for HoprStakeSeason5Calls {
3294 fn from(value: ReclaimErc20TokensCall) -> Self {
3295 Self::ReclaimErc20Tokens(value)
3296 }
3297 }
3298 impl ::core::convert::From<ReclaimErc721TokensCall> for HoprStakeSeason5Calls {
3299 fn from(value: ReclaimErc721TokensCall) -> Self {
3300 Self::ReclaimErc721Tokens(value)
3301 }
3302 }
3303 impl ::core::convert::From<RedeemedFactorCall> for HoprStakeSeason5Calls {
3304 fn from(value: RedeemedFactorCall) -> Self {
3305 Self::RedeemedFactor(value)
3306 }
3307 }
3308 impl ::core::convert::From<RedeemedFactorIndexCall> for HoprStakeSeason5Calls {
3309 fn from(value: RedeemedFactorIndexCall) -> Self {
3310 Self::RedeemedFactorIndex(value)
3311 }
3312 }
3313 impl ::core::convert::From<RedeemedNftCall> for HoprStakeSeason5Calls {
3314 fn from(value: RedeemedNftCall) -> Self {
3315 Self::RedeemedNft(value)
3316 }
3317 }
3318 impl ::core::convert::From<RedeemedNftIndexCall> for HoprStakeSeason5Calls {
3319 fn from(value: RedeemedNftIndexCall) -> Self {
3320 Self::RedeemedNftIndex(value)
3321 }
3322 }
3323 impl ::core::convert::From<RenounceOwnershipCall> for HoprStakeSeason5Calls {
3324 fn from(value: RenounceOwnershipCall) -> Self {
3325 Self::RenounceOwnership(value)
3326 }
3327 }
3328 impl ::core::convert::From<StakedHoprTokensCall> for HoprStakeSeason5Calls {
3329 fn from(value: StakedHoprTokensCall) -> Self {
3330 Self::StakedHoprTokens(value)
3331 }
3332 }
3333 impl ::core::convert::From<SyncCall> for HoprStakeSeason5Calls {
3334 fn from(value: SyncCall) -> Self {
3335 Self::Sync(value)
3336 }
3337 }
3338 impl ::core::convert::From<TokensReceivedCall> for HoprStakeSeason5Calls {
3339 fn from(value: TokensReceivedCall) -> Self {
3340 Self::TokensReceived(value)
3341 }
3342 }
3343 impl ::core::convert::From<TotalLockedCall> for HoprStakeSeason5Calls {
3344 fn from(value: TotalLockedCall) -> Self {
3345 Self::TotalLocked(value)
3346 }
3347 }
3348 impl ::core::convert::From<TransferOwnershipCall> for HoprStakeSeason5Calls {
3349 fn from(value: TransferOwnershipCall) -> Self {
3350 Self::TransferOwnership(value)
3351 }
3352 }
3353 impl ::core::convert::From<UnlockCall> for HoprStakeSeason5Calls {
3354 fn from(value: UnlockCall) -> Self {
3355 Self::Unlock(value)
3356 }
3357 }
3358 impl ::core::convert::From<UnlockForCall> for HoprStakeSeason5Calls {
3359 fn from(value: UnlockForCall) -> Self {
3360 Self::UnlockFor(value)
3361 }
3362 }
3363 #[derive(
3365 Clone,
3366 ::ethers::contract::EthAbiType,
3367 ::ethers::contract::EthAbiCodec,
3368 serde::Serialize,
3369 serde::Deserialize,
3370 Default,
3371 Debug,
3372 PartialEq,
3373 Eq,
3374 Hash
3375 )]
3376 pub struct BasicFactorNumeratorReturn(pub ::ethers::core::types::U256);
3377 #[derive(
3379 Clone,
3380 ::ethers::contract::EthAbiType,
3381 ::ethers::contract::EthAbiCodec,
3382 serde::Serialize,
3383 serde::Deserialize,
3384 Default,
3385 Debug,
3386 PartialEq,
3387 Eq,
3388 Hash
3389 )]
3390 pub struct BoostCapReturn(pub ::ethers::core::types::U256);
3391 #[derive(
3393 Clone,
3394 ::ethers::contract::EthAbiType,
3395 ::ethers::contract::EthAbiCodec,
3396 serde::Serialize,
3397 serde::Deserialize,
3398 Default,
3399 Debug,
3400 PartialEq,
3401 Eq,
3402 Hash
3403 )]
3404 pub struct FactorDenominatorReturn(pub ::ethers::core::types::U256);
3405 #[derive(
3407 Clone,
3408 ::ethers::contract::EthAbiType,
3409 ::ethers::contract::EthAbiCodec,
3410 serde::Serialize,
3411 serde::Deserialize,
3412 Default,
3413 Debug,
3414 PartialEq,
3415 Eq,
3416 Hash
3417 )]
3418 pub struct LockTokenReturn(pub ::ethers::core::types::Address);
3419 #[derive(
3421 Clone,
3422 ::ethers::contract::EthAbiType,
3423 ::ethers::contract::EthAbiCodec,
3424 serde::Serialize,
3425 serde::Deserialize,
3426 Default,
3427 Debug,
3428 PartialEq,
3429 Eq,
3430 Hash
3431 )]
3432 pub struct NftContractReturn(pub ::ethers::core::types::Address);
3433 #[derive(
3435 Clone,
3436 ::ethers::contract::EthAbiType,
3437 ::ethers::contract::EthAbiCodec,
3438 serde::Serialize,
3439 serde::Deserialize,
3440 Default,
3441 Debug,
3442 PartialEq,
3443 Eq,
3444 Hash
3445 )]
3446 pub struct ProgramEndReturn(pub ::ethers::core::types::U256);
3447 #[derive(
3449 Clone,
3450 ::ethers::contract::EthAbiType,
3451 ::ethers::contract::EthAbiCodec,
3452 serde::Serialize,
3453 serde::Deserialize,
3454 Default,
3455 Debug,
3456 PartialEq,
3457 Eq,
3458 Hash
3459 )]
3460 pub struct ProgramStartReturn(pub ::ethers::core::types::U256);
3461 #[derive(
3463 Clone,
3464 ::ethers::contract::EthAbiType,
3465 ::ethers::contract::EthAbiCodec,
3466 serde::Serialize,
3467 serde::Deserialize,
3468 Default,
3469 Debug,
3470 PartialEq,
3471 Eq,
3472 Hash
3473 )]
3474 pub struct RewardTokenReturn(pub ::ethers::core::types::Address);
3475 #[derive(
3477 Clone,
3478 ::ethers::contract::EthAbiType,
3479 ::ethers::contract::EthAbiCodec,
3480 serde::Serialize,
3481 serde::Deserialize,
3482 Default,
3483 Debug,
3484 PartialEq,
3485 Eq,
3486 Hash
3487 )]
3488 pub struct AccountsReturn {
3489 pub actual_locked_token_amount: ::ethers::core::types::U256,
3490 pub last_sync_timestamp: ::ethers::core::types::U256,
3491 pub cumulated_rewards: ::ethers::core::types::U256,
3492 pub claimed_rewards: ::ethers::core::types::U256,
3493 }
3494 #[derive(
3496 Clone,
3497 ::ethers::contract::EthAbiType,
3498 ::ethers::contract::EthAbiCodec,
3499 serde::Serialize,
3500 serde::Deserialize,
3501 Default,
3502 Debug,
3503 PartialEq,
3504 Eq,
3505 Hash
3506 )]
3507 pub struct AvailableRewardReturn(pub ::ethers::core::types::U256);
3508 #[derive(
3510 Clone,
3511 ::ethers::contract::EthAbiType,
3512 ::ethers::contract::EthAbiCodec,
3513 serde::Serialize,
3514 serde::Deserialize,
3515 Default,
3516 Debug,
3517 PartialEq,
3518 Eq,
3519 Hash
3520 )]
3521 pub struct GetCumulatedRewardsIncrementReturn(pub ::ethers::core::types::U256);
3522 #[derive(
3524 Clone,
3525 ::ethers::contract::EthAbiType,
3526 ::ethers::contract::EthAbiCodec,
3527 serde::Serialize,
3528 serde::Deserialize,
3529 Default,
3530 Debug,
3531 PartialEq,
3532 Eq,
3533 Hash
3534 )]
3535 pub struct IsBlockedNftReturn(pub bool);
3536 #[derive(
3538 Clone,
3539 ::ethers::contract::EthAbiType,
3540 ::ethers::contract::EthAbiCodec,
3541 serde::Serialize,
3542 serde::Deserialize,
3543 Default,
3544 Debug,
3545 PartialEq,
3546 Eq,
3547 Hash
3548 )]
3549 pub struct IsNftTypeAndRankRedeemed1Return(pub bool);
3550 #[derive(
3552 Clone,
3553 ::ethers::contract::EthAbiType,
3554 ::ethers::contract::EthAbiCodec,
3555 serde::Serialize,
3556 serde::Deserialize,
3557 Default,
3558 Debug,
3559 PartialEq,
3560 Eq,
3561 Hash
3562 )]
3563 pub struct IsNftTypeAndRankRedeemed2Return(pub bool);
3564 #[derive(
3566 Clone,
3567 ::ethers::contract::EthAbiType,
3568 ::ethers::contract::EthAbiCodec,
3569 serde::Serialize,
3570 serde::Deserialize,
3571 Default,
3572 Debug,
3573 PartialEq,
3574 Eq,
3575 Hash
3576 )]
3577 pub struct IsNftTypeAndRankRedeemed3Return(pub bool);
3578 #[derive(
3580 Clone,
3581 ::ethers::contract::EthAbiType,
3582 ::ethers::contract::EthAbiCodec,
3583 serde::Serialize,
3584 serde::Deserialize,
3585 Default,
3586 Debug,
3587 PartialEq,
3588 Eq,
3589 Hash
3590 )]
3591 pub struct IsNftTypeAndRankRedeemed4Return(pub bool);
3592 #[derive(
3594 Clone,
3595 ::ethers::contract::EthAbiType,
3596 ::ethers::contract::EthAbiCodec,
3597 serde::Serialize,
3598 serde::Deserialize,
3599 Default,
3600 Debug,
3601 PartialEq,
3602 Eq,
3603 Hash
3604 )]
3605 pub struct OnERC721ReceivedReturn(pub [u8; 4]);
3606 #[derive(
3608 Clone,
3609 ::ethers::contract::EthAbiType,
3610 ::ethers::contract::EthAbiCodec,
3611 serde::Serialize,
3612 serde::Deserialize,
3613 Default,
3614 Debug,
3615 PartialEq,
3616 Eq,
3617 Hash
3618 )]
3619 pub struct OnTokenTransferReturn(pub bool);
3620 #[derive(
3622 Clone,
3623 ::ethers::contract::EthAbiType,
3624 ::ethers::contract::EthAbiCodec,
3625 serde::Serialize,
3626 serde::Deserialize,
3627 Default,
3628 Debug,
3629 PartialEq,
3630 Eq,
3631 Hash
3632 )]
3633 pub struct OwnerReturn(pub ::ethers::core::types::Address);
3634 #[derive(
3636 Clone,
3637 ::ethers::contract::EthAbiType,
3638 ::ethers::contract::EthAbiCodec,
3639 serde::Serialize,
3640 serde::Deserialize,
3641 Default,
3642 Debug,
3643 PartialEq,
3644 Eq,
3645 Hash
3646 )]
3647 pub struct RedeemedFactorReturn(pub ::ethers::core::types::U256);
3648 #[derive(
3650 Clone,
3651 ::ethers::contract::EthAbiType,
3652 ::ethers::contract::EthAbiCodec,
3653 serde::Serialize,
3654 serde::Deserialize,
3655 Default,
3656 Debug,
3657 PartialEq,
3658 Eq,
3659 Hash
3660 )]
3661 pub struct RedeemedFactorIndexReturn(pub ::ethers::core::types::U256);
3662 #[derive(
3664 Clone,
3665 ::ethers::contract::EthAbiType,
3666 ::ethers::contract::EthAbiCodec,
3667 serde::Serialize,
3668 serde::Deserialize,
3669 Default,
3670 Debug,
3671 PartialEq,
3672 Eq,
3673 Hash
3674 )]
3675 pub struct RedeemedNftReturn(pub ::ethers::core::types::U256);
3676 #[derive(
3678 Clone,
3679 ::ethers::contract::EthAbiType,
3680 ::ethers::contract::EthAbiCodec,
3681 serde::Serialize,
3682 serde::Deserialize,
3683 Default,
3684 Debug,
3685 PartialEq,
3686 Eq,
3687 Hash
3688 )]
3689 pub struct RedeemedNftIndexReturn(pub ::ethers::core::types::U256);
3690 #[derive(
3692 Clone,
3693 ::ethers::contract::EthAbiType,
3694 ::ethers::contract::EthAbiCodec,
3695 serde::Serialize,
3696 serde::Deserialize,
3697 Default,
3698 Debug,
3699 PartialEq,
3700 Eq,
3701 Hash
3702 )]
3703 pub struct StakedHoprTokensReturn(pub ::ethers::core::types::U256);
3704 #[derive(
3706 Clone,
3707 ::ethers::contract::EthAbiType,
3708 ::ethers::contract::EthAbiCodec,
3709 serde::Serialize,
3710 serde::Deserialize,
3711 Default,
3712 Debug,
3713 PartialEq,
3714 Eq,
3715 Hash
3716 )]
3717 pub struct TotalLockedReturn(pub ::ethers::core::types::U256);
3718}