1pub use hopr_staking_proxy_for_network_registry::*;
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_staking_proxy_for_network_registry {
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("_stakeContract"),
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("_newOwner"),
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("_minStake"),
34 kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
35 internal_type: ::core::option::Option::Some(
36 ::std::borrow::ToOwned::to_owned("uint256"),
37 ),
38 },
39 ],
40 }),
41 functions: ::core::convert::From::from([
42 (
43 ::std::borrow::ToOwned::to_owned("canOperateFor"),
44 ::std::vec![
45 ::ethers::core::abi::ethabi::Function {
46 name: ::std::borrow::ToOwned::to_owned("canOperateFor"),
47 inputs: ::std::vec![
48 ::ethers::core::abi::ethabi::Param {
49 name: ::std::string::String::new(),
50 kind: ::ethers::core::abi::ethabi::ParamType::Address,
51 internal_type: ::core::option::Option::Some(
52 ::std::borrow::ToOwned::to_owned("address"),
53 ),
54 },
55 ::ethers::core::abi::ethabi::Param {
56 name: ::std::string::String::new(),
57 kind: ::ethers::core::abi::ethabi::ParamType::Address,
58 internal_type: ::core::option::Option::Some(
59 ::std::borrow::ToOwned::to_owned("address"),
60 ),
61 },
62 ],
63 outputs: ::std::vec![
64 ::ethers::core::abi::ethabi::Param {
65 name: ::std::borrow::ToOwned::to_owned("eligiblity"),
66 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
67 internal_type: ::core::option::Option::Some(
68 ::std::borrow::ToOwned::to_owned("bool"),
69 ),
70 },
71 ],
72 constant: ::core::option::Option::None,
73 state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure,
74 },
75 ],
76 ),
77 (
78 ::std::borrow::ToOwned::to_owned("eligibleNftTypeAndRank"),
79 ::std::vec![
80 ::ethers::core::abi::ethabi::Function {
81 name: ::std::borrow::ToOwned::to_owned(
82 "eligibleNftTypeAndRank",
83 ),
84 inputs: ::std::vec![
85 ::ethers::core::abi::ethabi::Param {
86 name: ::std::string::String::new(),
87 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
88 256usize,
89 ),
90 internal_type: ::core::option::Option::Some(
91 ::std::borrow::ToOwned::to_owned("uint256"),
92 ),
93 },
94 ],
95 outputs: ::std::vec![
96 ::ethers::core::abi::ethabi::Param {
97 name: ::std::borrow::ToOwned::to_owned("nftType"),
98 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
99 256usize,
100 ),
101 internal_type: ::core::option::Option::Some(
102 ::std::borrow::ToOwned::to_owned("uint256"),
103 ),
104 },
105 ::ethers::core::abi::ethabi::Param {
106 name: ::std::borrow::ToOwned::to_owned("nftRank"),
107 kind: ::ethers::core::abi::ethabi::ParamType::String,
108 internal_type: ::core::option::Option::Some(
109 ::std::borrow::ToOwned::to_owned("string"),
110 ),
111 },
112 ],
113 constant: ::core::option::Option::None,
114 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
115 },
116 ],
117 ),
118 (
119 ::std::borrow::ToOwned::to_owned("maxAllowedRegistrations"),
120 ::std::vec![
121 ::ethers::core::abi::ethabi::Function {
122 name: ::std::borrow::ToOwned::to_owned(
123 "maxAllowedRegistrations",
124 ),
125 inputs: ::std::vec![
126 ::ethers::core::abi::ethabi::Param {
127 name: ::std::borrow::ToOwned::to_owned("account"),
128 kind: ::ethers::core::abi::ethabi::ParamType::Address,
129 internal_type: ::core::option::Option::Some(
130 ::std::borrow::ToOwned::to_owned("address"),
131 ),
132 },
133 ],
134 outputs: ::std::vec![
135 ::ethers::core::abi::ethabi::Param {
136 name: ::std::string::String::new(),
137 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
138 256usize,
139 ),
140 internal_type: ::core::option::Option::Some(
141 ::std::borrow::ToOwned::to_owned("uint256"),
142 ),
143 },
144 ],
145 constant: ::core::option::Option::None,
146 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
147 },
148 ],
149 ),
150 (
151 ::std::borrow::ToOwned::to_owned("maxRegistrationsPerSpecialNft"),
152 ::std::vec![
153 ::ethers::core::abi::ethabi::Function {
154 name: ::std::borrow::ToOwned::to_owned(
155 "maxRegistrationsPerSpecialNft",
156 ),
157 inputs: ::std::vec![
158 ::ethers::core::abi::ethabi::Param {
159 name: ::std::string::String::new(),
160 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
161 256usize,
162 ),
163 internal_type: ::core::option::Option::Some(
164 ::std::borrow::ToOwned::to_owned("uint256"),
165 ),
166 },
167 ],
168 outputs: ::std::vec![
169 ::ethers::core::abi::ethabi::Param {
170 name: ::std::string::String::new(),
171 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
172 256usize,
173 ),
174 internal_type: ::core::option::Option::Some(
175 ::std::borrow::ToOwned::to_owned("uint256"),
176 ),
177 },
178 ],
179 constant: ::core::option::Option::None,
180 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
181 },
182 ],
183 ),
184 (
185 ::std::borrow::ToOwned::to_owned("owner"),
186 ::std::vec![
187 ::ethers::core::abi::ethabi::Function {
188 name: ::std::borrow::ToOwned::to_owned("owner"),
189 inputs: ::std::vec![],
190 outputs: ::std::vec![
191 ::ethers::core::abi::ethabi::Param {
192 name: ::std::string::String::new(),
193 kind: ::ethers::core::abi::ethabi::ParamType::Address,
194 internal_type: ::core::option::Option::Some(
195 ::std::borrow::ToOwned::to_owned("address"),
196 ),
197 },
198 ],
199 constant: ::core::option::Option::None,
200 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
201 },
202 ],
203 ),
204 (
205 ::std::borrow::ToOwned::to_owned("ownerAddNftTypeAndRank"),
206 ::std::vec![
207 ::ethers::core::abi::ethabi::Function {
208 name: ::std::borrow::ToOwned::to_owned(
209 "ownerAddNftTypeAndRank",
210 ),
211 inputs: ::std::vec![
212 ::ethers::core::abi::ethabi::Param {
213 name: ::std::borrow::ToOwned::to_owned("nftType"),
214 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
215 256usize,
216 ),
217 internal_type: ::core::option::Option::Some(
218 ::std::borrow::ToOwned::to_owned("uint256"),
219 ),
220 },
221 ::ethers::core::abi::ethabi::Param {
222 name: ::std::borrow::ToOwned::to_owned("nftRank"),
223 kind: ::ethers::core::abi::ethabi::ParamType::String,
224 internal_type: ::core::option::Option::Some(
225 ::std::borrow::ToOwned::to_owned("string"),
226 ),
227 },
228 ],
229 outputs: ::std::vec![],
230 constant: ::core::option::Option::None,
231 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
232 },
233 ],
234 ),
235 (
236 ::std::borrow::ToOwned::to_owned("ownerBatchAddNftTypeAndRank"),
237 ::std::vec![
238 ::ethers::core::abi::ethabi::Function {
239 name: ::std::borrow::ToOwned::to_owned(
240 "ownerBatchAddNftTypeAndRank",
241 ),
242 inputs: ::std::vec![
243 ::ethers::core::abi::ethabi::Param {
244 name: ::std::borrow::ToOwned::to_owned("nftTypes"),
245 kind: ::ethers::core::abi::ethabi::ParamType::Array(
246 ::std::boxed::Box::new(
247 ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
248 ),
249 ),
250 internal_type: ::core::option::Option::Some(
251 ::std::borrow::ToOwned::to_owned("uint256[]"),
252 ),
253 },
254 ::ethers::core::abi::ethabi::Param {
255 name: ::std::borrow::ToOwned::to_owned("nftRanks"),
256 kind: ::ethers::core::abi::ethabi::ParamType::Array(
257 ::std::boxed::Box::new(
258 ::ethers::core::abi::ethabi::ParamType::String,
259 ),
260 ),
261 internal_type: ::core::option::Option::Some(
262 ::std::borrow::ToOwned::to_owned("string[]"),
263 ),
264 },
265 ],
266 outputs: ::std::vec![],
267 constant: ::core::option::Option::None,
268 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
269 },
270 ],
271 ),
272 (
273 ::std::borrow::ToOwned::to_owned(
274 "ownerBatchAddSpecialNftTypeAndRank",
275 ),
276 ::std::vec![
277 ::ethers::core::abi::ethabi::Function {
278 name: ::std::borrow::ToOwned::to_owned(
279 "ownerBatchAddSpecialNftTypeAndRank",
280 ),
281 inputs: ::std::vec![
282 ::ethers::core::abi::ethabi::Param {
283 name: ::std::borrow::ToOwned::to_owned("nftTypes"),
284 kind: ::ethers::core::abi::ethabi::ParamType::Array(
285 ::std::boxed::Box::new(
286 ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
287 ),
288 ),
289 internal_type: ::core::option::Option::Some(
290 ::std::borrow::ToOwned::to_owned("uint256[]"),
291 ),
292 },
293 ::ethers::core::abi::ethabi::Param {
294 name: ::std::borrow::ToOwned::to_owned("nftRanks"),
295 kind: ::ethers::core::abi::ethabi::ParamType::Array(
296 ::std::boxed::Box::new(
297 ::ethers::core::abi::ethabi::ParamType::String,
298 ),
299 ),
300 internal_type: ::core::option::Option::Some(
301 ::std::borrow::ToOwned::to_owned("string[]"),
302 ),
303 },
304 ::ethers::core::abi::ethabi::Param {
305 name: ::std::borrow::ToOwned::to_owned("maxRegistrations"),
306 kind: ::ethers::core::abi::ethabi::ParamType::Array(
307 ::std::boxed::Box::new(
308 ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
309 ),
310 ),
311 internal_type: ::core::option::Option::Some(
312 ::std::borrow::ToOwned::to_owned("uint256[]"),
313 ),
314 },
315 ],
316 outputs: ::std::vec![],
317 constant: ::core::option::Option::None,
318 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
319 },
320 ],
321 ),
322 (
323 ::std::borrow::ToOwned::to_owned("ownerBatchRemoveNftTypeAndRank"),
324 ::std::vec![
325 ::ethers::core::abi::ethabi::Function {
326 name: ::std::borrow::ToOwned::to_owned(
327 "ownerBatchRemoveNftTypeAndRank",
328 ),
329 inputs: ::std::vec![
330 ::ethers::core::abi::ethabi::Param {
331 name: ::std::borrow::ToOwned::to_owned("nftTypes"),
332 kind: ::ethers::core::abi::ethabi::ParamType::Array(
333 ::std::boxed::Box::new(
334 ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
335 ),
336 ),
337 internal_type: ::core::option::Option::Some(
338 ::std::borrow::ToOwned::to_owned("uint256[]"),
339 ),
340 },
341 ::ethers::core::abi::ethabi::Param {
342 name: ::std::borrow::ToOwned::to_owned("nftRanks"),
343 kind: ::ethers::core::abi::ethabi::ParamType::Array(
344 ::std::boxed::Box::new(
345 ::ethers::core::abi::ethabi::ParamType::String,
346 ),
347 ),
348 internal_type: ::core::option::Option::Some(
349 ::std::borrow::ToOwned::to_owned("string[]"),
350 ),
351 },
352 ],
353 outputs: ::std::vec![],
354 constant: ::core::option::Option::None,
355 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
356 },
357 ],
358 ),
359 (
360 ::std::borrow::ToOwned::to_owned(
361 "ownerBatchRemoveSpecialNftTypeAndRank",
362 ),
363 ::std::vec![
364 ::ethers::core::abi::ethabi::Function {
365 name: ::std::borrow::ToOwned::to_owned(
366 "ownerBatchRemoveSpecialNftTypeAndRank",
367 ),
368 inputs: ::std::vec![
369 ::ethers::core::abi::ethabi::Param {
370 name: ::std::borrow::ToOwned::to_owned("nftTypes"),
371 kind: ::ethers::core::abi::ethabi::ParamType::Array(
372 ::std::boxed::Box::new(
373 ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
374 ),
375 ),
376 internal_type: ::core::option::Option::Some(
377 ::std::borrow::ToOwned::to_owned("uint256[]"),
378 ),
379 },
380 ::ethers::core::abi::ethabi::Param {
381 name: ::std::borrow::ToOwned::to_owned("nftRanks"),
382 kind: ::ethers::core::abi::ethabi::ParamType::Array(
383 ::std::boxed::Box::new(
384 ::ethers::core::abi::ethabi::ParamType::String,
385 ),
386 ),
387 internal_type: ::core::option::Option::Some(
388 ::std::borrow::ToOwned::to_owned("string[]"),
389 ),
390 },
391 ],
392 outputs: ::std::vec![],
393 constant: ::core::option::Option::None,
394 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
395 },
396 ],
397 ),
398 (
399 ::std::borrow::ToOwned::to_owned("ownerRemoveNftTypeAndRank"),
400 ::std::vec![
401 ::ethers::core::abi::ethabi::Function {
402 name: ::std::borrow::ToOwned::to_owned(
403 "ownerRemoveNftTypeAndRank",
404 ),
405 inputs: ::std::vec![
406 ::ethers::core::abi::ethabi::Param {
407 name: ::std::borrow::ToOwned::to_owned("nftType"),
408 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
409 256usize,
410 ),
411 internal_type: ::core::option::Option::Some(
412 ::std::borrow::ToOwned::to_owned("uint256"),
413 ),
414 },
415 ::ethers::core::abi::ethabi::Param {
416 name: ::std::borrow::ToOwned::to_owned("nftRank"),
417 kind: ::ethers::core::abi::ethabi::ParamType::String,
418 internal_type: ::core::option::Option::Some(
419 ::std::borrow::ToOwned::to_owned("string"),
420 ),
421 },
422 ],
423 outputs: ::std::vec![],
424 constant: ::core::option::Option::None,
425 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
426 },
427 ],
428 ),
429 (
430 ::std::borrow::ToOwned::to_owned("ownerUpdateThreshold"),
431 ::std::vec![
432 ::ethers::core::abi::ethabi::Function {
433 name: ::std::borrow::ToOwned::to_owned(
434 "ownerUpdateThreshold",
435 ),
436 inputs: ::std::vec![
437 ::ethers::core::abi::ethabi::Param {
438 name: ::std::borrow::ToOwned::to_owned("newThreshold"),
439 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
440 256usize,
441 ),
442 internal_type: ::core::option::Option::Some(
443 ::std::borrow::ToOwned::to_owned("uint256"),
444 ),
445 },
446 ],
447 outputs: ::std::vec![],
448 constant: ::core::option::Option::None,
449 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
450 },
451 ],
452 ),
453 (
454 ::std::borrow::ToOwned::to_owned("renounceOwnership"),
455 ::std::vec![
456 ::ethers::core::abi::ethabi::Function {
457 name: ::std::borrow::ToOwned::to_owned("renounceOwnership"),
458 inputs: ::std::vec![],
459 outputs: ::std::vec![],
460 constant: ::core::option::Option::None,
461 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
462 },
463 ],
464 ),
465 (
466 ::std::borrow::ToOwned::to_owned("specialNftTypeAndRank"),
467 ::std::vec![
468 ::ethers::core::abi::ethabi::Function {
469 name: ::std::borrow::ToOwned::to_owned(
470 "specialNftTypeAndRank",
471 ),
472 inputs: ::std::vec![
473 ::ethers::core::abi::ethabi::Param {
474 name: ::std::string::String::new(),
475 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
476 256usize,
477 ),
478 internal_type: ::core::option::Option::Some(
479 ::std::borrow::ToOwned::to_owned("uint256"),
480 ),
481 },
482 ],
483 outputs: ::std::vec![
484 ::ethers::core::abi::ethabi::Param {
485 name: ::std::borrow::ToOwned::to_owned("nftType"),
486 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
487 256usize,
488 ),
489 internal_type: ::core::option::Option::Some(
490 ::std::borrow::ToOwned::to_owned("uint256"),
491 ),
492 },
493 ::ethers::core::abi::ethabi::Param {
494 name: ::std::borrow::ToOwned::to_owned("nftRank"),
495 kind: ::ethers::core::abi::ethabi::ParamType::String,
496 internal_type: ::core::option::Option::Some(
497 ::std::borrow::ToOwned::to_owned("string"),
498 ),
499 },
500 ],
501 constant: ::core::option::Option::None,
502 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
503 },
504 ],
505 ),
506 (
507 ::std::borrow::ToOwned::to_owned("stakeContract"),
508 ::std::vec![
509 ::ethers::core::abi::ethabi::Function {
510 name: ::std::borrow::ToOwned::to_owned("stakeContract"),
511 inputs: ::std::vec![],
512 outputs: ::std::vec![
513 ::ethers::core::abi::ethabi::Param {
514 name: ::std::string::String::new(),
515 kind: ::ethers::core::abi::ethabi::ParamType::Address,
516 internal_type: ::core::option::Option::Some(
517 ::std::borrow::ToOwned::to_owned("contract IHoprStake"),
518 ),
519 },
520 ],
521 constant: ::core::option::Option::None,
522 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
523 },
524 ],
525 ),
526 (
527 ::std::borrow::ToOwned::to_owned("stakeThreshold"),
528 ::std::vec![
529 ::ethers::core::abi::ethabi::Function {
530 name: ::std::borrow::ToOwned::to_owned("stakeThreshold"),
531 inputs: ::std::vec![],
532 outputs: ::std::vec![
533 ::ethers::core::abi::ethabi::Param {
534 name: ::std::string::String::new(),
535 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
536 256usize,
537 ),
538 internal_type: ::core::option::Option::Some(
539 ::std::borrow::ToOwned::to_owned("uint256"),
540 ),
541 },
542 ],
543 constant: ::core::option::Option::None,
544 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
545 },
546 ],
547 ),
548 (
549 ::std::borrow::ToOwned::to_owned("transferOwnership"),
550 ::std::vec![
551 ::ethers::core::abi::ethabi::Function {
552 name: ::std::borrow::ToOwned::to_owned("transferOwnership"),
553 inputs: ::std::vec![
554 ::ethers::core::abi::ethabi::Param {
555 name: ::std::borrow::ToOwned::to_owned("newOwner"),
556 kind: ::ethers::core::abi::ethabi::ParamType::Address,
557 internal_type: ::core::option::Option::Some(
558 ::std::borrow::ToOwned::to_owned("address"),
559 ),
560 },
561 ],
562 outputs: ::std::vec![],
563 constant: ::core::option::Option::None,
564 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
565 },
566 ],
567 ),
568 (
569 ::std::borrow::ToOwned::to_owned("updateStakeContract"),
570 ::std::vec![
571 ::ethers::core::abi::ethabi::Function {
572 name: ::std::borrow::ToOwned::to_owned(
573 "updateStakeContract",
574 ),
575 inputs: ::std::vec![
576 ::ethers::core::abi::ethabi::Param {
577 name: ::std::borrow::ToOwned::to_owned("_stakeContract"),
578 kind: ::ethers::core::abi::ethabi::ParamType::Address,
579 internal_type: ::core::option::Option::Some(
580 ::std::borrow::ToOwned::to_owned("address"),
581 ),
582 },
583 ],
584 outputs: ::std::vec![],
585 constant: ::core::option::Option::None,
586 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
587 },
588 ],
589 ),
590 ]),
591 events: ::core::convert::From::from([
592 (
593 ::std::borrow::ToOwned::to_owned("NftTypeAndRankAdded"),
594 ::std::vec![
595 ::ethers::core::abi::ethabi::Event {
596 name: ::std::borrow::ToOwned::to_owned(
597 "NftTypeAndRankAdded",
598 ),
599 inputs: ::std::vec![
600 ::ethers::core::abi::ethabi::EventParam {
601 name: ::std::borrow::ToOwned::to_owned("nftType"),
602 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
603 256usize,
604 ),
605 indexed: true,
606 },
607 ::ethers::core::abi::ethabi::EventParam {
608 name: ::std::borrow::ToOwned::to_owned("nftRank"),
609 kind: ::ethers::core::abi::ethabi::ParamType::String,
610 indexed: false,
611 },
612 ],
613 anonymous: false,
614 },
615 ],
616 ),
617 (
618 ::std::borrow::ToOwned::to_owned("NftTypeAndRankRemoved"),
619 ::std::vec![
620 ::ethers::core::abi::ethabi::Event {
621 name: ::std::borrow::ToOwned::to_owned(
622 "NftTypeAndRankRemoved",
623 ),
624 inputs: ::std::vec![
625 ::ethers::core::abi::ethabi::EventParam {
626 name: ::std::borrow::ToOwned::to_owned("nftType"),
627 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
628 256usize,
629 ),
630 indexed: true,
631 },
632 ::ethers::core::abi::ethabi::EventParam {
633 name: ::std::borrow::ToOwned::to_owned("nftRank"),
634 kind: ::ethers::core::abi::ethabi::ParamType::String,
635 indexed: false,
636 },
637 ],
638 anonymous: false,
639 },
640 ],
641 ),
642 (
643 ::std::borrow::ToOwned::to_owned("OwnershipTransferred"),
644 ::std::vec![
645 ::ethers::core::abi::ethabi::Event {
646 name: ::std::borrow::ToOwned::to_owned(
647 "OwnershipTransferred",
648 ),
649 inputs: ::std::vec![
650 ::ethers::core::abi::ethabi::EventParam {
651 name: ::std::borrow::ToOwned::to_owned("previousOwner"),
652 kind: ::ethers::core::abi::ethabi::ParamType::Address,
653 indexed: true,
654 },
655 ::ethers::core::abi::ethabi::EventParam {
656 name: ::std::borrow::ToOwned::to_owned("newOwner"),
657 kind: ::ethers::core::abi::ethabi::ParamType::Address,
658 indexed: true,
659 },
660 ],
661 anonymous: false,
662 },
663 ],
664 ),
665 (
666 ::std::borrow::ToOwned::to_owned("SpecialNftTypeAndRankAdded"),
667 ::std::vec![
668 ::ethers::core::abi::ethabi::Event {
669 name: ::std::borrow::ToOwned::to_owned(
670 "SpecialNftTypeAndRankAdded",
671 ),
672 inputs: ::std::vec![
673 ::ethers::core::abi::ethabi::EventParam {
674 name: ::std::borrow::ToOwned::to_owned("nftType"),
675 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
676 256usize,
677 ),
678 indexed: true,
679 },
680 ::ethers::core::abi::ethabi::EventParam {
681 name: ::std::borrow::ToOwned::to_owned("nftRank"),
682 kind: ::ethers::core::abi::ethabi::ParamType::String,
683 indexed: false,
684 },
685 ::ethers::core::abi::ethabi::EventParam {
686 name: ::std::borrow::ToOwned::to_owned("maxRegistration"),
687 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
688 256usize,
689 ),
690 indexed: true,
691 },
692 ],
693 anonymous: false,
694 },
695 ],
696 ),
697 (
698 ::std::borrow::ToOwned::to_owned("SpecialNftTypeAndRankRemoved"),
699 ::std::vec![
700 ::ethers::core::abi::ethabi::Event {
701 name: ::std::borrow::ToOwned::to_owned(
702 "SpecialNftTypeAndRankRemoved",
703 ),
704 inputs: ::std::vec![
705 ::ethers::core::abi::ethabi::EventParam {
706 name: ::std::borrow::ToOwned::to_owned("nftType"),
707 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
708 256usize,
709 ),
710 indexed: true,
711 },
712 ::ethers::core::abi::ethabi::EventParam {
713 name: ::std::borrow::ToOwned::to_owned("nftRank"),
714 kind: ::ethers::core::abi::ethabi::ParamType::String,
715 indexed: false,
716 },
717 ],
718 anonymous: false,
719 },
720 ],
721 ),
722 (
723 ::std::borrow::ToOwned::to_owned("StakeContractUpdated"),
724 ::std::vec![
725 ::ethers::core::abi::ethabi::Event {
726 name: ::std::borrow::ToOwned::to_owned(
727 "StakeContractUpdated",
728 ),
729 inputs: ::std::vec![
730 ::ethers::core::abi::ethabi::EventParam {
731 name: ::std::borrow::ToOwned::to_owned("stakeContract"),
732 kind: ::ethers::core::abi::ethabi::ParamType::Address,
733 indexed: true,
734 },
735 ],
736 anonymous: false,
737 },
738 ],
739 ),
740 (
741 ::std::borrow::ToOwned::to_owned("ThresholdUpdated"),
742 ::std::vec![
743 ::ethers::core::abi::ethabi::Event {
744 name: ::std::borrow::ToOwned::to_owned("ThresholdUpdated"),
745 inputs: ::std::vec![
746 ::ethers::core::abi::ethabi::EventParam {
747 name: ::std::borrow::ToOwned::to_owned("threshold"),
748 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
749 256usize,
750 ),
751 indexed: true,
752 },
753 ],
754 anonymous: false,
755 },
756 ],
757 ),
758 ]),
759 errors: ::core::convert::From::from([
760 (
761 ::std::borrow::ToOwned::to_owned("MaxRegistrationsMismatch"),
762 ::std::vec![
763 ::ethers::core::abi::ethabi::AbiError {
764 name: ::std::borrow::ToOwned::to_owned(
765 "MaxRegistrationsMismatch",
766 ),
767 inputs: ::std::vec![],
768 },
769 ],
770 ),
771 (
772 ::std::borrow::ToOwned::to_owned("NftRanksMismatch"),
773 ::std::vec![
774 ::ethers::core::abi::ethabi::AbiError {
775 name: ::std::borrow::ToOwned::to_owned("NftRanksMismatch"),
776 inputs: ::std::vec![],
777 },
778 ],
779 ),
780 (
781 ::std::borrow::ToOwned::to_owned("SameStakingThreshold"),
782 ::std::vec![
783 ::ethers::core::abi::ethabi::AbiError {
784 name: ::std::borrow::ToOwned::to_owned(
785 "SameStakingThreshold",
786 ),
787 inputs: ::std::vec![],
788 },
789 ],
790 ),
791 ]),
792 receive: false,
793 fallback: false,
794 }
795 }
796 pub static HOPRSTAKINGPROXYFORNETWORKREGISTRY_ABI: ::ethers::contract::Lazy<
798 ::ethers::core::abi::Abi,
799 > = ::ethers::contract::Lazy::new(__abi);
800 #[rustfmt::skip]
801 const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x1Cp8\x03\x80b\0\x1Cp\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01EV[b\0\0?3b\0\0\x8EV[b\0\0J\x83b\0\0\xDEV[b\0\0U\x82b\0\0\x8EV[`\x02\x81\x90U`@Q\x81\x90\x7F\xAD\xFA\x8E\xCB!\xB6\x96.\xBC\xD0\xAD\xBD\x9A\xB9\x85\xB7\xB4\xC5\xB5\xEB;\r\xEA\xD6\x83\x17\x15e\xC7\xBF\xE1q\x90`\0\x90\xA2PPPb\0\x01\x86V[`\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[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7FW;\xBF\xA6y\xAFo\xDC\xDB\xD9\xCF\x19\x1C^\xF3\xE5&Y\x9A\xC2\xBFu\xE9\x17}G\xAD\xB8S\x0B\x9Ci\x90`\0\x90\xA2PV[\x80Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01@W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x01[W`\0\x80\xFD[b\0\x01f\x84b\0\x01(V[\x92Pb\0\x01v` \x85\x01b\0\x01(V[\x91P`@\x84\x01Q\x90P\x92P\x92P\x92V[a\x1A\xDA\x80b\0\x01\x96`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\x16W`\x005`\xE0\x1C\x80c\xB0^\x8B\xA9\x11a\0\xA2W\x80c\xDEbl\x0E\x11a\0qW\x80c\xDEbl\x0E\x14a\x02PW\x80c\xEEP\xC7\xC4\x14a\x02cW\x80c\xF1\x1Fw\xF9\x14a\x02vW\x80c\xF2\xFD\xE3\x8B\x14a\x02\x7FW\x80c\xFBf\xACW\x14a\x02\x92W`\0\x80\xFD[\x80c\xB0^\x8B\xA9\x14a\x01\xE6W\x80c\xB3TN\x82\x14a\x01\xF9W\x80c\xBA\x1C\xEF#\x14a\x02\x1AW\x80c\xD8Z\xD0D\x14a\x02-W`\0\x80\xFD[\x80cj;d\xB6\x11a\0\xE9W\x80cj;d\xB6\x14a\x01\x94W\x80cqP\x18\xA6\x14a\x01\xA7W\x80c\x83\x0Cl\xC2\x14a\x01\xAFW\x80c\x8D\xA5\xCB[\x14a\x01\xC2W\x80c\x9B\x97\x07o\x14a\x01\xD3W`\0\x80\xFD[\x80c\x1A\x18b'\x14a\x01\x1BW\x80c,>\xC8\x0B\x14a\x01KW\x80cPdr\xCC\x14a\x01lW\x80ceBQ\xEB\x14a\x01\x81W[`\0\x80\xFD[`\x01Ta\x01.\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01^a\x01Y6`\x04a\x13\xB0V[a\x02\xA5V[`@Qa\x01B\x92\x91\x90a\x14\x0FV[a\x01\x7Fa\x01z6`\x04a\x14|V[a\x03]V[\0[a\x01\x7Fa\x01\x8F6`\x04a\x14\xFEV[a\x04#V[a\x01\x7Fa\x01\xA26`\x04a\x15\xB9V[a\x049V[a\x01\x7Fa\x05<V[a\x01\x7Fa\x01\xBD6`\x04a\x16oV[a\x05PV[`\0T`\x01`\x01`\xA0\x1B\x03\x16a\x01.V[a\x01\x7Fa\x01\xE16`\x04a\x14\xFEV[a\x05dV[a\x01\x7Fa\x01\xF46`\x04a\x14|V[a\x05vV[a\x02\x0Ca\x02\x076`\x04a\x16oV[a\x065V[`@Q\x90\x81R` \x01a\x01BV[a\x02\x0Ca\x02(6`\x04a\x13\xB0V[a\t\xEAV[a\x02@a\x02;6`\x04a\x16\x8AV[a\n\x0BV[`@Q\x90\x15\x15\x81R` \x01a\x01BV[a\x01^a\x02^6`\x04a\x13\xB0V[a\n\x14V[a\x01\x7Fa\x02q6`\x04a\x13\xB0V[a\n$V[a\x02\x0C`\x02T\x81V[a\x01\x7Fa\x02\x8D6`\x04a\x16oV[a\n\x81V[a\x01\x7Fa\x02\xA06`\x04a\x14|V[a\n\xFCV[`\x05\x81\x81T\x81\x10a\x02\xB5W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 `\x02\x90\x91\x02\x01\x80T`\x01\x82\x01\x80T\x91\x93P\x90a\x02\xDA\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\x06\x90a\x16\xBDV[\x80\x15a\x03SW\x80`\x1F\x10a\x03(Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03SV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x036W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x82V[a\x03ea\x0B\xBBV[\x82\x81\x14a\x03\x85W`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x04\n\x85\x85\x83\x81\x81\x10a\x03\xA5Wa\x03\xA5a\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x03\xBEWa\x03\xBEa\x16\xF7V[\x90P` \x02\x81\x01\x90a\x03\xD0\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x0C\x15\x92PPPV[\x80a\x04\x14\x81a\x17jV[\x91PPa\x03\x88V[PPPPPV[a\x04+a\x0B\xBBV[a\x045\x82\x82a\rqV[PPV[a\x04Aa\x0B\xBBV[\x84\x83\x14a\x04aW`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84\x81\x14a\x04\x81W`@Qc\x19y\x10\xE9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x85\x81\x10\x15a\x053Wa\x05!\x87\x87\x83\x81\x81\x10a\x04\xA1Wa\x04\xA1a\x16\xF7V[\x90P` \x02\x015\x86\x86\x84\x81\x81\x10a\x04\xBAWa\x04\xBAa\x16\xF7V[\x90P` \x02\x81\x01\x90a\x04\xCC\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x88\x92P\x87\x91P\x86\x90P\x81\x81\x10a\x05\x15Wa\x05\x15a\x16\xF7V[\x90P` \x02\x015a\x0E\xEFV[\x80a\x05+\x81a\x17jV[\x91PPa\x04\x84V[PPPPPPPV[a\x05Da\x0B\xBBV[a\x05N`\0a\x10\xD3V[V[a\x05Xa\x0B\xBBV[a\x05a\x81a\x11#V[PV[a\x05la\x0B\xBBV[a\x045\x82\x82a\x0C\x15V[a\x05~a\x0B\xBBV[\x82\x81\x14a\x05\x9EW`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x06#\x85\x85\x83\x81\x81\x10a\x05\xBEWa\x05\xBEa\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x05\xD7Wa\x05\xD7a\x16\xF7V[\x90P` \x02\x81\x01\x90a\x05\xE9\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x11m\x92PPPV[\x80a\x06-\x81a\x17jV[\x91PPa\x05\xA1V[`\0\x80`\0[`\x05T\x81\x10\x15a\x07\xD7W`\0`\x05\x82\x81T\x81\x10a\x06ZWa\x06Za\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01T\x81R` \x01`\x01\x82\x01\x80Ta\x06\x8D\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\xB9\x90a\x16\xBDV[\x80\x15a\x07\x06W\x80`\x1F\x10a\x06\xDBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\x06V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xE9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP`\x01T\x82Q` \x84\x01Q`@Qc\x96\xA9\xCD}`\xE0\x1B\x81R\x94\x95P`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x93c\x96\xA9\xCD}\x93Pa\x07K\x92\x90\x8A\x90`\x04\x01a\x17\x83V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07hW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07\x8C\x91\x90a\x17\xB4V[\x15a\x07\xC4Wa\x07\xC1`\x04\x83\x81T\x81\x10a\x07\xA7Wa\x07\xA7a\x16\xF7V[\x90`\0R` `\0 \x01T\x84a\x13J\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x92P[P\x80a\x07\xCF\x81a\x17jV[\x91PPa\x06;V[P`\x01T`@Qc\xF9x\xFF\xF1`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\x04\x83\x01R`\0\x92\x16\x90c\xF9x\xFF\xF1\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08#W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08G\x91\x90a\x17\xD6V[\x90P`\x02T\x81\x10\x15a\x08ZWP\x92\x91PPV[`\0[`\x03T\x81\x10\x15a\t\xE1W`\0`\x03\x82\x81T\x81\x10a\x08|Wa\x08|a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01T\x81R` \x01`\x01\x82\x01\x80Ta\x08\xAF\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x08\xDB\x90a\x16\xBDV[\x80\x15a\t(W\x80`\x1F\x10a\x08\xFDWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t(V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x0BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP`\x01T\x82Q` \x84\x01Q`@Qc\x96\xA9\xCD}`\xE0\x1B\x81R\x94\x95P`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x93c\x96\xA9\xCD}\x93Pa\tm\x92\x90\x8B\x90`\x04\x01a\x17\x83V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\t\x8AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\xAE\x91\x90a\x17\xB4V[\x15a\t\xCEWa\t\xCB`\x02T\x84a\t\xC4\x91\x90a\x17\xEFV[\x85\x90a\x13JV[\x93P[P\x80a\t\xD9\x81a\x17jV[\x91PPa\x08]V[P\x90\x93\x92PPPV[`\x04\x81\x81T\x81\x10a\t\xFAW`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T\x90P\x81V[`\x01[\x92\x91PPV[`\x03\x81\x81T\x81\x10a\x02\xB5W`\0\x80\xFD[a\n,a\x0B\xBBV[\x80`\x02T\x03a\nNW`@Qc \xE4{\x13`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x81\x90U`@Q\x81\x90\x7F\xAD\xFA\x8E\xCB!\xB6\x96.\xBC\xD0\xAD\xBD\x9A\xB9\x85\xB7\xB4\xC5\xB5\xEB;\r\xEA\xD6\x83\x17\x15e\xC7\xBF\xE1q\x90`\0\x90\xA2PV[a\n\x89a\x0B\xBBV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\n\xF3W`@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\x01[`@Q\x80\x91\x03\x90\xFD[a\x05a\x81a\x10\xD3V[a\x0B\x04a\x0B\xBBV[\x82\x81\x14a\x0B$W`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x0B\xA9\x85\x85\x83\x81\x81\x10a\x0BDWa\x0BDa\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x0B]Wa\x0B]a\x16\xF7V[\x90P` \x02\x81\x01\x90a\x0Bo\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\rq\x92PPPV[\x80a\x0B\xB3\x81a\x17jV[\x91PPa\x0B'V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x05NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01a\n\xEAV[`\0[`\x03T\x81\x10\x15a\x0C\xAFW\x82`\x03\x82\x81T\x81\x10a\x0C6Wa\x0C6a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x0C\x93WP\x81\x80Q\x90` \x01 `\x03\x82\x81T\x81\x10a\x0CkWa\x0Cka\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x0C\x89\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0C\x9DWPPPV[\x80a\x0C\xA7\x81a\x17jV[\x91PPa\x0C\x18V[P`@\x80Q\x80\x82\x01\x90\x91R\x82\x81R` \x81\x01\x82\x81R`\x03\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x82Q`\x02\x90\x91\x02\x7F\xC2WZ\x0E\x9EY<\0\xF9Y\xF8\xC9/\x12\xDB(i\xC39Z;\x05\x02\xD0^%\x16Doq\xF8[\x81\x01\x91\x82U\x91Q\x90\x91\x7F\xC2WZ\x0E\x9EY<\0\xF9Y\xF8\xC9/\x12\xDB(i\xC39Z;\x05\x02\xD0^%\x16Doq\xF8\\\x01\x90a\r2\x90\x82a\x18\xD5V[PPP\x81\x7F#`\xEE>wHTA\xCF\xA0~0\xE8\xDC[\x03\x1F\xAC8EVG\xC8\x9Av44\xF5\x873\xFC\xC1\x82`@Qa\re\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA2PPV[`\0[`\x03T\x81\x10\x15a\x0E\xEAW\x82`\x03\x82\x81T\x81\x10a\r\x92Wa\r\x92a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\r\xEFWP\x81\x80Q\x90` \x01 `\x03\x82\x81T\x81\x10a\r\xC7Wa\r\xC7a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\r\xE5\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0E\xD8W`\x03\x80Ta\x0E\x04\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x0E\x14Wa\x0E\x14a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x03\x82\x81T\x81\x10a\x0E5Wa\x0E5a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x82T`\x02\x90\x92\x02\x01\x90\x81U`\x01\x80\x82\x01\x90a\x0E\\\x90\x84\x01\x82a\x19\xBBV[P\x90PP`\x03\x80T\x80a\x0EqWa\x0Eqa\x1A\x8EV[`\0\x82\x81R` \x81 `\x02`\0\x19\x90\x93\x01\x92\x83\x02\x01\x81\x81U\x90a\x0E\x97`\x01\x83\x01\x82a\x13bV[PP\x90U\x82\x7F\xB12>B\xD9{+=E\xF9\xD4d\x1B\xF4\xB6\xB3\xF9\xD0\xD0\x1E\x90\x83*\xE7\xB7A1\t\xB7\xA5\xD3G\x83`@Qa\x0E\xCB\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA2PPPV[\x80a\x0E\xE2\x81a\x17jV[\x91PPa\rtV[PPPV[`\0[`\x05T\x81\x10\x15a\x0F\xE5W\x83`\x05\x82\x81T\x81\x10a\x0F\x10Wa\x0F\x10a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x0FmWP\x82\x80Q\x90` \x01 `\x05\x82\x81T\x81\x10a\x0FEWa\x0FEa\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x0Fc\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0F\xD3W\x81`\x04\x82\x81T\x81\x10a\x0F\x86Wa\x0F\x86a\x16\xF7V[\x90`\0R` `\0 \x01\x81\x90UP\x81\x84\x7F\xE4;\xF5\xF5\xF8\xA1!\x190\xE5rk\xA0\xAB\xCE\xAC\xB1t\x8F\x97\xB2\x96m\xB3\n\x81\x8B\xA1\ta\xCB\xCC\x85`@Qa\x0F\xC5\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA3PPPPV[\x80a\x0F\xDD\x81a\x17jV[\x91PPa\x0E\xF2V[`@\x80Q\x80\x82\x01\x90\x91R\x84\x81R` \x81\x01\x84\x81R`\x05\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x82Q`\x02\x90\x91\x02\x7F\x03kc\x84\xB5\xEC\xA7\x91\xC6'a\x15-\x0Cy\xBB\x06\x04\xC1\x04\xA5\xFBoN\xB0p?1T\xBB=\xB0\x81\x01\x91\x82U\x91Q\x90\x91\x7F\x03kc\x84\xB5\xEC\xA7\x91\xC6'a\x15-\x0Cy\xBB\x06\x04\xC1\x04\xA5\xFBoN\xB0p?1T\xBB=\xB1\x01\x90a\x10g\x90\x82a\x18\xD5V[PP`\x04\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x7F\x8A5\xAC\xFB\xC1_\xF8\x1A9\xAE}4O\xD7\t\xF2\x8E\x86\0\xB4\xAA\x8Ce\xC6\xB6K\xFE\x7F\xE3k\xD1\x9B\x01\x83\x90UP`@Q\x82\x90\x85\x90\x7F\xE4;\xF5\xF5\xF8\xA1!\x190\xE5rk\xA0\xAB\xCE\xAC\xB1t\x8F\x97\xB2\x96m\xB3\n\x81\x8B\xA1\ta\xCB\xCC\x90a\x0F\xC5\x90\x87\x90a\x19\x95V[`\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[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7FW;\xBF\xA6y\xAFo\xDC\xDB\xD9\xCF\x19\x1C^\xF3\xE5&Y\x9A\xC2\xBFu\xE9\x17}G\xAD\xB8S\x0B\x9Ci\x90`\0\x90\xA2PV[`\0[`\x05T\x81\x10\x15a\x0E\xEAW\x82`\x05\x82\x81T\x81\x10a\x11\x8EWa\x11\x8Ea\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x11\xEBWP\x81\x80Q\x90` \x01 `\x05\x82\x81T\x81\x10a\x11\xC3Wa\x11\xC3a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x11\xE1\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x138W`\x05\x80Ta\x12\0\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x12\x10Wa\x12\x10a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x05\x82\x81T\x81\x10a\x121Wa\x121a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x82T`\x02\x90\x92\x02\x01\x90\x81U`\x01\x80\x82\x01\x90a\x12X\x90\x84\x01\x82a\x19\xBBV[P\x90PP`\x05\x80T\x80a\x12mWa\x12ma\x1A\x8EV[`\0\x82\x81R` \x81 `\x02`\0\x19\x90\x93\x01\x92\x83\x02\x01\x81\x81U\x90a\x12\x93`\x01\x83\x01\x82a\x13bV[PP\x90U`\x04\x80Ta\x12\xA7\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x12\xB7Wa\x12\xB7a\x16\xF7V[\x90`\0R` `\0 \x01T`\x04\x82\x81T\x81\x10a\x12\xD5Wa\x12\xD5a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x01U`\x04\x80T\x80a\x12\xF2Wa\x12\xF2a\x1A\x8EV[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x82\x7F\xDBu\x19\x91\x03PK\xD1\xD3e=\xE7X\xD4)[\xF0\rE\x87\xE1\xD5=\xFC\x11Dd\xCCG\xED\x97\xB7\x83`@Qa\x0E\xCB\x91\x90a\x19\x95V[\x80a\x13B\x81a\x17jV[\x91PPa\x11pV[`\0\x81\x83\x11a\x13YW\x81a\x13[V[\x82[\x93\x92PPPV[P\x80Ta\x13n\x90a\x16\xBDV[`\0\x82U\x80`\x1F\x10a\x13~WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x05a\x91\x90[\x80\x82\x11\x15a\x13\xACW`\0\x81U`\x01\x01a\x13\x98V[P\x90V[`\0` \x82\x84\x03\x12\x15a\x13\xC2W`\0\x80\xFD[P5\x91\x90PV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x13\xEFW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x13\xD3V[P`\0` \x82\x86\x01\x01R` `\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[\x82\x81R`@` \x82\x01R`\0a\x14(`@\x83\x01\x84a\x13\xC9V[\x94\x93PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x14BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x14ZW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x14uW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x14\x92W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x14\xAAW`\0\x80\xFD[a\x14\xB6\x88\x83\x89\x01a\x140V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x14\xCFW`\0\x80\xFD[Pa\x14\xDC\x87\x82\x88\x01a\x140V[\x95\x98\x94\x97P\x95PPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x15\x11W`\0\x80\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x150W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x15DW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x15VWa\x15Va\x14\xE8V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x15~Wa\x15~a\x14\xE8V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x15\x97W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80``\x87\x89\x03\x12\x15a\x15\xD2W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x15\xEAW`\0\x80\xFD[a\x15\xF6\x8A\x83\x8B\x01a\x140V[\x90\x98P\x96P` \x89\x015\x91P\x80\x82\x11\x15a\x16\x0FW`\0\x80\xFD[a\x16\x1B\x8A\x83\x8B\x01a\x140V[\x90\x96P\x94P`@\x89\x015\x91P\x80\x82\x11\x15a\x164W`\0\x80\xFD[Pa\x16A\x89\x82\x8A\x01a\x140V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x16jW`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x16\x81W`\0\x80\xFD[a\x13[\x82a\x16SV[`\0\x80`@\x83\x85\x03\x12\x15a\x16\x9DW`\0\x80\xFD[a\x16\xA6\x83a\x16SV[\x91Pa\x16\xB4` \x84\x01a\x16SV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x16\xD1W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x16\xF1WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a\x17$W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x17?W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x14uW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01a\x17|Wa\x17|a\x17TV[P`\x01\x01\x90V[\x83\x81R``` \x82\x01R`\0a\x17\x9C``\x83\x01\x85a\x13\xC9V[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16`@\x83\x01R\x94\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x17\xC6W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x13[W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x17\xE8W`\0\x80\xFD[PQ\x91\x90PV[`\0\x82a\x18\x0CWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x80\x83Ta\x18\x1F\x81a\x16\xBDV[`\x01\x82\x81\x16\x80\x15a\x187W`\x01\x81\x14a\x18LWa\x18{V[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pa\x18{V[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15a\x18rW\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01a\x18YV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x1F\x82\x11\x15a\x0E\xEAW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x18\xAEWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x18\xCDW\x82\x81U`\x01\x01a\x18\xBAV[PPPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18\xEFWa\x18\xEFa\x14\xE8V[a\x19\x03\x81a\x18\xFD\x84Ta\x16\xBDV[\x84a\x18\x87V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x198W`\0\x84\x15a\x19 WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x18\xCDV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x19gW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x19HV[P\x85\x82\x10\x15a\x19\x85W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[` \x81R`\0a\x13[` \x83\x01\x84a\x13\xC9V[\x81\x81\x03\x81\x81\x11\x15a\n\x0EWa\n\x0Ea\x17TV[\x81\x81\x03a\x19\xC6WPPV[a\x19\xD0\x82Ta\x16\xBDV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\xE8Wa\x19\xE8a\x14\xE8V[a\x19\xF6\x81a\x18\xFD\x84Ta\x16\xBDV[`\0`\x1F\x82\x11`\x01\x81\x14a\x1A*W`\0\x83\x15a\x1A\x12WP\x84\x82\x01T[`\0\x19`\x03\x85\x90\x1B\x1C\x19\x16`\x01\x84\x90\x1B\x17\x84Ua\x04\x1CV[`\0\x85\x81R` \x90 `\x1F\x19\x84\x16\x90`\0\x86\x81R` \x90 \x84[\x83\x81\x10\x15a\x1AdW\x82\x86\x01T\x82U`\x01\x95\x86\x01\x95\x90\x91\x01\x90` \x01a\x1ADV[P\x85\x83\x10\x15a\x19\x85W\x93\x01T`\0\x19`\xF8`\x03\x87\x90\x1B\x16\x1C\x19\x16\x90\x92UPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 +\x84 \xA6\xF9\xB1\xBBWX)\x1CmC\x13\xBE\x19\xA0dV(f{\xF2\xCA0\xDF\x8C$ \xC4F\x07dsolcC\0\x08\x13\x003";
802 pub static HOPRSTAKINGPROXYFORNETWORKREGISTRY_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
804 __BYTECODE,
805 );
806 #[rustfmt::skip]
807 const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\x16W`\x005`\xE0\x1C\x80c\xB0^\x8B\xA9\x11a\0\xA2W\x80c\xDEbl\x0E\x11a\0qW\x80c\xDEbl\x0E\x14a\x02PW\x80c\xEEP\xC7\xC4\x14a\x02cW\x80c\xF1\x1Fw\xF9\x14a\x02vW\x80c\xF2\xFD\xE3\x8B\x14a\x02\x7FW\x80c\xFBf\xACW\x14a\x02\x92W`\0\x80\xFD[\x80c\xB0^\x8B\xA9\x14a\x01\xE6W\x80c\xB3TN\x82\x14a\x01\xF9W\x80c\xBA\x1C\xEF#\x14a\x02\x1AW\x80c\xD8Z\xD0D\x14a\x02-W`\0\x80\xFD[\x80cj;d\xB6\x11a\0\xE9W\x80cj;d\xB6\x14a\x01\x94W\x80cqP\x18\xA6\x14a\x01\xA7W\x80c\x83\x0Cl\xC2\x14a\x01\xAFW\x80c\x8D\xA5\xCB[\x14a\x01\xC2W\x80c\x9B\x97\x07o\x14a\x01\xD3W`\0\x80\xFD[\x80c\x1A\x18b'\x14a\x01\x1BW\x80c,>\xC8\x0B\x14a\x01KW\x80cPdr\xCC\x14a\x01lW\x80ceBQ\xEB\x14a\x01\x81W[`\0\x80\xFD[`\x01Ta\x01.\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01^a\x01Y6`\x04a\x13\xB0V[a\x02\xA5V[`@Qa\x01B\x92\x91\x90a\x14\x0FV[a\x01\x7Fa\x01z6`\x04a\x14|V[a\x03]V[\0[a\x01\x7Fa\x01\x8F6`\x04a\x14\xFEV[a\x04#V[a\x01\x7Fa\x01\xA26`\x04a\x15\xB9V[a\x049V[a\x01\x7Fa\x05<V[a\x01\x7Fa\x01\xBD6`\x04a\x16oV[a\x05PV[`\0T`\x01`\x01`\xA0\x1B\x03\x16a\x01.V[a\x01\x7Fa\x01\xE16`\x04a\x14\xFEV[a\x05dV[a\x01\x7Fa\x01\xF46`\x04a\x14|V[a\x05vV[a\x02\x0Ca\x02\x076`\x04a\x16oV[a\x065V[`@Q\x90\x81R` \x01a\x01BV[a\x02\x0Ca\x02(6`\x04a\x13\xB0V[a\t\xEAV[a\x02@a\x02;6`\x04a\x16\x8AV[a\n\x0BV[`@Q\x90\x15\x15\x81R` \x01a\x01BV[a\x01^a\x02^6`\x04a\x13\xB0V[a\n\x14V[a\x01\x7Fa\x02q6`\x04a\x13\xB0V[a\n$V[a\x02\x0C`\x02T\x81V[a\x01\x7Fa\x02\x8D6`\x04a\x16oV[a\n\x81V[a\x01\x7Fa\x02\xA06`\x04a\x14|V[a\n\xFCV[`\x05\x81\x81T\x81\x10a\x02\xB5W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 `\x02\x90\x91\x02\x01\x80T`\x01\x82\x01\x80T\x91\x93P\x90a\x02\xDA\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\x06\x90a\x16\xBDV[\x80\x15a\x03SW\x80`\x1F\x10a\x03(Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03SV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x036W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x82V[a\x03ea\x0B\xBBV[\x82\x81\x14a\x03\x85W`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x04\n\x85\x85\x83\x81\x81\x10a\x03\xA5Wa\x03\xA5a\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x03\xBEWa\x03\xBEa\x16\xF7V[\x90P` \x02\x81\x01\x90a\x03\xD0\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x0C\x15\x92PPPV[\x80a\x04\x14\x81a\x17jV[\x91PPa\x03\x88V[PPPPPV[a\x04+a\x0B\xBBV[a\x045\x82\x82a\rqV[PPV[a\x04Aa\x0B\xBBV[\x84\x83\x14a\x04aW`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84\x81\x14a\x04\x81W`@Qc\x19y\x10\xE9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x85\x81\x10\x15a\x053Wa\x05!\x87\x87\x83\x81\x81\x10a\x04\xA1Wa\x04\xA1a\x16\xF7V[\x90P` \x02\x015\x86\x86\x84\x81\x81\x10a\x04\xBAWa\x04\xBAa\x16\xF7V[\x90P` \x02\x81\x01\x90a\x04\xCC\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x88\x92P\x87\x91P\x86\x90P\x81\x81\x10a\x05\x15Wa\x05\x15a\x16\xF7V[\x90P` \x02\x015a\x0E\xEFV[\x80a\x05+\x81a\x17jV[\x91PPa\x04\x84V[PPPPPPPV[a\x05Da\x0B\xBBV[a\x05N`\0a\x10\xD3V[V[a\x05Xa\x0B\xBBV[a\x05a\x81a\x11#V[PV[a\x05la\x0B\xBBV[a\x045\x82\x82a\x0C\x15V[a\x05~a\x0B\xBBV[\x82\x81\x14a\x05\x9EW`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x06#\x85\x85\x83\x81\x81\x10a\x05\xBEWa\x05\xBEa\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x05\xD7Wa\x05\xD7a\x16\xF7V[\x90P` \x02\x81\x01\x90a\x05\xE9\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x11m\x92PPPV[\x80a\x06-\x81a\x17jV[\x91PPa\x05\xA1V[`\0\x80`\0[`\x05T\x81\x10\x15a\x07\xD7W`\0`\x05\x82\x81T\x81\x10a\x06ZWa\x06Za\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01T\x81R` \x01`\x01\x82\x01\x80Ta\x06\x8D\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\xB9\x90a\x16\xBDV[\x80\x15a\x07\x06W\x80`\x1F\x10a\x06\xDBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\x06V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xE9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP`\x01T\x82Q` \x84\x01Q`@Qc\x96\xA9\xCD}`\xE0\x1B\x81R\x94\x95P`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x93c\x96\xA9\xCD}\x93Pa\x07K\x92\x90\x8A\x90`\x04\x01a\x17\x83V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07hW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07\x8C\x91\x90a\x17\xB4V[\x15a\x07\xC4Wa\x07\xC1`\x04\x83\x81T\x81\x10a\x07\xA7Wa\x07\xA7a\x16\xF7V[\x90`\0R` `\0 \x01T\x84a\x13J\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x92P[P\x80a\x07\xCF\x81a\x17jV[\x91PPa\x06;V[P`\x01T`@Qc\xF9x\xFF\xF1`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\x04\x83\x01R`\0\x92\x16\x90c\xF9x\xFF\xF1\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08#W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08G\x91\x90a\x17\xD6V[\x90P`\x02T\x81\x10\x15a\x08ZWP\x92\x91PPV[`\0[`\x03T\x81\x10\x15a\t\xE1W`\0`\x03\x82\x81T\x81\x10a\x08|Wa\x08|a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01T\x81R` \x01`\x01\x82\x01\x80Ta\x08\xAF\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x08\xDB\x90a\x16\xBDV[\x80\x15a\t(W\x80`\x1F\x10a\x08\xFDWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t(V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x0BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP`\x01T\x82Q` \x84\x01Q`@Qc\x96\xA9\xCD}`\xE0\x1B\x81R\x94\x95P`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x93c\x96\xA9\xCD}\x93Pa\tm\x92\x90\x8B\x90`\x04\x01a\x17\x83V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\t\x8AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\xAE\x91\x90a\x17\xB4V[\x15a\t\xCEWa\t\xCB`\x02T\x84a\t\xC4\x91\x90a\x17\xEFV[\x85\x90a\x13JV[\x93P[P\x80a\t\xD9\x81a\x17jV[\x91PPa\x08]V[P\x90\x93\x92PPPV[`\x04\x81\x81T\x81\x10a\t\xFAW`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T\x90P\x81V[`\x01[\x92\x91PPV[`\x03\x81\x81T\x81\x10a\x02\xB5W`\0\x80\xFD[a\n,a\x0B\xBBV[\x80`\x02T\x03a\nNW`@Qc \xE4{\x13`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x81\x90U`@Q\x81\x90\x7F\xAD\xFA\x8E\xCB!\xB6\x96.\xBC\xD0\xAD\xBD\x9A\xB9\x85\xB7\xB4\xC5\xB5\xEB;\r\xEA\xD6\x83\x17\x15e\xC7\xBF\xE1q\x90`\0\x90\xA2PV[a\n\x89a\x0B\xBBV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\n\xF3W`@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\x01[`@Q\x80\x91\x03\x90\xFD[a\x05a\x81a\x10\xD3V[a\x0B\x04a\x0B\xBBV[\x82\x81\x14a\x0B$W`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x0B\xA9\x85\x85\x83\x81\x81\x10a\x0BDWa\x0BDa\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x0B]Wa\x0B]a\x16\xF7V[\x90P` \x02\x81\x01\x90a\x0Bo\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\rq\x92PPPV[\x80a\x0B\xB3\x81a\x17jV[\x91PPa\x0B'V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x05NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01a\n\xEAV[`\0[`\x03T\x81\x10\x15a\x0C\xAFW\x82`\x03\x82\x81T\x81\x10a\x0C6Wa\x0C6a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x0C\x93WP\x81\x80Q\x90` \x01 `\x03\x82\x81T\x81\x10a\x0CkWa\x0Cka\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x0C\x89\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0C\x9DWPPPV[\x80a\x0C\xA7\x81a\x17jV[\x91PPa\x0C\x18V[P`@\x80Q\x80\x82\x01\x90\x91R\x82\x81R` \x81\x01\x82\x81R`\x03\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x82Q`\x02\x90\x91\x02\x7F\xC2WZ\x0E\x9EY<\0\xF9Y\xF8\xC9/\x12\xDB(i\xC39Z;\x05\x02\xD0^%\x16Doq\xF8[\x81\x01\x91\x82U\x91Q\x90\x91\x7F\xC2WZ\x0E\x9EY<\0\xF9Y\xF8\xC9/\x12\xDB(i\xC39Z;\x05\x02\xD0^%\x16Doq\xF8\\\x01\x90a\r2\x90\x82a\x18\xD5V[PPP\x81\x7F#`\xEE>wHTA\xCF\xA0~0\xE8\xDC[\x03\x1F\xAC8EVG\xC8\x9Av44\xF5\x873\xFC\xC1\x82`@Qa\re\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA2PPV[`\0[`\x03T\x81\x10\x15a\x0E\xEAW\x82`\x03\x82\x81T\x81\x10a\r\x92Wa\r\x92a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\r\xEFWP\x81\x80Q\x90` \x01 `\x03\x82\x81T\x81\x10a\r\xC7Wa\r\xC7a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\r\xE5\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0E\xD8W`\x03\x80Ta\x0E\x04\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x0E\x14Wa\x0E\x14a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x03\x82\x81T\x81\x10a\x0E5Wa\x0E5a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x82T`\x02\x90\x92\x02\x01\x90\x81U`\x01\x80\x82\x01\x90a\x0E\\\x90\x84\x01\x82a\x19\xBBV[P\x90PP`\x03\x80T\x80a\x0EqWa\x0Eqa\x1A\x8EV[`\0\x82\x81R` \x81 `\x02`\0\x19\x90\x93\x01\x92\x83\x02\x01\x81\x81U\x90a\x0E\x97`\x01\x83\x01\x82a\x13bV[PP\x90U\x82\x7F\xB12>B\xD9{+=E\xF9\xD4d\x1B\xF4\xB6\xB3\xF9\xD0\xD0\x1E\x90\x83*\xE7\xB7A1\t\xB7\xA5\xD3G\x83`@Qa\x0E\xCB\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA2PPPV[\x80a\x0E\xE2\x81a\x17jV[\x91PPa\rtV[PPPV[`\0[`\x05T\x81\x10\x15a\x0F\xE5W\x83`\x05\x82\x81T\x81\x10a\x0F\x10Wa\x0F\x10a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x0FmWP\x82\x80Q\x90` \x01 `\x05\x82\x81T\x81\x10a\x0FEWa\x0FEa\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x0Fc\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0F\xD3W\x81`\x04\x82\x81T\x81\x10a\x0F\x86Wa\x0F\x86a\x16\xF7V[\x90`\0R` `\0 \x01\x81\x90UP\x81\x84\x7F\xE4;\xF5\xF5\xF8\xA1!\x190\xE5rk\xA0\xAB\xCE\xAC\xB1t\x8F\x97\xB2\x96m\xB3\n\x81\x8B\xA1\ta\xCB\xCC\x85`@Qa\x0F\xC5\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA3PPPPV[\x80a\x0F\xDD\x81a\x17jV[\x91PPa\x0E\xF2V[`@\x80Q\x80\x82\x01\x90\x91R\x84\x81R` \x81\x01\x84\x81R`\x05\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x82Q`\x02\x90\x91\x02\x7F\x03kc\x84\xB5\xEC\xA7\x91\xC6'a\x15-\x0Cy\xBB\x06\x04\xC1\x04\xA5\xFBoN\xB0p?1T\xBB=\xB0\x81\x01\x91\x82U\x91Q\x90\x91\x7F\x03kc\x84\xB5\xEC\xA7\x91\xC6'a\x15-\x0Cy\xBB\x06\x04\xC1\x04\xA5\xFBoN\xB0p?1T\xBB=\xB1\x01\x90a\x10g\x90\x82a\x18\xD5V[PP`\x04\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x7F\x8A5\xAC\xFB\xC1_\xF8\x1A9\xAE}4O\xD7\t\xF2\x8E\x86\0\xB4\xAA\x8Ce\xC6\xB6K\xFE\x7F\xE3k\xD1\x9B\x01\x83\x90UP`@Q\x82\x90\x85\x90\x7F\xE4;\xF5\xF5\xF8\xA1!\x190\xE5rk\xA0\xAB\xCE\xAC\xB1t\x8F\x97\xB2\x96m\xB3\n\x81\x8B\xA1\ta\xCB\xCC\x90a\x0F\xC5\x90\x87\x90a\x19\x95V[`\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[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7FW;\xBF\xA6y\xAFo\xDC\xDB\xD9\xCF\x19\x1C^\xF3\xE5&Y\x9A\xC2\xBFu\xE9\x17}G\xAD\xB8S\x0B\x9Ci\x90`\0\x90\xA2PV[`\0[`\x05T\x81\x10\x15a\x0E\xEAW\x82`\x05\x82\x81T\x81\x10a\x11\x8EWa\x11\x8Ea\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x11\xEBWP\x81\x80Q\x90` \x01 `\x05\x82\x81T\x81\x10a\x11\xC3Wa\x11\xC3a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x11\xE1\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x138W`\x05\x80Ta\x12\0\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x12\x10Wa\x12\x10a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x05\x82\x81T\x81\x10a\x121Wa\x121a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x82T`\x02\x90\x92\x02\x01\x90\x81U`\x01\x80\x82\x01\x90a\x12X\x90\x84\x01\x82a\x19\xBBV[P\x90PP`\x05\x80T\x80a\x12mWa\x12ma\x1A\x8EV[`\0\x82\x81R` \x81 `\x02`\0\x19\x90\x93\x01\x92\x83\x02\x01\x81\x81U\x90a\x12\x93`\x01\x83\x01\x82a\x13bV[PP\x90U`\x04\x80Ta\x12\xA7\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x12\xB7Wa\x12\xB7a\x16\xF7V[\x90`\0R` `\0 \x01T`\x04\x82\x81T\x81\x10a\x12\xD5Wa\x12\xD5a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x01U`\x04\x80T\x80a\x12\xF2Wa\x12\xF2a\x1A\x8EV[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x82\x7F\xDBu\x19\x91\x03PK\xD1\xD3e=\xE7X\xD4)[\xF0\rE\x87\xE1\xD5=\xFC\x11Dd\xCCG\xED\x97\xB7\x83`@Qa\x0E\xCB\x91\x90a\x19\x95V[\x80a\x13B\x81a\x17jV[\x91PPa\x11pV[`\0\x81\x83\x11a\x13YW\x81a\x13[V[\x82[\x93\x92PPPV[P\x80Ta\x13n\x90a\x16\xBDV[`\0\x82U\x80`\x1F\x10a\x13~WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x05a\x91\x90[\x80\x82\x11\x15a\x13\xACW`\0\x81U`\x01\x01a\x13\x98V[P\x90V[`\0` \x82\x84\x03\x12\x15a\x13\xC2W`\0\x80\xFD[P5\x91\x90PV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x13\xEFW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x13\xD3V[P`\0` \x82\x86\x01\x01R` `\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[\x82\x81R`@` \x82\x01R`\0a\x14(`@\x83\x01\x84a\x13\xC9V[\x94\x93PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x14BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x14ZW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x14uW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x14\x92W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x14\xAAW`\0\x80\xFD[a\x14\xB6\x88\x83\x89\x01a\x140V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x14\xCFW`\0\x80\xFD[Pa\x14\xDC\x87\x82\x88\x01a\x140V[\x95\x98\x94\x97P\x95PPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x15\x11W`\0\x80\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x150W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x15DW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x15VWa\x15Va\x14\xE8V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x15~Wa\x15~a\x14\xE8V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x15\x97W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80``\x87\x89\x03\x12\x15a\x15\xD2W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x15\xEAW`\0\x80\xFD[a\x15\xF6\x8A\x83\x8B\x01a\x140V[\x90\x98P\x96P` \x89\x015\x91P\x80\x82\x11\x15a\x16\x0FW`\0\x80\xFD[a\x16\x1B\x8A\x83\x8B\x01a\x140V[\x90\x96P\x94P`@\x89\x015\x91P\x80\x82\x11\x15a\x164W`\0\x80\xFD[Pa\x16A\x89\x82\x8A\x01a\x140V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x16jW`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x16\x81W`\0\x80\xFD[a\x13[\x82a\x16SV[`\0\x80`@\x83\x85\x03\x12\x15a\x16\x9DW`\0\x80\xFD[a\x16\xA6\x83a\x16SV[\x91Pa\x16\xB4` \x84\x01a\x16SV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x16\xD1W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x16\xF1WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a\x17$W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x17?W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x14uW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01a\x17|Wa\x17|a\x17TV[P`\x01\x01\x90V[\x83\x81R``` \x82\x01R`\0a\x17\x9C``\x83\x01\x85a\x13\xC9V[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16`@\x83\x01R\x94\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x17\xC6W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x13[W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x17\xE8W`\0\x80\xFD[PQ\x91\x90PV[`\0\x82a\x18\x0CWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x80\x83Ta\x18\x1F\x81a\x16\xBDV[`\x01\x82\x81\x16\x80\x15a\x187W`\x01\x81\x14a\x18LWa\x18{V[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pa\x18{V[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15a\x18rW\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01a\x18YV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x1F\x82\x11\x15a\x0E\xEAW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x18\xAEWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x18\xCDW\x82\x81U`\x01\x01a\x18\xBAV[PPPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18\xEFWa\x18\xEFa\x14\xE8V[a\x19\x03\x81a\x18\xFD\x84Ta\x16\xBDV[\x84a\x18\x87V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x198W`\0\x84\x15a\x19 WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x18\xCDV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x19gW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x19HV[P\x85\x82\x10\x15a\x19\x85W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[` \x81R`\0a\x13[` \x83\x01\x84a\x13\xC9V[\x81\x81\x03\x81\x81\x11\x15a\n\x0EWa\n\x0Ea\x17TV[\x81\x81\x03a\x19\xC6WPPV[a\x19\xD0\x82Ta\x16\xBDV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\xE8Wa\x19\xE8a\x14\xE8V[a\x19\xF6\x81a\x18\xFD\x84Ta\x16\xBDV[`\0`\x1F\x82\x11`\x01\x81\x14a\x1A*W`\0\x83\x15a\x1A\x12WP\x84\x82\x01T[`\0\x19`\x03\x85\x90\x1B\x1C\x19\x16`\x01\x84\x90\x1B\x17\x84Ua\x04\x1CV[`\0\x85\x81R` \x90 `\x1F\x19\x84\x16\x90`\0\x86\x81R` \x90 \x84[\x83\x81\x10\x15a\x1AdW\x82\x86\x01T\x82U`\x01\x95\x86\x01\x95\x90\x91\x01\x90` \x01a\x1ADV[P\x85\x83\x10\x15a\x19\x85W\x93\x01T`\0\x19`\xF8`\x03\x87\x90\x1B\x16\x1C\x19\x16\x90\x92UPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 +\x84 \xA6\xF9\xB1\xBBWX)\x1CmC\x13\xBE\x19\xA0dV(f{\xF2\xCA0\xDF\x8C$ \xC4F\x07dsolcC\0\x08\x13\x003";
808 pub static HOPRSTAKINGPROXYFORNETWORKREGISTRY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
810 __DEPLOYED_BYTECODE,
811 );
812 pub struct HoprStakingProxyForNetworkRegistry<M>(::ethers::contract::Contract<M>);
813 impl<M> ::core::clone::Clone for HoprStakingProxyForNetworkRegistry<M> {
814 fn clone(&self) -> Self {
815 Self(::core::clone::Clone::clone(&self.0))
816 }
817 }
818 impl<M> ::core::ops::Deref for HoprStakingProxyForNetworkRegistry<M> {
819 type Target = ::ethers::contract::Contract<M>;
820 fn deref(&self) -> &Self::Target {
821 &self.0
822 }
823 }
824 impl<M> ::core::ops::DerefMut for HoprStakingProxyForNetworkRegistry<M> {
825 fn deref_mut(&mut self) -> &mut Self::Target {
826 &mut self.0
827 }
828 }
829 impl<M> ::core::fmt::Debug for HoprStakingProxyForNetworkRegistry<M> {
830 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
831 f.debug_tuple(::core::stringify!(HoprStakingProxyForNetworkRegistry))
832 .field(&self.address())
833 .finish()
834 }
835 }
836 impl<M: ::ethers::providers::Middleware> HoprStakingProxyForNetworkRegistry<M> {
837 pub fn new<T: Into<::ethers::core::types::Address>>(
840 address: T,
841 client: ::std::sync::Arc<M>,
842 ) -> Self {
843 Self(
844 ::ethers::contract::Contract::new(
845 address.into(),
846 HOPRSTAKINGPROXYFORNETWORKREGISTRY_ABI.clone(),
847 client,
848 ),
849 )
850 }
851 pub fn deploy<T: ::ethers::core::abi::Tokenize>(
875 client: ::std::sync::Arc<M>,
876 constructor_args: T,
877 ) -> ::core::result::Result<
878 ::ethers::contract::builders::ContractDeployer<M, Self>,
879 ::ethers::contract::ContractError<M>,
880 > {
881 let factory = ::ethers::contract::ContractFactory::new(
882 HOPRSTAKINGPROXYFORNETWORKREGISTRY_ABI.clone(),
883 HOPRSTAKINGPROXYFORNETWORKREGISTRY_BYTECODE.clone().into(),
884 client,
885 );
886 let deployer = factory.deploy(constructor_args)?;
887 let deployer = ::ethers::contract::ContractDeployer::new(deployer);
888 Ok(deployer)
889 }
890 pub fn can_operate_for(
892 &self,
893 p0: ::ethers::core::types::Address,
894 p1: ::ethers::core::types::Address,
895 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
896 self.0
897 .method_hash([216, 90, 208, 68], (p0, p1))
898 .expect("method not found (this should never happen)")
899 }
900 pub fn eligible_nft_type_and_rank(
902 &self,
903 p0: ::ethers::core::types::U256,
904 ) -> ::ethers::contract::builders::ContractCall<
905 M,
906 (::ethers::core::types::U256, ::std::string::String),
907 > {
908 self.0
909 .method_hash([222, 98, 108, 14], p0)
910 .expect("method not found (this should never happen)")
911 }
912 pub fn max_allowed_registrations(
914 &self,
915 account: ::ethers::core::types::Address,
916 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
917 self.0
918 .method_hash([179, 84, 78, 130], account)
919 .expect("method not found (this should never happen)")
920 }
921 pub fn max_registrations_per_special_nft(
923 &self,
924 p0: ::ethers::core::types::U256,
925 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
926 self.0
927 .method_hash([186, 28, 239, 35], p0)
928 .expect("method not found (this should never happen)")
929 }
930 pub fn owner(
932 &self,
933 ) -> ::ethers::contract::builders::ContractCall<
934 M,
935 ::ethers::core::types::Address,
936 > {
937 self.0
938 .method_hash([141, 165, 203, 91], ())
939 .expect("method not found (this should never happen)")
940 }
941 pub fn owner_add_nft_type_and_rank(
943 &self,
944 nft_type: ::ethers::core::types::U256,
945 nft_rank: ::std::string::String,
946 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
947 self.0
948 .method_hash([155, 151, 7, 111], (nft_type, nft_rank))
949 .expect("method not found (this should never happen)")
950 }
951 pub fn owner_batch_add_nft_type_and_rank(
953 &self,
954 nft_types: ::std::vec::Vec<::ethers::core::types::U256>,
955 nft_ranks: ::std::vec::Vec<::std::string::String>,
956 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
957 self.0
958 .method_hash([80, 100, 114, 204], (nft_types, nft_ranks))
959 .expect("method not found (this should never happen)")
960 }
961 pub fn owner_batch_add_special_nft_type_and_rank(
963 &self,
964 nft_types: ::std::vec::Vec<::ethers::core::types::U256>,
965 nft_ranks: ::std::vec::Vec<::std::string::String>,
966 max_registrations: ::std::vec::Vec<::ethers::core::types::U256>,
967 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
968 self.0
969 .method_hash(
970 [106, 59, 100, 182],
971 (nft_types, nft_ranks, max_registrations),
972 )
973 .expect("method not found (this should never happen)")
974 }
975 pub fn owner_batch_remove_nft_type_and_rank(
977 &self,
978 nft_types: ::std::vec::Vec<::ethers::core::types::U256>,
979 nft_ranks: ::std::vec::Vec<::std::string::String>,
980 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
981 self.0
982 .method_hash([251, 102, 172, 87], (nft_types, nft_ranks))
983 .expect("method not found (this should never happen)")
984 }
985 pub fn owner_batch_remove_special_nft_type_and_rank(
987 &self,
988 nft_types: ::std::vec::Vec<::ethers::core::types::U256>,
989 nft_ranks: ::std::vec::Vec<::std::string::String>,
990 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
991 self.0
992 .method_hash([176, 94, 139, 169], (nft_types, nft_ranks))
993 .expect("method not found (this should never happen)")
994 }
995 pub fn owner_remove_nft_type_and_rank(
997 &self,
998 nft_type: ::ethers::core::types::U256,
999 nft_rank: ::std::string::String,
1000 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1001 self.0
1002 .method_hash([101, 66, 81, 235], (nft_type, nft_rank))
1003 .expect("method not found (this should never happen)")
1004 }
1005 pub fn owner_update_threshold(
1007 &self,
1008 new_threshold: ::ethers::core::types::U256,
1009 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1010 self.0
1011 .method_hash([238, 80, 199, 196], new_threshold)
1012 .expect("method not found (this should never happen)")
1013 }
1014 pub fn renounce_ownership(
1016 &self,
1017 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1018 self.0
1019 .method_hash([113, 80, 24, 166], ())
1020 .expect("method not found (this should never happen)")
1021 }
1022 pub fn special_nft_type_and_rank(
1024 &self,
1025 p0: ::ethers::core::types::U256,
1026 ) -> ::ethers::contract::builders::ContractCall<
1027 M,
1028 (::ethers::core::types::U256, ::std::string::String),
1029 > {
1030 self.0
1031 .method_hash([44, 62, 200, 11], p0)
1032 .expect("method not found (this should never happen)")
1033 }
1034 pub fn stake_contract(
1036 &self,
1037 ) -> ::ethers::contract::builders::ContractCall<
1038 M,
1039 ::ethers::core::types::Address,
1040 > {
1041 self.0
1042 .method_hash([26, 24, 98, 39], ())
1043 .expect("method not found (this should never happen)")
1044 }
1045 pub fn stake_threshold(
1047 &self,
1048 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1049 self.0
1050 .method_hash([241, 31, 119, 249], ())
1051 .expect("method not found (this should never happen)")
1052 }
1053 pub fn transfer_ownership(
1055 &self,
1056 new_owner: ::ethers::core::types::Address,
1057 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1058 self.0
1059 .method_hash([242, 253, 227, 139], new_owner)
1060 .expect("method not found (this should never happen)")
1061 }
1062 pub fn update_stake_contract(
1064 &self,
1065 stake_contract: ::ethers::core::types::Address,
1066 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1067 self.0
1068 .method_hash([131, 12, 108, 194], stake_contract)
1069 .expect("method not found (this should never happen)")
1070 }
1071 pub fn nft_type_and_rank_added_filter(
1073 &self,
1074 ) -> ::ethers::contract::builders::Event<
1075 ::std::sync::Arc<M>,
1076 M,
1077 NftTypeAndRankAddedFilter,
1078 > {
1079 self.0.event()
1080 }
1081 pub fn nft_type_and_rank_removed_filter(
1083 &self,
1084 ) -> ::ethers::contract::builders::Event<
1085 ::std::sync::Arc<M>,
1086 M,
1087 NftTypeAndRankRemovedFilter,
1088 > {
1089 self.0.event()
1090 }
1091 pub fn ownership_transferred_filter(
1093 &self,
1094 ) -> ::ethers::contract::builders::Event<
1095 ::std::sync::Arc<M>,
1096 M,
1097 OwnershipTransferredFilter,
1098 > {
1099 self.0.event()
1100 }
1101 pub fn special_nft_type_and_rank_added_filter(
1103 &self,
1104 ) -> ::ethers::contract::builders::Event<
1105 ::std::sync::Arc<M>,
1106 M,
1107 SpecialNftTypeAndRankAddedFilter,
1108 > {
1109 self.0.event()
1110 }
1111 pub fn special_nft_type_and_rank_removed_filter(
1113 &self,
1114 ) -> ::ethers::contract::builders::Event<
1115 ::std::sync::Arc<M>,
1116 M,
1117 SpecialNftTypeAndRankRemovedFilter,
1118 > {
1119 self.0.event()
1120 }
1121 pub fn stake_contract_updated_filter(
1123 &self,
1124 ) -> ::ethers::contract::builders::Event<
1125 ::std::sync::Arc<M>,
1126 M,
1127 StakeContractUpdatedFilter,
1128 > {
1129 self.0.event()
1130 }
1131 pub fn threshold_updated_filter(
1133 &self,
1134 ) -> ::ethers::contract::builders::Event<
1135 ::std::sync::Arc<M>,
1136 M,
1137 ThresholdUpdatedFilter,
1138 > {
1139 self.0.event()
1140 }
1141 pub fn events(
1143 &self,
1144 ) -> ::ethers::contract::builders::Event<
1145 ::std::sync::Arc<M>,
1146 M,
1147 HoprStakingProxyForNetworkRegistryEvents,
1148 > {
1149 self.0.event_with_filter(::core::default::Default::default())
1150 }
1151 }
1152 impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
1153 for HoprStakingProxyForNetworkRegistry<M> {
1154 fn from(contract: ::ethers::contract::Contract<M>) -> Self {
1155 Self::new(contract.address(), contract.client())
1156 }
1157 }
1158 #[derive(
1160 Clone,
1161 ::ethers::contract::EthError,
1162 ::ethers::contract::EthDisplay,
1163 serde::Serialize,
1164 serde::Deserialize,
1165 Default,
1166 Debug,
1167 PartialEq,
1168 Eq,
1169 Hash
1170 )]
1171 #[etherror(name = "MaxRegistrationsMismatch", abi = "MaxRegistrationsMismatch()")]
1172 pub struct MaxRegistrationsMismatch;
1173 #[derive(
1175 Clone,
1176 ::ethers::contract::EthError,
1177 ::ethers::contract::EthDisplay,
1178 serde::Serialize,
1179 serde::Deserialize,
1180 Default,
1181 Debug,
1182 PartialEq,
1183 Eq,
1184 Hash
1185 )]
1186 #[etherror(name = "NftRanksMismatch", abi = "NftRanksMismatch()")]
1187 pub struct NftRanksMismatch;
1188 #[derive(
1190 Clone,
1191 ::ethers::contract::EthError,
1192 ::ethers::contract::EthDisplay,
1193 serde::Serialize,
1194 serde::Deserialize,
1195 Default,
1196 Debug,
1197 PartialEq,
1198 Eq,
1199 Hash
1200 )]
1201 #[etherror(name = "SameStakingThreshold", abi = "SameStakingThreshold()")]
1202 pub struct SameStakingThreshold;
1203 #[derive(
1205 Clone,
1206 ::ethers::contract::EthAbiType,
1207 serde::Serialize,
1208 serde::Deserialize,
1209 Debug,
1210 PartialEq,
1211 Eq,
1212 Hash
1213 )]
1214 pub enum HoprStakingProxyForNetworkRegistryErrors {
1215 MaxRegistrationsMismatch(MaxRegistrationsMismatch),
1216 NftRanksMismatch(NftRanksMismatch),
1217 SameStakingThreshold(SameStakingThreshold),
1218 RevertString(::std::string::String),
1221 }
1222 impl ::ethers::core::abi::AbiDecode for HoprStakingProxyForNetworkRegistryErrors {
1223 fn decode(
1224 data: impl AsRef<[u8]>,
1225 ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
1226 let data = data.as_ref();
1227 if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(
1228 data,
1229 ) {
1230 return Ok(Self::RevertString(decoded));
1231 }
1232 if let Ok(decoded) = <MaxRegistrationsMismatch as ::ethers::core::abi::AbiDecode>::decode(
1233 data,
1234 ) {
1235 return Ok(Self::MaxRegistrationsMismatch(decoded));
1236 }
1237 if let Ok(decoded) = <NftRanksMismatch as ::ethers::core::abi::AbiDecode>::decode(
1238 data,
1239 ) {
1240 return Ok(Self::NftRanksMismatch(decoded));
1241 }
1242 if let Ok(decoded) = <SameStakingThreshold as ::ethers::core::abi::AbiDecode>::decode(
1243 data,
1244 ) {
1245 return Ok(Self::SameStakingThreshold(decoded));
1246 }
1247 Err(::ethers::core::abi::Error::InvalidData.into())
1248 }
1249 }
1250 impl ::ethers::core::abi::AbiEncode for HoprStakingProxyForNetworkRegistryErrors {
1251 fn encode(self) -> ::std::vec::Vec<u8> {
1252 match self {
1253 Self::MaxRegistrationsMismatch(element) => {
1254 ::ethers::core::abi::AbiEncode::encode(element)
1255 }
1256 Self::NftRanksMismatch(element) => {
1257 ::ethers::core::abi::AbiEncode::encode(element)
1258 }
1259 Self::SameStakingThreshold(element) => {
1260 ::ethers::core::abi::AbiEncode::encode(element)
1261 }
1262 Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s),
1263 }
1264 }
1265 }
1266 impl ::ethers::contract::ContractRevert
1267 for HoprStakingProxyForNetworkRegistryErrors {
1268 fn valid_selector(selector: [u8; 4]) -> bool {
1269 match selector {
1270 [0x08, 0xc3, 0x79, 0xa0] => true,
1271 _ if selector
1272 == <MaxRegistrationsMismatch as ::ethers::contract::EthError>::selector() => {
1273 true
1274 }
1275 _ if selector
1276 == <NftRanksMismatch as ::ethers::contract::EthError>::selector() => {
1277 true
1278 }
1279 _ if selector
1280 == <SameStakingThreshold as ::ethers::contract::EthError>::selector() => {
1281 true
1282 }
1283 _ => false,
1284 }
1285 }
1286 }
1287 impl ::core::fmt::Display for HoprStakingProxyForNetworkRegistryErrors {
1288 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1289 match self {
1290 Self::MaxRegistrationsMismatch(element) => {
1291 ::core::fmt::Display::fmt(element, f)
1292 }
1293 Self::NftRanksMismatch(element) => ::core::fmt::Display::fmt(element, f),
1294 Self::SameStakingThreshold(element) => {
1295 ::core::fmt::Display::fmt(element, f)
1296 }
1297 Self::RevertString(s) => ::core::fmt::Display::fmt(s, f),
1298 }
1299 }
1300 }
1301 impl ::core::convert::From<::std::string::String>
1302 for HoprStakingProxyForNetworkRegistryErrors {
1303 fn from(value: String) -> Self {
1304 Self::RevertString(value)
1305 }
1306 }
1307 impl ::core::convert::From<MaxRegistrationsMismatch>
1308 for HoprStakingProxyForNetworkRegistryErrors {
1309 fn from(value: MaxRegistrationsMismatch) -> Self {
1310 Self::MaxRegistrationsMismatch(value)
1311 }
1312 }
1313 impl ::core::convert::From<NftRanksMismatch>
1314 for HoprStakingProxyForNetworkRegistryErrors {
1315 fn from(value: NftRanksMismatch) -> Self {
1316 Self::NftRanksMismatch(value)
1317 }
1318 }
1319 impl ::core::convert::From<SameStakingThreshold>
1320 for HoprStakingProxyForNetworkRegistryErrors {
1321 fn from(value: SameStakingThreshold) -> Self {
1322 Self::SameStakingThreshold(value)
1323 }
1324 }
1325 #[derive(
1326 Clone,
1327 ::ethers::contract::EthEvent,
1328 ::ethers::contract::EthDisplay,
1329 serde::Serialize,
1330 serde::Deserialize,
1331 Default,
1332 Debug,
1333 PartialEq,
1334 Eq,
1335 Hash
1336 )]
1337 #[ethevent(
1338 name = "NftTypeAndRankAdded",
1339 abi = "NftTypeAndRankAdded(uint256,string)"
1340 )]
1341 pub struct NftTypeAndRankAddedFilter {
1342 #[ethevent(indexed)]
1343 pub nft_type: ::ethers::core::types::U256,
1344 pub nft_rank: ::std::string::String,
1345 }
1346 #[derive(
1347 Clone,
1348 ::ethers::contract::EthEvent,
1349 ::ethers::contract::EthDisplay,
1350 serde::Serialize,
1351 serde::Deserialize,
1352 Default,
1353 Debug,
1354 PartialEq,
1355 Eq,
1356 Hash
1357 )]
1358 #[ethevent(
1359 name = "NftTypeAndRankRemoved",
1360 abi = "NftTypeAndRankRemoved(uint256,string)"
1361 )]
1362 pub struct NftTypeAndRankRemovedFilter {
1363 #[ethevent(indexed)]
1364 pub nft_type: ::ethers::core::types::U256,
1365 pub nft_rank: ::std::string::String,
1366 }
1367 #[derive(
1368 Clone,
1369 ::ethers::contract::EthEvent,
1370 ::ethers::contract::EthDisplay,
1371 serde::Serialize,
1372 serde::Deserialize,
1373 Default,
1374 Debug,
1375 PartialEq,
1376 Eq,
1377 Hash
1378 )]
1379 #[ethevent(
1380 name = "OwnershipTransferred",
1381 abi = "OwnershipTransferred(address,address)"
1382 )]
1383 pub struct OwnershipTransferredFilter {
1384 #[ethevent(indexed)]
1385 pub previous_owner: ::ethers::core::types::Address,
1386 #[ethevent(indexed)]
1387 pub new_owner: ::ethers::core::types::Address,
1388 }
1389 #[derive(
1390 Clone,
1391 ::ethers::contract::EthEvent,
1392 ::ethers::contract::EthDisplay,
1393 serde::Serialize,
1394 serde::Deserialize,
1395 Default,
1396 Debug,
1397 PartialEq,
1398 Eq,
1399 Hash
1400 )]
1401 #[ethevent(
1402 name = "SpecialNftTypeAndRankAdded",
1403 abi = "SpecialNftTypeAndRankAdded(uint256,string,uint256)"
1404 )]
1405 pub struct SpecialNftTypeAndRankAddedFilter {
1406 #[ethevent(indexed)]
1407 pub nft_type: ::ethers::core::types::U256,
1408 pub nft_rank: ::std::string::String,
1409 #[ethevent(indexed)]
1410 pub max_registration: ::ethers::core::types::U256,
1411 }
1412 #[derive(
1413 Clone,
1414 ::ethers::contract::EthEvent,
1415 ::ethers::contract::EthDisplay,
1416 serde::Serialize,
1417 serde::Deserialize,
1418 Default,
1419 Debug,
1420 PartialEq,
1421 Eq,
1422 Hash
1423 )]
1424 #[ethevent(
1425 name = "SpecialNftTypeAndRankRemoved",
1426 abi = "SpecialNftTypeAndRankRemoved(uint256,string)"
1427 )]
1428 pub struct SpecialNftTypeAndRankRemovedFilter {
1429 #[ethevent(indexed)]
1430 pub nft_type: ::ethers::core::types::U256,
1431 pub nft_rank: ::std::string::String,
1432 }
1433 #[derive(
1434 Clone,
1435 ::ethers::contract::EthEvent,
1436 ::ethers::contract::EthDisplay,
1437 serde::Serialize,
1438 serde::Deserialize,
1439 Default,
1440 Debug,
1441 PartialEq,
1442 Eq,
1443 Hash
1444 )]
1445 #[ethevent(name = "StakeContractUpdated", abi = "StakeContractUpdated(address)")]
1446 pub struct StakeContractUpdatedFilter {
1447 #[ethevent(indexed)]
1448 pub stake_contract: ::ethers::core::types::Address,
1449 }
1450 #[derive(
1451 Clone,
1452 ::ethers::contract::EthEvent,
1453 ::ethers::contract::EthDisplay,
1454 serde::Serialize,
1455 serde::Deserialize,
1456 Default,
1457 Debug,
1458 PartialEq,
1459 Eq,
1460 Hash
1461 )]
1462 #[ethevent(name = "ThresholdUpdated", abi = "ThresholdUpdated(uint256)")]
1463 pub struct ThresholdUpdatedFilter {
1464 #[ethevent(indexed)]
1465 pub threshold: ::ethers::core::types::U256,
1466 }
1467 #[derive(
1469 Clone,
1470 ::ethers::contract::EthAbiType,
1471 serde::Serialize,
1472 serde::Deserialize,
1473 Debug,
1474 PartialEq,
1475 Eq,
1476 Hash
1477 )]
1478 pub enum HoprStakingProxyForNetworkRegistryEvents {
1479 NftTypeAndRankAddedFilter(NftTypeAndRankAddedFilter),
1480 NftTypeAndRankRemovedFilter(NftTypeAndRankRemovedFilter),
1481 OwnershipTransferredFilter(OwnershipTransferredFilter),
1482 SpecialNftTypeAndRankAddedFilter(SpecialNftTypeAndRankAddedFilter),
1483 SpecialNftTypeAndRankRemovedFilter(SpecialNftTypeAndRankRemovedFilter),
1484 StakeContractUpdatedFilter(StakeContractUpdatedFilter),
1485 ThresholdUpdatedFilter(ThresholdUpdatedFilter),
1486 }
1487 impl ::ethers::contract::EthLogDecode for HoprStakingProxyForNetworkRegistryEvents {
1488 fn decode_log(
1489 log: &::ethers::core::abi::RawLog,
1490 ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
1491 if let Ok(decoded) = NftTypeAndRankAddedFilter::decode_log(log) {
1492 return Ok(
1493 HoprStakingProxyForNetworkRegistryEvents::NftTypeAndRankAddedFilter(
1494 decoded,
1495 ),
1496 );
1497 }
1498 if let Ok(decoded) = NftTypeAndRankRemovedFilter::decode_log(log) {
1499 return Ok(
1500 HoprStakingProxyForNetworkRegistryEvents::NftTypeAndRankRemovedFilter(
1501 decoded,
1502 ),
1503 );
1504 }
1505 if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) {
1506 return Ok(
1507 HoprStakingProxyForNetworkRegistryEvents::OwnershipTransferredFilter(
1508 decoded,
1509 ),
1510 );
1511 }
1512 if let Ok(decoded) = SpecialNftTypeAndRankAddedFilter::decode_log(log) {
1513 return Ok(
1514 HoprStakingProxyForNetworkRegistryEvents::SpecialNftTypeAndRankAddedFilter(
1515 decoded,
1516 ),
1517 );
1518 }
1519 if let Ok(decoded) = SpecialNftTypeAndRankRemovedFilter::decode_log(log) {
1520 return Ok(
1521 HoprStakingProxyForNetworkRegistryEvents::SpecialNftTypeAndRankRemovedFilter(
1522 decoded,
1523 ),
1524 );
1525 }
1526 if let Ok(decoded) = StakeContractUpdatedFilter::decode_log(log) {
1527 return Ok(
1528 HoprStakingProxyForNetworkRegistryEvents::StakeContractUpdatedFilter(
1529 decoded,
1530 ),
1531 );
1532 }
1533 if let Ok(decoded) = ThresholdUpdatedFilter::decode_log(log) {
1534 return Ok(
1535 HoprStakingProxyForNetworkRegistryEvents::ThresholdUpdatedFilter(
1536 decoded,
1537 ),
1538 );
1539 }
1540 Err(::ethers::core::abi::Error::InvalidData)
1541 }
1542 }
1543 impl ::core::fmt::Display for HoprStakingProxyForNetworkRegistryEvents {
1544 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1545 match self {
1546 Self::NftTypeAndRankAddedFilter(element) => {
1547 ::core::fmt::Display::fmt(element, f)
1548 }
1549 Self::NftTypeAndRankRemovedFilter(element) => {
1550 ::core::fmt::Display::fmt(element, f)
1551 }
1552 Self::OwnershipTransferredFilter(element) => {
1553 ::core::fmt::Display::fmt(element, f)
1554 }
1555 Self::SpecialNftTypeAndRankAddedFilter(element) => {
1556 ::core::fmt::Display::fmt(element, f)
1557 }
1558 Self::SpecialNftTypeAndRankRemovedFilter(element) => {
1559 ::core::fmt::Display::fmt(element, f)
1560 }
1561 Self::StakeContractUpdatedFilter(element) => {
1562 ::core::fmt::Display::fmt(element, f)
1563 }
1564 Self::ThresholdUpdatedFilter(element) => {
1565 ::core::fmt::Display::fmt(element, f)
1566 }
1567 }
1568 }
1569 }
1570 impl ::core::convert::From<NftTypeAndRankAddedFilter>
1571 for HoprStakingProxyForNetworkRegistryEvents {
1572 fn from(value: NftTypeAndRankAddedFilter) -> Self {
1573 Self::NftTypeAndRankAddedFilter(value)
1574 }
1575 }
1576 impl ::core::convert::From<NftTypeAndRankRemovedFilter>
1577 for HoprStakingProxyForNetworkRegistryEvents {
1578 fn from(value: NftTypeAndRankRemovedFilter) -> Self {
1579 Self::NftTypeAndRankRemovedFilter(value)
1580 }
1581 }
1582 impl ::core::convert::From<OwnershipTransferredFilter>
1583 for HoprStakingProxyForNetworkRegistryEvents {
1584 fn from(value: OwnershipTransferredFilter) -> Self {
1585 Self::OwnershipTransferredFilter(value)
1586 }
1587 }
1588 impl ::core::convert::From<SpecialNftTypeAndRankAddedFilter>
1589 for HoprStakingProxyForNetworkRegistryEvents {
1590 fn from(value: SpecialNftTypeAndRankAddedFilter) -> Self {
1591 Self::SpecialNftTypeAndRankAddedFilter(value)
1592 }
1593 }
1594 impl ::core::convert::From<SpecialNftTypeAndRankRemovedFilter>
1595 for HoprStakingProxyForNetworkRegistryEvents {
1596 fn from(value: SpecialNftTypeAndRankRemovedFilter) -> Self {
1597 Self::SpecialNftTypeAndRankRemovedFilter(value)
1598 }
1599 }
1600 impl ::core::convert::From<StakeContractUpdatedFilter>
1601 for HoprStakingProxyForNetworkRegistryEvents {
1602 fn from(value: StakeContractUpdatedFilter) -> Self {
1603 Self::StakeContractUpdatedFilter(value)
1604 }
1605 }
1606 impl ::core::convert::From<ThresholdUpdatedFilter>
1607 for HoprStakingProxyForNetworkRegistryEvents {
1608 fn from(value: ThresholdUpdatedFilter) -> Self {
1609 Self::ThresholdUpdatedFilter(value)
1610 }
1611 }
1612 #[derive(
1614 Clone,
1615 ::ethers::contract::EthCall,
1616 ::ethers::contract::EthDisplay,
1617 serde::Serialize,
1618 serde::Deserialize,
1619 Default,
1620 Debug,
1621 PartialEq,
1622 Eq,
1623 Hash
1624 )]
1625 #[ethcall(name = "canOperateFor", abi = "canOperateFor(address,address)")]
1626 pub struct CanOperateForCall(
1627 pub ::ethers::core::types::Address,
1628 pub ::ethers::core::types::Address,
1629 );
1630 #[derive(
1632 Clone,
1633 ::ethers::contract::EthCall,
1634 ::ethers::contract::EthDisplay,
1635 serde::Serialize,
1636 serde::Deserialize,
1637 Default,
1638 Debug,
1639 PartialEq,
1640 Eq,
1641 Hash
1642 )]
1643 #[ethcall(name = "eligibleNftTypeAndRank", abi = "eligibleNftTypeAndRank(uint256)")]
1644 pub struct EligibleNftTypeAndRankCall(pub ::ethers::core::types::U256);
1645 #[derive(
1647 Clone,
1648 ::ethers::contract::EthCall,
1649 ::ethers::contract::EthDisplay,
1650 serde::Serialize,
1651 serde::Deserialize,
1652 Default,
1653 Debug,
1654 PartialEq,
1655 Eq,
1656 Hash
1657 )]
1658 #[ethcall(
1659 name = "maxAllowedRegistrations",
1660 abi = "maxAllowedRegistrations(address)"
1661 )]
1662 pub struct MaxAllowedRegistrationsCall {
1663 pub account: ::ethers::core::types::Address,
1664 }
1665 #[derive(
1667 Clone,
1668 ::ethers::contract::EthCall,
1669 ::ethers::contract::EthDisplay,
1670 serde::Serialize,
1671 serde::Deserialize,
1672 Default,
1673 Debug,
1674 PartialEq,
1675 Eq,
1676 Hash
1677 )]
1678 #[ethcall(
1679 name = "maxRegistrationsPerSpecialNft",
1680 abi = "maxRegistrationsPerSpecialNft(uint256)"
1681 )]
1682 pub struct MaxRegistrationsPerSpecialNftCall(pub ::ethers::core::types::U256);
1683 #[derive(
1685 Clone,
1686 ::ethers::contract::EthCall,
1687 ::ethers::contract::EthDisplay,
1688 serde::Serialize,
1689 serde::Deserialize,
1690 Default,
1691 Debug,
1692 PartialEq,
1693 Eq,
1694 Hash
1695 )]
1696 #[ethcall(name = "owner", abi = "owner()")]
1697 pub struct OwnerCall;
1698 #[derive(
1700 Clone,
1701 ::ethers::contract::EthCall,
1702 ::ethers::contract::EthDisplay,
1703 serde::Serialize,
1704 serde::Deserialize,
1705 Default,
1706 Debug,
1707 PartialEq,
1708 Eq,
1709 Hash
1710 )]
1711 #[ethcall(
1712 name = "ownerAddNftTypeAndRank",
1713 abi = "ownerAddNftTypeAndRank(uint256,string)"
1714 )]
1715 pub struct OwnerAddNftTypeAndRankCall {
1716 pub nft_type: ::ethers::core::types::U256,
1717 pub nft_rank: ::std::string::String,
1718 }
1719 #[derive(
1721 Clone,
1722 ::ethers::contract::EthCall,
1723 ::ethers::contract::EthDisplay,
1724 serde::Serialize,
1725 serde::Deserialize,
1726 Default,
1727 Debug,
1728 PartialEq,
1729 Eq,
1730 Hash
1731 )]
1732 #[ethcall(
1733 name = "ownerBatchAddNftTypeAndRank",
1734 abi = "ownerBatchAddNftTypeAndRank(uint256[],string[])"
1735 )]
1736 pub struct OwnerBatchAddNftTypeAndRankCall {
1737 pub nft_types: ::std::vec::Vec<::ethers::core::types::U256>,
1738 pub nft_ranks: ::std::vec::Vec<::std::string::String>,
1739 }
1740 #[derive(
1742 Clone,
1743 ::ethers::contract::EthCall,
1744 ::ethers::contract::EthDisplay,
1745 serde::Serialize,
1746 serde::Deserialize,
1747 Default,
1748 Debug,
1749 PartialEq,
1750 Eq,
1751 Hash
1752 )]
1753 #[ethcall(
1754 name = "ownerBatchAddSpecialNftTypeAndRank",
1755 abi = "ownerBatchAddSpecialNftTypeAndRank(uint256[],string[],uint256[])"
1756 )]
1757 pub struct OwnerBatchAddSpecialNftTypeAndRankCall {
1758 pub nft_types: ::std::vec::Vec<::ethers::core::types::U256>,
1759 pub nft_ranks: ::std::vec::Vec<::std::string::String>,
1760 pub max_registrations: ::std::vec::Vec<::ethers::core::types::U256>,
1761 }
1762 #[derive(
1764 Clone,
1765 ::ethers::contract::EthCall,
1766 ::ethers::contract::EthDisplay,
1767 serde::Serialize,
1768 serde::Deserialize,
1769 Default,
1770 Debug,
1771 PartialEq,
1772 Eq,
1773 Hash
1774 )]
1775 #[ethcall(
1776 name = "ownerBatchRemoveNftTypeAndRank",
1777 abi = "ownerBatchRemoveNftTypeAndRank(uint256[],string[])"
1778 )]
1779 pub struct OwnerBatchRemoveNftTypeAndRankCall {
1780 pub nft_types: ::std::vec::Vec<::ethers::core::types::U256>,
1781 pub nft_ranks: ::std::vec::Vec<::std::string::String>,
1782 }
1783 #[derive(
1785 Clone,
1786 ::ethers::contract::EthCall,
1787 ::ethers::contract::EthDisplay,
1788 serde::Serialize,
1789 serde::Deserialize,
1790 Default,
1791 Debug,
1792 PartialEq,
1793 Eq,
1794 Hash
1795 )]
1796 #[ethcall(
1797 name = "ownerBatchRemoveSpecialNftTypeAndRank",
1798 abi = "ownerBatchRemoveSpecialNftTypeAndRank(uint256[],string[])"
1799 )]
1800 pub struct OwnerBatchRemoveSpecialNftTypeAndRankCall {
1801 pub nft_types: ::std::vec::Vec<::ethers::core::types::U256>,
1802 pub nft_ranks: ::std::vec::Vec<::std::string::String>,
1803 }
1804 #[derive(
1806 Clone,
1807 ::ethers::contract::EthCall,
1808 ::ethers::contract::EthDisplay,
1809 serde::Serialize,
1810 serde::Deserialize,
1811 Default,
1812 Debug,
1813 PartialEq,
1814 Eq,
1815 Hash
1816 )]
1817 #[ethcall(
1818 name = "ownerRemoveNftTypeAndRank",
1819 abi = "ownerRemoveNftTypeAndRank(uint256,string)"
1820 )]
1821 pub struct OwnerRemoveNftTypeAndRankCall {
1822 pub nft_type: ::ethers::core::types::U256,
1823 pub nft_rank: ::std::string::String,
1824 }
1825 #[derive(
1827 Clone,
1828 ::ethers::contract::EthCall,
1829 ::ethers::contract::EthDisplay,
1830 serde::Serialize,
1831 serde::Deserialize,
1832 Default,
1833 Debug,
1834 PartialEq,
1835 Eq,
1836 Hash
1837 )]
1838 #[ethcall(name = "ownerUpdateThreshold", abi = "ownerUpdateThreshold(uint256)")]
1839 pub struct OwnerUpdateThresholdCall {
1840 pub new_threshold: ::ethers::core::types::U256,
1841 }
1842 #[derive(
1844 Clone,
1845 ::ethers::contract::EthCall,
1846 ::ethers::contract::EthDisplay,
1847 serde::Serialize,
1848 serde::Deserialize,
1849 Default,
1850 Debug,
1851 PartialEq,
1852 Eq,
1853 Hash
1854 )]
1855 #[ethcall(name = "renounceOwnership", abi = "renounceOwnership()")]
1856 pub struct RenounceOwnershipCall;
1857 #[derive(
1859 Clone,
1860 ::ethers::contract::EthCall,
1861 ::ethers::contract::EthDisplay,
1862 serde::Serialize,
1863 serde::Deserialize,
1864 Default,
1865 Debug,
1866 PartialEq,
1867 Eq,
1868 Hash
1869 )]
1870 #[ethcall(name = "specialNftTypeAndRank", abi = "specialNftTypeAndRank(uint256)")]
1871 pub struct SpecialNftTypeAndRankCall(pub ::ethers::core::types::U256);
1872 #[derive(
1874 Clone,
1875 ::ethers::contract::EthCall,
1876 ::ethers::contract::EthDisplay,
1877 serde::Serialize,
1878 serde::Deserialize,
1879 Default,
1880 Debug,
1881 PartialEq,
1882 Eq,
1883 Hash
1884 )]
1885 #[ethcall(name = "stakeContract", abi = "stakeContract()")]
1886 pub struct StakeContractCall;
1887 #[derive(
1889 Clone,
1890 ::ethers::contract::EthCall,
1891 ::ethers::contract::EthDisplay,
1892 serde::Serialize,
1893 serde::Deserialize,
1894 Default,
1895 Debug,
1896 PartialEq,
1897 Eq,
1898 Hash
1899 )]
1900 #[ethcall(name = "stakeThreshold", abi = "stakeThreshold()")]
1901 pub struct StakeThresholdCall;
1902 #[derive(
1904 Clone,
1905 ::ethers::contract::EthCall,
1906 ::ethers::contract::EthDisplay,
1907 serde::Serialize,
1908 serde::Deserialize,
1909 Default,
1910 Debug,
1911 PartialEq,
1912 Eq,
1913 Hash
1914 )]
1915 #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")]
1916 pub struct TransferOwnershipCall {
1917 pub new_owner: ::ethers::core::types::Address,
1918 }
1919 #[derive(
1921 Clone,
1922 ::ethers::contract::EthCall,
1923 ::ethers::contract::EthDisplay,
1924 serde::Serialize,
1925 serde::Deserialize,
1926 Default,
1927 Debug,
1928 PartialEq,
1929 Eq,
1930 Hash
1931 )]
1932 #[ethcall(name = "updateStakeContract", abi = "updateStakeContract(address)")]
1933 pub struct UpdateStakeContractCall {
1934 pub stake_contract: ::ethers::core::types::Address,
1935 }
1936 #[derive(
1938 Clone,
1939 ::ethers::contract::EthAbiType,
1940 serde::Serialize,
1941 serde::Deserialize,
1942 Debug,
1943 PartialEq,
1944 Eq,
1945 Hash
1946 )]
1947 pub enum HoprStakingProxyForNetworkRegistryCalls {
1948 CanOperateFor(CanOperateForCall),
1949 EligibleNftTypeAndRank(EligibleNftTypeAndRankCall),
1950 MaxAllowedRegistrations(MaxAllowedRegistrationsCall),
1951 MaxRegistrationsPerSpecialNft(MaxRegistrationsPerSpecialNftCall),
1952 Owner(OwnerCall),
1953 OwnerAddNftTypeAndRank(OwnerAddNftTypeAndRankCall),
1954 OwnerBatchAddNftTypeAndRank(OwnerBatchAddNftTypeAndRankCall),
1955 OwnerBatchAddSpecialNftTypeAndRank(OwnerBatchAddSpecialNftTypeAndRankCall),
1956 OwnerBatchRemoveNftTypeAndRank(OwnerBatchRemoveNftTypeAndRankCall),
1957 OwnerBatchRemoveSpecialNftTypeAndRank(OwnerBatchRemoveSpecialNftTypeAndRankCall),
1958 OwnerRemoveNftTypeAndRank(OwnerRemoveNftTypeAndRankCall),
1959 OwnerUpdateThreshold(OwnerUpdateThresholdCall),
1960 RenounceOwnership(RenounceOwnershipCall),
1961 SpecialNftTypeAndRank(SpecialNftTypeAndRankCall),
1962 StakeContract(StakeContractCall),
1963 StakeThreshold(StakeThresholdCall),
1964 TransferOwnership(TransferOwnershipCall),
1965 UpdateStakeContract(UpdateStakeContractCall),
1966 }
1967 impl ::ethers::core::abi::AbiDecode for HoprStakingProxyForNetworkRegistryCalls {
1968 fn decode(
1969 data: impl AsRef<[u8]>,
1970 ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
1971 let data = data.as_ref();
1972 if let Ok(decoded) = <CanOperateForCall as ::ethers::core::abi::AbiDecode>::decode(
1973 data,
1974 ) {
1975 return Ok(Self::CanOperateFor(decoded));
1976 }
1977 if let Ok(decoded) = <EligibleNftTypeAndRankCall as ::ethers::core::abi::AbiDecode>::decode(
1978 data,
1979 ) {
1980 return Ok(Self::EligibleNftTypeAndRank(decoded));
1981 }
1982 if let Ok(decoded) = <MaxAllowedRegistrationsCall as ::ethers::core::abi::AbiDecode>::decode(
1983 data,
1984 ) {
1985 return Ok(Self::MaxAllowedRegistrations(decoded));
1986 }
1987 if let Ok(decoded) = <MaxRegistrationsPerSpecialNftCall as ::ethers::core::abi::AbiDecode>::decode(
1988 data,
1989 ) {
1990 return Ok(Self::MaxRegistrationsPerSpecialNft(decoded));
1991 }
1992 if let Ok(decoded) = <OwnerCall as ::ethers::core::abi::AbiDecode>::decode(
1993 data,
1994 ) {
1995 return Ok(Self::Owner(decoded));
1996 }
1997 if let Ok(decoded) = <OwnerAddNftTypeAndRankCall as ::ethers::core::abi::AbiDecode>::decode(
1998 data,
1999 ) {
2000 return Ok(Self::OwnerAddNftTypeAndRank(decoded));
2001 }
2002 if let Ok(decoded) = <OwnerBatchAddNftTypeAndRankCall as ::ethers::core::abi::AbiDecode>::decode(
2003 data,
2004 ) {
2005 return Ok(Self::OwnerBatchAddNftTypeAndRank(decoded));
2006 }
2007 if let Ok(decoded) = <OwnerBatchAddSpecialNftTypeAndRankCall as ::ethers::core::abi::AbiDecode>::decode(
2008 data,
2009 ) {
2010 return Ok(Self::OwnerBatchAddSpecialNftTypeAndRank(decoded));
2011 }
2012 if let Ok(decoded) = <OwnerBatchRemoveNftTypeAndRankCall as ::ethers::core::abi::AbiDecode>::decode(
2013 data,
2014 ) {
2015 return Ok(Self::OwnerBatchRemoveNftTypeAndRank(decoded));
2016 }
2017 if let Ok(decoded) = <OwnerBatchRemoveSpecialNftTypeAndRankCall as ::ethers::core::abi::AbiDecode>::decode(
2018 data,
2019 ) {
2020 return Ok(Self::OwnerBatchRemoveSpecialNftTypeAndRank(decoded));
2021 }
2022 if let Ok(decoded) = <OwnerRemoveNftTypeAndRankCall as ::ethers::core::abi::AbiDecode>::decode(
2023 data,
2024 ) {
2025 return Ok(Self::OwnerRemoveNftTypeAndRank(decoded));
2026 }
2027 if let Ok(decoded) = <OwnerUpdateThresholdCall as ::ethers::core::abi::AbiDecode>::decode(
2028 data,
2029 ) {
2030 return Ok(Self::OwnerUpdateThreshold(decoded));
2031 }
2032 if let Ok(decoded) = <RenounceOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(
2033 data,
2034 ) {
2035 return Ok(Self::RenounceOwnership(decoded));
2036 }
2037 if let Ok(decoded) = <SpecialNftTypeAndRankCall as ::ethers::core::abi::AbiDecode>::decode(
2038 data,
2039 ) {
2040 return Ok(Self::SpecialNftTypeAndRank(decoded));
2041 }
2042 if let Ok(decoded) = <StakeContractCall as ::ethers::core::abi::AbiDecode>::decode(
2043 data,
2044 ) {
2045 return Ok(Self::StakeContract(decoded));
2046 }
2047 if let Ok(decoded) = <StakeThresholdCall as ::ethers::core::abi::AbiDecode>::decode(
2048 data,
2049 ) {
2050 return Ok(Self::StakeThreshold(decoded));
2051 }
2052 if let Ok(decoded) = <TransferOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(
2053 data,
2054 ) {
2055 return Ok(Self::TransferOwnership(decoded));
2056 }
2057 if let Ok(decoded) = <UpdateStakeContractCall as ::ethers::core::abi::AbiDecode>::decode(
2058 data,
2059 ) {
2060 return Ok(Self::UpdateStakeContract(decoded));
2061 }
2062 Err(::ethers::core::abi::Error::InvalidData.into())
2063 }
2064 }
2065 impl ::ethers::core::abi::AbiEncode for HoprStakingProxyForNetworkRegistryCalls {
2066 fn encode(self) -> Vec<u8> {
2067 match self {
2068 Self::CanOperateFor(element) => {
2069 ::ethers::core::abi::AbiEncode::encode(element)
2070 }
2071 Self::EligibleNftTypeAndRank(element) => {
2072 ::ethers::core::abi::AbiEncode::encode(element)
2073 }
2074 Self::MaxAllowedRegistrations(element) => {
2075 ::ethers::core::abi::AbiEncode::encode(element)
2076 }
2077 Self::MaxRegistrationsPerSpecialNft(element) => {
2078 ::ethers::core::abi::AbiEncode::encode(element)
2079 }
2080 Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element),
2081 Self::OwnerAddNftTypeAndRank(element) => {
2082 ::ethers::core::abi::AbiEncode::encode(element)
2083 }
2084 Self::OwnerBatchAddNftTypeAndRank(element) => {
2085 ::ethers::core::abi::AbiEncode::encode(element)
2086 }
2087 Self::OwnerBatchAddSpecialNftTypeAndRank(element) => {
2088 ::ethers::core::abi::AbiEncode::encode(element)
2089 }
2090 Self::OwnerBatchRemoveNftTypeAndRank(element) => {
2091 ::ethers::core::abi::AbiEncode::encode(element)
2092 }
2093 Self::OwnerBatchRemoveSpecialNftTypeAndRank(element) => {
2094 ::ethers::core::abi::AbiEncode::encode(element)
2095 }
2096 Self::OwnerRemoveNftTypeAndRank(element) => {
2097 ::ethers::core::abi::AbiEncode::encode(element)
2098 }
2099 Self::OwnerUpdateThreshold(element) => {
2100 ::ethers::core::abi::AbiEncode::encode(element)
2101 }
2102 Self::RenounceOwnership(element) => {
2103 ::ethers::core::abi::AbiEncode::encode(element)
2104 }
2105 Self::SpecialNftTypeAndRank(element) => {
2106 ::ethers::core::abi::AbiEncode::encode(element)
2107 }
2108 Self::StakeContract(element) => {
2109 ::ethers::core::abi::AbiEncode::encode(element)
2110 }
2111 Self::StakeThreshold(element) => {
2112 ::ethers::core::abi::AbiEncode::encode(element)
2113 }
2114 Self::TransferOwnership(element) => {
2115 ::ethers::core::abi::AbiEncode::encode(element)
2116 }
2117 Self::UpdateStakeContract(element) => {
2118 ::ethers::core::abi::AbiEncode::encode(element)
2119 }
2120 }
2121 }
2122 }
2123 impl ::core::fmt::Display for HoprStakingProxyForNetworkRegistryCalls {
2124 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2125 match self {
2126 Self::CanOperateFor(element) => ::core::fmt::Display::fmt(element, f),
2127 Self::EligibleNftTypeAndRank(element) => {
2128 ::core::fmt::Display::fmt(element, f)
2129 }
2130 Self::MaxAllowedRegistrations(element) => {
2131 ::core::fmt::Display::fmt(element, f)
2132 }
2133 Self::MaxRegistrationsPerSpecialNft(element) => {
2134 ::core::fmt::Display::fmt(element, f)
2135 }
2136 Self::Owner(element) => ::core::fmt::Display::fmt(element, f),
2137 Self::OwnerAddNftTypeAndRank(element) => {
2138 ::core::fmt::Display::fmt(element, f)
2139 }
2140 Self::OwnerBatchAddNftTypeAndRank(element) => {
2141 ::core::fmt::Display::fmt(element, f)
2142 }
2143 Self::OwnerBatchAddSpecialNftTypeAndRank(element) => {
2144 ::core::fmt::Display::fmt(element, f)
2145 }
2146 Self::OwnerBatchRemoveNftTypeAndRank(element) => {
2147 ::core::fmt::Display::fmt(element, f)
2148 }
2149 Self::OwnerBatchRemoveSpecialNftTypeAndRank(element) => {
2150 ::core::fmt::Display::fmt(element, f)
2151 }
2152 Self::OwnerRemoveNftTypeAndRank(element) => {
2153 ::core::fmt::Display::fmt(element, f)
2154 }
2155 Self::OwnerUpdateThreshold(element) => {
2156 ::core::fmt::Display::fmt(element, f)
2157 }
2158 Self::RenounceOwnership(element) => ::core::fmt::Display::fmt(element, f),
2159 Self::SpecialNftTypeAndRank(element) => {
2160 ::core::fmt::Display::fmt(element, f)
2161 }
2162 Self::StakeContract(element) => ::core::fmt::Display::fmt(element, f),
2163 Self::StakeThreshold(element) => ::core::fmt::Display::fmt(element, f),
2164 Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f),
2165 Self::UpdateStakeContract(element) => {
2166 ::core::fmt::Display::fmt(element, f)
2167 }
2168 }
2169 }
2170 }
2171 impl ::core::convert::From<CanOperateForCall>
2172 for HoprStakingProxyForNetworkRegistryCalls {
2173 fn from(value: CanOperateForCall) -> Self {
2174 Self::CanOperateFor(value)
2175 }
2176 }
2177 impl ::core::convert::From<EligibleNftTypeAndRankCall>
2178 for HoprStakingProxyForNetworkRegistryCalls {
2179 fn from(value: EligibleNftTypeAndRankCall) -> Self {
2180 Self::EligibleNftTypeAndRank(value)
2181 }
2182 }
2183 impl ::core::convert::From<MaxAllowedRegistrationsCall>
2184 for HoprStakingProxyForNetworkRegistryCalls {
2185 fn from(value: MaxAllowedRegistrationsCall) -> Self {
2186 Self::MaxAllowedRegistrations(value)
2187 }
2188 }
2189 impl ::core::convert::From<MaxRegistrationsPerSpecialNftCall>
2190 for HoprStakingProxyForNetworkRegistryCalls {
2191 fn from(value: MaxRegistrationsPerSpecialNftCall) -> Self {
2192 Self::MaxRegistrationsPerSpecialNft(value)
2193 }
2194 }
2195 impl ::core::convert::From<OwnerCall> for HoprStakingProxyForNetworkRegistryCalls {
2196 fn from(value: OwnerCall) -> Self {
2197 Self::Owner(value)
2198 }
2199 }
2200 impl ::core::convert::From<OwnerAddNftTypeAndRankCall>
2201 for HoprStakingProxyForNetworkRegistryCalls {
2202 fn from(value: OwnerAddNftTypeAndRankCall) -> Self {
2203 Self::OwnerAddNftTypeAndRank(value)
2204 }
2205 }
2206 impl ::core::convert::From<OwnerBatchAddNftTypeAndRankCall>
2207 for HoprStakingProxyForNetworkRegistryCalls {
2208 fn from(value: OwnerBatchAddNftTypeAndRankCall) -> Self {
2209 Self::OwnerBatchAddNftTypeAndRank(value)
2210 }
2211 }
2212 impl ::core::convert::From<OwnerBatchAddSpecialNftTypeAndRankCall>
2213 for HoprStakingProxyForNetworkRegistryCalls {
2214 fn from(value: OwnerBatchAddSpecialNftTypeAndRankCall) -> Self {
2215 Self::OwnerBatchAddSpecialNftTypeAndRank(value)
2216 }
2217 }
2218 impl ::core::convert::From<OwnerBatchRemoveNftTypeAndRankCall>
2219 for HoprStakingProxyForNetworkRegistryCalls {
2220 fn from(value: OwnerBatchRemoveNftTypeAndRankCall) -> Self {
2221 Self::OwnerBatchRemoveNftTypeAndRank(value)
2222 }
2223 }
2224 impl ::core::convert::From<OwnerBatchRemoveSpecialNftTypeAndRankCall>
2225 for HoprStakingProxyForNetworkRegistryCalls {
2226 fn from(value: OwnerBatchRemoveSpecialNftTypeAndRankCall) -> Self {
2227 Self::OwnerBatchRemoveSpecialNftTypeAndRank(value)
2228 }
2229 }
2230 impl ::core::convert::From<OwnerRemoveNftTypeAndRankCall>
2231 for HoprStakingProxyForNetworkRegistryCalls {
2232 fn from(value: OwnerRemoveNftTypeAndRankCall) -> Self {
2233 Self::OwnerRemoveNftTypeAndRank(value)
2234 }
2235 }
2236 impl ::core::convert::From<OwnerUpdateThresholdCall>
2237 for HoprStakingProxyForNetworkRegistryCalls {
2238 fn from(value: OwnerUpdateThresholdCall) -> Self {
2239 Self::OwnerUpdateThreshold(value)
2240 }
2241 }
2242 impl ::core::convert::From<RenounceOwnershipCall>
2243 for HoprStakingProxyForNetworkRegistryCalls {
2244 fn from(value: RenounceOwnershipCall) -> Self {
2245 Self::RenounceOwnership(value)
2246 }
2247 }
2248 impl ::core::convert::From<SpecialNftTypeAndRankCall>
2249 for HoprStakingProxyForNetworkRegistryCalls {
2250 fn from(value: SpecialNftTypeAndRankCall) -> Self {
2251 Self::SpecialNftTypeAndRank(value)
2252 }
2253 }
2254 impl ::core::convert::From<StakeContractCall>
2255 for HoprStakingProxyForNetworkRegistryCalls {
2256 fn from(value: StakeContractCall) -> Self {
2257 Self::StakeContract(value)
2258 }
2259 }
2260 impl ::core::convert::From<StakeThresholdCall>
2261 for HoprStakingProxyForNetworkRegistryCalls {
2262 fn from(value: StakeThresholdCall) -> Self {
2263 Self::StakeThreshold(value)
2264 }
2265 }
2266 impl ::core::convert::From<TransferOwnershipCall>
2267 for HoprStakingProxyForNetworkRegistryCalls {
2268 fn from(value: TransferOwnershipCall) -> Self {
2269 Self::TransferOwnership(value)
2270 }
2271 }
2272 impl ::core::convert::From<UpdateStakeContractCall>
2273 for HoprStakingProxyForNetworkRegistryCalls {
2274 fn from(value: UpdateStakeContractCall) -> Self {
2275 Self::UpdateStakeContract(value)
2276 }
2277 }
2278 #[derive(
2280 Clone,
2281 ::ethers::contract::EthAbiType,
2282 ::ethers::contract::EthAbiCodec,
2283 serde::Serialize,
2284 serde::Deserialize,
2285 Default,
2286 Debug,
2287 PartialEq,
2288 Eq,
2289 Hash
2290 )]
2291 pub struct CanOperateForReturn {
2292 pub eligiblity: bool,
2293 }
2294 #[derive(
2296 Clone,
2297 ::ethers::contract::EthAbiType,
2298 ::ethers::contract::EthAbiCodec,
2299 serde::Serialize,
2300 serde::Deserialize,
2301 Default,
2302 Debug,
2303 PartialEq,
2304 Eq,
2305 Hash
2306 )]
2307 pub struct EligibleNftTypeAndRankReturn {
2308 pub nft_type: ::ethers::core::types::U256,
2309 pub nft_rank: ::std::string::String,
2310 }
2311 #[derive(
2313 Clone,
2314 ::ethers::contract::EthAbiType,
2315 ::ethers::contract::EthAbiCodec,
2316 serde::Serialize,
2317 serde::Deserialize,
2318 Default,
2319 Debug,
2320 PartialEq,
2321 Eq,
2322 Hash
2323 )]
2324 pub struct MaxAllowedRegistrationsReturn(pub ::ethers::core::types::U256);
2325 #[derive(
2327 Clone,
2328 ::ethers::contract::EthAbiType,
2329 ::ethers::contract::EthAbiCodec,
2330 serde::Serialize,
2331 serde::Deserialize,
2332 Default,
2333 Debug,
2334 PartialEq,
2335 Eq,
2336 Hash
2337 )]
2338 pub struct MaxRegistrationsPerSpecialNftReturn(pub ::ethers::core::types::U256);
2339 #[derive(
2341 Clone,
2342 ::ethers::contract::EthAbiType,
2343 ::ethers::contract::EthAbiCodec,
2344 serde::Serialize,
2345 serde::Deserialize,
2346 Default,
2347 Debug,
2348 PartialEq,
2349 Eq,
2350 Hash
2351 )]
2352 pub struct OwnerReturn(pub ::ethers::core::types::Address);
2353 #[derive(
2355 Clone,
2356 ::ethers::contract::EthAbiType,
2357 ::ethers::contract::EthAbiCodec,
2358 serde::Serialize,
2359 serde::Deserialize,
2360 Default,
2361 Debug,
2362 PartialEq,
2363 Eq,
2364 Hash
2365 )]
2366 pub struct SpecialNftTypeAndRankReturn {
2367 pub nft_type: ::ethers::core::types::U256,
2368 pub nft_rank: ::std::string::String,
2369 }
2370 #[derive(
2372 Clone,
2373 ::ethers::contract::EthAbiType,
2374 ::ethers::contract::EthAbiCodec,
2375 serde::Serialize,
2376 serde::Deserialize,
2377 Default,
2378 Debug,
2379 PartialEq,
2380 Eq,
2381 Hash
2382 )]
2383 pub struct StakeContractReturn(pub ::ethers::core::types::Address);
2384 #[derive(
2386 Clone,
2387 ::ethers::contract::EthAbiType,
2388 ::ethers::contract::EthAbiCodec,
2389 serde::Serialize,
2390 serde::Deserialize,
2391 Default,
2392 Debug,
2393 PartialEq,
2394 Eq,
2395 Hash
2396 )]
2397 pub struct StakeThresholdReturn(pub ::ethers::core::types::U256);
2398}