1pub use hopr_stake_season_7::*;
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_7 {
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("batchStakeFor"),
304 ::std::vec![
305 ::ethers::core::abi::ethabi::Function {
306 name: ::std::borrow::ToOwned::to_owned("batchStakeFor"),
307 inputs: ::std::vec![
308 ::ethers::core::abi::ethabi::Param {
309 name: ::std::borrow::ToOwned::to_owned("_accounts"),
310 kind: ::ethers::core::abi::ethabi::ParamType::Array(
311 ::std::boxed::Box::new(
312 ::ethers::core::abi::ethabi::ParamType::Address,
313 ),
314 ),
315 internal_type: ::core::option::Option::Some(
316 ::std::borrow::ToOwned::to_owned("address[]"),
317 ),
318 },
319 ::ethers::core::abi::ethabi::Param {
320 name: ::std::borrow::ToOwned::to_owned("_stakes"),
321 kind: ::ethers::core::abi::ethabi::ParamType::Array(
322 ::std::boxed::Box::new(
323 ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
324 ),
325 ),
326 internal_type: ::core::option::Option::Some(
327 ::std::borrow::ToOwned::to_owned("uint256[]"),
328 ),
329 },
330 ],
331 outputs: ::std::vec![],
332 constant: ::core::option::Option::None,
333 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
334 },
335 ],
336 ),
337 (
338 ::std::borrow::ToOwned::to_owned("claimRewards"),
339 ::std::vec![
340 ::ethers::core::abi::ethabi::Function {
341 name: ::std::borrow::ToOwned::to_owned("claimRewards"),
342 inputs: ::std::vec![
343 ::ethers::core::abi::ethabi::Param {
344 name: ::std::borrow::ToOwned::to_owned("account"),
345 kind: ::ethers::core::abi::ethabi::ParamType::Address,
346 internal_type: ::core::option::Option::Some(
347 ::std::borrow::ToOwned::to_owned("address"),
348 ),
349 },
350 ],
351 outputs: ::std::vec![],
352 constant: ::core::option::Option::None,
353 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
354 },
355 ],
356 ),
357 (
358 ::std::borrow::ToOwned::to_owned("getCumulatedRewardsIncrement"),
359 ::std::vec![
360 ::ethers::core::abi::ethabi::Function {
361 name: ::std::borrow::ToOwned::to_owned(
362 "getCumulatedRewardsIncrement",
363 ),
364 inputs: ::std::vec![
365 ::ethers::core::abi::ethabi::Param {
366 name: ::std::borrow::ToOwned::to_owned("_account"),
367 kind: ::ethers::core::abi::ethabi::ParamType::Address,
368 internal_type: ::core::option::Option::Some(
369 ::std::borrow::ToOwned::to_owned("address"),
370 ),
371 },
372 ],
373 outputs: ::std::vec![
374 ::ethers::core::abi::ethabi::Param {
375 name: ::std::string::String::new(),
376 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
377 256usize,
378 ),
379 internal_type: ::core::option::Option::Some(
380 ::std::borrow::ToOwned::to_owned("uint256"),
381 ),
382 },
383 ],
384 constant: ::core::option::Option::None,
385 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
386 },
387 ],
388 ),
389 (
390 ::std::borrow::ToOwned::to_owned("isBlockedNft"),
391 ::std::vec![
392 ::ethers::core::abi::ethabi::Function {
393 name: ::std::borrow::ToOwned::to_owned("isBlockedNft"),
394 inputs: ::std::vec![
395 ::ethers::core::abi::ethabi::Param {
396 name: ::std::string::String::new(),
397 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
398 256usize,
399 ),
400 internal_type: ::core::option::Option::Some(
401 ::std::borrow::ToOwned::to_owned("uint256"),
402 ),
403 },
404 ],
405 outputs: ::std::vec![
406 ::ethers::core::abi::ethabi::Param {
407 name: ::std::string::String::new(),
408 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
409 internal_type: ::core::option::Option::Some(
410 ::std::borrow::ToOwned::to_owned("bool"),
411 ),
412 },
413 ],
414 constant: ::core::option::Option::None,
415 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
416 },
417 ],
418 ),
419 (
420 ::std::borrow::ToOwned::to_owned("isNftTypeAndRankRedeemed1"),
421 ::std::vec![
422 ::ethers::core::abi::ethabi::Function {
423 name: ::std::borrow::ToOwned::to_owned(
424 "isNftTypeAndRankRedeemed1",
425 ),
426 inputs: ::std::vec![
427 ::ethers::core::abi::ethabi::Param {
428 name: ::std::borrow::ToOwned::to_owned("nftType"),
429 kind: ::ethers::core::abi::ethabi::ParamType::String,
430 internal_type: ::core::option::Option::Some(
431 ::std::borrow::ToOwned::to_owned("string"),
432 ),
433 },
434 ::ethers::core::abi::ethabi::Param {
435 name: ::std::borrow::ToOwned::to_owned("nftRank"),
436 kind: ::ethers::core::abi::ethabi::ParamType::String,
437 internal_type: ::core::option::Option::Some(
438 ::std::borrow::ToOwned::to_owned("string"),
439 ),
440 },
441 ::ethers::core::abi::ethabi::Param {
442 name: ::std::borrow::ToOwned::to_owned("hodler"),
443 kind: ::ethers::core::abi::ethabi::ParamType::Address,
444 internal_type: ::core::option::Option::Some(
445 ::std::borrow::ToOwned::to_owned("address"),
446 ),
447 },
448 ],
449 outputs: ::std::vec![
450 ::ethers::core::abi::ethabi::Param {
451 name: ::std::string::String::new(),
452 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
453 internal_type: ::core::option::Option::Some(
454 ::std::borrow::ToOwned::to_owned("bool"),
455 ),
456 },
457 ],
458 constant: ::core::option::Option::None,
459 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
460 },
461 ],
462 ),
463 (
464 ::std::borrow::ToOwned::to_owned("isNftTypeAndRankRedeemed2"),
465 ::std::vec![
466 ::ethers::core::abi::ethabi::Function {
467 name: ::std::borrow::ToOwned::to_owned(
468 "isNftTypeAndRankRedeemed2",
469 ),
470 inputs: ::std::vec![
471 ::ethers::core::abi::ethabi::Param {
472 name: ::std::borrow::ToOwned::to_owned("nftTypeIndex"),
473 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
474 256usize,
475 ),
476 internal_type: ::core::option::Option::Some(
477 ::std::borrow::ToOwned::to_owned("uint256"),
478 ),
479 },
480 ::ethers::core::abi::ethabi::Param {
481 name: ::std::borrow::ToOwned::to_owned("nftRank"),
482 kind: ::ethers::core::abi::ethabi::ParamType::String,
483 internal_type: ::core::option::Option::Some(
484 ::std::borrow::ToOwned::to_owned("string"),
485 ),
486 },
487 ::ethers::core::abi::ethabi::Param {
488 name: ::std::borrow::ToOwned::to_owned("hodler"),
489 kind: ::ethers::core::abi::ethabi::ParamType::Address,
490 internal_type: ::core::option::Option::Some(
491 ::std::borrow::ToOwned::to_owned("address"),
492 ),
493 },
494 ],
495 outputs: ::std::vec![
496 ::ethers::core::abi::ethabi::Param {
497 name: ::std::string::String::new(),
498 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
499 internal_type: ::core::option::Option::Some(
500 ::std::borrow::ToOwned::to_owned("bool"),
501 ),
502 },
503 ],
504 constant: ::core::option::Option::None,
505 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
506 },
507 ],
508 ),
509 (
510 ::std::borrow::ToOwned::to_owned("isNftTypeAndRankRedeemed3"),
511 ::std::vec![
512 ::ethers::core::abi::ethabi::Function {
513 name: ::std::borrow::ToOwned::to_owned(
514 "isNftTypeAndRankRedeemed3",
515 ),
516 inputs: ::std::vec![
517 ::ethers::core::abi::ethabi::Param {
518 name: ::std::borrow::ToOwned::to_owned("nftTypeIndex"),
519 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
520 256usize,
521 ),
522 internal_type: ::core::option::Option::Some(
523 ::std::borrow::ToOwned::to_owned("uint256"),
524 ),
525 },
526 ::ethers::core::abi::ethabi::Param {
527 name: ::std::borrow::ToOwned::to_owned("boostNumerator"),
528 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
529 256usize,
530 ),
531 internal_type: ::core::option::Option::Some(
532 ::std::borrow::ToOwned::to_owned("uint256"),
533 ),
534 },
535 ::ethers::core::abi::ethabi::Param {
536 name: ::std::borrow::ToOwned::to_owned("hodler"),
537 kind: ::ethers::core::abi::ethabi::ParamType::Address,
538 internal_type: ::core::option::Option::Some(
539 ::std::borrow::ToOwned::to_owned("address"),
540 ),
541 },
542 ],
543 outputs: ::std::vec![
544 ::ethers::core::abi::ethabi::Param {
545 name: ::std::string::String::new(),
546 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
547 internal_type: ::core::option::Option::Some(
548 ::std::borrow::ToOwned::to_owned("bool"),
549 ),
550 },
551 ],
552 constant: ::core::option::Option::None,
553 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
554 },
555 ],
556 ),
557 (
558 ::std::borrow::ToOwned::to_owned("isNftTypeAndRankRedeemed4"),
559 ::std::vec![
560 ::ethers::core::abi::ethabi::Function {
561 name: ::std::borrow::ToOwned::to_owned(
562 "isNftTypeAndRankRedeemed4",
563 ),
564 inputs: ::std::vec![
565 ::ethers::core::abi::ethabi::Param {
566 name: ::std::borrow::ToOwned::to_owned("nftType"),
567 kind: ::ethers::core::abi::ethabi::ParamType::String,
568 internal_type: ::core::option::Option::Some(
569 ::std::borrow::ToOwned::to_owned("string"),
570 ),
571 },
572 ::ethers::core::abi::ethabi::Param {
573 name: ::std::borrow::ToOwned::to_owned("boostNumerator"),
574 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
575 256usize,
576 ),
577 internal_type: ::core::option::Option::Some(
578 ::std::borrow::ToOwned::to_owned("uint256"),
579 ),
580 },
581 ::ethers::core::abi::ethabi::Param {
582 name: ::std::borrow::ToOwned::to_owned("hodler"),
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 ],
589 outputs: ::std::vec![
590 ::ethers::core::abi::ethabi::Param {
591 name: ::std::string::String::new(),
592 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
593 internal_type: ::core::option::Option::Some(
594 ::std::borrow::ToOwned::to_owned("bool"),
595 ),
596 },
597 ],
598 constant: ::core::option::Option::None,
599 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
600 },
601 ],
602 ),
603 (
604 ::std::borrow::ToOwned::to_owned("onERC721Received"),
605 ::std::vec![
606 ::ethers::core::abi::ethabi::Function {
607 name: ::std::borrow::ToOwned::to_owned("onERC721Received"),
608 inputs: ::std::vec![
609 ::ethers::core::abi::ethabi::Param {
610 name: ::std::string::String::new(),
611 kind: ::ethers::core::abi::ethabi::ParamType::Address,
612 internal_type: ::core::option::Option::Some(
613 ::std::borrow::ToOwned::to_owned("address"),
614 ),
615 },
616 ::ethers::core::abi::ethabi::Param {
617 name: ::std::borrow::ToOwned::to_owned("from"),
618 kind: ::ethers::core::abi::ethabi::ParamType::Address,
619 internal_type: ::core::option::Option::Some(
620 ::std::borrow::ToOwned::to_owned("address"),
621 ),
622 },
623 ::ethers::core::abi::ethabi::Param {
624 name: ::std::borrow::ToOwned::to_owned("tokenId"),
625 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
626 256usize,
627 ),
628 internal_type: ::core::option::Option::Some(
629 ::std::borrow::ToOwned::to_owned("uint256"),
630 ),
631 },
632 ::ethers::core::abi::ethabi::Param {
633 name: ::std::string::String::new(),
634 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
635 internal_type: ::core::option::Option::Some(
636 ::std::borrow::ToOwned::to_owned("bytes"),
637 ),
638 },
639 ],
640 outputs: ::std::vec![
641 ::ethers::core::abi::ethabi::Param {
642 name: ::std::string::String::new(),
643 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
644 4usize,
645 ),
646 internal_type: ::core::option::Option::Some(
647 ::std::borrow::ToOwned::to_owned("bytes4"),
648 ),
649 },
650 ],
651 constant: ::core::option::Option::None,
652 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
653 },
654 ],
655 ),
656 (
657 ::std::borrow::ToOwned::to_owned("onTokenTransfer"),
658 ::std::vec![
659 ::ethers::core::abi::ethabi::Function {
660 name: ::std::borrow::ToOwned::to_owned("onTokenTransfer"),
661 inputs: ::std::vec![
662 ::ethers::core::abi::ethabi::Param {
663 name: ::std::borrow::ToOwned::to_owned("_from"),
664 kind: ::ethers::core::abi::ethabi::ParamType::Address,
665 internal_type: ::core::option::Option::Some(
666 ::std::borrow::ToOwned::to_owned("address"),
667 ),
668 },
669 ::ethers::core::abi::ethabi::Param {
670 name: ::std::borrow::ToOwned::to_owned("_value"),
671 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
672 256usize,
673 ),
674 internal_type: ::core::option::Option::Some(
675 ::std::borrow::ToOwned::to_owned("uint256"),
676 ),
677 },
678 ::ethers::core::abi::ethabi::Param {
679 name: ::std::string::String::new(),
680 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
681 internal_type: ::core::option::Option::Some(
682 ::std::borrow::ToOwned::to_owned("bytes"),
683 ),
684 },
685 ],
686 outputs: ::std::vec![
687 ::ethers::core::abi::ethabi::Param {
688 name: ::std::string::String::new(),
689 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
690 internal_type: ::core::option::Option::Some(
691 ::std::borrow::ToOwned::to_owned("bool"),
692 ),
693 },
694 ],
695 constant: ::core::option::Option::None,
696 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
697 },
698 ],
699 ),
700 (
701 ::std::borrow::ToOwned::to_owned("owner"),
702 ::std::vec![
703 ::ethers::core::abi::ethabi::Function {
704 name: ::std::borrow::ToOwned::to_owned("owner"),
705 inputs: ::std::vec![],
706 outputs: ::std::vec![
707 ::ethers::core::abi::ethabi::Param {
708 name: ::std::string::String::new(),
709 kind: ::ethers::core::abi::ethabi::ParamType::Address,
710 internal_type: ::core::option::Option::Some(
711 ::std::borrow::ToOwned::to_owned("address"),
712 ),
713 },
714 ],
715 constant: ::core::option::Option::None,
716 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
717 },
718 ],
719 ),
720 (
721 ::std::borrow::ToOwned::to_owned("ownerBatchBlockNftType"),
722 ::std::vec![
723 ::ethers::core::abi::ethabi::Function {
724 name: ::std::borrow::ToOwned::to_owned(
725 "ownerBatchBlockNftType",
726 ),
727 inputs: ::std::vec![
728 ::ethers::core::abi::ethabi::Param {
729 name: ::std::borrow::ToOwned::to_owned("typeIndexes"),
730 kind: ::ethers::core::abi::ethabi::ParamType::Array(
731 ::std::boxed::Box::new(
732 ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
733 ),
734 ),
735 internal_type: ::core::option::Option::Some(
736 ::std::borrow::ToOwned::to_owned("uint256[]"),
737 ),
738 },
739 ],
740 outputs: ::std::vec![],
741 constant: ::core::option::Option::None,
742 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
743 },
744 ],
745 ),
746 (
747 ::std::borrow::ToOwned::to_owned("ownerBatchUnblockNftType"),
748 ::std::vec![
749 ::ethers::core::abi::ethabi::Function {
750 name: ::std::borrow::ToOwned::to_owned(
751 "ownerBatchUnblockNftType",
752 ),
753 inputs: ::std::vec![
754 ::ethers::core::abi::ethabi::Param {
755 name: ::std::borrow::ToOwned::to_owned("typeIndexes"),
756 kind: ::ethers::core::abi::ethabi::ParamType::Array(
757 ::std::boxed::Box::new(
758 ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
759 ),
760 ),
761 internal_type: ::core::option::Option::Some(
762 ::std::borrow::ToOwned::to_owned("uint256[]"),
763 ),
764 },
765 ],
766 outputs: ::std::vec![],
767 constant: ::core::option::Option::None,
768 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
769 },
770 ],
771 ),
772 (
773 ::std::borrow::ToOwned::to_owned("ownerBlockNftType"),
774 ::std::vec![
775 ::ethers::core::abi::ethabi::Function {
776 name: ::std::borrow::ToOwned::to_owned("ownerBlockNftType"),
777 inputs: ::std::vec![
778 ::ethers::core::abi::ethabi::Param {
779 name: ::std::borrow::ToOwned::to_owned("typeIndex"),
780 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
781 256usize,
782 ),
783 internal_type: ::core::option::Option::Some(
784 ::std::borrow::ToOwned::to_owned("uint256"),
785 ),
786 },
787 ],
788 outputs: ::std::vec![],
789 constant: ::core::option::Option::None,
790 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
791 },
792 ],
793 ),
794 (
795 ::std::borrow::ToOwned::to_owned("ownerUnblockNftType"),
796 ::std::vec![
797 ::ethers::core::abi::ethabi::Function {
798 name: ::std::borrow::ToOwned::to_owned(
799 "ownerUnblockNftType",
800 ),
801 inputs: ::std::vec![
802 ::ethers::core::abi::ethabi::Param {
803 name: ::std::borrow::ToOwned::to_owned("typeIndex"),
804 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
805 256usize,
806 ),
807 internal_type: ::core::option::Option::Some(
808 ::std::borrow::ToOwned::to_owned("uint256"),
809 ),
810 },
811 ],
812 outputs: ::std::vec![],
813 constant: ::core::option::Option::None,
814 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
815 },
816 ],
817 ),
818 (
819 ::std::borrow::ToOwned::to_owned("reclaimErc20Tokens"),
820 ::std::vec![
821 ::ethers::core::abi::ethabi::Function {
822 name: ::std::borrow::ToOwned::to_owned("reclaimErc20Tokens"),
823 inputs: ::std::vec![
824 ::ethers::core::abi::ethabi::Param {
825 name: ::std::borrow::ToOwned::to_owned("tokenAddress"),
826 kind: ::ethers::core::abi::ethabi::ParamType::Address,
827 internal_type: ::core::option::Option::Some(
828 ::std::borrow::ToOwned::to_owned("address"),
829 ),
830 },
831 ],
832 outputs: ::std::vec![],
833 constant: ::core::option::Option::None,
834 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
835 },
836 ],
837 ),
838 (
839 ::std::borrow::ToOwned::to_owned("reclaimErc721Tokens"),
840 ::std::vec![
841 ::ethers::core::abi::ethabi::Function {
842 name: ::std::borrow::ToOwned::to_owned(
843 "reclaimErc721Tokens",
844 ),
845 inputs: ::std::vec![
846 ::ethers::core::abi::ethabi::Param {
847 name: ::std::borrow::ToOwned::to_owned("tokenAddress"),
848 kind: ::ethers::core::abi::ethabi::ParamType::Address,
849 internal_type: ::core::option::Option::Some(
850 ::std::borrow::ToOwned::to_owned("address"),
851 ),
852 },
853 ::ethers::core::abi::ethabi::Param {
854 name: ::std::borrow::ToOwned::to_owned("tokenId"),
855 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
856 256usize,
857 ),
858 internal_type: ::core::option::Option::Some(
859 ::std::borrow::ToOwned::to_owned("uint256"),
860 ),
861 },
862 ],
863 outputs: ::std::vec![],
864 constant: ::core::option::Option::None,
865 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
866 },
867 ],
868 ),
869 (
870 ::std::borrow::ToOwned::to_owned("redeemedFactor"),
871 ::std::vec![
872 ::ethers::core::abi::ethabi::Function {
873 name: ::std::borrow::ToOwned::to_owned("redeemedFactor"),
874 inputs: ::std::vec![
875 ::ethers::core::abi::ethabi::Param {
876 name: ::std::string::String::new(),
877 kind: ::ethers::core::abi::ethabi::ParamType::Address,
878 internal_type: ::core::option::Option::Some(
879 ::std::borrow::ToOwned::to_owned("address"),
880 ),
881 },
882 ::ethers::core::abi::ethabi::Param {
883 name: ::std::string::String::new(),
884 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
885 256usize,
886 ),
887 internal_type: ::core::option::Option::Some(
888 ::std::borrow::ToOwned::to_owned("uint256"),
889 ),
890 },
891 ],
892 outputs: ::std::vec![
893 ::ethers::core::abi::ethabi::Param {
894 name: ::std::string::String::new(),
895 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
896 256usize,
897 ),
898 internal_type: ::core::option::Option::Some(
899 ::std::borrow::ToOwned::to_owned("uint256"),
900 ),
901 },
902 ],
903 constant: ::core::option::Option::None,
904 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
905 },
906 ],
907 ),
908 (
909 ::std::borrow::ToOwned::to_owned("redeemedFactorIndex"),
910 ::std::vec![
911 ::ethers::core::abi::ethabi::Function {
912 name: ::std::borrow::ToOwned::to_owned(
913 "redeemedFactorIndex",
914 ),
915 inputs: ::std::vec![
916 ::ethers::core::abi::ethabi::Param {
917 name: ::std::string::String::new(),
918 kind: ::ethers::core::abi::ethabi::ParamType::Address,
919 internal_type: ::core::option::Option::Some(
920 ::std::borrow::ToOwned::to_owned("address"),
921 ),
922 },
923 ],
924 outputs: ::std::vec![
925 ::ethers::core::abi::ethabi::Param {
926 name: ::std::string::String::new(),
927 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
928 256usize,
929 ),
930 internal_type: ::core::option::Option::Some(
931 ::std::borrow::ToOwned::to_owned("uint256"),
932 ),
933 },
934 ],
935 constant: ::core::option::Option::None,
936 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
937 },
938 ],
939 ),
940 (
941 ::std::borrow::ToOwned::to_owned("redeemedNft"),
942 ::std::vec![
943 ::ethers::core::abi::ethabi::Function {
944 name: ::std::borrow::ToOwned::to_owned("redeemedNft"),
945 inputs: ::std::vec![
946 ::ethers::core::abi::ethabi::Param {
947 name: ::std::string::String::new(),
948 kind: ::ethers::core::abi::ethabi::ParamType::Address,
949 internal_type: ::core::option::Option::Some(
950 ::std::borrow::ToOwned::to_owned("address"),
951 ),
952 },
953 ::ethers::core::abi::ethabi::Param {
954 name: ::std::string::String::new(),
955 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
956 256usize,
957 ),
958 internal_type: ::core::option::Option::Some(
959 ::std::borrow::ToOwned::to_owned("uint256"),
960 ),
961 },
962 ],
963 outputs: ::std::vec![
964 ::ethers::core::abi::ethabi::Param {
965 name: ::std::string::String::new(),
966 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
967 256usize,
968 ),
969 internal_type: ::core::option::Option::Some(
970 ::std::borrow::ToOwned::to_owned("uint256"),
971 ),
972 },
973 ],
974 constant: ::core::option::Option::None,
975 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
976 },
977 ],
978 ),
979 (
980 ::std::borrow::ToOwned::to_owned("redeemedNftIndex"),
981 ::std::vec![
982 ::ethers::core::abi::ethabi::Function {
983 name: ::std::borrow::ToOwned::to_owned("redeemedNftIndex"),
984 inputs: ::std::vec![
985 ::ethers::core::abi::ethabi::Param {
986 name: ::std::string::String::new(),
987 kind: ::ethers::core::abi::ethabi::ParamType::Address,
988 internal_type: ::core::option::Option::Some(
989 ::std::borrow::ToOwned::to_owned("address"),
990 ),
991 },
992 ],
993 outputs: ::std::vec![
994 ::ethers::core::abi::ethabi::Param {
995 name: ::std::string::String::new(),
996 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
997 256usize,
998 ),
999 internal_type: ::core::option::Option::Some(
1000 ::std::borrow::ToOwned::to_owned("uint256"),
1001 ),
1002 },
1003 ],
1004 constant: ::core::option::Option::None,
1005 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1006 },
1007 ],
1008 ),
1009 (
1010 ::std::borrow::ToOwned::to_owned("renounceOwnership"),
1011 ::std::vec![
1012 ::ethers::core::abi::ethabi::Function {
1013 name: ::std::borrow::ToOwned::to_owned("renounceOwnership"),
1014 inputs: ::std::vec![],
1015 outputs: ::std::vec![],
1016 constant: ::core::option::Option::None,
1017 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1018 },
1019 ],
1020 ),
1021 (
1022 ::std::borrow::ToOwned::to_owned("stakedHoprTokens"),
1023 ::std::vec![
1024 ::ethers::core::abi::ethabi::Function {
1025 name: ::std::borrow::ToOwned::to_owned("stakedHoprTokens"),
1026 inputs: ::std::vec![
1027 ::ethers::core::abi::ethabi::Param {
1028 name: ::std::borrow::ToOwned::to_owned("_account"),
1029 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1030 internal_type: ::core::option::Option::Some(
1031 ::std::borrow::ToOwned::to_owned("address"),
1032 ),
1033 },
1034 ],
1035 outputs: ::std::vec![
1036 ::ethers::core::abi::ethabi::Param {
1037 name: ::std::string::String::new(),
1038 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1039 256usize,
1040 ),
1041 internal_type: ::core::option::Option::Some(
1042 ::std::borrow::ToOwned::to_owned("uint256"),
1043 ),
1044 },
1045 ],
1046 constant: ::core::option::Option::None,
1047 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1048 },
1049 ],
1050 ),
1051 (
1052 ::std::borrow::ToOwned::to_owned("sync"),
1053 ::std::vec![
1054 ::ethers::core::abi::ethabi::Function {
1055 name: ::std::borrow::ToOwned::to_owned("sync"),
1056 inputs: ::std::vec![
1057 ::ethers::core::abi::ethabi::Param {
1058 name: ::std::borrow::ToOwned::to_owned("account"),
1059 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1060 internal_type: ::core::option::Option::Some(
1061 ::std::borrow::ToOwned::to_owned("address"),
1062 ),
1063 },
1064 ],
1065 outputs: ::std::vec![],
1066 constant: ::core::option::Option::None,
1067 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1068 },
1069 ],
1070 ),
1071 (
1072 ::std::borrow::ToOwned::to_owned("tokensReceived"),
1073 ::std::vec![
1074 ::ethers::core::abi::ethabi::Function {
1075 name: ::std::borrow::ToOwned::to_owned("tokensReceived"),
1076 inputs: ::std::vec![
1077 ::ethers::core::abi::ethabi::Param {
1078 name: ::std::string::String::new(),
1079 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1080 internal_type: ::core::option::Option::Some(
1081 ::std::borrow::ToOwned::to_owned("address"),
1082 ),
1083 },
1084 ::ethers::core::abi::ethabi::Param {
1085 name: ::std::borrow::ToOwned::to_owned("from"),
1086 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1087 internal_type: ::core::option::Option::Some(
1088 ::std::borrow::ToOwned::to_owned("address"),
1089 ),
1090 },
1091 ::ethers::core::abi::ethabi::Param {
1092 name: ::std::borrow::ToOwned::to_owned("to"),
1093 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1094 internal_type: ::core::option::Option::Some(
1095 ::std::borrow::ToOwned::to_owned("address"),
1096 ),
1097 },
1098 ::ethers::core::abi::ethabi::Param {
1099 name: ::std::borrow::ToOwned::to_owned("amount"),
1100 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1101 256usize,
1102 ),
1103 internal_type: ::core::option::Option::Some(
1104 ::std::borrow::ToOwned::to_owned("uint256"),
1105 ),
1106 },
1107 ::ethers::core::abi::ethabi::Param {
1108 name: ::std::string::String::new(),
1109 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1110 internal_type: ::core::option::Option::Some(
1111 ::std::borrow::ToOwned::to_owned("bytes"),
1112 ),
1113 },
1114 ::ethers::core::abi::ethabi::Param {
1115 name: ::std::string::String::new(),
1116 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1117 internal_type: ::core::option::Option::Some(
1118 ::std::borrow::ToOwned::to_owned("bytes"),
1119 ),
1120 },
1121 ],
1122 outputs: ::std::vec![],
1123 constant: ::core::option::Option::None,
1124 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1125 },
1126 ],
1127 ),
1128 (
1129 ::std::borrow::ToOwned::to_owned("totalLocked"),
1130 ::std::vec![
1131 ::ethers::core::abi::ethabi::Function {
1132 name: ::std::borrow::ToOwned::to_owned("totalLocked"),
1133 inputs: ::std::vec![],
1134 outputs: ::std::vec![
1135 ::ethers::core::abi::ethabi::Param {
1136 name: ::std::string::String::new(),
1137 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1138 256usize,
1139 ),
1140 internal_type: ::core::option::Option::Some(
1141 ::std::borrow::ToOwned::to_owned("uint256"),
1142 ),
1143 },
1144 ],
1145 constant: ::core::option::Option::None,
1146 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1147 },
1148 ],
1149 ),
1150 (
1151 ::std::borrow::ToOwned::to_owned("transferOwnership"),
1152 ::std::vec![
1153 ::ethers::core::abi::ethabi::Function {
1154 name: ::std::borrow::ToOwned::to_owned("transferOwnership"),
1155 inputs: ::std::vec![
1156 ::ethers::core::abi::ethabi::Param {
1157 name: ::std::borrow::ToOwned::to_owned("newOwner"),
1158 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1159 internal_type: ::core::option::Option::Some(
1160 ::std::borrow::ToOwned::to_owned("address"),
1161 ),
1162 },
1163 ],
1164 outputs: ::std::vec![],
1165 constant: ::core::option::Option::None,
1166 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1167 },
1168 ],
1169 ),
1170 (
1171 ::std::borrow::ToOwned::to_owned("unlock"),
1172 ::std::vec![
1173 ::ethers::core::abi::ethabi::Function {
1174 name: ::std::borrow::ToOwned::to_owned("unlock"),
1175 inputs: ::std::vec![],
1176 outputs: ::std::vec![],
1177 constant: ::core::option::Option::None,
1178 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1179 },
1180 ],
1181 ),
1182 (
1183 ::std::borrow::ToOwned::to_owned("unlockFor"),
1184 ::std::vec![
1185 ::ethers::core::abi::ethabi::Function {
1186 name: ::std::borrow::ToOwned::to_owned("unlockFor"),
1187 inputs: ::std::vec![
1188 ::ethers::core::abi::ethabi::Param {
1189 name: ::std::borrow::ToOwned::to_owned("account"),
1190 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1191 internal_type: ::core::option::Option::Some(
1192 ::std::borrow::ToOwned::to_owned("address"),
1193 ),
1194 },
1195 ],
1196 outputs: ::std::vec![],
1197 constant: ::core::option::Option::None,
1198 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1199 },
1200 ],
1201 ),
1202 ]),
1203 events: ::core::convert::From::from([
1204 (
1205 ::std::borrow::ToOwned::to_owned("Claimed"),
1206 ::std::vec![
1207 ::ethers::core::abi::ethabi::Event {
1208 name: ::std::borrow::ToOwned::to_owned("Claimed"),
1209 inputs: ::std::vec![
1210 ::ethers::core::abi::ethabi::EventParam {
1211 name: ::std::borrow::ToOwned::to_owned("account"),
1212 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1213 indexed: true,
1214 },
1215 ::ethers::core::abi::ethabi::EventParam {
1216 name: ::std::borrow::ToOwned::to_owned("rewardAmount"),
1217 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1218 256usize,
1219 ),
1220 indexed: true,
1221 },
1222 ],
1223 anonymous: false,
1224 },
1225 ],
1226 ),
1227 (
1228 ::std::borrow::ToOwned::to_owned("NftAllowed"),
1229 ::std::vec![
1230 ::ethers::core::abi::ethabi::Event {
1231 name: ::std::borrow::ToOwned::to_owned("NftAllowed"),
1232 inputs: ::std::vec![
1233 ::ethers::core::abi::ethabi::EventParam {
1234 name: ::std::borrow::ToOwned::to_owned("typeIndex"),
1235 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1236 256usize,
1237 ),
1238 indexed: true,
1239 },
1240 ],
1241 anonymous: false,
1242 },
1243 ],
1244 ),
1245 (
1246 ::std::borrow::ToOwned::to_owned("NftBlocked"),
1247 ::std::vec![
1248 ::ethers::core::abi::ethabi::Event {
1249 name: ::std::borrow::ToOwned::to_owned("NftBlocked"),
1250 inputs: ::std::vec![
1251 ::ethers::core::abi::ethabi::EventParam {
1252 name: ::std::borrow::ToOwned::to_owned("typeIndex"),
1253 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1254 256usize,
1255 ),
1256 indexed: true,
1257 },
1258 ],
1259 anonymous: false,
1260 },
1261 ],
1262 ),
1263 (
1264 ::std::borrow::ToOwned::to_owned("OwnershipTransferred"),
1265 ::std::vec![
1266 ::ethers::core::abi::ethabi::Event {
1267 name: ::std::borrow::ToOwned::to_owned(
1268 "OwnershipTransferred",
1269 ),
1270 inputs: ::std::vec![
1271 ::ethers::core::abi::ethabi::EventParam {
1272 name: ::std::borrow::ToOwned::to_owned("previousOwner"),
1273 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1274 indexed: true,
1275 },
1276 ::ethers::core::abi::ethabi::EventParam {
1277 name: ::std::borrow::ToOwned::to_owned("newOwner"),
1278 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1279 indexed: true,
1280 },
1281 ],
1282 anonymous: false,
1283 },
1284 ],
1285 ),
1286 (
1287 ::std::borrow::ToOwned::to_owned("Redeemed"),
1288 ::std::vec![
1289 ::ethers::core::abi::ethabi::Event {
1290 name: ::std::borrow::ToOwned::to_owned("Redeemed"),
1291 inputs: ::std::vec![
1292 ::ethers::core::abi::ethabi::EventParam {
1293 name: ::std::borrow::ToOwned::to_owned("account"),
1294 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1295 indexed: true,
1296 },
1297 ::ethers::core::abi::ethabi::EventParam {
1298 name: ::std::borrow::ToOwned::to_owned("boostTokenId"),
1299 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1300 256usize,
1301 ),
1302 indexed: true,
1303 },
1304 ::ethers::core::abi::ethabi::EventParam {
1305 name: ::std::borrow::ToOwned::to_owned("factorRegistered"),
1306 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
1307 indexed: true,
1308 },
1309 ],
1310 anonymous: false,
1311 },
1312 ],
1313 ),
1314 (
1315 ::std::borrow::ToOwned::to_owned("Released"),
1316 ::std::vec![
1317 ::ethers::core::abi::ethabi::Event {
1318 name: ::std::borrow::ToOwned::to_owned("Released"),
1319 inputs: ::std::vec![
1320 ::ethers::core::abi::ethabi::EventParam {
1321 name: ::std::borrow::ToOwned::to_owned("account"),
1322 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1323 indexed: true,
1324 },
1325 ::ethers::core::abi::ethabi::EventParam {
1326 name: ::std::borrow::ToOwned::to_owned("actualAmount"),
1327 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1328 256usize,
1329 ),
1330 indexed: true,
1331 },
1332 ],
1333 anonymous: false,
1334 },
1335 ],
1336 ),
1337 (
1338 ::std::borrow::ToOwned::to_owned("RewardFueled"),
1339 ::std::vec![
1340 ::ethers::core::abi::ethabi::Event {
1341 name: ::std::borrow::ToOwned::to_owned("RewardFueled"),
1342 inputs: ::std::vec![
1343 ::ethers::core::abi::ethabi::EventParam {
1344 name: ::std::borrow::ToOwned::to_owned("amount"),
1345 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1346 256usize,
1347 ),
1348 indexed: true,
1349 },
1350 ],
1351 anonymous: false,
1352 },
1353 ],
1354 ),
1355 (
1356 ::std::borrow::ToOwned::to_owned("Staked"),
1357 ::std::vec![
1358 ::ethers::core::abi::ethabi::Event {
1359 name: ::std::borrow::ToOwned::to_owned("Staked"),
1360 inputs: ::std::vec![
1361 ::ethers::core::abi::ethabi::EventParam {
1362 name: ::std::borrow::ToOwned::to_owned("account"),
1363 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1364 indexed: true,
1365 },
1366 ::ethers::core::abi::ethabi::EventParam {
1367 name: ::std::borrow::ToOwned::to_owned("actualAmount"),
1368 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1369 256usize,
1370 ),
1371 indexed: true,
1372 },
1373 ],
1374 anonymous: false,
1375 },
1376 ],
1377 ),
1378 (
1379 ::std::borrow::ToOwned::to_owned("Sync"),
1380 ::std::vec![
1381 ::ethers::core::abi::ethabi::Event {
1382 name: ::std::borrow::ToOwned::to_owned("Sync"),
1383 inputs: ::std::vec![
1384 ::ethers::core::abi::ethabi::EventParam {
1385 name: ::std::borrow::ToOwned::to_owned("account"),
1386 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1387 indexed: true,
1388 },
1389 ::ethers::core::abi::ethabi::EventParam {
1390 name: ::std::borrow::ToOwned::to_owned("increment"),
1391 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1392 256usize,
1393 ),
1394 indexed: true,
1395 },
1396 ],
1397 anonymous: false,
1398 },
1399 ],
1400 ),
1401 ]),
1402 errors: ::std::collections::BTreeMap::new(),
1403 receive: false,
1404 fallback: false,
1405 }
1406 }
1407 pub static HOPRSTAKESEASON7_ABI: ::ethers::contract::Lazy<
1409 ::ethers::core::abi::Abi,
1410 > = ::ethers::contract::Lazy::new(__abi);
1411 #[rustfmt::skip]
1412 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\x004\x948\x03\x80b\x004\x94\x839\x81\x01`@\x81\x90Rb\0\0\x9B\x91b\0\x04=V[\x83cdI\x12@cd\xC1\n\xC0a\x01\x8Ci4\xF0\x86\xF3\xB3;h@\0\0\x87\x87\x87b\0\0\xC23b\0\x02\xB8V[`\x01\x80U`\x80\x87\x90R`\xA0\x86\x90R`\xC0\x85\x90R`\xE0\x84\x90Rb\0\0\xE5\x88b\0\x03\x08V[`@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_W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x01tW=`\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\xCA\x96P\x94Pb\0\x03\xDD\x93PPPPV[b\0\x01\xD6`\x03b\0\x03\xDDV[b\0\x01\xE2`\x04b\0\x03\xDDV[b\0\x01\xEE`\x07b\0\x03\xDDV[b\0\x01\xFA`\x08b\0\x03\xDDV[b\0\x02\x06`\tb\0\x03\xDDV[b\0\x02\x12`\nb\0\x03\xDDV[b\0\x02\x1E`\x0Bb\0\x03\xDDV[b\0\x02*`\x0Cb\0\x03\xDDV[b\0\x026`\rb\0\x03\xDDV[b\0\x02B`\x0Eb\0\x03\xDDV[b\0\x02N`\x0Fb\0\x03\xDDV[b\0\x02Z`\x10b\0\x03\xDDV[b\0\x02f`\x11b\0\x03\xDDV[b\0\x02r`\x12b\0\x03\xDDV[b\0\x02~`\x13b\0\x03\xDDV[b\0\x02\x8A`\x14b\0\x03\xDDV[b\0\x02\x96`\x15b\0\x03\xDDV[b\0\x02\xA2`\x16b\0\x03\xDDV[b\0\x02\xAE`\x17b\0\x03\xDDV[PPPPb\0\x04\x9AV[`\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\x03hW`@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\xCFW`@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_V[b\0\x03\xDA\x81b\0\x02\xB8V[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\x048W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x04TW`\0\x80\xFD[b\0\x04_\x85b\0\x04 V[\x93Pb\0\x04o` \x86\x01b\0\x04 V[\x92Pb\0\x04\x7F`@\x86\x01b\0\x04 V[\x91Pb\0\x04\x8F``\x86\x01b\0\x04 V[\x90P\x92\x95\x91\x94P\x92PV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa/lb\0\x05(`\09`\0\x81\x81a\x05\xDA\x01Ra\x1F\x0C\x01R`\0\x81\x81a\x04<\x01Ra\x1E(\x01R`\0\x81\x81a\x05G\x01R\x81\x81a\x08\x86\x01R\x81\x81a\x16B\x01R\x81\x81a\x19\xBA\x01R\x81\x81a\x1D\xE8\x01R\x81\x81a\x1Fg\x01R\x81\x81a\x1F\xC8\x01Ra!2\x01R`\0\x81\x81a\x03\x8E\x01R\x81\x81a\x1D\xBE\x01R\x81\x81a\x1F\x8B\x01Ra\x1F\xED\x01Ra/l`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x02<W`\x005`\xE0\x1C\x80c\x81\x12\x8C\x1D\x11a\x01;W\x80c\xCB\xFF\xA3\xC7\x11a\0\xB8W\x80c\xDD\xE4\x99y\x11a\0|W\x80c\xDD\xE4\x99y\x14a\x05\xC2W\x80c\xEF\x05&\xA2\x14a\x05\xD5W\x80c\xEF\\\xFB\x8C\x14a\x05\xFCW\x80c\xF2\xFD\xE3\x8B\x14a\x06\x0FW\x80c\xF9x\xFF\xF1\x14a\x06\"W`\0\x80\xFD[\x80c\xCB\xFF\xA3\xC7\x14a\x05BW\x80c\xCE#\x17~\x14a\x05iW\x80c\xD0\xC0-c\x14a\x05|W\x80c\xD0\xDAh\x01\x14a\x05\x9CW\x80c\xD0\xF2\xDF\xA4\x14a\x05\xAFW`\0\x80\xFD[\x80c\x99$\x8E\xA7\x11a\0\xFFW\x80c\x99$\x8E\xA7\x14a\x04\xEEW\x80c\xA4\xC0\xED6\x14a\x05\x01W\x80c\xA5\x84\x11\x94\x14a\x05\x14W\x80c\xA6\x9D\xF4\xB5\x14a\x05'W\x80c\xA8=\x1E\xD6\x14a\x05/W`\0\x80\xFD[\x80c\x81\x12\x8C\x1D\x14a\x04yW\x80c\x81#9\xA3\x14a\x04\xA4W\x80c\x8C$\xAD\xD4\x14a\x04\xB7W\x80c\x8D\xA5\xCB[\x14a\x04\xCAW\x80c\x96\xA9\xCD}\x14a\x04\xDBW`\0\x80\xFD[\x80cJ\xD8K4\x11a\x01\xC9W\x80c^\xF7=X\x11a\x01\x8DW\x80c^\xF7=X\x14a\x04\x18W\x80c`g\xBC\x15\x14a\x04$W\x80cj\xA8\xD4\xCF\x14a\x047W\x80cp\xAF\t4\x14a\x04^W\x80cqP\x18\xA6\x14a\x04qW`\0\x80\xFD[\x80cJ\xD8K4\x14a\x03wW\x80cV\x89\x14\x12\x14a\x03\x80W\x80c[\xBBc\xA6\x14a\x03\x89W\x80c^L\x0E\x15\x14a\x03\xB0W\x80c^\\\x06\xE2\x14a\x03\xC3W`\0\x80\xFD[\x80c\x1F\xDA\x9A\x02\x11a\x02\x10W\x80c\x1F\xDA\x9A\x02\x14a\x02\xE0W\x80c!\xCF\x85\xBA\x14a\x03\x0BW\x80c3\xBDd\xCA\x14a\x03\x1EW\x80cB\xC93a\x14a\x031W\x80cH\xC6NA\x14a\x03dW`\0\x80\xFD[\x80b#\xDE)\x14a\x02AW\x80c\n\x1A%z\x14a\x02VW\x80c\x15\x0Bz\x02\x14a\x02\x94W\x80c\x1F\x01M\x83\x14a\x02\xC0W[`\0\x80\xFD[a\x02Ta\x02O6`\x04a'\x16V[a\x06KV[\0[a\x02\x81a\x02d6`\x04a'\xC0V[`\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\xA7a\x02\xA26`\x04a'\xEAV[a\x07\xF8V[`@Q`\x01`\x01`\xE0\x1B\x03\x19\x90\x91\x16\x81R` \x01a\x02\x8BV[a\x02\x81a\x02\xCE6`\x04a(XV[`\x08` R`\0\x90\x81R`@\x90 T\x81V[`\x04Ta\x02\xF3\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x8BV[a\x02Ta\x03\x196`\x04a(sV[a\r\x0CV[a\x02Ta\x03,6`\x04a(\xD0V[a\r\xA4V[a\x03Ta\x03?6`\x04a(sV[`\t` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\x02\x8BV[a\x02Ta\x03r6`\x04a'\xC0V[a\x0ELV[a\x02\x81`\x0CT\x81V[a\x02\x81`\x0BT\x81V[a\x02\x81\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\x02Ta\x03\xBE6`\x04a(sV[a\x0F\xCAV[a\x03\xF8a\x03\xD16`\x04a(XV[`\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\x02\x8BV[a\x02\x81d\xE8\xD4\xA5\x10\0\x81V[a\x02Ta\x0426`\x04a(XV[a\x10/V[a\x02\x81\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\x81a\x04l6`\x04a(XV[a\x11\xE2V[a\x02Ta\x11\xF3V[a\x02\x81a\x04\x876`\x04a'\xC0V[`\x07` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[a\x02Ta\x04\xB26`\x04a(\xD0V[a\x12)V[a\x03Ta\x04\xC56`\x04a)\xDCV[a\x12\xFFV[`\0T`\x01`\x01`\xA0\x1B\x03\x16a\x02\xF3V[a\x03Ta\x04\xE96`\x04a*2V[a\x14qV[`\x03Ta\x02\xF3\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x03Ta\x05\x0F6`\x04a*\x7FV[a\x15\xCEV[a\x02Ta\x05\"6`\x04a(XV[a\x17\x0FV[a\x02Ta\x17\x18V[a\x03Ta\x05=6`\x04a*\xE9V[a\x17!V[a\x02\x81\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\x03Ta\x05w6`\x04a+\x15V[a\x18tV[a\x02\x81a\x05\x8A6`\x04a(XV[`\x06` R`\0\x90\x81R`@\x90 T\x81V[`\x02Ta\x02\xF3\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x02Ta\x05\xBD6`\x04a+pV[a\x19\x8EV[a\x02Ta\x05\xD06`\x04a(XV[a\x1B\x90V[a\x02\x81\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\x02Ta\x06\n6`\x04a(XV[a\x1B\x99V[a\x02Ta\x06\x1D6`\x04a(XV[a\x1B\xABV[a\x02\x81a\x0606`\x04a(XV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\n` R`@\x90 T\x90V[`\x03T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x06\xB9W`@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\x077W`@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\x06\xB0V[`\0T`\x01`\x01`\xA0\x1B\x03\x88\x81\x16\x91\x16\x14a\x07\xACW`@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\x06\xB0V[\x84`\x0C`\0\x82\x82Ta\x07\xBE\x91\x90a+\xF1V[\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\x84W`@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\x06\xB0V[\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\t\x0CW`@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\x06\xB0V[a\t\x15\x85a\x1CCV[`\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\\\x90\x84\x90a+\xF1V[\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\t\xADW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\xD1\x91\x90a,\x04V[`\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\n\x1DW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\nA\x91\x90a,\x1DV[P`\0\x83\x81R`\t` R`@\x90 T\x90\x91P`\xFF\x16\x15a\n\xBEW`@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\x06\xB0V[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81R`\x08` R`@\x81 T\x90[\x81\x81\x10\x15a\x0CoW`\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\x0BJW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0Bn\x91\x90a,\x04V[`\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\xBAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\xDE\x91\x90a,\x1DV[P\x90P\x86\x82\x03a\x0CYW\x85\x81\x10\x15a\x0C\x17W`\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\x0CoV[PPP\x80\x80a\x0Cg\x90a,AV[\x91PPa\n\xD9V[\x81\x81\x03a\x0C\xF6W`\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\xB7\x90\x84\x90a+\xF1V[\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\r6W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\0\x81\x81R`\t` R`@\x90 T`\xFF\x16a\rdW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,\x8FV[`\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\xCEW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\0[\x81\x81\x10\x15a\x0EGW`\0\x83\x83\x83\x81\x81\x10a\r\xEDWa\r\xEDa,\xD1V[` \x90\x81\x02\x92\x90\x92\x015`\0\x81\x81R`\t\x90\x93R`@\x90\x92 T\x91\x92PP`\xFF\x16\x15a\x0E+W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,\xE7V[a\x0E4\x81a\x1C\xCEV[P\x80a\x0E?\x81a,AV[\x91PPa\r\xD1V[PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0EvW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\x02`\x01T\x03a\x0E\xC8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x06\xB0V[`\x02`\x01U`\x04T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x90\x83\x16\x03a\x0F9W`@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\x06\xB0V[\x81`\x01`\x01`\xA0\x1B\x03\x16c#\xB8r\xDD0a\x0F[`\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\x0F\xAAW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xBEW=`\0\x80>=`\0\xFD[PP`\x01\x80UPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F\xF4W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\0\x81\x81R`\t` R`@\x90 T`\xFF\x16\x15a\x10#W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,\xE7V[a\x10,\x81a\x1C\xCEV[PV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x10YW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\x02`\x01T\x03a\x10\xABW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x06\xB0V[`\x02`\x01\x81\x90UT`\0\x90`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x90\x83\x16\x03a\x11IW`\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\x11\x14W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x118\x91\x90a,\x04V[a\x11B\x91\x90a--V[\x90Pa\x11\xB4V[`@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\x8DW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x11\xB1\x91\x90a,\x04V[\x90P[a\x11\xDAa\x11\xC9`\0T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x83a\x1D\x11V[PP`\x01\x80UV[`\0a\x11\xED\x82a\x1DtV[\x92\x91PPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x12\x1DW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[a\x12'`\0a 7V[V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x12SW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\0[\x81\x81\x10\x15a\x0EGW`\0\x83\x83\x83\x81\x81\x10a\x12rWa\x12ra,\xD1V[` \x90\x81\x02\x92\x90\x92\x015`\0\x81\x81R`\t\x90\x93R`@\x90\x92 T\x91\x92PP`\xFF\x16a\x12\xAFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,\x8FV[`\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\xA2P\x80a\x12\xF7\x81a,AV[\x91PPa\x12VV[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x14dW`\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\x13\x8BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x13\xAF\x91\x90a,\x1DV[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\x14\x03W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x14+\x91\x90\x81\x01\x90a-dV[\x80Q\x90` \x01 \x14\x80\x15a\x14>WP\x80\x86\x14[\x15a\x14OW`\x01\x93PPPPa\x14jV[PP\x80\x80a\x14\\\x90a,AV[\x91PPa\x13\x03V[P`\0\x90P[\x93\x92PPPV[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x14dW`\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\x14\xFEW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x15&\x91\x90\x81\x01\x90a-dV[`\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\x15rW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15\x96\x91\x90a,\x04V[\x14\x80\x15a\x15\xA8WPa\x15\xA8\x81\x87a \x87V[\x15a\x15\xB9W`\x01\x93PPPPa\x14jV[PP\x80\x80a\x15\xC6\x90a,AV[\x91PPa\x14uV[`\x02T`\0\x90`\x01`\x01`\xA0\x1B\x03\x163\x14a\x16@W`@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\x06\xB0V[\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\x16\x80W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a-\xDAV[a\x16\x89\x84a\x1CCV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R`\n` R`@\x81 \x80T\x85\x92\x90a\x16\xB1\x90\x84\x90a+\xF1V[\x92PP\x81\x90UP\x82`\x0B`\0\x82\x82Ta\x16\xCA\x91\x90a+\xF1V[\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\x10,\x81a\x1CCV[a\x12'3a!0V[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x14dW`\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\x17\xADW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17\xD1\x91\x90a,\x1DV[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\x18\x1EW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x18B\x91\x90a,\x04V[\x14\x80\x15a\x18NWP\x80\x86\x14[\x15a\x18_W`\x01\x93PPPPa\x14jV[PP\x80\x80a\x18l\x90a,AV[\x91PPa\x17%V[`\0\x80\x84\x84`@Q` \x01a\x18\x8A\x92\x91\x90a.)V[`@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\x19\x82W`\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\x19'W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x19O\x91\x90\x81\x01\x90a-dV[\x90Pa\x19[\x81\x85a \x87V[\x15a\x19mW`\x01\x94PPPPPa\x14jV[PP\x80\x80a\x19z\x90a,AV[\x91PPa\x18\x9EV[P`\0\x95\x94PPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x19\xB8W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[\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\x19\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a-\xDAV[\x82\x81\x14a\x1AmW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`9`$\x82\x01R\x7FHoprStake: accounts and stakes a`D\x82\x01R\x7Frray lengths do not match\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06\xB0V[`\0\x80\x80\x80[\x86\x81\x10\x15a\x1BKW\x87\x87\x82\x81\x81\x10a\x1A\x8DWa\x1A\x8Da,\xD1V[\x90P` \x02\x01` \x81\x01\x90a\x1A\xA2\x91\x90a(XV[\x92P\x85\x85\x82\x81\x81\x10a\x1A\xB6Wa\x1A\xB6a,\xD1V[\x90P` \x02\x015\x91Pa\x1A\xC8\x83a\x1CCV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x81 \x80T\x84\x92\x90a\x1A\xF0\x90\x84\x90a+\xF1V[\x90\x91UPa\x1B\0\x90P\x82\x85a+\xF1V[\x93P\x81\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\x9Eq\xBC\x8E\xEA\x02\xA69i\xF5\t\x81\x8F-\xAF\xB9%E2\x90C\x19\xF9\xDB\xDAy\xB6{\xD3J_=`@Q`@Q\x80\x91\x03\x90\xA3\x80a\x1BC\x81a,AV[\x91PPa\x1AsV[P\x82`\x0B`\0\x82\x82Ta\x1B^\x91\x90a+\xF1V[\x90\x91UPP`\0Ta\x1B\x87\x90`\x01`\x01`\xA0\x1B\x03\x16`\x02T`\x01`\x01`\xA0\x1B\x03\x16\x900\x86a#*V[PPPPPPPV[a\x10,\x81a!0V[a\x1B\xA2\x81a\x1CCV[a\x10,\x81a#hV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1B\xD5W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x1C: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\x06\xB0V[a\x10,\x81a 7V[`\0a\x1CN\x82a\x1DtV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x81 `\x02\x01\x80T\x92\x93P\x83\x92\x90\x91\x90a\x1C~\x90\x84\x90a+\xF1V[\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[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16`$\x82\x01R`D\x81\x01\x82\x90Ra\x0EG\x90\x84\x90c\xA9\x05\x9C\xBB`\xE0\x1B\x90`d\x01[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16`\x01`\x01`\xE0\x1B\x03\x19\x90\x93\x16\x92\x90\x92\x17\x90\x91Ra$\xAFV[`\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\x1E\x0FWP\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\x1E\x1DWP`\0\x92\x91PPV[\x80Q`\0\x90a\x1EM\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.eV[\x90P`\0[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81R`\x08` R`@\x90 T\x81\x10\x15a\x1F[W`\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\x1E\xDAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1E\xFE\x91\x90a,\x1DV[P\x85Q\x90\x91P\x81\x90a\x1F0\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%\x81V[a\x1F:\x91\x90a.eV[a\x1FD\x90\x85a+\xF1V[\x93PPP\x80\x80a\x1FS\x90a,AV[\x91PPa\x1ERV[Pd\xE8\xD4\xA5\x10\0a\x1F\xC3\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\x1F\xBD\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%\x97\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90a%\x81V[a \x11\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\x1F\xBDB\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%\x97V[a \x1B\x91\x90a--V[a %\x90\x83a.eV[a /\x91\x90a.|V[\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 \xA0\x90\x83\x90a--V[\x90P`\0\x84a \xB0`\x01\x84a--V[\x81Q\x81\x10a \xC0Wa \xC0a,\xD1V[\x01` \x01Q`\x01`\x01`\xF8\x1B\x03\x19\x16\x90P`/`\xF8\x1B\x81\x14a \xEAW`\0\x95PPPPPPa\x11\xEDV[`\0a \xF7\x84` a--V[a!\x02\x90`\x08a.eV[\x90P`\0\x80a!\x10\x87a.\x9EV[\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!\xBBW`@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\x06\xB0V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\n` R`@\x90 Ta!\xDD\x82a\x1CCV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\n` R`@\x81 \x81\x90U`\x0B\x80T\x83\x92\x90a\"\n\x90\x84\x90a--V[\x90\x91UPa\"\x19\x90P\x82a#hV[`\x02Ta\"0\x90`\x01`\x01`\xA0\x1B\x03\x16\x83\x83a\x1D\x11V[`\0[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\"\xEFW`\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\"\xC4W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\"\xD8W=`\0\x80>=`\0\xFD[PPPP\x80\x80a\"\xE7\x90a,AV[\x91PPa\"3V[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[`@Q`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`$\x83\x01R\x83\x16`D\x82\x01R`d\x81\x01\x82\x90Ra#b\x90\x85\x90c#\xB8r\xDD`\xE0\x1B\x90`\x84\x01a\x1D=V[PPPPV[`\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#\xBD\x91a--V[\x90P\x80\x15a\x0EGW`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x90 `\x02\x81\x01T`\x03\x90\x91\x01U`\x0CT\x81\x11\x15a$FW`@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\x06\xB0V[\x80`\x0C`\0\x82\x82Ta$X\x91\x90a--V[\x90\x91UPP`\x03Ta$t\x90`\x01`\x01`\xA0\x1B\x03\x16\x84\x83a\x1D\x11V[`@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%\x04\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a%\xA7\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80Q\x90\x91P\x15a\x0EGW\x80\x80` \x01\x90Q\x81\x01\x90a%\"\x91\x90a.\xC5V[a\x0EGW`@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\x06\xB0V[`\0\x81\x83\x10a%\x90W\x81a\x14jV[P\x90\x91\x90PV[`\0\x81\x83\x10\x15a%\x90W\x81a\x14jV[``a /\x84\x84`\0\x85\x85\x84;a&\0W`@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\x06\xB0V[`\0\x80\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa&\x1C\x91\x90a.\xE7V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a&YW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a&^V[``\x91P[P\x91P\x91Pa&n\x82\x82\x86a&yV[\x97\x96PPPPPPPV[``\x83\x15a&\x88WP\x81a\x14jV[\x82Q\x15a&\x98W\x82Q\x80\x84` \x01\xFD[\x81`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x91\x90a/\x03V[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a&\xC9W`\0\x80\xFD[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a&\xE0W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a&\xF7W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a'\x0FW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\0\x80`\xC0\x89\x8B\x03\x12\x15a'2W`\0\x80\xFD[a';\x89a&\xB2V[\x97Pa'I` \x8A\x01a&\xB2V[\x96Pa'W`@\x8A\x01a&\xB2V[\x95P``\x89\x015\x94P`\x80\x89\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a'zW`\0\x80\xFD[a'\x86\x8C\x83\x8D\x01a&\xCEV[\x90\x96P\x94P`\xA0\x8B\x015\x91P\x80\x82\x11\x15a'\x9FW`\0\x80\xFD[Pa'\xAC\x8B\x82\x8C\x01a&\xCEV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0\x80`@\x83\x85\x03\x12\x15a'\xD3W`\0\x80\xFD[a'\xDC\x83a&\xB2V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0\x80`\0`\x80\x86\x88\x03\x12\x15a(\x02W`\0\x80\xFD[a(\x0B\x86a&\xB2V[\x94Pa(\x19` \x87\x01a&\xB2V[\x93P`@\x86\x015\x92P``\x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a(;W`\0\x80\xFD[a(G\x88\x82\x89\x01a&\xCEV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a(jW`\0\x80\xFD[a\x14j\x82a&\xB2V[`\0` \x82\x84\x03\x12\x15a(\x85W`\0\x80\xFD[P5\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a(\x9EW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a(\xB5W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a'\x0FW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a(\xE3W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a(\xF9W`\0\x80\xFD[a)\x05\x85\x82\x86\x01a(\x8CV[\x90\x96\x90\x95P\x93PPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a)OWa)Oa)\x11V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a)pWa)pa)\x11V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0a)\x91a)\x8C\x84a)WV[a)'V[\x90P\x82\x81R\x83\x83\x83\x01\x11\x15a)\xA5W`\0\x80\xFD[\x82\x82` \x83\x017`\0` \x84\x83\x01\x01R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a)\xCDW`\0\x80\xFD[a\x14j\x83\x835` \x85\x01a)~V[`\0\x80`\0``\x84\x86\x03\x12\x15a)\xF1W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a*\x07W`\0\x80\xFD[a*\x13\x86\x82\x87\x01a)\xBCV[\x93PP` \x84\x015\x91Pa*)`@\x85\x01a&\xB2V[\x90P\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a*GW`\0\x80\xFD[\x835\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a*dW`\0\x80\xFD[a*p\x86\x82\x87\x01a)\xBCV[\x92PPa*)`@\x85\x01a&\xB2V[`\0\x80`\0``\x84\x86\x03\x12\x15a*\x94W`\0\x80\xFD[a*\x9D\x84a&\xB2V[\x92P` \x84\x015\x91P`@\x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a*\xBFW`\0\x80\xFD[\x84\x01`\x1F\x81\x01\x86\x13a*\xD0W`\0\x80\xFD[a*\xDF\x86\x825` \x84\x01a)~V[\x91PP\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a*\xFEW`\0\x80\xFD[\x835\x92P` \x84\x015\x91Pa*)`@\x85\x01a&\xB2V[`\0\x80`\0``\x84\x86\x03\x12\x15a+*W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a+AW`\0\x80\xFD[a+M\x87\x83\x88\x01a)\xBCV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a+cW`\0\x80\xFD[Pa*p\x86\x82\x87\x01a)\xBCV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a+\x86W`\0\x80\xFD[\x845`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a+\x9DW`\0\x80\xFD[a+\xA9\x88\x83\x89\x01a(\x8CV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a+\xC2W`\0\x80\xFD[Pa+\xCF\x87\x82\x88\x01a(\x8CV[\x95\x98\x94\x97P\x95PPPPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x11\xEDWa\x11\xEDa+\xDBV[`\0` \x82\x84\x03\x12\x15a,\x16W`\0\x80\xFD[PQ\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a,0W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0`\x01\x82\x01a,SWa,Sa+\xDBV[P`\x01\x01\x90V[` \x80\x82R\x81\x81\x01R\x7FOwnable: caller is not the owner`@\x82\x01R``\x01\x90V[` \x80\x82R`\"\x90\x82\x01R\x7FHoprStake: NFT type is not block`@\x82\x01Ra\x19Y`\xF2\x1B``\x82\x01R`\x80\x01\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[` \x80\x82R`&\x90\x82\x01R\x7FHoprStake: NFT type is already b`@\x82\x01Re\x1B\x1B\xD8\xDA\xD9Y`\xD2\x1B``\x82\x01R`\x80\x01\x90V[\x81\x81\x03\x81\x81\x11\x15a\x11\xEDWa\x11\xEDa+\xDBV[`\0[\x83\x81\x10\x15a-[W\x81\x81\x01Q\x83\x82\x01R` \x01a-CV[PP`\0\x91\x01RV[`\0` \x82\x84\x03\x12\x15a-vW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a-\x8CW`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a-\x9DW`\0\x80\xFD[\x80Qa-\xABa)\x8C\x82a)WV[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a-\xC0W`\0\x80\xFD[a-\xD1\x82` \x83\x01` \x86\x01a-@V[\x95\x94PPPPPV[` \x80\x82R`/\x90\x82\x01R\x7FHoprStake: Program ended, cannot`@\x82\x01Rn\x109\xBA0\xB5\xB2\x900\xB7<\xB6\xB7\xB92\x97`\x89\x1B``\x82\x01R`\x80\x01\x90V[`\0\x83Qa.;\x81\x84` \x88\x01a-@V[`/`\xF8\x1B\x90\x83\x01\x90\x81R\x83Qa.Y\x81`\x01\x84\x01` \x88\x01a-@V[\x01`\x01\x01\x94\x93PPPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x11\xEDWa\x11\xEDa+\xDBV[`\0\x82a.\x99WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a.\xBFW`\0\x19\x81` \x03`\x03\x1B\x1B\x82\x16\x91P[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a.\xD7W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x14jW`\0\x80\xFD[`\0\x82Qa.\xF9\x81\x84` \x87\x01a-@V[\x91\x90\x91\x01\x92\x91PPV[` \x81R`\0\x82Q\x80` \x84\x01Ra/\"\x81`@\x85\x01` \x87\x01a-@V[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 [\xD9\xBC\xF2\xDC\xDDj\xFA\xD5\xEA\x94j\xC1{\xDBL\xAFRW\n&\x96\x9D~\xE7F\x96\xE4\xD5\\\xC4\xDDdsolcC\0\x08\x13\x003";
1413 pub static HOPRSTAKESEASON7_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
1415 __BYTECODE,
1416 );
1417 #[rustfmt::skip]
1418 const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x02<W`\x005`\xE0\x1C\x80c\x81\x12\x8C\x1D\x11a\x01;W\x80c\xCB\xFF\xA3\xC7\x11a\0\xB8W\x80c\xDD\xE4\x99y\x11a\0|W\x80c\xDD\xE4\x99y\x14a\x05\xC2W\x80c\xEF\x05&\xA2\x14a\x05\xD5W\x80c\xEF\\\xFB\x8C\x14a\x05\xFCW\x80c\xF2\xFD\xE3\x8B\x14a\x06\x0FW\x80c\xF9x\xFF\xF1\x14a\x06\"W`\0\x80\xFD[\x80c\xCB\xFF\xA3\xC7\x14a\x05BW\x80c\xCE#\x17~\x14a\x05iW\x80c\xD0\xC0-c\x14a\x05|W\x80c\xD0\xDAh\x01\x14a\x05\x9CW\x80c\xD0\xF2\xDF\xA4\x14a\x05\xAFW`\0\x80\xFD[\x80c\x99$\x8E\xA7\x11a\0\xFFW\x80c\x99$\x8E\xA7\x14a\x04\xEEW\x80c\xA4\xC0\xED6\x14a\x05\x01W\x80c\xA5\x84\x11\x94\x14a\x05\x14W\x80c\xA6\x9D\xF4\xB5\x14a\x05'W\x80c\xA8=\x1E\xD6\x14a\x05/W`\0\x80\xFD[\x80c\x81\x12\x8C\x1D\x14a\x04yW\x80c\x81#9\xA3\x14a\x04\xA4W\x80c\x8C$\xAD\xD4\x14a\x04\xB7W\x80c\x8D\xA5\xCB[\x14a\x04\xCAW\x80c\x96\xA9\xCD}\x14a\x04\xDBW`\0\x80\xFD[\x80cJ\xD8K4\x11a\x01\xC9W\x80c^\xF7=X\x11a\x01\x8DW\x80c^\xF7=X\x14a\x04\x18W\x80c`g\xBC\x15\x14a\x04$W\x80cj\xA8\xD4\xCF\x14a\x047W\x80cp\xAF\t4\x14a\x04^W\x80cqP\x18\xA6\x14a\x04qW`\0\x80\xFD[\x80cJ\xD8K4\x14a\x03wW\x80cV\x89\x14\x12\x14a\x03\x80W\x80c[\xBBc\xA6\x14a\x03\x89W\x80c^L\x0E\x15\x14a\x03\xB0W\x80c^\\\x06\xE2\x14a\x03\xC3W`\0\x80\xFD[\x80c\x1F\xDA\x9A\x02\x11a\x02\x10W\x80c\x1F\xDA\x9A\x02\x14a\x02\xE0W\x80c!\xCF\x85\xBA\x14a\x03\x0BW\x80c3\xBDd\xCA\x14a\x03\x1EW\x80cB\xC93a\x14a\x031W\x80cH\xC6NA\x14a\x03dW`\0\x80\xFD[\x80b#\xDE)\x14a\x02AW\x80c\n\x1A%z\x14a\x02VW\x80c\x15\x0Bz\x02\x14a\x02\x94W\x80c\x1F\x01M\x83\x14a\x02\xC0W[`\0\x80\xFD[a\x02Ta\x02O6`\x04a'\x16V[a\x06KV[\0[a\x02\x81a\x02d6`\x04a'\xC0V[`\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\xA7a\x02\xA26`\x04a'\xEAV[a\x07\xF8V[`@Q`\x01`\x01`\xE0\x1B\x03\x19\x90\x91\x16\x81R` \x01a\x02\x8BV[a\x02\x81a\x02\xCE6`\x04a(XV[`\x08` R`\0\x90\x81R`@\x90 T\x81V[`\x04Ta\x02\xF3\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x8BV[a\x02Ta\x03\x196`\x04a(sV[a\r\x0CV[a\x02Ta\x03,6`\x04a(\xD0V[a\r\xA4V[a\x03Ta\x03?6`\x04a(sV[`\t` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\x02\x8BV[a\x02Ta\x03r6`\x04a'\xC0V[a\x0ELV[a\x02\x81`\x0CT\x81V[a\x02\x81`\x0BT\x81V[a\x02\x81\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\x02Ta\x03\xBE6`\x04a(sV[a\x0F\xCAV[a\x03\xF8a\x03\xD16`\x04a(XV[`\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\x02\x8BV[a\x02\x81d\xE8\xD4\xA5\x10\0\x81V[a\x02Ta\x0426`\x04a(XV[a\x10/V[a\x02\x81\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\x81a\x04l6`\x04a(XV[a\x11\xE2V[a\x02Ta\x11\xF3V[a\x02\x81a\x04\x876`\x04a'\xC0V[`\x07` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[a\x02Ta\x04\xB26`\x04a(\xD0V[a\x12)V[a\x03Ta\x04\xC56`\x04a)\xDCV[a\x12\xFFV[`\0T`\x01`\x01`\xA0\x1B\x03\x16a\x02\xF3V[a\x03Ta\x04\xE96`\x04a*2V[a\x14qV[`\x03Ta\x02\xF3\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x03Ta\x05\x0F6`\x04a*\x7FV[a\x15\xCEV[a\x02Ta\x05\"6`\x04a(XV[a\x17\x0FV[a\x02Ta\x17\x18V[a\x03Ta\x05=6`\x04a*\xE9V[a\x17!V[a\x02\x81\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\x03Ta\x05w6`\x04a+\x15V[a\x18tV[a\x02\x81a\x05\x8A6`\x04a(XV[`\x06` R`\0\x90\x81R`@\x90 T\x81V[`\x02Ta\x02\xF3\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x02Ta\x05\xBD6`\x04a+pV[a\x19\x8EV[a\x02Ta\x05\xD06`\x04a(XV[a\x1B\x90V[a\x02\x81\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\x02Ta\x06\n6`\x04a(XV[a\x1B\x99V[a\x02Ta\x06\x1D6`\x04a(XV[a\x1B\xABV[a\x02\x81a\x0606`\x04a(XV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\n` R`@\x90 T\x90V[`\x03T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x06\xB9W`@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\x077W`@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\x06\xB0V[`\0T`\x01`\x01`\xA0\x1B\x03\x88\x81\x16\x91\x16\x14a\x07\xACW`@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\x06\xB0V[\x84`\x0C`\0\x82\x82Ta\x07\xBE\x91\x90a+\xF1V[\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\x84W`@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\x06\xB0V[\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\t\x0CW`@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\x06\xB0V[a\t\x15\x85a\x1CCV[`\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\\\x90\x84\x90a+\xF1V[\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\t\xADW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\xD1\x91\x90a,\x04V[`\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\n\x1DW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\nA\x91\x90a,\x1DV[P`\0\x83\x81R`\t` R`@\x90 T\x90\x91P`\xFF\x16\x15a\n\xBEW`@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\x06\xB0V[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81R`\x08` R`@\x81 T\x90[\x81\x81\x10\x15a\x0CoW`\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\x0BJW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0Bn\x91\x90a,\x04V[`\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\xBAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\xDE\x91\x90a,\x1DV[P\x90P\x86\x82\x03a\x0CYW\x85\x81\x10\x15a\x0C\x17W`\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\x0CoV[PPP\x80\x80a\x0Cg\x90a,AV[\x91PPa\n\xD9V[\x81\x81\x03a\x0C\xF6W`\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\xB7\x90\x84\x90a+\xF1V[\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\r6W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\0\x81\x81R`\t` R`@\x90 T`\xFF\x16a\rdW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,\x8FV[`\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\xCEW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\0[\x81\x81\x10\x15a\x0EGW`\0\x83\x83\x83\x81\x81\x10a\r\xEDWa\r\xEDa,\xD1V[` \x90\x81\x02\x92\x90\x92\x015`\0\x81\x81R`\t\x90\x93R`@\x90\x92 T\x91\x92PP`\xFF\x16\x15a\x0E+W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,\xE7V[a\x0E4\x81a\x1C\xCEV[P\x80a\x0E?\x81a,AV[\x91PPa\r\xD1V[PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0EvW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\x02`\x01T\x03a\x0E\xC8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x06\xB0V[`\x02`\x01U`\x04T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x90\x83\x16\x03a\x0F9W`@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\x06\xB0V[\x81`\x01`\x01`\xA0\x1B\x03\x16c#\xB8r\xDD0a\x0F[`\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\x0F\xAAW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xBEW=`\0\x80>=`\0\xFD[PP`\x01\x80UPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F\xF4W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\0\x81\x81R`\t` R`@\x90 T`\xFF\x16\x15a\x10#W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,\xE7V[a\x10,\x81a\x1C\xCEV[PV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x10YW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\x02`\x01T\x03a\x10\xABW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x06\xB0V[`\x02`\x01\x81\x90UT`\0\x90`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x90\x83\x16\x03a\x11IW`\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\x11\x14W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x118\x91\x90a,\x04V[a\x11B\x91\x90a--V[\x90Pa\x11\xB4V[`@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\x8DW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x11\xB1\x91\x90a,\x04V[\x90P[a\x11\xDAa\x11\xC9`\0T`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x83a\x1D\x11V[PP`\x01\x80UV[`\0a\x11\xED\x82a\x1DtV[\x92\x91PPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x12\x1DW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[a\x12'`\0a 7V[V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x12SW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\0[\x81\x81\x10\x15a\x0EGW`\0\x83\x83\x83\x81\x81\x10a\x12rWa\x12ra,\xD1V[` \x90\x81\x02\x92\x90\x92\x015`\0\x81\x81R`\t\x90\x93R`@\x90\x92 T\x91\x92PP`\xFF\x16a\x12\xAFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,\x8FV[`\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\xA2P\x80a\x12\xF7\x81a,AV[\x91PPa\x12VV[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x14dW`\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\x13\x8BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x13\xAF\x91\x90a,\x1DV[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\x14\x03W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x14+\x91\x90\x81\x01\x90a-dV[\x80Q\x90` \x01 \x14\x80\x15a\x14>WP\x80\x86\x14[\x15a\x14OW`\x01\x93PPPPa\x14jV[PP\x80\x80a\x14\\\x90a,AV[\x91PPa\x13\x03V[P`\0\x90P[\x93\x92PPPV[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x14dW`\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\x14\xFEW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x15&\x91\x90\x81\x01\x90a-dV[`\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\x15rW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15\x96\x91\x90a,\x04V[\x14\x80\x15a\x15\xA8WPa\x15\xA8\x81\x87a \x87V[\x15a\x15\xB9W`\x01\x93PPPPa\x14jV[PP\x80\x80a\x15\xC6\x90a,AV[\x91PPa\x14uV[`\x02T`\0\x90`\x01`\x01`\xA0\x1B\x03\x163\x14a\x16@W`@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\x06\xB0V[\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\x16\x80W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a-\xDAV[a\x16\x89\x84a\x1CCV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R`\n` R`@\x81 \x80T\x85\x92\x90a\x16\xB1\x90\x84\x90a+\xF1V[\x92PP\x81\x90UP\x82`\x0B`\0\x82\x82Ta\x16\xCA\x91\x90a+\xF1V[\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\x10,\x81a\x1CCV[a\x12'3a!0V[`\0\x80[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\x14dW`\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\x17\xADW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17\xD1\x91\x90a,\x1DV[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\x18\x1EW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x18B\x91\x90a,\x04V[\x14\x80\x15a\x18NWP\x80\x86\x14[\x15a\x18_W`\x01\x93PPPPa\x14jV[PP\x80\x80a\x18l\x90a,AV[\x91PPa\x17%V[`\0\x80\x84\x84`@Q` \x01a\x18\x8A\x92\x91\x90a.)V[`@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\x19\x82W`\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\x19'W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x19O\x91\x90\x81\x01\x90a-dV[\x90Pa\x19[\x81\x85a \x87V[\x15a\x19mW`\x01\x94PPPPPa\x14jV[PP\x80\x80a\x19z\x90a,AV[\x91PPa\x18\x9EV[P`\0\x95\x94PPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x19\xB8W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[\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\x19\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a-\xDAV[\x82\x81\x14a\x1AmW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`9`$\x82\x01R\x7FHoprStake: accounts and stakes a`D\x82\x01R\x7Frray lengths do not match\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06\xB0V[`\0\x80\x80\x80[\x86\x81\x10\x15a\x1BKW\x87\x87\x82\x81\x81\x10a\x1A\x8DWa\x1A\x8Da,\xD1V[\x90P` \x02\x01` \x81\x01\x90a\x1A\xA2\x91\x90a(XV[\x92P\x85\x85\x82\x81\x81\x10a\x1A\xB6Wa\x1A\xB6a,\xD1V[\x90P` \x02\x015\x91Pa\x1A\xC8\x83a\x1CCV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x81 \x80T\x84\x92\x90a\x1A\xF0\x90\x84\x90a+\xF1V[\x90\x91UPa\x1B\0\x90P\x82\x85a+\xF1V[\x93P\x81\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\x9Eq\xBC\x8E\xEA\x02\xA69i\xF5\t\x81\x8F-\xAF\xB9%E2\x90C\x19\xF9\xDB\xDAy\xB6{\xD3J_=`@Q`@Q\x80\x91\x03\x90\xA3\x80a\x1BC\x81a,AV[\x91PPa\x1AsV[P\x82`\x0B`\0\x82\x82Ta\x1B^\x91\x90a+\xF1V[\x90\x91UPP`\0Ta\x1B\x87\x90`\x01`\x01`\xA0\x1B\x03\x16`\x02T`\x01`\x01`\xA0\x1B\x03\x16\x900\x86a#*V[PPPPPPPV[a\x10,\x81a!0V[a\x1B\xA2\x81a\x1CCV[a\x10,\x81a#hV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1B\xD5W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x90a,ZV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x1C: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\x06\xB0V[a\x10,\x81a 7V[`\0a\x1CN\x82a\x1DtV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x81 `\x02\x01\x80T\x92\x93P\x83\x92\x90\x91\x90a\x1C~\x90\x84\x90a+\xF1V[\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[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16`$\x82\x01R`D\x81\x01\x82\x90Ra\x0EG\x90\x84\x90c\xA9\x05\x9C\xBB`\xE0\x1B\x90`d\x01[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16`\x01`\x01`\xE0\x1B\x03\x19\x90\x93\x16\x92\x90\x92\x17\x90\x91Ra$\xAFV[`\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\x1E\x0FWP\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\x1E\x1DWP`\0\x92\x91PPV[\x80Q`\0\x90a\x1EM\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.eV[\x90P`\0[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81R`\x08` R`@\x90 T\x81\x10\x15a\x1F[W`\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\x1E\xDAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1E\xFE\x91\x90a,\x1DV[P\x85Q\x90\x91P\x81\x90a\x1F0\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%\x81V[a\x1F:\x91\x90a.eV[a\x1FD\x90\x85a+\xF1V[\x93PPP\x80\x80a\x1FS\x90a,AV[\x91PPa\x1ERV[Pd\xE8\xD4\xA5\x10\0a\x1F\xC3\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\x1F\xBD\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%\x97\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90a%\x81V[a \x11\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\x1F\xBDB\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%\x97V[a \x1B\x91\x90a--V[a %\x90\x83a.eV[a /\x91\x90a.|V[\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 \xA0\x90\x83\x90a--V[\x90P`\0\x84a \xB0`\x01\x84a--V[\x81Q\x81\x10a \xC0Wa \xC0a,\xD1V[\x01` \x01Q`\x01`\x01`\xF8\x1B\x03\x19\x16\x90P`/`\xF8\x1B\x81\x14a \xEAW`\0\x95PPPPPPa\x11\xEDV[`\0a \xF7\x84` a--V[a!\x02\x90`\x08a.eV[\x90P`\0\x80a!\x10\x87a.\x9EV[\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!\xBBW`@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\x06\xB0V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\n` R`@\x90 Ta!\xDD\x82a\x1CCV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\n` R`@\x81 \x81\x90U`\x0B\x80T\x83\x92\x90a\"\n\x90\x84\x90a--V[\x90\x91UPa\"\x19\x90P\x82a#hV[`\x02Ta\"0\x90`\x01`\x01`\xA0\x1B\x03\x16\x83\x83a\x1D\x11V[`\0[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x90 T\x81\x10\x15a\"\xEFW`\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\"\xC4W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\"\xD8W=`\0\x80>=`\0\xFD[PPPP\x80\x80a\"\xE7\x90a,AV[\x91PPa\"3V[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[`@Q`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`$\x83\x01R\x83\x16`D\x82\x01R`d\x81\x01\x82\x90Ra#b\x90\x85\x90c#\xB8r\xDD`\xE0\x1B\x90`\x84\x01a\x1D=V[PPPPV[`\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#\xBD\x91a--V[\x90P\x80\x15a\x0EGW`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\n` R`@\x90 `\x02\x81\x01T`\x03\x90\x91\x01U`\x0CT\x81\x11\x15a$FW`@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\x06\xB0V[\x80`\x0C`\0\x82\x82Ta$X\x91\x90a--V[\x90\x91UPP`\x03Ta$t\x90`\x01`\x01`\xA0\x1B\x03\x16\x84\x83a\x1D\x11V[`@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%\x04\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a%\xA7\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80Q\x90\x91P\x15a\x0EGW\x80\x80` \x01\x90Q\x81\x01\x90a%\"\x91\x90a.\xC5V[a\x0EGW`@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\x06\xB0V[`\0\x81\x83\x10a%\x90W\x81a\x14jV[P\x90\x91\x90PV[`\0\x81\x83\x10\x15a%\x90W\x81a\x14jV[``a /\x84\x84`\0\x85\x85\x84;a&\0W`@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\x06\xB0V[`\0\x80\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa&\x1C\x91\x90a.\xE7V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a&YW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a&^V[``\x91P[P\x91P\x91Pa&n\x82\x82\x86a&yV[\x97\x96PPPPPPPV[``\x83\x15a&\x88WP\x81a\x14jV[\x82Q\x15a&\x98W\x82Q\x80\x84` \x01\xFD[\x81`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06\xB0\x91\x90a/\x03V[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a&\xC9W`\0\x80\xFD[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a&\xE0W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a&\xF7W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a'\x0FW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\0\x80`\xC0\x89\x8B\x03\x12\x15a'2W`\0\x80\xFD[a';\x89a&\xB2V[\x97Pa'I` \x8A\x01a&\xB2V[\x96Pa'W`@\x8A\x01a&\xB2V[\x95P``\x89\x015\x94P`\x80\x89\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a'zW`\0\x80\xFD[a'\x86\x8C\x83\x8D\x01a&\xCEV[\x90\x96P\x94P`\xA0\x8B\x015\x91P\x80\x82\x11\x15a'\x9FW`\0\x80\xFD[Pa'\xAC\x8B\x82\x8C\x01a&\xCEV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0\x80`@\x83\x85\x03\x12\x15a'\xD3W`\0\x80\xFD[a'\xDC\x83a&\xB2V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0\x80`\0`\x80\x86\x88\x03\x12\x15a(\x02W`\0\x80\xFD[a(\x0B\x86a&\xB2V[\x94Pa(\x19` \x87\x01a&\xB2V[\x93P`@\x86\x015\x92P``\x86\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a(;W`\0\x80\xFD[a(G\x88\x82\x89\x01a&\xCEV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a(jW`\0\x80\xFD[a\x14j\x82a&\xB2V[`\0` \x82\x84\x03\x12\x15a(\x85W`\0\x80\xFD[P5\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a(\x9EW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a(\xB5W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a'\x0FW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a(\xE3W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a(\xF9W`\0\x80\xFD[a)\x05\x85\x82\x86\x01a(\x8CV[\x90\x96\x90\x95P\x93PPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a)OWa)Oa)\x11V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a)pWa)pa)\x11V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0a)\x91a)\x8C\x84a)WV[a)'V[\x90P\x82\x81R\x83\x83\x83\x01\x11\x15a)\xA5W`\0\x80\xFD[\x82\x82` \x83\x017`\0` \x84\x83\x01\x01R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a)\xCDW`\0\x80\xFD[a\x14j\x83\x835` \x85\x01a)~V[`\0\x80`\0``\x84\x86\x03\x12\x15a)\xF1W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x81\x11\x15a*\x07W`\0\x80\xFD[a*\x13\x86\x82\x87\x01a)\xBCV[\x93PP` \x84\x015\x91Pa*)`@\x85\x01a&\xB2V[\x90P\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a*GW`\0\x80\xFD[\x835\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a*dW`\0\x80\xFD[a*p\x86\x82\x87\x01a)\xBCV[\x92PPa*)`@\x85\x01a&\xB2V[`\0\x80`\0``\x84\x86\x03\x12\x15a*\x94W`\0\x80\xFD[a*\x9D\x84a&\xB2V[\x92P` \x84\x015\x91P`@\x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a*\xBFW`\0\x80\xFD[\x84\x01`\x1F\x81\x01\x86\x13a*\xD0W`\0\x80\xFD[a*\xDF\x86\x825` \x84\x01a)~V[\x91PP\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a*\xFEW`\0\x80\xFD[\x835\x92P` \x84\x015\x91Pa*)`@\x85\x01a&\xB2V[`\0\x80`\0``\x84\x86\x03\x12\x15a+*W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a+AW`\0\x80\xFD[a+M\x87\x83\x88\x01a)\xBCV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a+cW`\0\x80\xFD[Pa*p\x86\x82\x87\x01a)\xBCV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a+\x86W`\0\x80\xFD[\x845`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a+\x9DW`\0\x80\xFD[a+\xA9\x88\x83\x89\x01a(\x8CV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a+\xC2W`\0\x80\xFD[Pa+\xCF\x87\x82\x88\x01a(\x8CV[\x95\x98\x94\x97P\x95PPPPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x11\xEDWa\x11\xEDa+\xDBV[`\0` \x82\x84\x03\x12\x15a,\x16W`\0\x80\xFD[PQ\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a,0W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0`\x01\x82\x01a,SWa,Sa+\xDBV[P`\x01\x01\x90V[` \x80\x82R\x81\x81\x01R\x7FOwnable: caller is not the owner`@\x82\x01R``\x01\x90V[` \x80\x82R`\"\x90\x82\x01R\x7FHoprStake: NFT type is not block`@\x82\x01Ra\x19Y`\xF2\x1B``\x82\x01R`\x80\x01\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[` \x80\x82R`&\x90\x82\x01R\x7FHoprStake: NFT type is already b`@\x82\x01Re\x1B\x1B\xD8\xDA\xD9Y`\xD2\x1B``\x82\x01R`\x80\x01\x90V[\x81\x81\x03\x81\x81\x11\x15a\x11\xEDWa\x11\xEDa+\xDBV[`\0[\x83\x81\x10\x15a-[W\x81\x81\x01Q\x83\x82\x01R` \x01a-CV[PP`\0\x91\x01RV[`\0` \x82\x84\x03\x12\x15a-vW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a-\x8CW`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a-\x9DW`\0\x80\xFD[\x80Qa-\xABa)\x8C\x82a)WV[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a-\xC0W`\0\x80\xFD[a-\xD1\x82` \x83\x01` \x86\x01a-@V[\x95\x94PPPPPV[` \x80\x82R`/\x90\x82\x01R\x7FHoprStake: Program ended, cannot`@\x82\x01Rn\x109\xBA0\xB5\xB2\x900\xB7<\xB6\xB7\xB92\x97`\x89\x1B``\x82\x01R`\x80\x01\x90V[`\0\x83Qa.;\x81\x84` \x88\x01a-@V[`/`\xF8\x1B\x90\x83\x01\x90\x81R\x83Qa.Y\x81`\x01\x84\x01` \x88\x01a-@V[\x01`\x01\x01\x94\x93PPPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x11\xEDWa\x11\xEDa+\xDBV[`\0\x82a.\x99WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80Q` \x80\x83\x01Q\x91\x90\x81\x10\x15a.\xBFW`\0\x19\x81` \x03`\x03\x1B\x1B\x82\x16\x91P[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a.\xD7W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x14jW`\0\x80\xFD[`\0\x82Qa.\xF9\x81\x84` \x87\x01a-@V[\x91\x90\x91\x01\x92\x91PPV[` \x81R`\0\x82Q\x80` \x84\x01Ra/\"\x81`@\x85\x01` \x87\x01a-@V[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 [\xD9\xBC\xF2\xDC\xDDj\xFA\xD5\xEA\x94j\xC1{\xDBL\xAFRW\n&\x96\x9D~\xE7F\x96\xE4\xD5\\\xC4\xDDdsolcC\0\x08\x13\x003";
1419 pub static HOPRSTAKESEASON7_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
1421 __DEPLOYED_BYTECODE,
1422 );
1423 pub struct HoprStakeSeason7<M>(::ethers::contract::Contract<M>);
1424 impl<M> ::core::clone::Clone for HoprStakeSeason7<M> {
1425 fn clone(&self) -> Self {
1426 Self(::core::clone::Clone::clone(&self.0))
1427 }
1428 }
1429 impl<M> ::core::ops::Deref for HoprStakeSeason7<M> {
1430 type Target = ::ethers::contract::Contract<M>;
1431 fn deref(&self) -> &Self::Target {
1432 &self.0
1433 }
1434 }
1435 impl<M> ::core::ops::DerefMut for HoprStakeSeason7<M> {
1436 fn deref_mut(&mut self) -> &mut Self::Target {
1437 &mut self.0
1438 }
1439 }
1440 impl<M> ::core::fmt::Debug for HoprStakeSeason7<M> {
1441 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1442 f.debug_tuple(::core::stringify!(HoprStakeSeason7))
1443 .field(&self.address())
1444 .finish()
1445 }
1446 }
1447 impl<M: ::ethers::providers::Middleware> HoprStakeSeason7<M> {
1448 pub fn new<T: Into<::ethers::core::types::Address>>(
1451 address: T,
1452 client: ::std::sync::Arc<M>,
1453 ) -> Self {
1454 Self(
1455 ::ethers::contract::Contract::new(
1456 address.into(),
1457 HOPRSTAKESEASON7_ABI.clone(),
1458 client,
1459 ),
1460 )
1461 }
1462 pub fn deploy<T: ::ethers::core::abi::Tokenize>(
1486 client: ::std::sync::Arc<M>,
1487 constructor_args: T,
1488 ) -> ::core::result::Result<
1489 ::ethers::contract::builders::ContractDeployer<M, Self>,
1490 ::ethers::contract::ContractError<M>,
1491 > {
1492 let factory = ::ethers::contract::ContractFactory::new(
1493 HOPRSTAKESEASON7_ABI.clone(),
1494 HOPRSTAKESEASON7_BYTECODE.clone().into(),
1495 client,
1496 );
1497 let deployer = factory.deploy(constructor_args)?;
1498 let deployer = ::ethers::contract::ContractDeployer::new(deployer);
1499 Ok(deployer)
1500 }
1501 pub fn basic_factor_numerator(
1503 &self,
1504 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1505 self.0
1506 .method_hash([106, 168, 212, 207], ())
1507 .expect("method not found (this should never happen)")
1508 }
1509 pub fn boost_cap(
1511 &self,
1512 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1513 self.0
1514 .method_hash([239, 5, 38, 162], ())
1515 .expect("method not found (this should never happen)")
1516 }
1517 pub fn factor_denominator(
1519 &self,
1520 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1521 self.0
1522 .method_hash([94, 247, 61, 88], ())
1523 .expect("method not found (this should never happen)")
1524 }
1525 pub fn lock_token(
1527 &self,
1528 ) -> ::ethers::contract::builders::ContractCall<
1529 M,
1530 ::ethers::core::types::Address,
1531 > {
1532 self.0
1533 .method_hash([208, 218, 104, 1], ())
1534 .expect("method not found (this should never happen)")
1535 }
1536 pub fn nft_contract(
1538 &self,
1539 ) -> ::ethers::contract::builders::ContractCall<
1540 M,
1541 ::ethers::core::types::Address,
1542 > {
1543 self.0
1544 .method_hash([31, 218, 154, 2], ())
1545 .expect("method not found (this should never happen)")
1546 }
1547 pub fn program_end(
1549 &self,
1550 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1551 self.0
1552 .method_hash([203, 255, 163, 199], ())
1553 .expect("method not found (this should never happen)")
1554 }
1555 pub fn program_start(
1557 &self,
1558 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1559 self.0
1560 .method_hash([91, 187, 99, 166], ())
1561 .expect("method not found (this should never happen)")
1562 }
1563 pub fn reward_token(
1565 &self,
1566 ) -> ::ethers::contract::builders::ContractCall<
1567 M,
1568 ::ethers::core::types::Address,
1569 > {
1570 self.0
1571 .method_hash([153, 36, 142, 167], ())
1572 .expect("method not found (this should never happen)")
1573 }
1574 pub fn accounts(
1576 &self,
1577 p0: ::ethers::core::types::Address,
1578 ) -> ::ethers::contract::builders::ContractCall<
1579 M,
1580 (
1581 ::ethers::core::types::U256,
1582 ::ethers::core::types::U256,
1583 ::ethers::core::types::U256,
1584 ::ethers::core::types::U256,
1585 ),
1586 > {
1587 self.0
1588 .method_hash([94, 92, 6, 226], p0)
1589 .expect("method not found (this should never happen)")
1590 }
1591 pub fn available_reward(
1593 &self,
1594 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1595 self.0
1596 .method_hash([74, 216, 75, 52], ())
1597 .expect("method not found (this should never happen)")
1598 }
1599 pub fn batch_stake_for(
1601 &self,
1602 accounts: ::std::vec::Vec<::ethers::core::types::Address>,
1603 stakes: ::std::vec::Vec<::ethers::core::types::U256>,
1604 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1605 self.0
1606 .method_hash([208, 242, 223, 164], (accounts, stakes))
1607 .expect("method not found (this should never happen)")
1608 }
1609 pub fn claim_rewards(
1611 &self,
1612 account: ::ethers::core::types::Address,
1613 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1614 self.0
1615 .method_hash([239, 92, 251, 140], account)
1616 .expect("method not found (this should never happen)")
1617 }
1618 pub fn get_cumulated_rewards_increment(
1620 &self,
1621 account: ::ethers::core::types::Address,
1622 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1623 self.0
1624 .method_hash([112, 175, 9, 52], account)
1625 .expect("method not found (this should never happen)")
1626 }
1627 pub fn is_blocked_nft(
1629 &self,
1630 p0: ::ethers::core::types::U256,
1631 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1632 self.0
1633 .method_hash([66, 201, 51, 97], p0)
1634 .expect("method not found (this should never happen)")
1635 }
1636 pub fn is_nft_type_and_rank_redeemed_1(
1638 &self,
1639 nft_type: ::std::string::String,
1640 nft_rank: ::std::string::String,
1641 hodler: ::ethers::core::types::Address,
1642 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1643 self.0
1644 .method_hash([206, 35, 23, 126], (nft_type, nft_rank, hodler))
1645 .expect("method not found (this should never happen)")
1646 }
1647 pub fn is_nft_type_and_rank_redeemed_2(
1649 &self,
1650 nft_type_index: ::ethers::core::types::U256,
1651 nft_rank: ::std::string::String,
1652 hodler: ::ethers::core::types::Address,
1653 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1654 self.0
1655 .method_hash([150, 169, 205, 125], (nft_type_index, nft_rank, hodler))
1656 .expect("method not found (this should never happen)")
1657 }
1658 pub fn is_nft_type_and_rank_redeemed_3(
1660 &self,
1661 nft_type_index: ::ethers::core::types::U256,
1662 boost_numerator: ::ethers::core::types::U256,
1663 hodler: ::ethers::core::types::Address,
1664 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1665 self.0
1666 .method_hash(
1667 [168, 61, 30, 214],
1668 (nft_type_index, boost_numerator, hodler),
1669 )
1670 .expect("method not found (this should never happen)")
1671 }
1672 pub fn is_nft_type_and_rank_redeemed_4(
1674 &self,
1675 nft_type: ::std::string::String,
1676 boost_numerator: ::ethers::core::types::U256,
1677 hodler: ::ethers::core::types::Address,
1678 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1679 self.0
1680 .method_hash([140, 36, 173, 212], (nft_type, boost_numerator, hodler))
1681 .expect("method not found (this should never happen)")
1682 }
1683 pub fn on_erc721_received(
1685 &self,
1686 p0: ::ethers::core::types::Address,
1687 from: ::ethers::core::types::Address,
1688 token_id: ::ethers::core::types::U256,
1689 p3: ::ethers::core::types::Bytes,
1690 ) -> ::ethers::contract::builders::ContractCall<M, [u8; 4]> {
1691 self.0
1692 .method_hash([21, 11, 122, 2], (p0, from, token_id, p3))
1693 .expect("method not found (this should never happen)")
1694 }
1695 pub fn on_token_transfer(
1697 &self,
1698 from: ::ethers::core::types::Address,
1699 value: ::ethers::core::types::U256,
1700 p2: ::ethers::core::types::Bytes,
1701 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1702 self.0
1703 .method_hash([164, 192, 237, 54], (from, value, p2))
1704 .expect("method not found (this should never happen)")
1705 }
1706 pub fn owner(
1708 &self,
1709 ) -> ::ethers::contract::builders::ContractCall<
1710 M,
1711 ::ethers::core::types::Address,
1712 > {
1713 self.0
1714 .method_hash([141, 165, 203, 91], ())
1715 .expect("method not found (this should never happen)")
1716 }
1717 pub fn owner_batch_block_nft_type(
1719 &self,
1720 type_indexes: ::std::vec::Vec<::ethers::core::types::U256>,
1721 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1722 self.0
1723 .method_hash([51, 189, 100, 202], type_indexes)
1724 .expect("method not found (this should never happen)")
1725 }
1726 pub fn owner_batch_unblock_nft_type(
1728 &self,
1729 type_indexes: ::std::vec::Vec<::ethers::core::types::U256>,
1730 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1731 self.0
1732 .method_hash([129, 35, 57, 163], type_indexes)
1733 .expect("method not found (this should never happen)")
1734 }
1735 pub fn owner_block_nft_type(
1737 &self,
1738 type_index: ::ethers::core::types::U256,
1739 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1740 self.0
1741 .method_hash([94, 76, 14, 21], type_index)
1742 .expect("method not found (this should never happen)")
1743 }
1744 pub fn owner_unblock_nft_type(
1746 &self,
1747 type_index: ::ethers::core::types::U256,
1748 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1749 self.0
1750 .method_hash([33, 207, 133, 186], type_index)
1751 .expect("method not found (this should never happen)")
1752 }
1753 pub fn reclaim_erc_20_tokens(
1755 &self,
1756 token_address: ::ethers::core::types::Address,
1757 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1758 self.0
1759 .method_hash([96, 103, 188, 21], token_address)
1760 .expect("method not found (this should never happen)")
1761 }
1762 pub fn reclaim_erc_721_tokens(
1764 &self,
1765 token_address: ::ethers::core::types::Address,
1766 token_id: ::ethers::core::types::U256,
1767 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1768 self.0
1769 .method_hash([72, 198, 78, 65], (token_address, token_id))
1770 .expect("method not found (this should never happen)")
1771 }
1772 pub fn redeemed_factor(
1774 &self,
1775 p0: ::ethers::core::types::Address,
1776 p1: ::ethers::core::types::U256,
1777 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1778 self.0
1779 .method_hash([129, 18, 140, 29], (p0, p1))
1780 .expect("method not found (this should never happen)")
1781 }
1782 pub fn redeemed_factor_index(
1784 &self,
1785 p0: ::ethers::core::types::Address,
1786 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1787 self.0
1788 .method_hash([31, 1, 77, 131], p0)
1789 .expect("method not found (this should never happen)")
1790 }
1791 pub fn redeemed_nft(
1793 &self,
1794 p0: ::ethers::core::types::Address,
1795 p1: ::ethers::core::types::U256,
1796 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1797 self.0
1798 .method_hash([10, 26, 37, 122], (p0, p1))
1799 .expect("method not found (this should never happen)")
1800 }
1801 pub fn redeemed_nft_index(
1803 &self,
1804 p0: ::ethers::core::types::Address,
1805 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1806 self.0
1807 .method_hash([208, 192, 45, 99], p0)
1808 .expect("method not found (this should never happen)")
1809 }
1810 pub fn renounce_ownership(
1812 &self,
1813 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1814 self.0
1815 .method_hash([113, 80, 24, 166], ())
1816 .expect("method not found (this should never happen)")
1817 }
1818 pub fn staked_hopr_tokens(
1820 &self,
1821 account: ::ethers::core::types::Address,
1822 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1823 self.0
1824 .method_hash([249, 120, 255, 241], account)
1825 .expect("method not found (this should never happen)")
1826 }
1827 pub fn sync(
1829 &self,
1830 account: ::ethers::core::types::Address,
1831 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1832 self.0
1833 .method_hash([165, 132, 17, 148], account)
1834 .expect("method not found (this should never happen)")
1835 }
1836 pub fn tokens_received(
1838 &self,
1839 p0: ::ethers::core::types::Address,
1840 from: ::ethers::core::types::Address,
1841 to: ::ethers::core::types::Address,
1842 amount: ::ethers::core::types::U256,
1843 p4: ::ethers::core::types::Bytes,
1844 p5: ::ethers::core::types::Bytes,
1845 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1846 self.0
1847 .method_hash([0, 35, 222, 41], (p0, from, to, amount, p4, p5))
1848 .expect("method not found (this should never happen)")
1849 }
1850 pub fn total_locked(
1852 &self,
1853 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1854 self.0
1855 .method_hash([86, 137, 20, 18], ())
1856 .expect("method not found (this should never happen)")
1857 }
1858 pub fn transfer_ownership(
1860 &self,
1861 new_owner: ::ethers::core::types::Address,
1862 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1863 self.0
1864 .method_hash([242, 253, 227, 139], new_owner)
1865 .expect("method not found (this should never happen)")
1866 }
1867 pub fn unlock(&self) -> ::ethers::contract::builders::ContractCall<M, ()> {
1869 self.0
1870 .method_hash([166, 157, 244, 181], ())
1871 .expect("method not found (this should never happen)")
1872 }
1873 pub fn unlock_for(
1875 &self,
1876 account: ::ethers::core::types::Address,
1877 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1878 self.0
1879 .method_hash([221, 228, 153, 121], account)
1880 .expect("method not found (this should never happen)")
1881 }
1882 pub fn claimed_filter(
1884 &self,
1885 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, ClaimedFilter> {
1886 self.0.event()
1887 }
1888 pub fn nft_allowed_filter(
1890 &self,
1891 ) -> ::ethers::contract::builders::Event<
1892 ::std::sync::Arc<M>,
1893 M,
1894 NftAllowedFilter,
1895 > {
1896 self.0.event()
1897 }
1898 pub fn nft_blocked_filter(
1900 &self,
1901 ) -> ::ethers::contract::builders::Event<
1902 ::std::sync::Arc<M>,
1903 M,
1904 NftBlockedFilter,
1905 > {
1906 self.0.event()
1907 }
1908 pub fn ownership_transferred_filter(
1910 &self,
1911 ) -> ::ethers::contract::builders::Event<
1912 ::std::sync::Arc<M>,
1913 M,
1914 OwnershipTransferredFilter,
1915 > {
1916 self.0.event()
1917 }
1918 pub fn redeemed_filter(
1920 &self,
1921 ) -> ::ethers::contract::builders::Event<
1922 ::std::sync::Arc<M>,
1923 M,
1924 RedeemedFilter,
1925 > {
1926 self.0.event()
1927 }
1928 pub fn released_filter(
1930 &self,
1931 ) -> ::ethers::contract::builders::Event<
1932 ::std::sync::Arc<M>,
1933 M,
1934 ReleasedFilter,
1935 > {
1936 self.0.event()
1937 }
1938 pub fn reward_fueled_filter(
1940 &self,
1941 ) -> ::ethers::contract::builders::Event<
1942 ::std::sync::Arc<M>,
1943 M,
1944 RewardFueledFilter,
1945 > {
1946 self.0.event()
1947 }
1948 pub fn staked_filter(
1950 &self,
1951 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, StakedFilter> {
1952 self.0.event()
1953 }
1954 pub fn sync_filter(
1956 &self,
1957 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, SyncFilter> {
1958 self.0.event()
1959 }
1960 pub fn events(
1962 &self,
1963 ) -> ::ethers::contract::builders::Event<
1964 ::std::sync::Arc<M>,
1965 M,
1966 HoprStakeSeason7Events,
1967 > {
1968 self.0.event_with_filter(::core::default::Default::default())
1969 }
1970 }
1971 impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
1972 for HoprStakeSeason7<M> {
1973 fn from(contract: ::ethers::contract::Contract<M>) -> Self {
1974 Self::new(contract.address(), contract.client())
1975 }
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 = "Claimed", abi = "Claimed(address,uint256)")]
1990 pub struct ClaimedFilter {
1991 #[ethevent(indexed)]
1992 pub account: ::ethers::core::types::Address,
1993 #[ethevent(indexed)]
1994 pub reward_amount: ::ethers::core::types::U256,
1995 }
1996 #[derive(
1997 Clone,
1998 ::ethers::contract::EthEvent,
1999 ::ethers::contract::EthDisplay,
2000 serde::Serialize,
2001 serde::Deserialize,
2002 Default,
2003 Debug,
2004 PartialEq,
2005 Eq,
2006 Hash
2007 )]
2008 #[ethevent(name = "NftAllowed", abi = "NftAllowed(uint256)")]
2009 pub struct NftAllowedFilter {
2010 #[ethevent(indexed)]
2011 pub type_index: ::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 = "NftBlocked", abi = "NftBlocked(uint256)")]
2026 pub struct NftBlockedFilter {
2027 #[ethevent(indexed)]
2028 pub type_index: ::ethers::core::types::U256,
2029 }
2030 #[derive(
2031 Clone,
2032 ::ethers::contract::EthEvent,
2033 ::ethers::contract::EthDisplay,
2034 serde::Serialize,
2035 serde::Deserialize,
2036 Default,
2037 Debug,
2038 PartialEq,
2039 Eq,
2040 Hash
2041 )]
2042 #[ethevent(
2043 name = "OwnershipTransferred",
2044 abi = "OwnershipTransferred(address,address)"
2045 )]
2046 pub struct OwnershipTransferredFilter {
2047 #[ethevent(indexed)]
2048 pub previous_owner: ::ethers::core::types::Address,
2049 #[ethevent(indexed)]
2050 pub new_owner: ::ethers::core::types::Address,
2051 }
2052 #[derive(
2053 Clone,
2054 ::ethers::contract::EthEvent,
2055 ::ethers::contract::EthDisplay,
2056 serde::Serialize,
2057 serde::Deserialize,
2058 Default,
2059 Debug,
2060 PartialEq,
2061 Eq,
2062 Hash
2063 )]
2064 #[ethevent(name = "Redeemed", abi = "Redeemed(address,uint256,bool)")]
2065 pub struct RedeemedFilter {
2066 #[ethevent(indexed)]
2067 pub account: ::ethers::core::types::Address,
2068 #[ethevent(indexed)]
2069 pub boost_token_id: ::ethers::core::types::U256,
2070 #[ethevent(indexed)]
2071 pub factor_registered: bool,
2072 }
2073 #[derive(
2074 Clone,
2075 ::ethers::contract::EthEvent,
2076 ::ethers::contract::EthDisplay,
2077 serde::Serialize,
2078 serde::Deserialize,
2079 Default,
2080 Debug,
2081 PartialEq,
2082 Eq,
2083 Hash
2084 )]
2085 #[ethevent(name = "Released", abi = "Released(address,uint256)")]
2086 pub struct ReleasedFilter {
2087 #[ethevent(indexed)]
2088 pub account: ::ethers::core::types::Address,
2089 #[ethevent(indexed)]
2090 pub actual_amount: ::ethers::core::types::U256,
2091 }
2092 #[derive(
2093 Clone,
2094 ::ethers::contract::EthEvent,
2095 ::ethers::contract::EthDisplay,
2096 serde::Serialize,
2097 serde::Deserialize,
2098 Default,
2099 Debug,
2100 PartialEq,
2101 Eq,
2102 Hash
2103 )]
2104 #[ethevent(name = "RewardFueled", abi = "RewardFueled(uint256)")]
2105 pub struct RewardFueledFilter {
2106 #[ethevent(indexed)]
2107 pub amount: ::ethers::core::types::U256,
2108 }
2109 #[derive(
2110 Clone,
2111 ::ethers::contract::EthEvent,
2112 ::ethers::contract::EthDisplay,
2113 serde::Serialize,
2114 serde::Deserialize,
2115 Default,
2116 Debug,
2117 PartialEq,
2118 Eq,
2119 Hash
2120 )]
2121 #[ethevent(name = "Staked", abi = "Staked(address,uint256)")]
2122 pub struct StakedFilter {
2123 #[ethevent(indexed)]
2124 pub account: ::ethers::core::types::Address,
2125 #[ethevent(indexed)]
2126 pub actual_amount: ::ethers::core::types::U256,
2127 }
2128 #[derive(
2129 Clone,
2130 ::ethers::contract::EthEvent,
2131 ::ethers::contract::EthDisplay,
2132 serde::Serialize,
2133 serde::Deserialize,
2134 Default,
2135 Debug,
2136 PartialEq,
2137 Eq,
2138 Hash
2139 )]
2140 #[ethevent(name = "Sync", abi = "Sync(address,uint256)")]
2141 pub struct SyncFilter {
2142 #[ethevent(indexed)]
2143 pub account: ::ethers::core::types::Address,
2144 #[ethevent(indexed)]
2145 pub increment: ::ethers::core::types::U256,
2146 }
2147 #[derive(
2149 Clone,
2150 ::ethers::contract::EthAbiType,
2151 serde::Serialize,
2152 serde::Deserialize,
2153 Debug,
2154 PartialEq,
2155 Eq,
2156 Hash
2157 )]
2158 pub enum HoprStakeSeason7Events {
2159 ClaimedFilter(ClaimedFilter),
2160 NftAllowedFilter(NftAllowedFilter),
2161 NftBlockedFilter(NftBlockedFilter),
2162 OwnershipTransferredFilter(OwnershipTransferredFilter),
2163 RedeemedFilter(RedeemedFilter),
2164 ReleasedFilter(ReleasedFilter),
2165 RewardFueledFilter(RewardFueledFilter),
2166 StakedFilter(StakedFilter),
2167 SyncFilter(SyncFilter),
2168 }
2169 impl ::ethers::contract::EthLogDecode for HoprStakeSeason7Events {
2170 fn decode_log(
2171 log: &::ethers::core::abi::RawLog,
2172 ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
2173 if let Ok(decoded) = ClaimedFilter::decode_log(log) {
2174 return Ok(HoprStakeSeason7Events::ClaimedFilter(decoded));
2175 }
2176 if let Ok(decoded) = NftAllowedFilter::decode_log(log) {
2177 return Ok(HoprStakeSeason7Events::NftAllowedFilter(decoded));
2178 }
2179 if let Ok(decoded) = NftBlockedFilter::decode_log(log) {
2180 return Ok(HoprStakeSeason7Events::NftBlockedFilter(decoded));
2181 }
2182 if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) {
2183 return Ok(HoprStakeSeason7Events::OwnershipTransferredFilter(decoded));
2184 }
2185 if let Ok(decoded) = RedeemedFilter::decode_log(log) {
2186 return Ok(HoprStakeSeason7Events::RedeemedFilter(decoded));
2187 }
2188 if let Ok(decoded) = ReleasedFilter::decode_log(log) {
2189 return Ok(HoprStakeSeason7Events::ReleasedFilter(decoded));
2190 }
2191 if let Ok(decoded) = RewardFueledFilter::decode_log(log) {
2192 return Ok(HoprStakeSeason7Events::RewardFueledFilter(decoded));
2193 }
2194 if let Ok(decoded) = StakedFilter::decode_log(log) {
2195 return Ok(HoprStakeSeason7Events::StakedFilter(decoded));
2196 }
2197 if let Ok(decoded) = SyncFilter::decode_log(log) {
2198 return Ok(HoprStakeSeason7Events::SyncFilter(decoded));
2199 }
2200 Err(::ethers::core::abi::Error::InvalidData)
2201 }
2202 }
2203 impl ::core::fmt::Display for HoprStakeSeason7Events {
2204 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2205 match self {
2206 Self::ClaimedFilter(element) => ::core::fmt::Display::fmt(element, f),
2207 Self::NftAllowedFilter(element) => ::core::fmt::Display::fmt(element, f),
2208 Self::NftBlockedFilter(element) => ::core::fmt::Display::fmt(element, f),
2209 Self::OwnershipTransferredFilter(element) => {
2210 ::core::fmt::Display::fmt(element, f)
2211 }
2212 Self::RedeemedFilter(element) => ::core::fmt::Display::fmt(element, f),
2213 Self::ReleasedFilter(element) => ::core::fmt::Display::fmt(element, f),
2214 Self::RewardFueledFilter(element) => {
2215 ::core::fmt::Display::fmt(element, f)
2216 }
2217 Self::StakedFilter(element) => ::core::fmt::Display::fmt(element, f),
2218 Self::SyncFilter(element) => ::core::fmt::Display::fmt(element, f),
2219 }
2220 }
2221 }
2222 impl ::core::convert::From<ClaimedFilter> for HoprStakeSeason7Events {
2223 fn from(value: ClaimedFilter) -> Self {
2224 Self::ClaimedFilter(value)
2225 }
2226 }
2227 impl ::core::convert::From<NftAllowedFilter> for HoprStakeSeason7Events {
2228 fn from(value: NftAllowedFilter) -> Self {
2229 Self::NftAllowedFilter(value)
2230 }
2231 }
2232 impl ::core::convert::From<NftBlockedFilter> for HoprStakeSeason7Events {
2233 fn from(value: NftBlockedFilter) -> Self {
2234 Self::NftBlockedFilter(value)
2235 }
2236 }
2237 impl ::core::convert::From<OwnershipTransferredFilter> for HoprStakeSeason7Events {
2238 fn from(value: OwnershipTransferredFilter) -> Self {
2239 Self::OwnershipTransferredFilter(value)
2240 }
2241 }
2242 impl ::core::convert::From<RedeemedFilter> for HoprStakeSeason7Events {
2243 fn from(value: RedeemedFilter) -> Self {
2244 Self::RedeemedFilter(value)
2245 }
2246 }
2247 impl ::core::convert::From<ReleasedFilter> for HoprStakeSeason7Events {
2248 fn from(value: ReleasedFilter) -> Self {
2249 Self::ReleasedFilter(value)
2250 }
2251 }
2252 impl ::core::convert::From<RewardFueledFilter> for HoprStakeSeason7Events {
2253 fn from(value: RewardFueledFilter) -> Self {
2254 Self::RewardFueledFilter(value)
2255 }
2256 }
2257 impl ::core::convert::From<StakedFilter> for HoprStakeSeason7Events {
2258 fn from(value: StakedFilter) -> Self {
2259 Self::StakedFilter(value)
2260 }
2261 }
2262 impl ::core::convert::From<SyncFilter> for HoprStakeSeason7Events {
2263 fn from(value: SyncFilter) -> Self {
2264 Self::SyncFilter(value)
2265 }
2266 }
2267 #[derive(
2269 Clone,
2270 ::ethers::contract::EthCall,
2271 ::ethers::contract::EthDisplay,
2272 serde::Serialize,
2273 serde::Deserialize,
2274 Default,
2275 Debug,
2276 PartialEq,
2277 Eq,
2278 Hash
2279 )]
2280 #[ethcall(name = "BASIC_FACTOR_NUMERATOR", abi = "BASIC_FACTOR_NUMERATOR()")]
2281 pub struct BasicFactorNumeratorCall;
2282 #[derive(
2284 Clone,
2285 ::ethers::contract::EthCall,
2286 ::ethers::contract::EthDisplay,
2287 serde::Serialize,
2288 serde::Deserialize,
2289 Default,
2290 Debug,
2291 PartialEq,
2292 Eq,
2293 Hash
2294 )]
2295 #[ethcall(name = "BOOST_CAP", abi = "BOOST_CAP()")]
2296 pub struct BoostCapCall;
2297 #[derive(
2299 Clone,
2300 ::ethers::contract::EthCall,
2301 ::ethers::contract::EthDisplay,
2302 serde::Serialize,
2303 serde::Deserialize,
2304 Default,
2305 Debug,
2306 PartialEq,
2307 Eq,
2308 Hash
2309 )]
2310 #[ethcall(name = "FACTOR_DENOMINATOR", abi = "FACTOR_DENOMINATOR()")]
2311 pub struct FactorDenominatorCall;
2312 #[derive(
2314 Clone,
2315 ::ethers::contract::EthCall,
2316 ::ethers::contract::EthDisplay,
2317 serde::Serialize,
2318 serde::Deserialize,
2319 Default,
2320 Debug,
2321 PartialEq,
2322 Eq,
2323 Hash
2324 )]
2325 #[ethcall(name = "LOCK_TOKEN", abi = "LOCK_TOKEN()")]
2326 pub struct LockTokenCall;
2327 #[derive(
2329 Clone,
2330 ::ethers::contract::EthCall,
2331 ::ethers::contract::EthDisplay,
2332 serde::Serialize,
2333 serde::Deserialize,
2334 Default,
2335 Debug,
2336 PartialEq,
2337 Eq,
2338 Hash
2339 )]
2340 #[ethcall(name = "NFT_CONTRACT", abi = "NFT_CONTRACT()")]
2341 pub struct NftContractCall;
2342 #[derive(
2344 Clone,
2345 ::ethers::contract::EthCall,
2346 ::ethers::contract::EthDisplay,
2347 serde::Serialize,
2348 serde::Deserialize,
2349 Default,
2350 Debug,
2351 PartialEq,
2352 Eq,
2353 Hash
2354 )]
2355 #[ethcall(name = "PROGRAM_END", abi = "PROGRAM_END()")]
2356 pub struct ProgramEndCall;
2357 #[derive(
2359 Clone,
2360 ::ethers::contract::EthCall,
2361 ::ethers::contract::EthDisplay,
2362 serde::Serialize,
2363 serde::Deserialize,
2364 Default,
2365 Debug,
2366 PartialEq,
2367 Eq,
2368 Hash
2369 )]
2370 #[ethcall(name = "PROGRAM_START", abi = "PROGRAM_START()")]
2371 pub struct ProgramStartCall;
2372 #[derive(
2374 Clone,
2375 ::ethers::contract::EthCall,
2376 ::ethers::contract::EthDisplay,
2377 serde::Serialize,
2378 serde::Deserialize,
2379 Default,
2380 Debug,
2381 PartialEq,
2382 Eq,
2383 Hash
2384 )]
2385 #[ethcall(name = "REWARD_TOKEN", abi = "REWARD_TOKEN()")]
2386 pub struct RewardTokenCall;
2387 #[derive(
2389 Clone,
2390 ::ethers::contract::EthCall,
2391 ::ethers::contract::EthDisplay,
2392 serde::Serialize,
2393 serde::Deserialize,
2394 Default,
2395 Debug,
2396 PartialEq,
2397 Eq,
2398 Hash
2399 )]
2400 #[ethcall(name = "accounts", abi = "accounts(address)")]
2401 pub struct AccountsCall(pub ::ethers::core::types::Address);
2402 #[derive(
2404 Clone,
2405 ::ethers::contract::EthCall,
2406 ::ethers::contract::EthDisplay,
2407 serde::Serialize,
2408 serde::Deserialize,
2409 Default,
2410 Debug,
2411 PartialEq,
2412 Eq,
2413 Hash
2414 )]
2415 #[ethcall(name = "availableReward", abi = "availableReward()")]
2416 pub struct AvailableRewardCall;
2417 #[derive(
2419 Clone,
2420 ::ethers::contract::EthCall,
2421 ::ethers::contract::EthDisplay,
2422 serde::Serialize,
2423 serde::Deserialize,
2424 Default,
2425 Debug,
2426 PartialEq,
2427 Eq,
2428 Hash
2429 )]
2430 #[ethcall(name = "batchStakeFor", abi = "batchStakeFor(address[],uint256[])")]
2431 pub struct BatchStakeForCall {
2432 pub accounts: ::std::vec::Vec<::ethers::core::types::Address>,
2433 pub stakes: ::std::vec::Vec<::ethers::core::types::U256>,
2434 }
2435 #[derive(
2437 Clone,
2438 ::ethers::contract::EthCall,
2439 ::ethers::contract::EthDisplay,
2440 serde::Serialize,
2441 serde::Deserialize,
2442 Default,
2443 Debug,
2444 PartialEq,
2445 Eq,
2446 Hash
2447 )]
2448 #[ethcall(name = "claimRewards", abi = "claimRewards(address)")]
2449 pub struct ClaimRewardsCall {
2450 pub account: ::ethers::core::types::Address,
2451 }
2452 #[derive(
2454 Clone,
2455 ::ethers::contract::EthCall,
2456 ::ethers::contract::EthDisplay,
2457 serde::Serialize,
2458 serde::Deserialize,
2459 Default,
2460 Debug,
2461 PartialEq,
2462 Eq,
2463 Hash
2464 )]
2465 #[ethcall(
2466 name = "getCumulatedRewardsIncrement",
2467 abi = "getCumulatedRewardsIncrement(address)"
2468 )]
2469 pub struct GetCumulatedRewardsIncrementCall {
2470 pub account: ::ethers::core::types::Address,
2471 }
2472 #[derive(
2474 Clone,
2475 ::ethers::contract::EthCall,
2476 ::ethers::contract::EthDisplay,
2477 serde::Serialize,
2478 serde::Deserialize,
2479 Default,
2480 Debug,
2481 PartialEq,
2482 Eq,
2483 Hash
2484 )]
2485 #[ethcall(name = "isBlockedNft", abi = "isBlockedNft(uint256)")]
2486 pub struct IsBlockedNftCall(pub ::ethers::core::types::U256);
2487 #[derive(
2489 Clone,
2490 ::ethers::contract::EthCall,
2491 ::ethers::contract::EthDisplay,
2492 serde::Serialize,
2493 serde::Deserialize,
2494 Default,
2495 Debug,
2496 PartialEq,
2497 Eq,
2498 Hash
2499 )]
2500 #[ethcall(
2501 name = "isNftTypeAndRankRedeemed1",
2502 abi = "isNftTypeAndRankRedeemed1(string,string,address)"
2503 )]
2504 pub struct IsNftTypeAndRankRedeemed1Call {
2505 pub nft_type: ::std::string::String,
2506 pub nft_rank: ::std::string::String,
2507 pub hodler: ::ethers::core::types::Address,
2508 }
2509 #[derive(
2511 Clone,
2512 ::ethers::contract::EthCall,
2513 ::ethers::contract::EthDisplay,
2514 serde::Serialize,
2515 serde::Deserialize,
2516 Default,
2517 Debug,
2518 PartialEq,
2519 Eq,
2520 Hash
2521 )]
2522 #[ethcall(
2523 name = "isNftTypeAndRankRedeemed2",
2524 abi = "isNftTypeAndRankRedeemed2(uint256,string,address)"
2525 )]
2526 pub struct IsNftTypeAndRankRedeemed2Call {
2527 pub nft_type_index: ::ethers::core::types::U256,
2528 pub nft_rank: ::std::string::String,
2529 pub hodler: ::ethers::core::types::Address,
2530 }
2531 #[derive(
2533 Clone,
2534 ::ethers::contract::EthCall,
2535 ::ethers::contract::EthDisplay,
2536 serde::Serialize,
2537 serde::Deserialize,
2538 Default,
2539 Debug,
2540 PartialEq,
2541 Eq,
2542 Hash
2543 )]
2544 #[ethcall(
2545 name = "isNftTypeAndRankRedeemed3",
2546 abi = "isNftTypeAndRankRedeemed3(uint256,uint256,address)"
2547 )]
2548 pub struct IsNftTypeAndRankRedeemed3Call {
2549 pub nft_type_index: ::ethers::core::types::U256,
2550 pub boost_numerator: ::ethers::core::types::U256,
2551 pub hodler: ::ethers::core::types::Address,
2552 }
2553 #[derive(
2555 Clone,
2556 ::ethers::contract::EthCall,
2557 ::ethers::contract::EthDisplay,
2558 serde::Serialize,
2559 serde::Deserialize,
2560 Default,
2561 Debug,
2562 PartialEq,
2563 Eq,
2564 Hash
2565 )]
2566 #[ethcall(
2567 name = "isNftTypeAndRankRedeemed4",
2568 abi = "isNftTypeAndRankRedeemed4(string,uint256,address)"
2569 )]
2570 pub struct IsNftTypeAndRankRedeemed4Call {
2571 pub nft_type: ::std::string::String,
2572 pub boost_numerator: ::ethers::core::types::U256,
2573 pub hodler: ::ethers::core::types::Address,
2574 }
2575 #[derive(
2577 Clone,
2578 ::ethers::contract::EthCall,
2579 ::ethers::contract::EthDisplay,
2580 serde::Serialize,
2581 serde::Deserialize,
2582 Default,
2583 Debug,
2584 PartialEq,
2585 Eq,
2586 Hash
2587 )]
2588 #[ethcall(
2589 name = "onERC721Received",
2590 abi = "onERC721Received(address,address,uint256,bytes)"
2591 )]
2592 pub struct OnERC721ReceivedCall {
2593 pub p0: ::ethers::core::types::Address,
2594 pub from: ::ethers::core::types::Address,
2595 pub token_id: ::ethers::core::types::U256,
2596 pub p3: ::ethers::core::types::Bytes,
2597 }
2598 #[derive(
2600 Clone,
2601 ::ethers::contract::EthCall,
2602 ::ethers::contract::EthDisplay,
2603 serde::Serialize,
2604 serde::Deserialize,
2605 Default,
2606 Debug,
2607 PartialEq,
2608 Eq,
2609 Hash
2610 )]
2611 #[ethcall(name = "onTokenTransfer", abi = "onTokenTransfer(address,uint256,bytes)")]
2612 pub struct OnTokenTransferCall {
2613 pub from: ::ethers::core::types::Address,
2614 pub value: ::ethers::core::types::U256,
2615 pub p2: ::ethers::core::types::Bytes,
2616 }
2617 #[derive(
2619 Clone,
2620 ::ethers::contract::EthCall,
2621 ::ethers::contract::EthDisplay,
2622 serde::Serialize,
2623 serde::Deserialize,
2624 Default,
2625 Debug,
2626 PartialEq,
2627 Eq,
2628 Hash
2629 )]
2630 #[ethcall(name = "owner", abi = "owner()")]
2631 pub struct OwnerCall;
2632 #[derive(
2634 Clone,
2635 ::ethers::contract::EthCall,
2636 ::ethers::contract::EthDisplay,
2637 serde::Serialize,
2638 serde::Deserialize,
2639 Default,
2640 Debug,
2641 PartialEq,
2642 Eq,
2643 Hash
2644 )]
2645 #[ethcall(
2646 name = "ownerBatchBlockNftType",
2647 abi = "ownerBatchBlockNftType(uint256[])"
2648 )]
2649 pub struct OwnerBatchBlockNftTypeCall {
2650 pub type_indexes: ::std::vec::Vec<::ethers::core::types::U256>,
2651 }
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(
2666 name = "ownerBatchUnblockNftType",
2667 abi = "ownerBatchUnblockNftType(uint256[])"
2668 )]
2669 pub struct OwnerBatchUnblockNftTypeCall {
2670 pub type_indexes: ::std::vec::Vec<::ethers::core::types::U256>,
2671 }
2672 #[derive(
2674 Clone,
2675 ::ethers::contract::EthCall,
2676 ::ethers::contract::EthDisplay,
2677 serde::Serialize,
2678 serde::Deserialize,
2679 Default,
2680 Debug,
2681 PartialEq,
2682 Eq,
2683 Hash
2684 )]
2685 #[ethcall(name = "ownerBlockNftType", abi = "ownerBlockNftType(uint256)")]
2686 pub struct OwnerBlockNftTypeCall {
2687 pub type_index: ::ethers::core::types::U256,
2688 }
2689 #[derive(
2691 Clone,
2692 ::ethers::contract::EthCall,
2693 ::ethers::contract::EthDisplay,
2694 serde::Serialize,
2695 serde::Deserialize,
2696 Default,
2697 Debug,
2698 PartialEq,
2699 Eq,
2700 Hash
2701 )]
2702 #[ethcall(name = "ownerUnblockNftType", abi = "ownerUnblockNftType(uint256)")]
2703 pub struct OwnerUnblockNftTypeCall {
2704 pub type_index: ::ethers::core::types::U256,
2705 }
2706 #[derive(
2708 Clone,
2709 ::ethers::contract::EthCall,
2710 ::ethers::contract::EthDisplay,
2711 serde::Serialize,
2712 serde::Deserialize,
2713 Default,
2714 Debug,
2715 PartialEq,
2716 Eq,
2717 Hash
2718 )]
2719 #[ethcall(name = "reclaimErc20Tokens", abi = "reclaimErc20Tokens(address)")]
2720 pub struct ReclaimErc20TokensCall {
2721 pub token_address: ::ethers::core::types::Address,
2722 }
2723 #[derive(
2725 Clone,
2726 ::ethers::contract::EthCall,
2727 ::ethers::contract::EthDisplay,
2728 serde::Serialize,
2729 serde::Deserialize,
2730 Default,
2731 Debug,
2732 PartialEq,
2733 Eq,
2734 Hash
2735 )]
2736 #[ethcall(
2737 name = "reclaimErc721Tokens",
2738 abi = "reclaimErc721Tokens(address,uint256)"
2739 )]
2740 pub struct ReclaimErc721TokensCall {
2741 pub token_address: ::ethers::core::types::Address,
2742 pub token_id: ::ethers::core::types::U256,
2743 }
2744 #[derive(
2746 Clone,
2747 ::ethers::contract::EthCall,
2748 ::ethers::contract::EthDisplay,
2749 serde::Serialize,
2750 serde::Deserialize,
2751 Default,
2752 Debug,
2753 PartialEq,
2754 Eq,
2755 Hash
2756 )]
2757 #[ethcall(name = "redeemedFactor", abi = "redeemedFactor(address,uint256)")]
2758 pub struct RedeemedFactorCall(
2759 pub ::ethers::core::types::Address,
2760 pub ::ethers::core::types::U256,
2761 );
2762 #[derive(
2764 Clone,
2765 ::ethers::contract::EthCall,
2766 ::ethers::contract::EthDisplay,
2767 serde::Serialize,
2768 serde::Deserialize,
2769 Default,
2770 Debug,
2771 PartialEq,
2772 Eq,
2773 Hash
2774 )]
2775 #[ethcall(name = "redeemedFactorIndex", abi = "redeemedFactorIndex(address)")]
2776 pub struct RedeemedFactorIndexCall(pub ::ethers::core::types::Address);
2777 #[derive(
2779 Clone,
2780 ::ethers::contract::EthCall,
2781 ::ethers::contract::EthDisplay,
2782 serde::Serialize,
2783 serde::Deserialize,
2784 Default,
2785 Debug,
2786 PartialEq,
2787 Eq,
2788 Hash
2789 )]
2790 #[ethcall(name = "redeemedNft", abi = "redeemedNft(address,uint256)")]
2791 pub struct RedeemedNftCall(
2792 pub ::ethers::core::types::Address,
2793 pub ::ethers::core::types::U256,
2794 );
2795 #[derive(
2797 Clone,
2798 ::ethers::contract::EthCall,
2799 ::ethers::contract::EthDisplay,
2800 serde::Serialize,
2801 serde::Deserialize,
2802 Default,
2803 Debug,
2804 PartialEq,
2805 Eq,
2806 Hash
2807 )]
2808 #[ethcall(name = "redeemedNftIndex", abi = "redeemedNftIndex(address)")]
2809 pub struct RedeemedNftIndexCall(pub ::ethers::core::types::Address);
2810 #[derive(
2812 Clone,
2813 ::ethers::contract::EthCall,
2814 ::ethers::contract::EthDisplay,
2815 serde::Serialize,
2816 serde::Deserialize,
2817 Default,
2818 Debug,
2819 PartialEq,
2820 Eq,
2821 Hash
2822 )]
2823 #[ethcall(name = "renounceOwnership", abi = "renounceOwnership()")]
2824 pub struct RenounceOwnershipCall;
2825 #[derive(
2827 Clone,
2828 ::ethers::contract::EthCall,
2829 ::ethers::contract::EthDisplay,
2830 serde::Serialize,
2831 serde::Deserialize,
2832 Default,
2833 Debug,
2834 PartialEq,
2835 Eq,
2836 Hash
2837 )]
2838 #[ethcall(name = "stakedHoprTokens", abi = "stakedHoprTokens(address)")]
2839 pub struct StakedHoprTokensCall {
2840 pub account: ::ethers::core::types::Address,
2841 }
2842 #[derive(
2844 Clone,
2845 ::ethers::contract::EthCall,
2846 ::ethers::contract::EthDisplay,
2847 serde::Serialize,
2848 serde::Deserialize,
2849 Default,
2850 Debug,
2851 PartialEq,
2852 Eq,
2853 Hash
2854 )]
2855 #[ethcall(name = "sync", abi = "sync(address)")]
2856 pub struct SyncCall {
2857 pub account: ::ethers::core::types::Address,
2858 }
2859 #[derive(
2861 Clone,
2862 ::ethers::contract::EthCall,
2863 ::ethers::contract::EthDisplay,
2864 serde::Serialize,
2865 serde::Deserialize,
2866 Default,
2867 Debug,
2868 PartialEq,
2869 Eq,
2870 Hash
2871 )]
2872 #[ethcall(
2873 name = "tokensReceived",
2874 abi = "tokensReceived(address,address,address,uint256,bytes,bytes)"
2875 )]
2876 pub struct TokensReceivedCall {
2877 pub p0: ::ethers::core::types::Address,
2878 pub from: ::ethers::core::types::Address,
2879 pub to: ::ethers::core::types::Address,
2880 pub amount: ::ethers::core::types::U256,
2881 pub p4: ::ethers::core::types::Bytes,
2882 pub p5: ::ethers::core::types::Bytes,
2883 }
2884 #[derive(
2886 Clone,
2887 ::ethers::contract::EthCall,
2888 ::ethers::contract::EthDisplay,
2889 serde::Serialize,
2890 serde::Deserialize,
2891 Default,
2892 Debug,
2893 PartialEq,
2894 Eq,
2895 Hash
2896 )]
2897 #[ethcall(name = "totalLocked", abi = "totalLocked()")]
2898 pub struct TotalLockedCall;
2899 #[derive(
2901 Clone,
2902 ::ethers::contract::EthCall,
2903 ::ethers::contract::EthDisplay,
2904 serde::Serialize,
2905 serde::Deserialize,
2906 Default,
2907 Debug,
2908 PartialEq,
2909 Eq,
2910 Hash
2911 )]
2912 #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")]
2913 pub struct TransferOwnershipCall {
2914 pub new_owner: ::ethers::core::types::Address,
2915 }
2916 #[derive(
2918 Clone,
2919 ::ethers::contract::EthCall,
2920 ::ethers::contract::EthDisplay,
2921 serde::Serialize,
2922 serde::Deserialize,
2923 Default,
2924 Debug,
2925 PartialEq,
2926 Eq,
2927 Hash
2928 )]
2929 #[ethcall(name = "unlock", abi = "unlock()")]
2930 pub struct UnlockCall;
2931 #[derive(
2933 Clone,
2934 ::ethers::contract::EthCall,
2935 ::ethers::contract::EthDisplay,
2936 serde::Serialize,
2937 serde::Deserialize,
2938 Default,
2939 Debug,
2940 PartialEq,
2941 Eq,
2942 Hash
2943 )]
2944 #[ethcall(name = "unlockFor", abi = "unlockFor(address)")]
2945 pub struct UnlockForCall {
2946 pub account: ::ethers::core::types::Address,
2947 }
2948 #[derive(
2950 Clone,
2951 ::ethers::contract::EthAbiType,
2952 serde::Serialize,
2953 serde::Deserialize,
2954 Debug,
2955 PartialEq,
2956 Eq,
2957 Hash
2958 )]
2959 pub enum HoprStakeSeason7Calls {
2960 BasicFactorNumerator(BasicFactorNumeratorCall),
2961 BoostCap(BoostCapCall),
2962 FactorDenominator(FactorDenominatorCall),
2963 LockToken(LockTokenCall),
2964 NftContract(NftContractCall),
2965 ProgramEnd(ProgramEndCall),
2966 ProgramStart(ProgramStartCall),
2967 RewardToken(RewardTokenCall),
2968 Accounts(AccountsCall),
2969 AvailableReward(AvailableRewardCall),
2970 BatchStakeFor(BatchStakeForCall),
2971 ClaimRewards(ClaimRewardsCall),
2972 GetCumulatedRewardsIncrement(GetCumulatedRewardsIncrementCall),
2973 IsBlockedNft(IsBlockedNftCall),
2974 IsNftTypeAndRankRedeemed1(IsNftTypeAndRankRedeemed1Call),
2975 IsNftTypeAndRankRedeemed2(IsNftTypeAndRankRedeemed2Call),
2976 IsNftTypeAndRankRedeemed3(IsNftTypeAndRankRedeemed3Call),
2977 IsNftTypeAndRankRedeemed4(IsNftTypeAndRankRedeemed4Call),
2978 OnERC721Received(OnERC721ReceivedCall),
2979 OnTokenTransfer(OnTokenTransferCall),
2980 Owner(OwnerCall),
2981 OwnerBatchBlockNftType(OwnerBatchBlockNftTypeCall),
2982 OwnerBatchUnblockNftType(OwnerBatchUnblockNftTypeCall),
2983 OwnerBlockNftType(OwnerBlockNftTypeCall),
2984 OwnerUnblockNftType(OwnerUnblockNftTypeCall),
2985 ReclaimErc20Tokens(ReclaimErc20TokensCall),
2986 ReclaimErc721Tokens(ReclaimErc721TokensCall),
2987 RedeemedFactor(RedeemedFactorCall),
2988 RedeemedFactorIndex(RedeemedFactorIndexCall),
2989 RedeemedNft(RedeemedNftCall),
2990 RedeemedNftIndex(RedeemedNftIndexCall),
2991 RenounceOwnership(RenounceOwnershipCall),
2992 StakedHoprTokens(StakedHoprTokensCall),
2993 Sync(SyncCall),
2994 TokensReceived(TokensReceivedCall),
2995 TotalLocked(TotalLockedCall),
2996 TransferOwnership(TransferOwnershipCall),
2997 Unlock(UnlockCall),
2998 UnlockFor(UnlockForCall),
2999 }
3000 impl ::ethers::core::abi::AbiDecode for HoprStakeSeason7Calls {
3001 fn decode(
3002 data: impl AsRef<[u8]>,
3003 ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
3004 let data = data.as_ref();
3005 if let Ok(decoded) = <BasicFactorNumeratorCall as ::ethers::core::abi::AbiDecode>::decode(
3006 data,
3007 ) {
3008 return Ok(Self::BasicFactorNumerator(decoded));
3009 }
3010 if let Ok(decoded) = <BoostCapCall as ::ethers::core::abi::AbiDecode>::decode(
3011 data,
3012 ) {
3013 return Ok(Self::BoostCap(decoded));
3014 }
3015 if let Ok(decoded) = <FactorDenominatorCall as ::ethers::core::abi::AbiDecode>::decode(
3016 data,
3017 ) {
3018 return Ok(Self::FactorDenominator(decoded));
3019 }
3020 if let Ok(decoded) = <LockTokenCall as ::ethers::core::abi::AbiDecode>::decode(
3021 data,
3022 ) {
3023 return Ok(Self::LockToken(decoded));
3024 }
3025 if let Ok(decoded) = <NftContractCall as ::ethers::core::abi::AbiDecode>::decode(
3026 data,
3027 ) {
3028 return Ok(Self::NftContract(decoded));
3029 }
3030 if let Ok(decoded) = <ProgramEndCall as ::ethers::core::abi::AbiDecode>::decode(
3031 data,
3032 ) {
3033 return Ok(Self::ProgramEnd(decoded));
3034 }
3035 if let Ok(decoded) = <ProgramStartCall as ::ethers::core::abi::AbiDecode>::decode(
3036 data,
3037 ) {
3038 return Ok(Self::ProgramStart(decoded));
3039 }
3040 if let Ok(decoded) = <RewardTokenCall as ::ethers::core::abi::AbiDecode>::decode(
3041 data,
3042 ) {
3043 return Ok(Self::RewardToken(decoded));
3044 }
3045 if let Ok(decoded) = <AccountsCall as ::ethers::core::abi::AbiDecode>::decode(
3046 data,
3047 ) {
3048 return Ok(Self::Accounts(decoded));
3049 }
3050 if let Ok(decoded) = <AvailableRewardCall as ::ethers::core::abi::AbiDecode>::decode(
3051 data,
3052 ) {
3053 return Ok(Self::AvailableReward(decoded));
3054 }
3055 if let Ok(decoded) = <BatchStakeForCall as ::ethers::core::abi::AbiDecode>::decode(
3056 data,
3057 ) {
3058 return Ok(Self::BatchStakeFor(decoded));
3059 }
3060 if let Ok(decoded) = <ClaimRewardsCall as ::ethers::core::abi::AbiDecode>::decode(
3061 data,
3062 ) {
3063 return Ok(Self::ClaimRewards(decoded));
3064 }
3065 if let Ok(decoded) = <GetCumulatedRewardsIncrementCall as ::ethers::core::abi::AbiDecode>::decode(
3066 data,
3067 ) {
3068 return Ok(Self::GetCumulatedRewardsIncrement(decoded));
3069 }
3070 if let Ok(decoded) = <IsBlockedNftCall as ::ethers::core::abi::AbiDecode>::decode(
3071 data,
3072 ) {
3073 return Ok(Self::IsBlockedNft(decoded));
3074 }
3075 if let Ok(decoded) = <IsNftTypeAndRankRedeemed1Call as ::ethers::core::abi::AbiDecode>::decode(
3076 data,
3077 ) {
3078 return Ok(Self::IsNftTypeAndRankRedeemed1(decoded));
3079 }
3080 if let Ok(decoded) = <IsNftTypeAndRankRedeemed2Call as ::ethers::core::abi::AbiDecode>::decode(
3081 data,
3082 ) {
3083 return Ok(Self::IsNftTypeAndRankRedeemed2(decoded));
3084 }
3085 if let Ok(decoded) = <IsNftTypeAndRankRedeemed3Call as ::ethers::core::abi::AbiDecode>::decode(
3086 data,
3087 ) {
3088 return Ok(Self::IsNftTypeAndRankRedeemed3(decoded));
3089 }
3090 if let Ok(decoded) = <IsNftTypeAndRankRedeemed4Call as ::ethers::core::abi::AbiDecode>::decode(
3091 data,
3092 ) {
3093 return Ok(Self::IsNftTypeAndRankRedeemed4(decoded));
3094 }
3095 if let Ok(decoded) = <OnERC721ReceivedCall as ::ethers::core::abi::AbiDecode>::decode(
3096 data,
3097 ) {
3098 return Ok(Self::OnERC721Received(decoded));
3099 }
3100 if let Ok(decoded) = <OnTokenTransferCall as ::ethers::core::abi::AbiDecode>::decode(
3101 data,
3102 ) {
3103 return Ok(Self::OnTokenTransfer(decoded));
3104 }
3105 if let Ok(decoded) = <OwnerCall as ::ethers::core::abi::AbiDecode>::decode(
3106 data,
3107 ) {
3108 return Ok(Self::Owner(decoded));
3109 }
3110 if let Ok(decoded) = <OwnerBatchBlockNftTypeCall as ::ethers::core::abi::AbiDecode>::decode(
3111 data,
3112 ) {
3113 return Ok(Self::OwnerBatchBlockNftType(decoded));
3114 }
3115 if let Ok(decoded) = <OwnerBatchUnblockNftTypeCall as ::ethers::core::abi::AbiDecode>::decode(
3116 data,
3117 ) {
3118 return Ok(Self::OwnerBatchUnblockNftType(decoded));
3119 }
3120 if let Ok(decoded) = <OwnerBlockNftTypeCall as ::ethers::core::abi::AbiDecode>::decode(
3121 data,
3122 ) {
3123 return Ok(Self::OwnerBlockNftType(decoded));
3124 }
3125 if let Ok(decoded) = <OwnerUnblockNftTypeCall as ::ethers::core::abi::AbiDecode>::decode(
3126 data,
3127 ) {
3128 return Ok(Self::OwnerUnblockNftType(decoded));
3129 }
3130 if let Ok(decoded) = <ReclaimErc20TokensCall as ::ethers::core::abi::AbiDecode>::decode(
3131 data,
3132 ) {
3133 return Ok(Self::ReclaimErc20Tokens(decoded));
3134 }
3135 if let Ok(decoded) = <ReclaimErc721TokensCall as ::ethers::core::abi::AbiDecode>::decode(
3136 data,
3137 ) {
3138 return Ok(Self::ReclaimErc721Tokens(decoded));
3139 }
3140 if let Ok(decoded) = <RedeemedFactorCall as ::ethers::core::abi::AbiDecode>::decode(
3141 data,
3142 ) {
3143 return Ok(Self::RedeemedFactor(decoded));
3144 }
3145 if let Ok(decoded) = <RedeemedFactorIndexCall as ::ethers::core::abi::AbiDecode>::decode(
3146 data,
3147 ) {
3148 return Ok(Self::RedeemedFactorIndex(decoded));
3149 }
3150 if let Ok(decoded) = <RedeemedNftCall as ::ethers::core::abi::AbiDecode>::decode(
3151 data,
3152 ) {
3153 return Ok(Self::RedeemedNft(decoded));
3154 }
3155 if let Ok(decoded) = <RedeemedNftIndexCall as ::ethers::core::abi::AbiDecode>::decode(
3156 data,
3157 ) {
3158 return Ok(Self::RedeemedNftIndex(decoded));
3159 }
3160 if let Ok(decoded) = <RenounceOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(
3161 data,
3162 ) {
3163 return Ok(Self::RenounceOwnership(decoded));
3164 }
3165 if let Ok(decoded) = <StakedHoprTokensCall as ::ethers::core::abi::AbiDecode>::decode(
3166 data,
3167 ) {
3168 return Ok(Self::StakedHoprTokens(decoded));
3169 }
3170 if let Ok(decoded) = <SyncCall as ::ethers::core::abi::AbiDecode>::decode(
3171 data,
3172 ) {
3173 return Ok(Self::Sync(decoded));
3174 }
3175 if let Ok(decoded) = <TokensReceivedCall as ::ethers::core::abi::AbiDecode>::decode(
3176 data,
3177 ) {
3178 return Ok(Self::TokensReceived(decoded));
3179 }
3180 if let Ok(decoded) = <TotalLockedCall as ::ethers::core::abi::AbiDecode>::decode(
3181 data,
3182 ) {
3183 return Ok(Self::TotalLocked(decoded));
3184 }
3185 if let Ok(decoded) = <TransferOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(
3186 data,
3187 ) {
3188 return Ok(Self::TransferOwnership(decoded));
3189 }
3190 if let Ok(decoded) = <UnlockCall as ::ethers::core::abi::AbiDecode>::decode(
3191 data,
3192 ) {
3193 return Ok(Self::Unlock(decoded));
3194 }
3195 if let Ok(decoded) = <UnlockForCall as ::ethers::core::abi::AbiDecode>::decode(
3196 data,
3197 ) {
3198 return Ok(Self::UnlockFor(decoded));
3199 }
3200 Err(::ethers::core::abi::Error::InvalidData.into())
3201 }
3202 }
3203 impl ::ethers::core::abi::AbiEncode for HoprStakeSeason7Calls {
3204 fn encode(self) -> Vec<u8> {
3205 match self {
3206 Self::BasicFactorNumerator(element) => {
3207 ::ethers::core::abi::AbiEncode::encode(element)
3208 }
3209 Self::BoostCap(element) => {
3210 ::ethers::core::abi::AbiEncode::encode(element)
3211 }
3212 Self::FactorDenominator(element) => {
3213 ::ethers::core::abi::AbiEncode::encode(element)
3214 }
3215 Self::LockToken(element) => {
3216 ::ethers::core::abi::AbiEncode::encode(element)
3217 }
3218 Self::NftContract(element) => {
3219 ::ethers::core::abi::AbiEncode::encode(element)
3220 }
3221 Self::ProgramEnd(element) => {
3222 ::ethers::core::abi::AbiEncode::encode(element)
3223 }
3224 Self::ProgramStart(element) => {
3225 ::ethers::core::abi::AbiEncode::encode(element)
3226 }
3227 Self::RewardToken(element) => {
3228 ::ethers::core::abi::AbiEncode::encode(element)
3229 }
3230 Self::Accounts(element) => {
3231 ::ethers::core::abi::AbiEncode::encode(element)
3232 }
3233 Self::AvailableReward(element) => {
3234 ::ethers::core::abi::AbiEncode::encode(element)
3235 }
3236 Self::BatchStakeFor(element) => {
3237 ::ethers::core::abi::AbiEncode::encode(element)
3238 }
3239 Self::ClaimRewards(element) => {
3240 ::ethers::core::abi::AbiEncode::encode(element)
3241 }
3242 Self::GetCumulatedRewardsIncrement(element) => {
3243 ::ethers::core::abi::AbiEncode::encode(element)
3244 }
3245 Self::IsBlockedNft(element) => {
3246 ::ethers::core::abi::AbiEncode::encode(element)
3247 }
3248 Self::IsNftTypeAndRankRedeemed1(element) => {
3249 ::ethers::core::abi::AbiEncode::encode(element)
3250 }
3251 Self::IsNftTypeAndRankRedeemed2(element) => {
3252 ::ethers::core::abi::AbiEncode::encode(element)
3253 }
3254 Self::IsNftTypeAndRankRedeemed3(element) => {
3255 ::ethers::core::abi::AbiEncode::encode(element)
3256 }
3257 Self::IsNftTypeAndRankRedeemed4(element) => {
3258 ::ethers::core::abi::AbiEncode::encode(element)
3259 }
3260 Self::OnERC721Received(element) => {
3261 ::ethers::core::abi::AbiEncode::encode(element)
3262 }
3263 Self::OnTokenTransfer(element) => {
3264 ::ethers::core::abi::AbiEncode::encode(element)
3265 }
3266 Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element),
3267 Self::OwnerBatchBlockNftType(element) => {
3268 ::ethers::core::abi::AbiEncode::encode(element)
3269 }
3270 Self::OwnerBatchUnblockNftType(element) => {
3271 ::ethers::core::abi::AbiEncode::encode(element)
3272 }
3273 Self::OwnerBlockNftType(element) => {
3274 ::ethers::core::abi::AbiEncode::encode(element)
3275 }
3276 Self::OwnerUnblockNftType(element) => {
3277 ::ethers::core::abi::AbiEncode::encode(element)
3278 }
3279 Self::ReclaimErc20Tokens(element) => {
3280 ::ethers::core::abi::AbiEncode::encode(element)
3281 }
3282 Self::ReclaimErc721Tokens(element) => {
3283 ::ethers::core::abi::AbiEncode::encode(element)
3284 }
3285 Self::RedeemedFactor(element) => {
3286 ::ethers::core::abi::AbiEncode::encode(element)
3287 }
3288 Self::RedeemedFactorIndex(element) => {
3289 ::ethers::core::abi::AbiEncode::encode(element)
3290 }
3291 Self::RedeemedNft(element) => {
3292 ::ethers::core::abi::AbiEncode::encode(element)
3293 }
3294 Self::RedeemedNftIndex(element) => {
3295 ::ethers::core::abi::AbiEncode::encode(element)
3296 }
3297 Self::RenounceOwnership(element) => {
3298 ::ethers::core::abi::AbiEncode::encode(element)
3299 }
3300 Self::StakedHoprTokens(element) => {
3301 ::ethers::core::abi::AbiEncode::encode(element)
3302 }
3303 Self::Sync(element) => ::ethers::core::abi::AbiEncode::encode(element),
3304 Self::TokensReceived(element) => {
3305 ::ethers::core::abi::AbiEncode::encode(element)
3306 }
3307 Self::TotalLocked(element) => {
3308 ::ethers::core::abi::AbiEncode::encode(element)
3309 }
3310 Self::TransferOwnership(element) => {
3311 ::ethers::core::abi::AbiEncode::encode(element)
3312 }
3313 Self::Unlock(element) => ::ethers::core::abi::AbiEncode::encode(element),
3314 Self::UnlockFor(element) => {
3315 ::ethers::core::abi::AbiEncode::encode(element)
3316 }
3317 }
3318 }
3319 }
3320 impl ::core::fmt::Display for HoprStakeSeason7Calls {
3321 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3322 match self {
3323 Self::BasicFactorNumerator(element) => {
3324 ::core::fmt::Display::fmt(element, f)
3325 }
3326 Self::BoostCap(element) => ::core::fmt::Display::fmt(element, f),
3327 Self::FactorDenominator(element) => ::core::fmt::Display::fmt(element, f),
3328 Self::LockToken(element) => ::core::fmt::Display::fmt(element, f),
3329 Self::NftContract(element) => ::core::fmt::Display::fmt(element, f),
3330 Self::ProgramEnd(element) => ::core::fmt::Display::fmt(element, f),
3331 Self::ProgramStart(element) => ::core::fmt::Display::fmt(element, f),
3332 Self::RewardToken(element) => ::core::fmt::Display::fmt(element, f),
3333 Self::Accounts(element) => ::core::fmt::Display::fmt(element, f),
3334 Self::AvailableReward(element) => ::core::fmt::Display::fmt(element, f),
3335 Self::BatchStakeFor(element) => ::core::fmt::Display::fmt(element, f),
3336 Self::ClaimRewards(element) => ::core::fmt::Display::fmt(element, f),
3337 Self::GetCumulatedRewardsIncrement(element) => {
3338 ::core::fmt::Display::fmt(element, f)
3339 }
3340 Self::IsBlockedNft(element) => ::core::fmt::Display::fmt(element, f),
3341 Self::IsNftTypeAndRankRedeemed1(element) => {
3342 ::core::fmt::Display::fmt(element, f)
3343 }
3344 Self::IsNftTypeAndRankRedeemed2(element) => {
3345 ::core::fmt::Display::fmt(element, f)
3346 }
3347 Self::IsNftTypeAndRankRedeemed3(element) => {
3348 ::core::fmt::Display::fmt(element, f)
3349 }
3350 Self::IsNftTypeAndRankRedeemed4(element) => {
3351 ::core::fmt::Display::fmt(element, f)
3352 }
3353 Self::OnERC721Received(element) => ::core::fmt::Display::fmt(element, f),
3354 Self::OnTokenTransfer(element) => ::core::fmt::Display::fmt(element, f),
3355 Self::Owner(element) => ::core::fmt::Display::fmt(element, f),
3356 Self::OwnerBatchBlockNftType(element) => {
3357 ::core::fmt::Display::fmt(element, f)
3358 }
3359 Self::OwnerBatchUnblockNftType(element) => {
3360 ::core::fmt::Display::fmt(element, f)
3361 }
3362 Self::OwnerBlockNftType(element) => ::core::fmt::Display::fmt(element, f),
3363 Self::OwnerUnblockNftType(element) => {
3364 ::core::fmt::Display::fmt(element, f)
3365 }
3366 Self::ReclaimErc20Tokens(element) => {
3367 ::core::fmt::Display::fmt(element, f)
3368 }
3369 Self::ReclaimErc721Tokens(element) => {
3370 ::core::fmt::Display::fmt(element, f)
3371 }
3372 Self::RedeemedFactor(element) => ::core::fmt::Display::fmt(element, f),
3373 Self::RedeemedFactorIndex(element) => {
3374 ::core::fmt::Display::fmt(element, f)
3375 }
3376 Self::RedeemedNft(element) => ::core::fmt::Display::fmt(element, f),
3377 Self::RedeemedNftIndex(element) => ::core::fmt::Display::fmt(element, f),
3378 Self::RenounceOwnership(element) => ::core::fmt::Display::fmt(element, f),
3379 Self::StakedHoprTokens(element) => ::core::fmt::Display::fmt(element, f),
3380 Self::Sync(element) => ::core::fmt::Display::fmt(element, f),
3381 Self::TokensReceived(element) => ::core::fmt::Display::fmt(element, f),
3382 Self::TotalLocked(element) => ::core::fmt::Display::fmt(element, f),
3383 Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f),
3384 Self::Unlock(element) => ::core::fmt::Display::fmt(element, f),
3385 Self::UnlockFor(element) => ::core::fmt::Display::fmt(element, f),
3386 }
3387 }
3388 }
3389 impl ::core::convert::From<BasicFactorNumeratorCall> for HoprStakeSeason7Calls {
3390 fn from(value: BasicFactorNumeratorCall) -> Self {
3391 Self::BasicFactorNumerator(value)
3392 }
3393 }
3394 impl ::core::convert::From<BoostCapCall> for HoprStakeSeason7Calls {
3395 fn from(value: BoostCapCall) -> Self {
3396 Self::BoostCap(value)
3397 }
3398 }
3399 impl ::core::convert::From<FactorDenominatorCall> for HoprStakeSeason7Calls {
3400 fn from(value: FactorDenominatorCall) -> Self {
3401 Self::FactorDenominator(value)
3402 }
3403 }
3404 impl ::core::convert::From<LockTokenCall> for HoprStakeSeason7Calls {
3405 fn from(value: LockTokenCall) -> Self {
3406 Self::LockToken(value)
3407 }
3408 }
3409 impl ::core::convert::From<NftContractCall> for HoprStakeSeason7Calls {
3410 fn from(value: NftContractCall) -> Self {
3411 Self::NftContract(value)
3412 }
3413 }
3414 impl ::core::convert::From<ProgramEndCall> for HoprStakeSeason7Calls {
3415 fn from(value: ProgramEndCall) -> Self {
3416 Self::ProgramEnd(value)
3417 }
3418 }
3419 impl ::core::convert::From<ProgramStartCall> for HoprStakeSeason7Calls {
3420 fn from(value: ProgramStartCall) -> Self {
3421 Self::ProgramStart(value)
3422 }
3423 }
3424 impl ::core::convert::From<RewardTokenCall> for HoprStakeSeason7Calls {
3425 fn from(value: RewardTokenCall) -> Self {
3426 Self::RewardToken(value)
3427 }
3428 }
3429 impl ::core::convert::From<AccountsCall> for HoprStakeSeason7Calls {
3430 fn from(value: AccountsCall) -> Self {
3431 Self::Accounts(value)
3432 }
3433 }
3434 impl ::core::convert::From<AvailableRewardCall> for HoprStakeSeason7Calls {
3435 fn from(value: AvailableRewardCall) -> Self {
3436 Self::AvailableReward(value)
3437 }
3438 }
3439 impl ::core::convert::From<BatchStakeForCall> for HoprStakeSeason7Calls {
3440 fn from(value: BatchStakeForCall) -> Self {
3441 Self::BatchStakeFor(value)
3442 }
3443 }
3444 impl ::core::convert::From<ClaimRewardsCall> for HoprStakeSeason7Calls {
3445 fn from(value: ClaimRewardsCall) -> Self {
3446 Self::ClaimRewards(value)
3447 }
3448 }
3449 impl ::core::convert::From<GetCumulatedRewardsIncrementCall>
3450 for HoprStakeSeason7Calls {
3451 fn from(value: GetCumulatedRewardsIncrementCall) -> Self {
3452 Self::GetCumulatedRewardsIncrement(value)
3453 }
3454 }
3455 impl ::core::convert::From<IsBlockedNftCall> for HoprStakeSeason7Calls {
3456 fn from(value: IsBlockedNftCall) -> Self {
3457 Self::IsBlockedNft(value)
3458 }
3459 }
3460 impl ::core::convert::From<IsNftTypeAndRankRedeemed1Call> for HoprStakeSeason7Calls {
3461 fn from(value: IsNftTypeAndRankRedeemed1Call) -> Self {
3462 Self::IsNftTypeAndRankRedeemed1(value)
3463 }
3464 }
3465 impl ::core::convert::From<IsNftTypeAndRankRedeemed2Call> for HoprStakeSeason7Calls {
3466 fn from(value: IsNftTypeAndRankRedeemed2Call) -> Self {
3467 Self::IsNftTypeAndRankRedeemed2(value)
3468 }
3469 }
3470 impl ::core::convert::From<IsNftTypeAndRankRedeemed3Call> for HoprStakeSeason7Calls {
3471 fn from(value: IsNftTypeAndRankRedeemed3Call) -> Self {
3472 Self::IsNftTypeAndRankRedeemed3(value)
3473 }
3474 }
3475 impl ::core::convert::From<IsNftTypeAndRankRedeemed4Call> for HoprStakeSeason7Calls {
3476 fn from(value: IsNftTypeAndRankRedeemed4Call) -> Self {
3477 Self::IsNftTypeAndRankRedeemed4(value)
3478 }
3479 }
3480 impl ::core::convert::From<OnERC721ReceivedCall> for HoprStakeSeason7Calls {
3481 fn from(value: OnERC721ReceivedCall) -> Self {
3482 Self::OnERC721Received(value)
3483 }
3484 }
3485 impl ::core::convert::From<OnTokenTransferCall> for HoprStakeSeason7Calls {
3486 fn from(value: OnTokenTransferCall) -> Self {
3487 Self::OnTokenTransfer(value)
3488 }
3489 }
3490 impl ::core::convert::From<OwnerCall> for HoprStakeSeason7Calls {
3491 fn from(value: OwnerCall) -> Self {
3492 Self::Owner(value)
3493 }
3494 }
3495 impl ::core::convert::From<OwnerBatchBlockNftTypeCall> for HoprStakeSeason7Calls {
3496 fn from(value: OwnerBatchBlockNftTypeCall) -> Self {
3497 Self::OwnerBatchBlockNftType(value)
3498 }
3499 }
3500 impl ::core::convert::From<OwnerBatchUnblockNftTypeCall> for HoprStakeSeason7Calls {
3501 fn from(value: OwnerBatchUnblockNftTypeCall) -> Self {
3502 Self::OwnerBatchUnblockNftType(value)
3503 }
3504 }
3505 impl ::core::convert::From<OwnerBlockNftTypeCall> for HoprStakeSeason7Calls {
3506 fn from(value: OwnerBlockNftTypeCall) -> Self {
3507 Self::OwnerBlockNftType(value)
3508 }
3509 }
3510 impl ::core::convert::From<OwnerUnblockNftTypeCall> for HoprStakeSeason7Calls {
3511 fn from(value: OwnerUnblockNftTypeCall) -> Self {
3512 Self::OwnerUnblockNftType(value)
3513 }
3514 }
3515 impl ::core::convert::From<ReclaimErc20TokensCall> for HoprStakeSeason7Calls {
3516 fn from(value: ReclaimErc20TokensCall) -> Self {
3517 Self::ReclaimErc20Tokens(value)
3518 }
3519 }
3520 impl ::core::convert::From<ReclaimErc721TokensCall> for HoprStakeSeason7Calls {
3521 fn from(value: ReclaimErc721TokensCall) -> Self {
3522 Self::ReclaimErc721Tokens(value)
3523 }
3524 }
3525 impl ::core::convert::From<RedeemedFactorCall> for HoprStakeSeason7Calls {
3526 fn from(value: RedeemedFactorCall) -> Self {
3527 Self::RedeemedFactor(value)
3528 }
3529 }
3530 impl ::core::convert::From<RedeemedFactorIndexCall> for HoprStakeSeason7Calls {
3531 fn from(value: RedeemedFactorIndexCall) -> Self {
3532 Self::RedeemedFactorIndex(value)
3533 }
3534 }
3535 impl ::core::convert::From<RedeemedNftCall> for HoprStakeSeason7Calls {
3536 fn from(value: RedeemedNftCall) -> Self {
3537 Self::RedeemedNft(value)
3538 }
3539 }
3540 impl ::core::convert::From<RedeemedNftIndexCall> for HoprStakeSeason7Calls {
3541 fn from(value: RedeemedNftIndexCall) -> Self {
3542 Self::RedeemedNftIndex(value)
3543 }
3544 }
3545 impl ::core::convert::From<RenounceOwnershipCall> for HoprStakeSeason7Calls {
3546 fn from(value: RenounceOwnershipCall) -> Self {
3547 Self::RenounceOwnership(value)
3548 }
3549 }
3550 impl ::core::convert::From<StakedHoprTokensCall> for HoprStakeSeason7Calls {
3551 fn from(value: StakedHoprTokensCall) -> Self {
3552 Self::StakedHoprTokens(value)
3553 }
3554 }
3555 impl ::core::convert::From<SyncCall> for HoprStakeSeason7Calls {
3556 fn from(value: SyncCall) -> Self {
3557 Self::Sync(value)
3558 }
3559 }
3560 impl ::core::convert::From<TokensReceivedCall> for HoprStakeSeason7Calls {
3561 fn from(value: TokensReceivedCall) -> Self {
3562 Self::TokensReceived(value)
3563 }
3564 }
3565 impl ::core::convert::From<TotalLockedCall> for HoprStakeSeason7Calls {
3566 fn from(value: TotalLockedCall) -> Self {
3567 Self::TotalLocked(value)
3568 }
3569 }
3570 impl ::core::convert::From<TransferOwnershipCall> for HoprStakeSeason7Calls {
3571 fn from(value: TransferOwnershipCall) -> Self {
3572 Self::TransferOwnership(value)
3573 }
3574 }
3575 impl ::core::convert::From<UnlockCall> for HoprStakeSeason7Calls {
3576 fn from(value: UnlockCall) -> Self {
3577 Self::Unlock(value)
3578 }
3579 }
3580 impl ::core::convert::From<UnlockForCall> for HoprStakeSeason7Calls {
3581 fn from(value: UnlockForCall) -> Self {
3582 Self::UnlockFor(value)
3583 }
3584 }
3585 #[derive(
3587 Clone,
3588 ::ethers::contract::EthAbiType,
3589 ::ethers::contract::EthAbiCodec,
3590 serde::Serialize,
3591 serde::Deserialize,
3592 Default,
3593 Debug,
3594 PartialEq,
3595 Eq,
3596 Hash
3597 )]
3598 pub struct BasicFactorNumeratorReturn(pub ::ethers::core::types::U256);
3599 #[derive(
3601 Clone,
3602 ::ethers::contract::EthAbiType,
3603 ::ethers::contract::EthAbiCodec,
3604 serde::Serialize,
3605 serde::Deserialize,
3606 Default,
3607 Debug,
3608 PartialEq,
3609 Eq,
3610 Hash
3611 )]
3612 pub struct BoostCapReturn(pub ::ethers::core::types::U256);
3613 #[derive(
3615 Clone,
3616 ::ethers::contract::EthAbiType,
3617 ::ethers::contract::EthAbiCodec,
3618 serde::Serialize,
3619 serde::Deserialize,
3620 Default,
3621 Debug,
3622 PartialEq,
3623 Eq,
3624 Hash
3625 )]
3626 pub struct FactorDenominatorReturn(pub ::ethers::core::types::U256);
3627 #[derive(
3629 Clone,
3630 ::ethers::contract::EthAbiType,
3631 ::ethers::contract::EthAbiCodec,
3632 serde::Serialize,
3633 serde::Deserialize,
3634 Default,
3635 Debug,
3636 PartialEq,
3637 Eq,
3638 Hash
3639 )]
3640 pub struct LockTokenReturn(pub ::ethers::core::types::Address);
3641 #[derive(
3643 Clone,
3644 ::ethers::contract::EthAbiType,
3645 ::ethers::contract::EthAbiCodec,
3646 serde::Serialize,
3647 serde::Deserialize,
3648 Default,
3649 Debug,
3650 PartialEq,
3651 Eq,
3652 Hash
3653 )]
3654 pub struct NftContractReturn(pub ::ethers::core::types::Address);
3655 #[derive(
3657 Clone,
3658 ::ethers::contract::EthAbiType,
3659 ::ethers::contract::EthAbiCodec,
3660 serde::Serialize,
3661 serde::Deserialize,
3662 Default,
3663 Debug,
3664 PartialEq,
3665 Eq,
3666 Hash
3667 )]
3668 pub struct ProgramEndReturn(pub ::ethers::core::types::U256);
3669 #[derive(
3671 Clone,
3672 ::ethers::contract::EthAbiType,
3673 ::ethers::contract::EthAbiCodec,
3674 serde::Serialize,
3675 serde::Deserialize,
3676 Default,
3677 Debug,
3678 PartialEq,
3679 Eq,
3680 Hash
3681 )]
3682 pub struct ProgramStartReturn(pub ::ethers::core::types::U256);
3683 #[derive(
3685 Clone,
3686 ::ethers::contract::EthAbiType,
3687 ::ethers::contract::EthAbiCodec,
3688 serde::Serialize,
3689 serde::Deserialize,
3690 Default,
3691 Debug,
3692 PartialEq,
3693 Eq,
3694 Hash
3695 )]
3696 pub struct RewardTokenReturn(pub ::ethers::core::types::Address);
3697 #[derive(
3699 Clone,
3700 ::ethers::contract::EthAbiType,
3701 ::ethers::contract::EthAbiCodec,
3702 serde::Serialize,
3703 serde::Deserialize,
3704 Default,
3705 Debug,
3706 PartialEq,
3707 Eq,
3708 Hash
3709 )]
3710 pub struct AccountsReturn {
3711 pub actual_locked_token_amount: ::ethers::core::types::U256,
3712 pub last_sync_timestamp: ::ethers::core::types::U256,
3713 pub cumulated_rewards: ::ethers::core::types::U256,
3714 pub claimed_rewards: ::ethers::core::types::U256,
3715 }
3716 #[derive(
3718 Clone,
3719 ::ethers::contract::EthAbiType,
3720 ::ethers::contract::EthAbiCodec,
3721 serde::Serialize,
3722 serde::Deserialize,
3723 Default,
3724 Debug,
3725 PartialEq,
3726 Eq,
3727 Hash
3728 )]
3729 pub struct AvailableRewardReturn(pub ::ethers::core::types::U256);
3730 #[derive(
3732 Clone,
3733 ::ethers::contract::EthAbiType,
3734 ::ethers::contract::EthAbiCodec,
3735 serde::Serialize,
3736 serde::Deserialize,
3737 Default,
3738 Debug,
3739 PartialEq,
3740 Eq,
3741 Hash
3742 )]
3743 pub struct GetCumulatedRewardsIncrementReturn(pub ::ethers::core::types::U256);
3744 #[derive(
3746 Clone,
3747 ::ethers::contract::EthAbiType,
3748 ::ethers::contract::EthAbiCodec,
3749 serde::Serialize,
3750 serde::Deserialize,
3751 Default,
3752 Debug,
3753 PartialEq,
3754 Eq,
3755 Hash
3756 )]
3757 pub struct IsBlockedNftReturn(pub bool);
3758 #[derive(
3760 Clone,
3761 ::ethers::contract::EthAbiType,
3762 ::ethers::contract::EthAbiCodec,
3763 serde::Serialize,
3764 serde::Deserialize,
3765 Default,
3766 Debug,
3767 PartialEq,
3768 Eq,
3769 Hash
3770 )]
3771 pub struct IsNftTypeAndRankRedeemed1Return(pub bool);
3772 #[derive(
3774 Clone,
3775 ::ethers::contract::EthAbiType,
3776 ::ethers::contract::EthAbiCodec,
3777 serde::Serialize,
3778 serde::Deserialize,
3779 Default,
3780 Debug,
3781 PartialEq,
3782 Eq,
3783 Hash
3784 )]
3785 pub struct IsNftTypeAndRankRedeemed2Return(pub bool);
3786 #[derive(
3788 Clone,
3789 ::ethers::contract::EthAbiType,
3790 ::ethers::contract::EthAbiCodec,
3791 serde::Serialize,
3792 serde::Deserialize,
3793 Default,
3794 Debug,
3795 PartialEq,
3796 Eq,
3797 Hash
3798 )]
3799 pub struct IsNftTypeAndRankRedeemed3Return(pub bool);
3800 #[derive(
3802 Clone,
3803 ::ethers::contract::EthAbiType,
3804 ::ethers::contract::EthAbiCodec,
3805 serde::Serialize,
3806 serde::Deserialize,
3807 Default,
3808 Debug,
3809 PartialEq,
3810 Eq,
3811 Hash
3812 )]
3813 pub struct IsNftTypeAndRankRedeemed4Return(pub bool);
3814 #[derive(
3816 Clone,
3817 ::ethers::contract::EthAbiType,
3818 ::ethers::contract::EthAbiCodec,
3819 serde::Serialize,
3820 serde::Deserialize,
3821 Default,
3822 Debug,
3823 PartialEq,
3824 Eq,
3825 Hash
3826 )]
3827 pub struct OnERC721ReceivedReturn(pub [u8; 4]);
3828 #[derive(
3830 Clone,
3831 ::ethers::contract::EthAbiType,
3832 ::ethers::contract::EthAbiCodec,
3833 serde::Serialize,
3834 serde::Deserialize,
3835 Default,
3836 Debug,
3837 PartialEq,
3838 Eq,
3839 Hash
3840 )]
3841 pub struct OnTokenTransferReturn(pub bool);
3842 #[derive(
3844 Clone,
3845 ::ethers::contract::EthAbiType,
3846 ::ethers::contract::EthAbiCodec,
3847 serde::Serialize,
3848 serde::Deserialize,
3849 Default,
3850 Debug,
3851 PartialEq,
3852 Eq,
3853 Hash
3854 )]
3855 pub struct OwnerReturn(pub ::ethers::core::types::Address);
3856 #[derive(
3858 Clone,
3859 ::ethers::contract::EthAbiType,
3860 ::ethers::contract::EthAbiCodec,
3861 serde::Serialize,
3862 serde::Deserialize,
3863 Default,
3864 Debug,
3865 PartialEq,
3866 Eq,
3867 Hash
3868 )]
3869 pub struct RedeemedFactorReturn(pub ::ethers::core::types::U256);
3870 #[derive(
3872 Clone,
3873 ::ethers::contract::EthAbiType,
3874 ::ethers::contract::EthAbiCodec,
3875 serde::Serialize,
3876 serde::Deserialize,
3877 Default,
3878 Debug,
3879 PartialEq,
3880 Eq,
3881 Hash
3882 )]
3883 pub struct RedeemedFactorIndexReturn(pub ::ethers::core::types::U256);
3884 #[derive(
3886 Clone,
3887 ::ethers::contract::EthAbiType,
3888 ::ethers::contract::EthAbiCodec,
3889 serde::Serialize,
3890 serde::Deserialize,
3891 Default,
3892 Debug,
3893 PartialEq,
3894 Eq,
3895 Hash
3896 )]
3897 pub struct RedeemedNftReturn(pub ::ethers::core::types::U256);
3898 #[derive(
3900 Clone,
3901 ::ethers::contract::EthAbiType,
3902 ::ethers::contract::EthAbiCodec,
3903 serde::Serialize,
3904 serde::Deserialize,
3905 Default,
3906 Debug,
3907 PartialEq,
3908 Eq,
3909 Hash
3910 )]
3911 pub struct RedeemedNftIndexReturn(pub ::ethers::core::types::U256);
3912 #[derive(
3914 Clone,
3915 ::ethers::contract::EthAbiType,
3916 ::ethers::contract::EthAbiCodec,
3917 serde::Serialize,
3918 serde::Deserialize,
3919 Default,
3920 Debug,
3921 PartialEq,
3922 Eq,
3923 Hash
3924 )]
3925 pub struct StakedHoprTokensReturn(pub ::ethers::core::types::U256);
3926 #[derive(
3928 Clone,
3929 ::ethers::contract::EthAbiType,
3930 ::ethers::contract::EthAbiCodec,
3931 serde::Serialize,
3932 serde::Deserialize,
3933 Default,
3934 Debug,
3935 PartialEq,
3936 Eq,
3937 Hash
3938 )]
3939 pub struct TotalLockedReturn(pub ::ethers::core::types::U256);
3940}