1pub use hopr_token::*;
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_token {
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 }),
19 functions: ::core::convert::From::from([
20 (
21 ::std::borrow::ToOwned::to_owned("DEFAULT_ADMIN_ROLE"),
22 ::std::vec![
23 ::ethers::core::abi::ethabi::Function {
24 name: ::std::borrow::ToOwned::to_owned("DEFAULT_ADMIN_ROLE"),
25 inputs: ::std::vec![],
26 outputs: ::std::vec![
27 ::ethers::core::abi::ethabi::Param {
28 name: ::std::string::String::new(),
29 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
30 32usize,
31 ),
32 internal_type: ::core::option::Option::Some(
33 ::std::borrow::ToOwned::to_owned("bytes32"),
34 ),
35 },
36 ],
37 constant: ::core::option::Option::None,
38 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
39 },
40 ],
41 ),
42 (
43 ::std::borrow::ToOwned::to_owned("MINTER_ROLE"),
44 ::std::vec![
45 ::ethers::core::abi::ethabi::Function {
46 name: ::std::borrow::ToOwned::to_owned("MINTER_ROLE"),
47 inputs: ::std::vec![],
48 outputs: ::std::vec![
49 ::ethers::core::abi::ethabi::Param {
50 name: ::std::string::String::new(),
51 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
52 32usize,
53 ),
54 internal_type: ::core::option::Option::Some(
55 ::std::borrow::ToOwned::to_owned("bytes32"),
56 ),
57 },
58 ],
59 constant: ::core::option::Option::None,
60 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
61 },
62 ],
63 ),
64 (
65 ::std::borrow::ToOwned::to_owned("accountSnapshots"),
66 ::std::vec![
67 ::ethers::core::abi::ethabi::Function {
68 name: ::std::borrow::ToOwned::to_owned("accountSnapshots"),
69 inputs: ::std::vec![
70 ::ethers::core::abi::ethabi::Param {
71 name: ::std::string::String::new(),
72 kind: ::ethers::core::abi::ethabi::ParamType::Address,
73 internal_type: ::core::option::Option::Some(
74 ::std::borrow::ToOwned::to_owned("address"),
75 ),
76 },
77 ::ethers::core::abi::ethabi::Param {
78 name: ::std::string::String::new(),
79 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
80 256usize,
81 ),
82 internal_type: ::core::option::Option::Some(
83 ::std::borrow::ToOwned::to_owned("uint256"),
84 ),
85 },
86 ],
87 outputs: ::std::vec![
88 ::ethers::core::abi::ethabi::Param {
89 name: ::std::borrow::ToOwned::to_owned("fromBlock"),
90 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
91 128usize,
92 ),
93 internal_type: ::core::option::Option::Some(
94 ::std::borrow::ToOwned::to_owned("uint128"),
95 ),
96 },
97 ::ethers::core::abi::ethabi::Param {
98 name: ::std::borrow::ToOwned::to_owned("value"),
99 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
100 128usize,
101 ),
102 internal_type: ::core::option::Option::Some(
103 ::std::borrow::ToOwned::to_owned("uint128"),
104 ),
105 },
106 ],
107 constant: ::core::option::Option::None,
108 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
109 },
110 ],
111 ),
112 (
113 ::std::borrow::ToOwned::to_owned("allowance"),
114 ::std::vec![
115 ::ethers::core::abi::ethabi::Function {
116 name: ::std::borrow::ToOwned::to_owned("allowance"),
117 inputs: ::std::vec![
118 ::ethers::core::abi::ethabi::Param {
119 name: ::std::borrow::ToOwned::to_owned("holder"),
120 kind: ::ethers::core::abi::ethabi::ParamType::Address,
121 internal_type: ::core::option::Option::Some(
122 ::std::borrow::ToOwned::to_owned("address"),
123 ),
124 },
125 ::ethers::core::abi::ethabi::Param {
126 name: ::std::borrow::ToOwned::to_owned("spender"),
127 kind: ::ethers::core::abi::ethabi::ParamType::Address,
128 internal_type: ::core::option::Option::Some(
129 ::std::borrow::ToOwned::to_owned("address"),
130 ),
131 },
132 ],
133 outputs: ::std::vec![
134 ::ethers::core::abi::ethabi::Param {
135 name: ::std::string::String::new(),
136 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
137 256usize,
138 ),
139 internal_type: ::core::option::Option::Some(
140 ::std::borrow::ToOwned::to_owned("uint256"),
141 ),
142 },
143 ],
144 constant: ::core::option::Option::None,
145 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
146 },
147 ],
148 ),
149 (
150 ::std::borrow::ToOwned::to_owned("approve"),
151 ::std::vec![
152 ::ethers::core::abi::ethabi::Function {
153 name: ::std::borrow::ToOwned::to_owned("approve"),
154 inputs: ::std::vec![
155 ::ethers::core::abi::ethabi::Param {
156 name: ::std::borrow::ToOwned::to_owned("spender"),
157 kind: ::ethers::core::abi::ethabi::ParamType::Address,
158 internal_type: ::core::option::Option::Some(
159 ::std::borrow::ToOwned::to_owned("address"),
160 ),
161 },
162 ::ethers::core::abi::ethabi::Param {
163 name: ::std::borrow::ToOwned::to_owned("value"),
164 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
165 256usize,
166 ),
167 internal_type: ::core::option::Option::Some(
168 ::std::borrow::ToOwned::to_owned("uint256"),
169 ),
170 },
171 ],
172 outputs: ::std::vec![
173 ::ethers::core::abi::ethabi::Param {
174 name: ::std::string::String::new(),
175 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
176 internal_type: ::core::option::Option::Some(
177 ::std::borrow::ToOwned::to_owned("bool"),
178 ),
179 },
180 ],
181 constant: ::core::option::Option::None,
182 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
183 },
184 ],
185 ),
186 (
187 ::std::borrow::ToOwned::to_owned("authorizeOperator"),
188 ::std::vec![
189 ::ethers::core::abi::ethabi::Function {
190 name: ::std::borrow::ToOwned::to_owned("authorizeOperator"),
191 inputs: ::std::vec![
192 ::ethers::core::abi::ethabi::Param {
193 name: ::std::borrow::ToOwned::to_owned("operator"),
194 kind: ::ethers::core::abi::ethabi::ParamType::Address,
195 internal_type: ::core::option::Option::Some(
196 ::std::borrow::ToOwned::to_owned("address"),
197 ),
198 },
199 ],
200 outputs: ::std::vec![],
201 constant: ::core::option::Option::None,
202 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
203 },
204 ],
205 ),
206 (
207 ::std::borrow::ToOwned::to_owned("balanceOf"),
208 ::std::vec![
209 ::ethers::core::abi::ethabi::Function {
210 name: ::std::borrow::ToOwned::to_owned("balanceOf"),
211 inputs: ::std::vec![
212 ::ethers::core::abi::ethabi::Param {
213 name: ::std::borrow::ToOwned::to_owned("tokenHolder"),
214 kind: ::ethers::core::abi::ethabi::ParamType::Address,
215 internal_type: ::core::option::Option::Some(
216 ::std::borrow::ToOwned::to_owned("address"),
217 ),
218 },
219 ],
220 outputs: ::std::vec![
221 ::ethers::core::abi::ethabi::Param {
222 name: ::std::string::String::new(),
223 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
224 256usize,
225 ),
226 internal_type: ::core::option::Option::Some(
227 ::std::borrow::ToOwned::to_owned("uint256"),
228 ),
229 },
230 ],
231 constant: ::core::option::Option::None,
232 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
233 },
234 ],
235 ),
236 (
237 ::std::borrow::ToOwned::to_owned("balanceOfAt"),
238 ::std::vec![
239 ::ethers::core::abi::ethabi::Function {
240 name: ::std::borrow::ToOwned::to_owned("balanceOfAt"),
241 inputs: ::std::vec![
242 ::ethers::core::abi::ethabi::Param {
243 name: ::std::borrow::ToOwned::to_owned("_owner"),
244 kind: ::ethers::core::abi::ethabi::ParamType::Address,
245 internal_type: ::core::option::Option::Some(
246 ::std::borrow::ToOwned::to_owned("address"),
247 ),
248 },
249 ::ethers::core::abi::ethabi::Param {
250 name: ::std::borrow::ToOwned::to_owned("_blockNumber"),
251 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
252 128usize,
253 ),
254 internal_type: ::core::option::Option::Some(
255 ::std::borrow::ToOwned::to_owned("uint128"),
256 ),
257 },
258 ],
259 outputs: ::std::vec![
260 ::ethers::core::abi::ethabi::Param {
261 name: ::std::string::String::new(),
262 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
263 256usize,
264 ),
265 internal_type: ::core::option::Option::Some(
266 ::std::borrow::ToOwned::to_owned("uint256"),
267 ),
268 },
269 ],
270 constant: ::core::option::Option::None,
271 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
272 },
273 ],
274 ),
275 (
276 ::std::borrow::ToOwned::to_owned("burn"),
277 ::std::vec![
278 ::ethers::core::abi::ethabi::Function {
279 name: ::std::borrow::ToOwned::to_owned("burn"),
280 inputs: ::std::vec![
281 ::ethers::core::abi::ethabi::Param {
282 name: ::std::borrow::ToOwned::to_owned("amount"),
283 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
284 256usize,
285 ),
286 internal_type: ::core::option::Option::Some(
287 ::std::borrow::ToOwned::to_owned("uint256"),
288 ),
289 },
290 ::ethers::core::abi::ethabi::Param {
291 name: ::std::borrow::ToOwned::to_owned("data"),
292 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
293 internal_type: ::core::option::Option::Some(
294 ::std::borrow::ToOwned::to_owned("bytes"),
295 ),
296 },
297 ],
298 outputs: ::std::vec![],
299 constant: ::core::option::Option::None,
300 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
301 },
302 ],
303 ),
304 (
305 ::std::borrow::ToOwned::to_owned("decimals"),
306 ::std::vec![
307 ::ethers::core::abi::ethabi::Function {
308 name: ::std::borrow::ToOwned::to_owned("decimals"),
309 inputs: ::std::vec![],
310 outputs: ::std::vec![
311 ::ethers::core::abi::ethabi::Param {
312 name: ::std::string::String::new(),
313 kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
314 internal_type: ::core::option::Option::Some(
315 ::std::borrow::ToOwned::to_owned("uint8"),
316 ),
317 },
318 ],
319 constant: ::core::option::Option::None,
320 state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure,
321 },
322 ],
323 ),
324 (
325 ::std::borrow::ToOwned::to_owned("defaultOperators"),
326 ::std::vec![
327 ::ethers::core::abi::ethabi::Function {
328 name: ::std::borrow::ToOwned::to_owned("defaultOperators"),
329 inputs: ::std::vec![],
330 outputs: ::std::vec![
331 ::ethers::core::abi::ethabi::Param {
332 name: ::std::string::String::new(),
333 kind: ::ethers::core::abi::ethabi::ParamType::Array(
334 ::std::boxed::Box::new(
335 ::ethers::core::abi::ethabi::ParamType::Address,
336 ),
337 ),
338 internal_type: ::core::option::Option::Some(
339 ::std::borrow::ToOwned::to_owned("address[]"),
340 ),
341 },
342 ],
343 constant: ::core::option::Option::None,
344 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
345 },
346 ],
347 ),
348 (
349 ::std::borrow::ToOwned::to_owned("getRoleAdmin"),
350 ::std::vec![
351 ::ethers::core::abi::ethabi::Function {
352 name: ::std::borrow::ToOwned::to_owned("getRoleAdmin"),
353 inputs: ::std::vec![
354 ::ethers::core::abi::ethabi::Param {
355 name: ::std::borrow::ToOwned::to_owned("role"),
356 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
357 32usize,
358 ),
359 internal_type: ::core::option::Option::Some(
360 ::std::borrow::ToOwned::to_owned("bytes32"),
361 ),
362 },
363 ],
364 outputs: ::std::vec![
365 ::ethers::core::abi::ethabi::Param {
366 name: ::std::string::String::new(),
367 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
368 32usize,
369 ),
370 internal_type: ::core::option::Option::Some(
371 ::std::borrow::ToOwned::to_owned("bytes32"),
372 ),
373 },
374 ],
375 constant: ::core::option::Option::None,
376 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
377 },
378 ],
379 ),
380 (
381 ::std::borrow::ToOwned::to_owned("getRoleMember"),
382 ::std::vec![
383 ::ethers::core::abi::ethabi::Function {
384 name: ::std::borrow::ToOwned::to_owned("getRoleMember"),
385 inputs: ::std::vec![
386 ::ethers::core::abi::ethabi::Param {
387 name: ::std::borrow::ToOwned::to_owned("role"),
388 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
389 32usize,
390 ),
391 internal_type: ::core::option::Option::Some(
392 ::std::borrow::ToOwned::to_owned("bytes32"),
393 ),
394 },
395 ::ethers::core::abi::ethabi::Param {
396 name: ::std::borrow::ToOwned::to_owned("index"),
397 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
398 256usize,
399 ),
400 internal_type: ::core::option::Option::Some(
401 ::std::borrow::ToOwned::to_owned("uint256"),
402 ),
403 },
404 ],
405 outputs: ::std::vec![
406 ::ethers::core::abi::ethabi::Param {
407 name: ::std::string::String::new(),
408 kind: ::ethers::core::abi::ethabi::ParamType::Address,
409 internal_type: ::core::option::Option::Some(
410 ::std::borrow::ToOwned::to_owned("address"),
411 ),
412 },
413 ],
414 constant: ::core::option::Option::None,
415 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
416 },
417 ],
418 ),
419 (
420 ::std::borrow::ToOwned::to_owned("getRoleMemberCount"),
421 ::std::vec![
422 ::ethers::core::abi::ethabi::Function {
423 name: ::std::borrow::ToOwned::to_owned("getRoleMemberCount"),
424 inputs: ::std::vec![
425 ::ethers::core::abi::ethabi::Param {
426 name: ::std::borrow::ToOwned::to_owned("role"),
427 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
428 32usize,
429 ),
430 internal_type: ::core::option::Option::Some(
431 ::std::borrow::ToOwned::to_owned("bytes32"),
432 ),
433 },
434 ],
435 outputs: ::std::vec![
436 ::ethers::core::abi::ethabi::Param {
437 name: ::std::string::String::new(),
438 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
439 256usize,
440 ),
441 internal_type: ::core::option::Option::Some(
442 ::std::borrow::ToOwned::to_owned("uint256"),
443 ),
444 },
445 ],
446 constant: ::core::option::Option::None,
447 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
448 },
449 ],
450 ),
451 (
452 ::std::borrow::ToOwned::to_owned("grantRole"),
453 ::std::vec![
454 ::ethers::core::abi::ethabi::Function {
455 name: ::std::borrow::ToOwned::to_owned("grantRole"),
456 inputs: ::std::vec![
457 ::ethers::core::abi::ethabi::Param {
458 name: ::std::borrow::ToOwned::to_owned("role"),
459 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
460 32usize,
461 ),
462 internal_type: ::core::option::Option::Some(
463 ::std::borrow::ToOwned::to_owned("bytes32"),
464 ),
465 },
466 ::ethers::core::abi::ethabi::Param {
467 name: ::std::borrow::ToOwned::to_owned("account"),
468 kind: ::ethers::core::abi::ethabi::ParamType::Address,
469 internal_type: ::core::option::Option::Some(
470 ::std::borrow::ToOwned::to_owned("address"),
471 ),
472 },
473 ],
474 outputs: ::std::vec![],
475 constant: ::core::option::Option::None,
476 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
477 },
478 ],
479 ),
480 (
481 ::std::borrow::ToOwned::to_owned("granularity"),
482 ::std::vec![
483 ::ethers::core::abi::ethabi::Function {
484 name: ::std::borrow::ToOwned::to_owned("granularity"),
485 inputs: ::std::vec![],
486 outputs: ::std::vec![
487 ::ethers::core::abi::ethabi::Param {
488 name: ::std::string::String::new(),
489 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
490 256usize,
491 ),
492 internal_type: ::core::option::Option::Some(
493 ::std::borrow::ToOwned::to_owned("uint256"),
494 ),
495 },
496 ],
497 constant: ::core::option::Option::None,
498 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
499 },
500 ],
501 ),
502 (
503 ::std::borrow::ToOwned::to_owned("hasRole"),
504 ::std::vec![
505 ::ethers::core::abi::ethabi::Function {
506 name: ::std::borrow::ToOwned::to_owned("hasRole"),
507 inputs: ::std::vec![
508 ::ethers::core::abi::ethabi::Param {
509 name: ::std::borrow::ToOwned::to_owned("role"),
510 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
511 32usize,
512 ),
513 internal_type: ::core::option::Option::Some(
514 ::std::borrow::ToOwned::to_owned("bytes32"),
515 ),
516 },
517 ::ethers::core::abi::ethabi::Param {
518 name: ::std::borrow::ToOwned::to_owned("account"),
519 kind: ::ethers::core::abi::ethabi::ParamType::Address,
520 internal_type: ::core::option::Option::Some(
521 ::std::borrow::ToOwned::to_owned("address"),
522 ),
523 },
524 ],
525 outputs: ::std::vec![
526 ::ethers::core::abi::ethabi::Param {
527 name: ::std::string::String::new(),
528 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
529 internal_type: ::core::option::Option::Some(
530 ::std::borrow::ToOwned::to_owned("bool"),
531 ),
532 },
533 ],
534 constant: ::core::option::Option::None,
535 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
536 },
537 ],
538 ),
539 (
540 ::std::borrow::ToOwned::to_owned("isOperatorFor"),
541 ::std::vec![
542 ::ethers::core::abi::ethabi::Function {
543 name: ::std::borrow::ToOwned::to_owned("isOperatorFor"),
544 inputs: ::std::vec![
545 ::ethers::core::abi::ethabi::Param {
546 name: ::std::borrow::ToOwned::to_owned("operator"),
547 kind: ::ethers::core::abi::ethabi::ParamType::Address,
548 internal_type: ::core::option::Option::Some(
549 ::std::borrow::ToOwned::to_owned("address"),
550 ),
551 },
552 ::ethers::core::abi::ethabi::Param {
553 name: ::std::borrow::ToOwned::to_owned("tokenHolder"),
554 kind: ::ethers::core::abi::ethabi::ParamType::Address,
555 internal_type: ::core::option::Option::Some(
556 ::std::borrow::ToOwned::to_owned("address"),
557 ),
558 },
559 ],
560 outputs: ::std::vec![
561 ::ethers::core::abi::ethabi::Param {
562 name: ::std::string::String::new(),
563 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
564 internal_type: ::core::option::Option::Some(
565 ::std::borrow::ToOwned::to_owned("bool"),
566 ),
567 },
568 ],
569 constant: ::core::option::Option::None,
570 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
571 },
572 ],
573 ),
574 (
575 ::std::borrow::ToOwned::to_owned("mint"),
576 ::std::vec![
577 ::ethers::core::abi::ethabi::Function {
578 name: ::std::borrow::ToOwned::to_owned("mint"),
579 inputs: ::std::vec![
580 ::ethers::core::abi::ethabi::Param {
581 name: ::std::borrow::ToOwned::to_owned("account"),
582 kind: ::ethers::core::abi::ethabi::ParamType::Address,
583 internal_type: ::core::option::Option::Some(
584 ::std::borrow::ToOwned::to_owned("address"),
585 ),
586 },
587 ::ethers::core::abi::ethabi::Param {
588 name: ::std::borrow::ToOwned::to_owned("amount"),
589 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
590 256usize,
591 ),
592 internal_type: ::core::option::Option::Some(
593 ::std::borrow::ToOwned::to_owned("uint256"),
594 ),
595 },
596 ::ethers::core::abi::ethabi::Param {
597 name: ::std::borrow::ToOwned::to_owned("userData"),
598 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
599 internal_type: ::core::option::Option::Some(
600 ::std::borrow::ToOwned::to_owned("bytes"),
601 ),
602 },
603 ::ethers::core::abi::ethabi::Param {
604 name: ::std::borrow::ToOwned::to_owned("operatorData"),
605 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
606 internal_type: ::core::option::Option::Some(
607 ::std::borrow::ToOwned::to_owned("bytes"),
608 ),
609 },
610 ],
611 outputs: ::std::vec![],
612 constant: ::core::option::Option::None,
613 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
614 },
615 ],
616 ),
617 (
618 ::std::borrow::ToOwned::to_owned("name"),
619 ::std::vec![
620 ::ethers::core::abi::ethabi::Function {
621 name: ::std::borrow::ToOwned::to_owned("name"),
622 inputs: ::std::vec![],
623 outputs: ::std::vec![
624 ::ethers::core::abi::ethabi::Param {
625 name: ::std::string::String::new(),
626 kind: ::ethers::core::abi::ethabi::ParamType::String,
627 internal_type: ::core::option::Option::Some(
628 ::std::borrow::ToOwned::to_owned("string"),
629 ),
630 },
631 ],
632 constant: ::core::option::Option::None,
633 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
634 },
635 ],
636 ),
637 (
638 ::std::borrow::ToOwned::to_owned("operatorBurn"),
639 ::std::vec![
640 ::ethers::core::abi::ethabi::Function {
641 name: ::std::borrow::ToOwned::to_owned("operatorBurn"),
642 inputs: ::std::vec![
643 ::ethers::core::abi::ethabi::Param {
644 name: ::std::borrow::ToOwned::to_owned("account"),
645 kind: ::ethers::core::abi::ethabi::ParamType::Address,
646 internal_type: ::core::option::Option::Some(
647 ::std::borrow::ToOwned::to_owned("address"),
648 ),
649 },
650 ::ethers::core::abi::ethabi::Param {
651 name: ::std::borrow::ToOwned::to_owned("amount"),
652 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
653 256usize,
654 ),
655 internal_type: ::core::option::Option::Some(
656 ::std::borrow::ToOwned::to_owned("uint256"),
657 ),
658 },
659 ::ethers::core::abi::ethabi::Param {
660 name: ::std::borrow::ToOwned::to_owned("data"),
661 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
662 internal_type: ::core::option::Option::Some(
663 ::std::borrow::ToOwned::to_owned("bytes"),
664 ),
665 },
666 ::ethers::core::abi::ethabi::Param {
667 name: ::std::borrow::ToOwned::to_owned("operatorData"),
668 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
669 internal_type: ::core::option::Option::Some(
670 ::std::borrow::ToOwned::to_owned("bytes"),
671 ),
672 },
673 ],
674 outputs: ::std::vec![],
675 constant: ::core::option::Option::None,
676 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
677 },
678 ],
679 ),
680 (
681 ::std::borrow::ToOwned::to_owned("operatorSend"),
682 ::std::vec![
683 ::ethers::core::abi::ethabi::Function {
684 name: ::std::borrow::ToOwned::to_owned("operatorSend"),
685 inputs: ::std::vec![
686 ::ethers::core::abi::ethabi::Param {
687 name: ::std::borrow::ToOwned::to_owned("sender"),
688 kind: ::ethers::core::abi::ethabi::ParamType::Address,
689 internal_type: ::core::option::Option::Some(
690 ::std::borrow::ToOwned::to_owned("address"),
691 ),
692 },
693 ::ethers::core::abi::ethabi::Param {
694 name: ::std::borrow::ToOwned::to_owned("recipient"),
695 kind: ::ethers::core::abi::ethabi::ParamType::Address,
696 internal_type: ::core::option::Option::Some(
697 ::std::borrow::ToOwned::to_owned("address"),
698 ),
699 },
700 ::ethers::core::abi::ethabi::Param {
701 name: ::std::borrow::ToOwned::to_owned("amount"),
702 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
703 256usize,
704 ),
705 internal_type: ::core::option::Option::Some(
706 ::std::borrow::ToOwned::to_owned("uint256"),
707 ),
708 },
709 ::ethers::core::abi::ethabi::Param {
710 name: ::std::borrow::ToOwned::to_owned("data"),
711 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
712 internal_type: ::core::option::Option::Some(
713 ::std::borrow::ToOwned::to_owned("bytes"),
714 ),
715 },
716 ::ethers::core::abi::ethabi::Param {
717 name: ::std::borrow::ToOwned::to_owned("operatorData"),
718 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
719 internal_type: ::core::option::Option::Some(
720 ::std::borrow::ToOwned::to_owned("bytes"),
721 ),
722 },
723 ],
724 outputs: ::std::vec![],
725 constant: ::core::option::Option::None,
726 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
727 },
728 ],
729 ),
730 (
731 ::std::borrow::ToOwned::to_owned("renounceRole"),
732 ::std::vec![
733 ::ethers::core::abi::ethabi::Function {
734 name: ::std::borrow::ToOwned::to_owned("renounceRole"),
735 inputs: ::std::vec![
736 ::ethers::core::abi::ethabi::Param {
737 name: ::std::borrow::ToOwned::to_owned("role"),
738 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
739 32usize,
740 ),
741 internal_type: ::core::option::Option::Some(
742 ::std::borrow::ToOwned::to_owned("bytes32"),
743 ),
744 },
745 ::ethers::core::abi::ethabi::Param {
746 name: ::std::borrow::ToOwned::to_owned("account"),
747 kind: ::ethers::core::abi::ethabi::ParamType::Address,
748 internal_type: ::core::option::Option::Some(
749 ::std::borrow::ToOwned::to_owned("address"),
750 ),
751 },
752 ],
753 outputs: ::std::vec![],
754 constant: ::core::option::Option::None,
755 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
756 },
757 ],
758 ),
759 (
760 ::std::borrow::ToOwned::to_owned("revokeOperator"),
761 ::std::vec![
762 ::ethers::core::abi::ethabi::Function {
763 name: ::std::borrow::ToOwned::to_owned("revokeOperator"),
764 inputs: ::std::vec![
765 ::ethers::core::abi::ethabi::Param {
766 name: ::std::borrow::ToOwned::to_owned("operator"),
767 kind: ::ethers::core::abi::ethabi::ParamType::Address,
768 internal_type: ::core::option::Option::Some(
769 ::std::borrow::ToOwned::to_owned("address"),
770 ),
771 },
772 ],
773 outputs: ::std::vec![],
774 constant: ::core::option::Option::None,
775 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
776 },
777 ],
778 ),
779 (
780 ::std::borrow::ToOwned::to_owned("revokeRole"),
781 ::std::vec![
782 ::ethers::core::abi::ethabi::Function {
783 name: ::std::borrow::ToOwned::to_owned("revokeRole"),
784 inputs: ::std::vec![
785 ::ethers::core::abi::ethabi::Param {
786 name: ::std::borrow::ToOwned::to_owned("role"),
787 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
788 32usize,
789 ),
790 internal_type: ::core::option::Option::Some(
791 ::std::borrow::ToOwned::to_owned("bytes32"),
792 ),
793 },
794 ::ethers::core::abi::ethabi::Param {
795 name: ::std::borrow::ToOwned::to_owned("account"),
796 kind: ::ethers::core::abi::ethabi::ParamType::Address,
797 internal_type: ::core::option::Option::Some(
798 ::std::borrow::ToOwned::to_owned("address"),
799 ),
800 },
801 ],
802 outputs: ::std::vec![],
803 constant: ::core::option::Option::None,
804 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
805 },
806 ],
807 ),
808 (
809 ::std::borrow::ToOwned::to_owned("send"),
810 ::std::vec![
811 ::ethers::core::abi::ethabi::Function {
812 name: ::std::borrow::ToOwned::to_owned("send"),
813 inputs: ::std::vec![
814 ::ethers::core::abi::ethabi::Param {
815 name: ::std::borrow::ToOwned::to_owned("recipient"),
816 kind: ::ethers::core::abi::ethabi::ParamType::Address,
817 internal_type: ::core::option::Option::Some(
818 ::std::borrow::ToOwned::to_owned("address"),
819 ),
820 },
821 ::ethers::core::abi::ethabi::Param {
822 name: ::std::borrow::ToOwned::to_owned("amount"),
823 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
824 256usize,
825 ),
826 internal_type: ::core::option::Option::Some(
827 ::std::borrow::ToOwned::to_owned("uint256"),
828 ),
829 },
830 ::ethers::core::abi::ethabi::Param {
831 name: ::std::borrow::ToOwned::to_owned("data"),
832 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
833 internal_type: ::core::option::Option::Some(
834 ::std::borrow::ToOwned::to_owned("bytes"),
835 ),
836 },
837 ],
838 outputs: ::std::vec![],
839 constant: ::core::option::Option::None,
840 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
841 },
842 ],
843 ),
844 (
845 ::std::borrow::ToOwned::to_owned("supportsInterface"),
846 ::std::vec![
847 ::ethers::core::abi::ethabi::Function {
848 name: ::std::borrow::ToOwned::to_owned("supportsInterface"),
849 inputs: ::std::vec![
850 ::ethers::core::abi::ethabi::Param {
851 name: ::std::borrow::ToOwned::to_owned("interfaceId"),
852 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
853 4usize,
854 ),
855 internal_type: ::core::option::Option::Some(
856 ::std::borrow::ToOwned::to_owned("bytes4"),
857 ),
858 },
859 ],
860 outputs: ::std::vec![
861 ::ethers::core::abi::ethabi::Param {
862 name: ::std::string::String::new(),
863 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
864 internal_type: ::core::option::Option::Some(
865 ::std::borrow::ToOwned::to_owned("bool"),
866 ),
867 },
868 ],
869 constant: ::core::option::Option::None,
870 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
871 },
872 ],
873 ),
874 (
875 ::std::borrow::ToOwned::to_owned("symbol"),
876 ::std::vec![
877 ::ethers::core::abi::ethabi::Function {
878 name: ::std::borrow::ToOwned::to_owned("symbol"),
879 inputs: ::std::vec![],
880 outputs: ::std::vec![
881 ::ethers::core::abi::ethabi::Param {
882 name: ::std::string::String::new(),
883 kind: ::ethers::core::abi::ethabi::ParamType::String,
884 internal_type: ::core::option::Option::Some(
885 ::std::borrow::ToOwned::to_owned("string"),
886 ),
887 },
888 ],
889 constant: ::core::option::Option::None,
890 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
891 },
892 ],
893 ),
894 (
895 ::std::borrow::ToOwned::to_owned("totalSupply"),
896 ::std::vec![
897 ::ethers::core::abi::ethabi::Function {
898 name: ::std::borrow::ToOwned::to_owned("totalSupply"),
899 inputs: ::std::vec![],
900 outputs: ::std::vec![
901 ::ethers::core::abi::ethabi::Param {
902 name: ::std::string::String::new(),
903 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
904 256usize,
905 ),
906 internal_type: ::core::option::Option::Some(
907 ::std::borrow::ToOwned::to_owned("uint256"),
908 ),
909 },
910 ],
911 constant: ::core::option::Option::None,
912 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
913 },
914 ],
915 ),
916 (
917 ::std::borrow::ToOwned::to_owned("totalSupplyAt"),
918 ::std::vec![
919 ::ethers::core::abi::ethabi::Function {
920 name: ::std::borrow::ToOwned::to_owned("totalSupplyAt"),
921 inputs: ::std::vec![
922 ::ethers::core::abi::ethabi::Param {
923 name: ::std::borrow::ToOwned::to_owned("_blockNumber"),
924 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
925 128usize,
926 ),
927 internal_type: ::core::option::Option::Some(
928 ::std::borrow::ToOwned::to_owned("uint128"),
929 ),
930 },
931 ],
932 outputs: ::std::vec![
933 ::ethers::core::abi::ethabi::Param {
934 name: ::std::string::String::new(),
935 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
936 256usize,
937 ),
938 internal_type: ::core::option::Option::Some(
939 ::std::borrow::ToOwned::to_owned("uint256"),
940 ),
941 },
942 ],
943 constant: ::core::option::Option::None,
944 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
945 },
946 ],
947 ),
948 (
949 ::std::borrow::ToOwned::to_owned("totalSupplySnapshots"),
950 ::std::vec![
951 ::ethers::core::abi::ethabi::Function {
952 name: ::std::borrow::ToOwned::to_owned(
953 "totalSupplySnapshots",
954 ),
955 inputs: ::std::vec![
956 ::ethers::core::abi::ethabi::Param {
957 name: ::std::string::String::new(),
958 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
959 256usize,
960 ),
961 internal_type: ::core::option::Option::Some(
962 ::std::borrow::ToOwned::to_owned("uint256"),
963 ),
964 },
965 ],
966 outputs: ::std::vec![
967 ::ethers::core::abi::ethabi::Param {
968 name: ::std::borrow::ToOwned::to_owned("fromBlock"),
969 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
970 128usize,
971 ),
972 internal_type: ::core::option::Option::Some(
973 ::std::borrow::ToOwned::to_owned("uint128"),
974 ),
975 },
976 ::ethers::core::abi::ethabi::Param {
977 name: ::std::borrow::ToOwned::to_owned("value"),
978 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
979 128usize,
980 ),
981 internal_type: ::core::option::Option::Some(
982 ::std::borrow::ToOwned::to_owned("uint128"),
983 ),
984 },
985 ],
986 constant: ::core::option::Option::None,
987 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
988 },
989 ],
990 ),
991 (
992 ::std::borrow::ToOwned::to_owned("transfer"),
993 ::std::vec![
994 ::ethers::core::abi::ethabi::Function {
995 name: ::std::borrow::ToOwned::to_owned("transfer"),
996 inputs: ::std::vec![
997 ::ethers::core::abi::ethabi::Param {
998 name: ::std::borrow::ToOwned::to_owned("recipient"),
999 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1000 internal_type: ::core::option::Option::Some(
1001 ::std::borrow::ToOwned::to_owned("address"),
1002 ),
1003 },
1004 ::ethers::core::abi::ethabi::Param {
1005 name: ::std::borrow::ToOwned::to_owned("amount"),
1006 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1007 256usize,
1008 ),
1009 internal_type: ::core::option::Option::Some(
1010 ::std::borrow::ToOwned::to_owned("uint256"),
1011 ),
1012 },
1013 ],
1014 outputs: ::std::vec![
1015 ::ethers::core::abi::ethabi::Param {
1016 name: ::std::string::String::new(),
1017 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
1018 internal_type: ::core::option::Option::Some(
1019 ::std::borrow::ToOwned::to_owned("bool"),
1020 ),
1021 },
1022 ],
1023 constant: ::core::option::Option::None,
1024 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1025 },
1026 ],
1027 ),
1028 (
1029 ::std::borrow::ToOwned::to_owned("transferFrom"),
1030 ::std::vec![
1031 ::ethers::core::abi::ethabi::Function {
1032 name: ::std::borrow::ToOwned::to_owned("transferFrom"),
1033 inputs: ::std::vec![
1034 ::ethers::core::abi::ethabi::Param {
1035 name: ::std::borrow::ToOwned::to_owned("holder"),
1036 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1037 internal_type: ::core::option::Option::Some(
1038 ::std::borrow::ToOwned::to_owned("address"),
1039 ),
1040 },
1041 ::ethers::core::abi::ethabi::Param {
1042 name: ::std::borrow::ToOwned::to_owned("recipient"),
1043 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1044 internal_type: ::core::option::Option::Some(
1045 ::std::borrow::ToOwned::to_owned("address"),
1046 ),
1047 },
1048 ::ethers::core::abi::ethabi::Param {
1049 name: ::std::borrow::ToOwned::to_owned("amount"),
1050 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1051 256usize,
1052 ),
1053 internal_type: ::core::option::Option::Some(
1054 ::std::borrow::ToOwned::to_owned("uint256"),
1055 ),
1056 },
1057 ],
1058 outputs: ::std::vec![
1059 ::ethers::core::abi::ethabi::Param {
1060 name: ::std::string::String::new(),
1061 kind: ::ethers::core::abi::ethabi::ParamType::Bool,
1062 internal_type: ::core::option::Option::Some(
1063 ::std::borrow::ToOwned::to_owned("bool"),
1064 ),
1065 },
1066 ],
1067 constant: ::core::option::Option::None,
1068 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1069 },
1070 ],
1071 ),
1072 ]),
1073 events: ::core::convert::From::from([
1074 (
1075 ::std::borrow::ToOwned::to_owned("Approval"),
1076 ::std::vec![
1077 ::ethers::core::abi::ethabi::Event {
1078 name: ::std::borrow::ToOwned::to_owned("Approval"),
1079 inputs: ::std::vec![
1080 ::ethers::core::abi::ethabi::EventParam {
1081 name: ::std::borrow::ToOwned::to_owned("owner"),
1082 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1083 indexed: true,
1084 },
1085 ::ethers::core::abi::ethabi::EventParam {
1086 name: ::std::borrow::ToOwned::to_owned("spender"),
1087 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1088 indexed: true,
1089 },
1090 ::ethers::core::abi::ethabi::EventParam {
1091 name: ::std::borrow::ToOwned::to_owned("value"),
1092 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1093 256usize,
1094 ),
1095 indexed: false,
1096 },
1097 ],
1098 anonymous: false,
1099 },
1100 ],
1101 ),
1102 (
1103 ::std::borrow::ToOwned::to_owned("AuthorizedOperator"),
1104 ::std::vec![
1105 ::ethers::core::abi::ethabi::Event {
1106 name: ::std::borrow::ToOwned::to_owned("AuthorizedOperator"),
1107 inputs: ::std::vec![
1108 ::ethers::core::abi::ethabi::EventParam {
1109 name: ::std::borrow::ToOwned::to_owned("operator"),
1110 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1111 indexed: true,
1112 },
1113 ::ethers::core::abi::ethabi::EventParam {
1114 name: ::std::borrow::ToOwned::to_owned("tokenHolder"),
1115 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1116 indexed: true,
1117 },
1118 ],
1119 anonymous: false,
1120 },
1121 ],
1122 ),
1123 (
1124 ::std::borrow::ToOwned::to_owned("Burned"),
1125 ::std::vec![
1126 ::ethers::core::abi::ethabi::Event {
1127 name: ::std::borrow::ToOwned::to_owned("Burned"),
1128 inputs: ::std::vec![
1129 ::ethers::core::abi::ethabi::EventParam {
1130 name: ::std::borrow::ToOwned::to_owned("operator"),
1131 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1132 indexed: true,
1133 },
1134 ::ethers::core::abi::ethabi::EventParam {
1135 name: ::std::borrow::ToOwned::to_owned("from"),
1136 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1137 indexed: true,
1138 },
1139 ::ethers::core::abi::ethabi::EventParam {
1140 name: ::std::borrow::ToOwned::to_owned("amount"),
1141 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1142 256usize,
1143 ),
1144 indexed: false,
1145 },
1146 ::ethers::core::abi::ethabi::EventParam {
1147 name: ::std::borrow::ToOwned::to_owned("data"),
1148 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1149 indexed: false,
1150 },
1151 ::ethers::core::abi::ethabi::EventParam {
1152 name: ::std::borrow::ToOwned::to_owned("operatorData"),
1153 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1154 indexed: false,
1155 },
1156 ],
1157 anonymous: false,
1158 },
1159 ],
1160 ),
1161 (
1162 ::std::borrow::ToOwned::to_owned("Minted"),
1163 ::std::vec![
1164 ::ethers::core::abi::ethabi::Event {
1165 name: ::std::borrow::ToOwned::to_owned("Minted"),
1166 inputs: ::std::vec![
1167 ::ethers::core::abi::ethabi::EventParam {
1168 name: ::std::borrow::ToOwned::to_owned("operator"),
1169 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1170 indexed: true,
1171 },
1172 ::ethers::core::abi::ethabi::EventParam {
1173 name: ::std::borrow::ToOwned::to_owned("to"),
1174 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1175 indexed: true,
1176 },
1177 ::ethers::core::abi::ethabi::EventParam {
1178 name: ::std::borrow::ToOwned::to_owned("amount"),
1179 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1180 256usize,
1181 ),
1182 indexed: false,
1183 },
1184 ::ethers::core::abi::ethabi::EventParam {
1185 name: ::std::borrow::ToOwned::to_owned("data"),
1186 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1187 indexed: false,
1188 },
1189 ::ethers::core::abi::ethabi::EventParam {
1190 name: ::std::borrow::ToOwned::to_owned("operatorData"),
1191 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1192 indexed: false,
1193 },
1194 ],
1195 anonymous: false,
1196 },
1197 ],
1198 ),
1199 (
1200 ::std::borrow::ToOwned::to_owned("RevokedOperator"),
1201 ::std::vec![
1202 ::ethers::core::abi::ethabi::Event {
1203 name: ::std::borrow::ToOwned::to_owned("RevokedOperator"),
1204 inputs: ::std::vec![
1205 ::ethers::core::abi::ethabi::EventParam {
1206 name: ::std::borrow::ToOwned::to_owned("operator"),
1207 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1208 indexed: true,
1209 },
1210 ::ethers::core::abi::ethabi::EventParam {
1211 name: ::std::borrow::ToOwned::to_owned("tokenHolder"),
1212 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1213 indexed: true,
1214 },
1215 ],
1216 anonymous: false,
1217 },
1218 ],
1219 ),
1220 (
1221 ::std::borrow::ToOwned::to_owned("RoleAdminChanged"),
1222 ::std::vec![
1223 ::ethers::core::abi::ethabi::Event {
1224 name: ::std::borrow::ToOwned::to_owned("RoleAdminChanged"),
1225 inputs: ::std::vec![
1226 ::ethers::core::abi::ethabi::EventParam {
1227 name: ::std::borrow::ToOwned::to_owned("role"),
1228 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1229 32usize,
1230 ),
1231 indexed: true,
1232 },
1233 ::ethers::core::abi::ethabi::EventParam {
1234 name: ::std::borrow::ToOwned::to_owned("previousAdminRole"),
1235 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1236 32usize,
1237 ),
1238 indexed: true,
1239 },
1240 ::ethers::core::abi::ethabi::EventParam {
1241 name: ::std::borrow::ToOwned::to_owned("newAdminRole"),
1242 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1243 32usize,
1244 ),
1245 indexed: true,
1246 },
1247 ],
1248 anonymous: false,
1249 },
1250 ],
1251 ),
1252 (
1253 ::std::borrow::ToOwned::to_owned("RoleGranted"),
1254 ::std::vec![
1255 ::ethers::core::abi::ethabi::Event {
1256 name: ::std::borrow::ToOwned::to_owned("RoleGranted"),
1257 inputs: ::std::vec![
1258 ::ethers::core::abi::ethabi::EventParam {
1259 name: ::std::borrow::ToOwned::to_owned("role"),
1260 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1261 32usize,
1262 ),
1263 indexed: true,
1264 },
1265 ::ethers::core::abi::ethabi::EventParam {
1266 name: ::std::borrow::ToOwned::to_owned("account"),
1267 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1268 indexed: true,
1269 },
1270 ::ethers::core::abi::ethabi::EventParam {
1271 name: ::std::borrow::ToOwned::to_owned("sender"),
1272 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1273 indexed: true,
1274 },
1275 ],
1276 anonymous: false,
1277 },
1278 ],
1279 ),
1280 (
1281 ::std::borrow::ToOwned::to_owned("RoleRevoked"),
1282 ::std::vec![
1283 ::ethers::core::abi::ethabi::Event {
1284 name: ::std::borrow::ToOwned::to_owned("RoleRevoked"),
1285 inputs: ::std::vec![
1286 ::ethers::core::abi::ethabi::EventParam {
1287 name: ::std::borrow::ToOwned::to_owned("role"),
1288 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1289 32usize,
1290 ),
1291 indexed: true,
1292 },
1293 ::ethers::core::abi::ethabi::EventParam {
1294 name: ::std::borrow::ToOwned::to_owned("account"),
1295 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1296 indexed: true,
1297 },
1298 ::ethers::core::abi::ethabi::EventParam {
1299 name: ::std::borrow::ToOwned::to_owned("sender"),
1300 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1301 indexed: true,
1302 },
1303 ],
1304 anonymous: false,
1305 },
1306 ],
1307 ),
1308 (
1309 ::std::borrow::ToOwned::to_owned("Sent"),
1310 ::std::vec![
1311 ::ethers::core::abi::ethabi::Event {
1312 name: ::std::borrow::ToOwned::to_owned("Sent"),
1313 inputs: ::std::vec![
1314 ::ethers::core::abi::ethabi::EventParam {
1315 name: ::std::borrow::ToOwned::to_owned("operator"),
1316 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1317 indexed: true,
1318 },
1319 ::ethers::core::abi::ethabi::EventParam {
1320 name: ::std::borrow::ToOwned::to_owned("from"),
1321 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1322 indexed: true,
1323 },
1324 ::ethers::core::abi::ethabi::EventParam {
1325 name: ::std::borrow::ToOwned::to_owned("to"),
1326 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1327 indexed: true,
1328 },
1329 ::ethers::core::abi::ethabi::EventParam {
1330 name: ::std::borrow::ToOwned::to_owned("amount"),
1331 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1332 256usize,
1333 ),
1334 indexed: false,
1335 },
1336 ::ethers::core::abi::ethabi::EventParam {
1337 name: ::std::borrow::ToOwned::to_owned("data"),
1338 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1339 indexed: false,
1340 },
1341 ::ethers::core::abi::ethabi::EventParam {
1342 name: ::std::borrow::ToOwned::to_owned("operatorData"),
1343 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1344 indexed: false,
1345 },
1346 ],
1347 anonymous: false,
1348 },
1349 ],
1350 ),
1351 (
1352 ::std::borrow::ToOwned::to_owned("Transfer"),
1353 ::std::vec![
1354 ::ethers::core::abi::ethabi::Event {
1355 name: ::std::borrow::ToOwned::to_owned("Transfer"),
1356 inputs: ::std::vec![
1357 ::ethers::core::abi::ethabi::EventParam {
1358 name: ::std::borrow::ToOwned::to_owned("from"),
1359 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1360 indexed: true,
1361 },
1362 ::ethers::core::abi::ethabi::EventParam {
1363 name: ::std::borrow::ToOwned::to_owned("to"),
1364 kind: ::ethers::core::abi::ethabi::ParamType::Address,
1365 indexed: true,
1366 },
1367 ::ethers::core::abi::ethabi::EventParam {
1368 name: ::std::borrow::ToOwned::to_owned("value"),
1369 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1370 256usize,
1371 ),
1372 indexed: false,
1373 },
1374 ],
1375 anonymous: false,
1376 },
1377 ],
1378 ),
1379 ]),
1380 errors: ::std::collections::BTreeMap::new(),
1381 receive: false,
1382 fallback: false,
1383 }
1384 }
1385 pub static HOPRTOKEN_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(
1387 __abi,
1388 );
1389 #[rustfmt::skip]
1390 const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@\x80Q\x80\x82\x01\x82R`\n\x81Ri$'\xA8)\x10*7\xB5\xB2\xB7`\xB1\x1B` \x80\x83\x01\x91\x90\x91R\x82Q\x80\x84\x01\x84R`\x05\x81Rd6\xA4'\xA8)`\xD9\x1B\x81\x83\x01R\x83Q`\0\x81R\x91\x82\x01\x90\x93R\x90\x91\x90`\x04b\0\0k\x84\x82b\0\x04\xBBV[P`\x05b\0\0z\x83\x82b\0\x04\xBBV[P\x80Qb\0\0\x90\x90`\x06\x90` \x84\x01\x90b\0\x03\x96V[P`\0[`\x06T\x81\x10\x15b\0\x01\x04W`\x01`\x07`\0`\x06\x84\x81T\x81\x10b\0\0\xBBWb\0\0\xBBb\0\x05\x87V[`\0\x91\x82R` \x80\x83 \x91\x90\x91\x01T`\x01`\x01`\xA0\x1B\x03\x16\x83R\x82\x01\x92\x90\x92R`@\x01\x90 \x80T`\xFF\x19\x16\x91\x15\x15\x91\x90\x91\x17\x90U\x80b\0\0\xFB\x81b\0\x05\x9DV[\x91PPb\0\0\x94V[P`@Qc)\x96Z\x1D`\xE0\x1B\x81R0`\x04\x82\x01\x81\x90R\x7F\xAC\x7F\xBA\xB5\xF5J<\xA8\x19AgR<gS\xBF\xEB\x96\xA4E'\x92\x94\xB6\x12[h\xCC\xE2\x17pT`$\x83\x01R`D\x82\x01Rs\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c)\x96Z\x1D\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x01\x7FW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x01\x94W=`\0\x80>=`\0\xFD[PP`@Qc)\x96Z\x1D`\xE0\x1B\x81R0`\x04\x82\x01\x81\x90R\x7F\xAE\xA1\x99\xE3\x1AYbi\xB4,\xDA\xFD\x93@\x7F\x14Cm\xB6\xE4\xCA\xD6T\x17\x99L.\xB3s\x81\xE0Z`$\x83\x01R`D\x82\x01Rs\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x92Pc)\x96Z\x1D\x91P`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x02\x12W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x02'W=`\0\x80>=`\0\xFD[PPPPPPPb\0\x02C`\0\x80\x1B3b\0\x02I` \x1B` \x1CV[b\0\x05\xC5V[b\0\x02U\x82\x82b\0\x02YV[PPV[b\0\x02e\x82\x82b\0\x02\x84V[`\0\x82\x81R`\x01` R`@\x90 b\0\x02\x7F\x90\x82b\0\x03$V[PPPV[`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 T`\xFF\x16b\0\x02UW`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ub\0\x02\xE03\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x83\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4PPV[`\0b\0\x03;\x83`\x01`\x01`\xA0\x1B\x03\x84\x16b\0\x03DV[\x90P[\x92\x91PPV[`\0\x81\x81R`\x01\x83\x01` R`@\x81 Tb\0\x03\x8DWP\x81T`\x01\x81\x81\x01\x84U`\0\x84\x81R` \x80\x82 \x90\x93\x01\x84\x90U\x84T\x84\x82R\x82\x86\x01\x90\x93R`@\x90 \x91\x90\x91Ub\0\x03>V[P`\0b\0\x03>V[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90\x81\x01\x92\x82\x15b\0\x03\xEEW\x91` \x02\x82\x01[\x82\x81\x11\x15b\0\x03\xEEW\x82Q\x82T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x17\x82U` \x90\x92\x01\x91`\x01\x90\x91\x01\x90b\0\x03\xB7V[Pb\0\x03\xFC\x92\x91Pb\0\x04\0V[P\x90V[[\x80\x82\x11\x15b\0\x03\xFCW`\0\x81U`\x01\x01b\0\x04\x01V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x04BW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x04cWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02\x7FW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x04\x92WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x04\xB3W\x82\x81U`\x01\x01b\0\x04\x9EV[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x04\xD7Wb\0\x04\xD7b\0\x04\x17V[b\0\x04\xEF\x81b\0\x04\xE8\x84Tb\0\x04-V[\x84b\0\x04iV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x05'W`\0\x84\x15b\0\x05\x0EWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x04\xB3V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x05XW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x057V[P\x85\x82\x10\x15b\0\x05wW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0`\x01\x82\x01b\0\x05\xBEWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V[a(\xF1\x80b\0\x05\xD5`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\xFBW`\x005`\xE0\x1C\x80c\x94yu\xD9\x11a\x01\x1AW\x80c\xD59\x13\x93\x11a\0\xADW\x80c\xDDb\xED>\x11a\0|W\x80c\xDDb\xED>\x14a\x04zW\x80c\xF7r\xA0\x92\x14a\x04\xB3W\x80c\xFA\xD8\xB3*\x14a\x04\xC6W\x80c\xFCg<O\x14a\x04\xD9W\x80c\xFE\x9D\x93\x03\x14a\x04\xECW`\0\x80\xFD[\x80c\xD59\x13\x93\x14a\x04\x1AW\x80c\xD5Gt\x1F\x14a\x04AW\x80c\xD9[cq\x14a\x04TW\x80c\xDC\xDC}\xD0\x14a\x04gW`\0\x80\xFD[\x80c\xA2\x17\xFD\xDF\x11a\0\xE9W\x80c\xA2\x17\xFD\xDF\x14a\x03\xD9W\x80c\xA9\x05\x9C\xBB\x14a\x03\xE1W\x80c\xB7\xD7\x8B\x1A\x14a\x03\xF4W\x80c\xCA\x15\xC8s\x14a\x04\x07W`\0\x80\xFD[\x80c\x94yu\xD9\x14a\x03\x98W\x80c\x95\x9B\x8C?\x14a\x03\xABW\x80c\x95\xD8\x9BA\x14a\x03\xBEW\x80c\x9B\xD9\xBB\xC6\x14a\x03\xC6W`\0\x80\xFD[\x80c//\xF1]\x11a\x01\x92W\x80cb\xAD\x1B\x83\x11a\x01aW\x80cb\xAD\x1B\x83\x14a\x03\x1EW\x80cp\xA0\x821\x14a\x031W\x80c\x90\x10\xD0|\x14a\x03ZW\x80c\x91\xD1HT\x14a\x03\x85W`\0\x80\xFD[\x80c//\xF1]\x14a\x02\xE0W\x80c1<\xE5g\x14a\x02\xF5W\x80c6V\x8A\xBE\x14a\x03\x04W\x80cUo\r\xC7\x14a\x03\x17W`\0\x80\xFD[\x80c\x18\x16\r\xDD\x11a\x01\xCEW\x80c\x18\x16\r\xDD\x14a\x02eW\x80c#\xB8r\xDD\x14a\x02wW\x80c$\x8A\x9C\xA3\x14a\x02\x8AW\x80c$\x97\xAE\xE6\x14a\x02\xADW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02\0W\x80c\x06\xE4\x858\x14a\x02(W\x80c\x06\xFD\xDE\x03\x14a\x02=W\x80c\t^\xA7\xB3\x14a\x02RW[`\0\x80\xFD[a\x02\x13a\x02\x0E6`\x04a \xCEV[a\x04\xFFV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x020a\x05*V[`@Qa\x02\x1F\x91\x90a \xF8V[a\x02Ea\x05\x8CV[`@Qa\x02\x1F\x91\x90a!\x95V[a\x02\x13a\x02`6`\x04a!\xC0V[a\x06\x15V[`\x03T[`@Q\x90\x81R` \x01a\x02\x1FV[a\x02\x13a\x02\x856`\x04a!\xECV[a\x06-V[a\x02ia\x02\x986`\x04a\"-V[`\0\x90\x81R` \x81\x90R`@\x90 `\x01\x01T\x90V[a\x02\xC0a\x02\xBB6`\x04a!\xC0V[a\x07\xADV[`@\x80Q`\x01`\x01`\x80\x1B\x03\x93\x84\x16\x81R\x92\x90\x91\x16` \x83\x01R\x01a\x02\x1FV[a\x02\xF3a\x02\xEE6`\x04a\"FV[a\x07\xF0V[\0[`@Q`\x12\x81R` \x01a\x02\x1FV[a\x02\xF3a\x03\x126`\x04a\"FV[a\x08\x1BV[`\x01a\x02iV[a\x02\xF3a\x03,6`\x04a#\x19V[a\x08\x99V[a\x02ia\x03?6`\x04a#\xACV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x02` R`@\x90 T\x90V[a\x03ma\x03h6`\x04a#\xC9V[a\x08\xD5V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x1FV[a\x02\x13a\x03\x936`\x04a\"FV[a\x08\xF4V[a\x02ia\x03\xA66`\x04a$\x07V[a\t\x1DV[a\x02\xF3a\x03\xB96`\x04a#\xACV[a\t*V[a\x02Ea\nGV[a\x02\xF3a\x03\xD46`\x04a$\"V[a\nVV[a\x02i`\0\x81V[a\x02\x13a\x03\xEF6`\x04a!\xC0V[a\ntV[a\x02\xC0a\x04\x026`\x04a\"-V[a\x0B'V[a\x02ia\x04\x156`\x04a\"-V[a\x0B\\V[a\x02i\x7F\x9F-\xF0\xFE\xD2\xC7vH\xDEX`\xA4\xCCP\x8C\xD0\x81\x8C\x85\xB8\xB8\xA1\xABL\xEE\xEF\x8D\x98\x1C\x89V\xA6\x81V[a\x02\xF3a\x04O6`\x04a\"FV[a\x0BsV[a\x02\x13a\x04b6`\x04a${V[a\x0B\x99V[a\x02\xF3a\x04u6`\x04a$\xA9V[a\x0C:V[a\x02ia\x04\x886`\x04a${V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02ia\x04\xC16`\x04a%)V[a\x0C\xC2V[a\x02\xF3a\x04\xD46`\x04a#\xACV[a\x0C\xE4V[a\x02\xF3a\x04\xE76`\x04a$\xA9V[a\r\xFFV[a\x02\xF3a\x04\xFA6`\x04a%^V[a\x0E1V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cZ\x05\x18\x0F`\xE0\x1B\x14\x80a\x05$WPa\x05$\x82a\x0ELV[\x92\x91PPV[```\x06\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x05\x82W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x05dW[PPPPP\x90P\x90V[```\x04\x80Ta\x05\x9B\x90a%\xA5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xC7\x90a%\xA5V[\x80\x15a\x05\x82W\x80`\x1F\x10a\x05\xE9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\x82V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\xF7WP\x93\x95\x94PPPPPV[`\x003a\x06#\x81\x85\x85a\x0E\x81V[P`\x01\x93\x92PPPV[`\0`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06^W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a%\xDFV[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\xC3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FERC777: transfer from the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x003\x90Pa\x06\xF4\x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x0F\xA8V[a\x07 \x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x10\xD0V[a\x07t\x85\x82a\x07o\x86`@Q\x80``\x01`@R\x80`)\x81R` \x01a(p`)\x919`\x01`\x01`\xA0\x1B\x03\x80\x8C\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x93\x8B\x16\x83R\x92\x90R T\x91\x90a\x11\xFEV[a\x0E\x81V[a\x07\xA2\x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RP`\0a\x12*V[P`\x01\x94\x93PPPPV[`\x0B` R\x81`\0R`@`\0 \x81\x81T\x81\x10a\x07\xC9W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x93P`\x01`\x80\x1B\x90\x91\x04\x16\x90P\x82V[`\0\x82\x81R` \x81\x90R`@\x90 `\x01\x01Ta\x08\x0C\x813a\x13\xEFV[a\x08\x16\x83\x83a\x14SV[PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x08\x8BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FAccessControl: can only renounce`D\x82\x01Rn\x1097\xB62\xB9\x9037\xB9\x109\xB2\xB63`\x89\x1B`d\x82\x01R`\x84\x01a\x06UV[a\x08\x95\x82\x82a\x14uV[PPV[a\x08\xA33\x86a\x0B\x99V[a\x08\xBFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a&#V[a\x08\xCE\x85\x85\x85\x85\x85`\x01a\x14\x97V[PPPPPV[`\0\x82\x81R`\x01` R`@\x81 a\x08\xED\x90\x83a\x15zV[\x93\x92PPPV[`\0\x91\x82R` \x82\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[`\0a\x05$`\x0C\x83a\x15\x86V[`\x01`\x01`\xA0\x1B\x03\x81\x163\x03a\t\x8EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`$\x80\x82\x01R\x7FERC777: authorizing self as oper`D\x82\x01Rc0\xBA7\xB9`\xE1\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x15a\t\xDFW3`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16\x90Ua\n\x0EV[3`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U[`@Q3\x90`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xF4\xCA\xEB-l\xA8\x93*!Z5=\x07\x03\xC3&\xEC-\x81\xFCh\x17\x0F2\x0E\xB2\xABI\xE9\xDFa\xF9\x90`\0\x90\xA3PV[```\x05\x80Ta\x05\x9B\x90a%\xA5V[a\x08\x163\x84\x84\x84`@Q\x80` \x01`@R\x80`\0\x81RP`\x01a\x14\x97V[`\0`\x01`\x01`\xA0\x1B\x03\x83\x16a\n\x9CW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a%\xDFV[`\x003\x90Pa\n\xCD\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x0F\xA8V[a\n\xF9\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x10\xD0V[a\x06#\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RP`\0a\x12*V[`\x0C\x81\x81T\x81\x10a\x0B7W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x92P`\x01`\x80\x1B\x90\x91\x04\x16\x82V[`\0\x81\x81R`\x01` R`@\x81 a\x05$\x90a\x17iV[`\0\x82\x81R` \x81\x90R`@\x90 `\x01\x01Ta\x0B\x8F\x813a\x13\xEFV[a\x08\x16\x83\x83a\x14uV[`\0\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x14\x80a\x0C\x04WP`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x80\x15a\x0C\x04WP`\x01`\x01`\xA0\x1B\x03\x80\x83\x16`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R T`\xFF\x16\x15[\x80a\x08\xEDWPP`\x01`\x01`\xA0\x1B\x03\x90\x81\x16`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 \x94\x90\x93\x16\x82R\x92\x90\x92R\x90 T`\xFF\x16\x90V[a\x0Cd\x7F\x9F-\xF0\xFE\xD2\xC7vH\xDEX`\xA4\xCCP\x8C\xD0\x81\x8C\x85\xB8\xB8\xA1\xABL\xEE\xEF\x8D\x98\x1C\x89V\xA63a\x08\xF4V[a\x0C\xB0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7Fcaller does not have minter role`D\x82\x01R`d\x01a\x06UV[a\x0C\xBC\x84\x84\x84\x84a\x17sV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` R`@\x81 a\x08\xED\x90\x83a\x15\x86V[3`\x01`\x01`\xA0\x1B\x03\x82\x16\x03a\rFW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7FERC777: revoking self as operato`D\x82\x01R`9`\xF9\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x15a\r\x9AW3`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\r\xC6V[3`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16\x90U[`@Q3\x90`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7FPTnf\xE5\xF4Mr\x83e\xDC9\x08\xC6;\xC5\xCF\xEE\xABG\x07\"\xC1g~0s\xA6\xAC)J\xA1\x90`\0\x90\xA3PV[a\x0E\t3\x85a\x0B\x99V[a\x0E%W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a&#V[a\x0C\xBC\x84\x84\x84\x84a\x18\xCFV[a\x08\x953\x83\x83`@Q\x80` \x01`@R\x80`\0\x81RPa\x18\xCFV[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\x05$WPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\x05$V[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x0E\xE5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`%`$\x82\x01R\x7FERC777: approve from the zero ad`D\x82\x01Rddress`\xD8\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x0FGW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`#`$\x82\x01R\x7FERC777: approve to the zero addr`D\x82\x01Rbess`\xE8\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x81\x81R`\n` \x90\x81R`@\x80\x83 \x94\x87\x16\x80\x84R\x94\x82R\x91\x82\x90 \x85\x90U\x90Q\x84\x81R\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPV[`@QcU]\xDCe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16`\x04\x82\x01R\x7F)\xDD\xB5\x89\xB1\xFB_\xC7\xCF9Ia\xC1\xAD\xF5\xF8\xC6EGa\xAD\xF7\x95\xE6\x7F\xE1I\xF6X\xAB\xE8\x95`$\x82\x01R`\0\x90s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c\xAA\xBB\xB8\xCA\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10)W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x10M\x91\x90a&oV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x10\xC7W`@Qc:\xD5\xCB\xC1`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16\x90cu\xAB\x97\x82\x90a\x10\x94\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90`\x04\x01a&\x8CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x10\xAEW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x10\xC2W=`\0\x80>=`\0\xFD[PPPP[PPPPPPPV[a\x10\xDC\x86\x86\x86\x86a\x1ACV[a\x11\x19\x83`@Q\x80``\x01`@R\x80`'\x81R` \x01a(I`'\x919`\x01`\x01`\xA0\x1B\x03\x88\x16`\0\x90\x81R`\x02` R`@\x90 T\x91\x90a\x11\xFEV[`\x01`\x01`\xA0\x1B\x03\x80\x87\x16`\0\x90\x81R`\x02` R`@\x80\x82 \x93\x90\x93U\x90\x86\x16\x81R Ta\x11H\x90\x84a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\0\x81\x81R`\x02` R`@\x90\x81\x90 \x93\x90\x93U\x91Q\x87\x82\x16\x91\x89\x16\x90\x7F\x06\xB5A\xDD\xAAr\r\xB2\xB1\nM\x0C\xDA\xC3\x9B\x8D6\x04%\xFC\x070\x85\xFA\xC1\x9B\xC8&\x14gy\x87\x90a\x11\xA1\x90\x88\x90\x88\x90\x88\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA4\x83`\x01`\x01`\xA0\x1B\x03\x16\x85`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x85`@Qa\x11\xEE\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[`\0\x81\x84\x84\x11\x15a\x12\"W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x91\x90a!\x95V[PPP\x90\x03\x90V[`@QcU]\xDCe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16`\x04\x82\x01R\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;`$\x82\x01R`\0\x90s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c\xAA\xBB\xB8\xCA\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\xABW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x12\xCF\x91\x90a&oV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x13KW`@Qb#\xDE)`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16\x90b#\xDE)\x90a\x13\x14\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90`\x04\x01a&\x8CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x13.W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13BW=`\0\x80>=`\0\xFD[PPPPa\x13\xE5V[\x81\x15a\x13\xE5W`\x01`\x01`\xA0\x1B\x03\x86\x16;\x15a\x13\xE5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`M`$\x82\x01R\x7FERC777: token recipient contract`D\x82\x01R\x7F has no implementer for ERC777To`d\x82\x01Rl\x1A\xD9[\x9C\xD4\x99X\xDA\\\x1AY[\x9D`\x9A\x1B`\x84\x82\x01R`\xA4\x01a\x06UV[PPPPPPPPV[a\x13\xF9\x82\x82a\x08\xF4V[a\x08\x95Wa\x14\x11\x81`\x01`\x01`\xA0\x1B\x03\x16`\x14a\x1B\x86V[a\x14\x1C\x83` a\x1B\x86V[`@Q` \x01a\x14-\x92\x91\x90a'\x1BV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90RbF\x1B\xCD`\xE5\x1B\x82Ra\x06U\x91`\x04\x01a!\x95V[a\x14]\x82\x82a\x1D\"V[`\0\x82\x81R`\x01` R`@\x90 a\x08\x16\x90\x82a\x1D\xA6V[a\x14\x7F\x82\x82a\x1D\xBBV[`\0\x82\x81R`\x01` R`@\x90 a\x08\x16\x90\x82a\x1E V[`\x01`\x01`\xA0\x1B\x03\x86\x16a\x14\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FERC777: send from the zero addre`D\x82\x01Rass`\xF0\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x85\x16a\x15NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FERC777: send to the zero address`D\x82\x01R`d\x01a\x06UV[3a\x15]\x81\x88\x88\x88\x88\x88a\x0F\xA8V[a\x15k\x81\x88\x88\x88\x88\x88a\x10\xD0V[a\x10\xC7\x81\x88\x88\x88\x88\x88\x88a\x12*V[`\0a\x08\xED\x83\x83a\x1E5V[\x81T`\0\x90\x80\x82\x03a\x15\x9CW`\0\x91PPa\x05$V[\x83a\x15\xA8`\x01\x83a'\xA6V[\x81T\x81\x10a\x15\xB8Wa\x15\xB8a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x84\x16\x10a\x16\x18W\x83a\x15\xE3`\x01\x83a'\xA6V[\x81T\x81\x10a\x15\xF3Wa\x15\xF3a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x91Pa\x05$\x90PV[\x83`\0\x81T\x81\x10a\x16+Wa\x16+a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x84\x16\x10\x15a\x16UW`\0\x91PPa\x05$V[`\0\x80a\x16c`\x01\x84a'\xA6V[\x90P[\x81\x81\x11\x15a\x171W`\0`\x02a\x16|\x84\x84a'\xCFV[a\x16\x87\x90`\x01a'\xCFV[a\x16\x91\x91\x90a'\xE2V[\x90P`\0\x87\x82\x81T\x81\x10a\x16\xA7Wa\x16\xA7a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x91P\x87\x16\x81\x03a\x17\x03W\x87\x82\x81T\x81\x10a\x16\xDAWa\x16\xDAa'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x95Pa\x05$\x94PPPPPV[\x86`\x01`\x01`\x80\x1B\x03\x16\x81\x10\x15a\x17\x1CW\x81\x93Pa\x17*V[a\x17'`\x01\x83a'\xA6V[\x92P[PPa\x16fV[\x85\x82\x81T\x81\x10a\x17CWa\x17Ca'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x96\x95PPPPPPV[`\0a\x05$\x82T\x90V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x17\xC9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FERC777: mint to the zero address`D\x82\x01R`d\x01a\x06UV[3a\x17\xD7\x81`\0\x87\x87a\x1ACV[`\x03Ta\x17\xE4\x90\x85a\x1BzV[`\x03U`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81R`\x02` R`@\x90 Ta\x18\n\x90\x85a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81R`\x02` R`@\x81 \x91\x90\x91Ua\x187\x90\x82\x90\x87\x87\x87\x87`\x01a\x12*V[\x84`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F/\xE5\xBE\x01F\xF7L[\xCE6\xC0\xB8\t\x11\xAFl}\x86\xFF'\xE8\x9D\\\xFAa\xFCh\x13'\x95N]\x86\x86\x86`@Qa\x18~\x93\x92\x91\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA3`@Q\x84\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16\x90`\0\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPPPV[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x190W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FERC777: burn from the zero addre`D\x82\x01Rass`\xF0\x1B`d\x82\x01R`\x84\x01a\x06UV[3a\x19@\x81\x86`\0\x87\x87\x87a\x0F\xA8V[a\x19M\x81\x86`\0\x87a\x1ACV[a\x19\x8A\x84`@Q\x80``\x01`@R\x80`#\x81R` \x01a(\x99`#\x919`\x01`\x01`\xA0\x1B\x03\x88\x16`\0\x90\x81R`\x02` R`@\x90 T\x91\x90a\x11\xFEV[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81R`\x02` R`@\x90 U`\x03Ta\x19\xB0\x90\x85a\x1E_V[`\x03\x81\x90UP\x84`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\xA7\x8A\x9B\xE3\xA7\xB8b\xD2i3\xAD\x85\xFB\x11\xD8\x0E\xF6k\x8F\x97-|\xBB\xA0f!\xD5\x83\x94:@\x98\x86\x86\x86`@Qa\x19\xFD\x93\x92\x91\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA3`@Q\x84\x81R`\0\x90`\x01`\x01`\xA0\x1B\x03\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01a\x18\xC0V[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x1A\xA3W`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1A\x8C\x91\x90a\x1A\x87\x90\x84\x90[\x90a\x1BzV[a\x1EkV[a\x1A\x9E`\x0Ca\x1A\x87\x83a\x1A\x81`\x03T\x90V[a\x0C\xBCV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x1A\xF9W`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1A\xE7\x91\x90a\x1A\x87\x90\x84\x90[\x90a\x1E_V[a\x1A\x9E`\x0Ca\x1A\x87\x83a\x1A\xE1`\x03T\x90V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0C\xBCW`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1BF\x91\x90a\x1A\x87\x90\x84\x90a\x1A\xE1V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x0C\xBC\x91\x90a\x1A\x87\x90\x84\x90a\x1A\x81V[`\0a\x08\xED\x82\x84a'\xCFV[```\0a\x1B\x95\x83`\x02a(\x04V[a\x1B\xA0\x90`\x02a'\xCFV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\xB8Wa\x1B\xB8a\"vV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\xE2W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\x03`\xFC\x1B\x81`\0\x81Q\x81\x10a\x1B\xFDWa\x1B\xFDa'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\x0F`\xFB\x1B\x81`\x01\x81Q\x81\x10a\x1C,Wa\x1C,a'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\0a\x1CP\x84`\x02a(\x04V[a\x1C[\x90`\x01a'\xCFV[\x90P[`\x01\x81\x11\x15a\x1C\xD3Wo\x18\x18\x99\x19\x9A\x1A\x9B\x1B\x9C\x1C\xB0\xB11\xB22\xB3`\x81\x1B\x85`\x0F\x16`\x10\x81\x10a\x1C\x8FWa\x1C\x8Fa'\xB9V[\x1A`\xF8\x1B\x82\x82\x81Q\x81\x10a\x1C\xA5Wa\x1C\xA5a'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\x04\x94\x90\x94\x1C\x93a\x1C\xCC\x81a(\x1BV[\x90Pa\x1C^V[P\x83\x15a\x08\xEDW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FStrings: hex length insufficient`D\x82\x01R`d\x01a\x06UV[a\x1D,\x82\x82a\x08\xF4V[a\x08\x95W`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\x1Db3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x83\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4PPV[`\0a\x08\xED\x83`\x01`\x01`\xA0\x1B\x03\x84\x16a\x1F\x8CV[a\x1D\xC5\x82\x82a\x08\xF4V[\x15a\x08\x95W`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x85\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4PPV[`\0a\x08\xED\x83`\x01`\x01`\xA0\x1B\x03\x84\x16a\x1F\xDBV[`\0\x82`\0\x01\x82\x81T\x81\x10a\x1ELWa\x1ELa'\xB9V[\x90`\0R` `\0 \x01T\x90P\x92\x91PPV[`\0a\x08\xED\x82\x84a'\xA6V[`\x01`\x01`\x80\x1B\x03\x81\x11\x15a\x1E\xB5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x10`$\x82\x01Rocasting overflow`\x80\x1B`D\x82\x01R`d\x01a\x06UV[\x81T\x80\x15\x80a\x1E\xF3WPC\x83a\x1E\xCC`\x01\x84a'\xA6V[\x81T\x81\x10a\x1E\xDCWa\x1E\xDCa'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x16\x10[\x15a\x1FDW`@\x80Q\x80\x82\x01\x90\x91R`\x01`\x01`\x80\x1B\x03C\x81\x16\x82R\x83\x81\x16` \x80\x84\x01\x91\x82R\x86T`\x01\x81\x01\x88U`\0\x88\x81R\x91\x90\x91 \x93Q\x91Q\x83\x16`\x01`\x80\x1B\x02\x91\x90\x92\x16\x17\x91\x01UPPPV[\x81\x83a\x1FQ`\x01\x84a'\xA6V[\x81T\x81\x10a\x1FaWa\x1Faa'\xB9V[`\0\x91\x82R` \x90\x91 \x01\x80T`\x01`\x01`\x80\x1B\x03\x92\x83\x16`\x01`\x80\x1B\x02\x92\x16\x91\x90\x91\x17\x90UPPPV[`\0\x81\x81R`\x01\x83\x01` R`@\x81 Ta\x1F\xD3WP\x81T`\x01\x81\x81\x01\x84U`\0\x84\x81R` \x80\x82 \x90\x93\x01\x84\x90U\x84T\x84\x82R\x82\x86\x01\x90\x93R`@\x90 \x91\x90\x91Ua\x05$V[P`\0a\x05$V[`\0\x81\x81R`\x01\x83\x01` R`@\x81 T\x80\x15a \xC4W`\0a\x1F\xFF`\x01\x83a'\xA6V[\x85T\x90\x91P`\0\x90a \x13\x90`\x01\x90a'\xA6V[\x90P\x81\x81\x14a xW`\0\x86`\0\x01\x82\x81T\x81\x10a 3Wa 3a'\xB9V[\x90`\0R` `\0 \x01T\x90P\x80\x87`\0\x01\x84\x81T\x81\x10a VWa Va'\xB9V[`\0\x91\x82R` \x80\x83 \x90\x91\x01\x92\x90\x92U\x91\x82R`\x01\x88\x01\x90R`@\x90 \x83\x90U[\x85T\x86\x90\x80a \x89Wa \x89a(2V[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x85`\x01\x01`\0\x86\x81R` \x01\x90\x81R` \x01`\0 `\0\x90U`\x01\x93PPPPa\x05$V[`\0\x91PPa\x05$V[`\0` \x82\x84\x03\x12\x15a \xE0W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x08\xEDW`\0\x80\xFD[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a!9W\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a!\x14V[P\x90\x96\x95PPPPPPV[`\0[\x83\x81\x10\x15a!`W\x81\x81\x01Q\x83\x82\x01R` \x01a!HV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra!\x81\x81` \x86\x01` \x86\x01a!EV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x08\xED` \x83\x01\x84a!iV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a!\xBDW`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15a!\xD3W`\0\x80\xFD[\x825a!\xDE\x81a!\xA8V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\"\x01W`\0\x80\xFD[\x835a\"\x0C\x81a!\xA8V[\x92P` \x84\x015a\"\x1C\x81a!\xA8V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\"?W`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\"YW`\0\x80\xFD[\x825\x91P` \x83\x015a\"k\x81a!\xA8V[\x80\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\"\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\xB8Wa\"\xB8a\"vV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\"\xE0Wa\"\xE0a\"vV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\"\xF9W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15a#1W`\0\x80\xFD[\x855a#<\x81a!\xA8V[\x94P` \x86\x015a#L\x81a!\xA8V[\x93P`@\x86\x015\x92P``\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a#pW`\0\x80\xFD[a#|\x89\x83\x8A\x01a\"\x8CV[\x93P`\x80\x88\x015\x91P\x80\x82\x11\x15a#\x92W`\0\x80\xFD[Pa#\x9F\x88\x82\x89\x01a\"\x8CV[\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0` \x82\x84\x03\x12\x15a#\xBEW`\0\x80\xFD[\x815a\x08\xED\x81a!\xA8V[`\0\x80`@\x83\x85\x03\x12\x15a#\xDCW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[\x805`\x01`\x01`\x80\x1B\x03\x81\x16\x81\x14a$\x02W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a$\x19W`\0\x80\xFD[a\x08\xED\x82a#\xEBV[`\0\x80`\0``\x84\x86\x03\x12\x15a$7W`\0\x80\xFD[\x835a$B\x81a!\xA8V[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$eW`\0\x80\xFD[a$q\x86\x82\x87\x01a\"\x8CV[\x91PP\x92P\x92P\x92V[`\0\x80`@\x83\x85\x03\x12\x15a$\x8EW`\0\x80\xFD[\x825a$\x99\x81a!\xA8V[\x91P` \x83\x015a\"k\x81a!\xA8V[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a$\xBFW`\0\x80\xFD[\x845a$\xCA\x81a!\xA8V[\x93P` \x85\x015\x92P`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$\xEEW`\0\x80\xFD[a$\xFA\x88\x83\x89\x01a\"\x8CV[\x93P``\x87\x015\x91P\x80\x82\x11\x15a%\x10W`\0\x80\xFD[Pa%\x1D\x87\x82\x88\x01a\"\x8CV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15a%<W`\0\x80\xFD[\x825a%G\x81a!\xA8V[\x91Pa%U` \x84\x01a#\xEBV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a%qW`\0\x80\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x8FW`\0\x80\xFD[a%\x9B\x85\x82\x86\x01a\"\x8CV[\x91PP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a%\xB9W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a%\xD9WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[` \x80\x82R`$\x90\x82\x01R\x7FERC777: transfer to the zero add`@\x82\x01Rcress`\xE0\x1B``\x82\x01R`\x80\x01\x90V[` \x80\x82R`,\x90\x82\x01R\x7FERC777: caller is not an operato`@\x82\x01Rk9\x1037\xB9\x1047\xB622\xB9`\xA1\x1B``\x82\x01R`\x80\x01\x90V[`\0` \x82\x84\x03\x12\x15a&\x81W`\0\x80\xFD[\x81Qa\x08\xED\x81a!\xA8V[`\x01`\x01`\xA0\x1B\x03\x87\x81\x16\x82R\x86\x81\x16` \x83\x01R\x85\x16`@\x82\x01R``\x81\x01\x84\x90R`\xC0`\x80\x82\x01\x81\x90R`\0\x90a&\xC7\x90\x83\x01\x85a!iV[\x82\x81\x03`\xA0\x84\x01Ra&\xD9\x81\x85a!iV[\x99\x98PPPPPPPPPV[\x83\x81R``` \x82\x01R`\0a&\xFF``\x83\x01\x85a!iV[\x82\x81\x03`@\x84\x01Ra'\x11\x81\x85a!iV[\x96\x95PPPPPPV[\x7FAccessControl: account \0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa'S\x81`\x17\x85\x01` \x88\x01a!EV[p\x01\x03K\x99\x03kK\x9B\x9BKs9\x03\x93{c)`}\x1B`\x17\x91\x84\x01\x91\x82\x01R\x83Qa'\x84\x81`(\x84\x01` \x88\x01a!EV[\x01`(\x01\x94\x93PPPPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x05$Wa\x05$a'\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x05$Wa\x05$a'\x90V[`\0\x82a'\xFFWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x05$Wa\x05$a'\x90V[`\0\x81a(*Wa(*a'\x90V[P`\0\x19\x01\x90V[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD\xFEERC777: transfer amount exceeds balanceERC777: transfer amount exceeds allowanceERC777: burn amount exceeds balance\xA2dipfsX\"\x12 \x83\x18\x90Iy\xF9[\xE02\xF9\x95\xB7[\x0F\xA0a\x84\xE9\x86Gx\xB44\xC6\xCC)\x8F:f;\xD8\x01dsolcC\0\x08\x13\x003";
1391 pub static HOPRTOKEN_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
1393 __BYTECODE,
1394 );
1395 #[rustfmt::skip]
1396 const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\xFBW`\x005`\xE0\x1C\x80c\x94yu\xD9\x11a\x01\x1AW\x80c\xD59\x13\x93\x11a\0\xADW\x80c\xDDb\xED>\x11a\0|W\x80c\xDDb\xED>\x14a\x04zW\x80c\xF7r\xA0\x92\x14a\x04\xB3W\x80c\xFA\xD8\xB3*\x14a\x04\xC6W\x80c\xFCg<O\x14a\x04\xD9W\x80c\xFE\x9D\x93\x03\x14a\x04\xECW`\0\x80\xFD[\x80c\xD59\x13\x93\x14a\x04\x1AW\x80c\xD5Gt\x1F\x14a\x04AW\x80c\xD9[cq\x14a\x04TW\x80c\xDC\xDC}\xD0\x14a\x04gW`\0\x80\xFD[\x80c\xA2\x17\xFD\xDF\x11a\0\xE9W\x80c\xA2\x17\xFD\xDF\x14a\x03\xD9W\x80c\xA9\x05\x9C\xBB\x14a\x03\xE1W\x80c\xB7\xD7\x8B\x1A\x14a\x03\xF4W\x80c\xCA\x15\xC8s\x14a\x04\x07W`\0\x80\xFD[\x80c\x94yu\xD9\x14a\x03\x98W\x80c\x95\x9B\x8C?\x14a\x03\xABW\x80c\x95\xD8\x9BA\x14a\x03\xBEW\x80c\x9B\xD9\xBB\xC6\x14a\x03\xC6W`\0\x80\xFD[\x80c//\xF1]\x11a\x01\x92W\x80cb\xAD\x1B\x83\x11a\x01aW\x80cb\xAD\x1B\x83\x14a\x03\x1EW\x80cp\xA0\x821\x14a\x031W\x80c\x90\x10\xD0|\x14a\x03ZW\x80c\x91\xD1HT\x14a\x03\x85W`\0\x80\xFD[\x80c//\xF1]\x14a\x02\xE0W\x80c1<\xE5g\x14a\x02\xF5W\x80c6V\x8A\xBE\x14a\x03\x04W\x80cUo\r\xC7\x14a\x03\x17W`\0\x80\xFD[\x80c\x18\x16\r\xDD\x11a\x01\xCEW\x80c\x18\x16\r\xDD\x14a\x02eW\x80c#\xB8r\xDD\x14a\x02wW\x80c$\x8A\x9C\xA3\x14a\x02\x8AW\x80c$\x97\xAE\xE6\x14a\x02\xADW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02\0W\x80c\x06\xE4\x858\x14a\x02(W\x80c\x06\xFD\xDE\x03\x14a\x02=W\x80c\t^\xA7\xB3\x14a\x02RW[`\0\x80\xFD[a\x02\x13a\x02\x0E6`\x04a \xCEV[a\x04\xFFV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x020a\x05*V[`@Qa\x02\x1F\x91\x90a \xF8V[a\x02Ea\x05\x8CV[`@Qa\x02\x1F\x91\x90a!\x95V[a\x02\x13a\x02`6`\x04a!\xC0V[a\x06\x15V[`\x03T[`@Q\x90\x81R` \x01a\x02\x1FV[a\x02\x13a\x02\x856`\x04a!\xECV[a\x06-V[a\x02ia\x02\x986`\x04a\"-V[`\0\x90\x81R` \x81\x90R`@\x90 `\x01\x01T\x90V[a\x02\xC0a\x02\xBB6`\x04a!\xC0V[a\x07\xADV[`@\x80Q`\x01`\x01`\x80\x1B\x03\x93\x84\x16\x81R\x92\x90\x91\x16` \x83\x01R\x01a\x02\x1FV[a\x02\xF3a\x02\xEE6`\x04a\"FV[a\x07\xF0V[\0[`@Q`\x12\x81R` \x01a\x02\x1FV[a\x02\xF3a\x03\x126`\x04a\"FV[a\x08\x1BV[`\x01a\x02iV[a\x02\xF3a\x03,6`\x04a#\x19V[a\x08\x99V[a\x02ia\x03?6`\x04a#\xACV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x02` R`@\x90 T\x90V[a\x03ma\x03h6`\x04a#\xC9V[a\x08\xD5V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x1FV[a\x02\x13a\x03\x936`\x04a\"FV[a\x08\xF4V[a\x02ia\x03\xA66`\x04a$\x07V[a\t\x1DV[a\x02\xF3a\x03\xB96`\x04a#\xACV[a\t*V[a\x02Ea\nGV[a\x02\xF3a\x03\xD46`\x04a$\"V[a\nVV[a\x02i`\0\x81V[a\x02\x13a\x03\xEF6`\x04a!\xC0V[a\ntV[a\x02\xC0a\x04\x026`\x04a\"-V[a\x0B'V[a\x02ia\x04\x156`\x04a\"-V[a\x0B\\V[a\x02i\x7F\x9F-\xF0\xFE\xD2\xC7vH\xDEX`\xA4\xCCP\x8C\xD0\x81\x8C\x85\xB8\xB8\xA1\xABL\xEE\xEF\x8D\x98\x1C\x89V\xA6\x81V[a\x02\xF3a\x04O6`\x04a\"FV[a\x0BsV[a\x02\x13a\x04b6`\x04a${V[a\x0B\x99V[a\x02\xF3a\x04u6`\x04a$\xA9V[a\x0C:V[a\x02ia\x04\x886`\x04a${V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02ia\x04\xC16`\x04a%)V[a\x0C\xC2V[a\x02\xF3a\x04\xD46`\x04a#\xACV[a\x0C\xE4V[a\x02\xF3a\x04\xE76`\x04a$\xA9V[a\r\xFFV[a\x02\xF3a\x04\xFA6`\x04a%^V[a\x0E1V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cZ\x05\x18\x0F`\xE0\x1B\x14\x80a\x05$WPa\x05$\x82a\x0ELV[\x92\x91PPV[```\x06\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x05\x82W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x05dW[PPPPP\x90P\x90V[```\x04\x80Ta\x05\x9B\x90a%\xA5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xC7\x90a%\xA5V[\x80\x15a\x05\x82W\x80`\x1F\x10a\x05\xE9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\x82V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\xF7WP\x93\x95\x94PPPPPV[`\x003a\x06#\x81\x85\x85a\x0E\x81V[P`\x01\x93\x92PPPV[`\0`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06^W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a%\xDFV[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\xC3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FERC777: transfer from the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x003\x90Pa\x06\xF4\x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x0F\xA8V[a\x07 \x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x10\xD0V[a\x07t\x85\x82a\x07o\x86`@Q\x80``\x01`@R\x80`)\x81R` \x01a(p`)\x919`\x01`\x01`\xA0\x1B\x03\x80\x8C\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x93\x8B\x16\x83R\x92\x90R T\x91\x90a\x11\xFEV[a\x0E\x81V[a\x07\xA2\x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RP`\0a\x12*V[P`\x01\x94\x93PPPPV[`\x0B` R\x81`\0R`@`\0 \x81\x81T\x81\x10a\x07\xC9W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x93P`\x01`\x80\x1B\x90\x91\x04\x16\x90P\x82V[`\0\x82\x81R` \x81\x90R`@\x90 `\x01\x01Ta\x08\x0C\x813a\x13\xEFV[a\x08\x16\x83\x83a\x14SV[PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x08\x8BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FAccessControl: can only renounce`D\x82\x01Rn\x1097\xB62\xB9\x9037\xB9\x109\xB2\xB63`\x89\x1B`d\x82\x01R`\x84\x01a\x06UV[a\x08\x95\x82\x82a\x14uV[PPV[a\x08\xA33\x86a\x0B\x99V[a\x08\xBFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a&#V[a\x08\xCE\x85\x85\x85\x85\x85`\x01a\x14\x97V[PPPPPV[`\0\x82\x81R`\x01` R`@\x81 a\x08\xED\x90\x83a\x15zV[\x93\x92PPPV[`\0\x91\x82R` \x82\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[`\0a\x05$`\x0C\x83a\x15\x86V[`\x01`\x01`\xA0\x1B\x03\x81\x163\x03a\t\x8EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`$\x80\x82\x01R\x7FERC777: authorizing self as oper`D\x82\x01Rc0\xBA7\xB9`\xE1\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x15a\t\xDFW3`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16\x90Ua\n\x0EV[3`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U[`@Q3\x90`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xF4\xCA\xEB-l\xA8\x93*!Z5=\x07\x03\xC3&\xEC-\x81\xFCh\x17\x0F2\x0E\xB2\xABI\xE9\xDFa\xF9\x90`\0\x90\xA3PV[```\x05\x80Ta\x05\x9B\x90a%\xA5V[a\x08\x163\x84\x84\x84`@Q\x80` \x01`@R\x80`\0\x81RP`\x01a\x14\x97V[`\0`\x01`\x01`\xA0\x1B\x03\x83\x16a\n\x9CW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a%\xDFV[`\x003\x90Pa\n\xCD\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x0F\xA8V[a\n\xF9\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x10\xD0V[a\x06#\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RP`\0a\x12*V[`\x0C\x81\x81T\x81\x10a\x0B7W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x92P`\x01`\x80\x1B\x90\x91\x04\x16\x82V[`\0\x81\x81R`\x01` R`@\x81 a\x05$\x90a\x17iV[`\0\x82\x81R` \x81\x90R`@\x90 `\x01\x01Ta\x0B\x8F\x813a\x13\xEFV[a\x08\x16\x83\x83a\x14uV[`\0\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x14\x80a\x0C\x04WP`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x80\x15a\x0C\x04WP`\x01`\x01`\xA0\x1B\x03\x80\x83\x16`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R T`\xFF\x16\x15[\x80a\x08\xEDWPP`\x01`\x01`\xA0\x1B\x03\x90\x81\x16`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 \x94\x90\x93\x16\x82R\x92\x90\x92R\x90 T`\xFF\x16\x90V[a\x0Cd\x7F\x9F-\xF0\xFE\xD2\xC7vH\xDEX`\xA4\xCCP\x8C\xD0\x81\x8C\x85\xB8\xB8\xA1\xABL\xEE\xEF\x8D\x98\x1C\x89V\xA63a\x08\xF4V[a\x0C\xB0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7Fcaller does not have minter role`D\x82\x01R`d\x01a\x06UV[a\x0C\xBC\x84\x84\x84\x84a\x17sV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` R`@\x81 a\x08\xED\x90\x83a\x15\x86V[3`\x01`\x01`\xA0\x1B\x03\x82\x16\x03a\rFW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7FERC777: revoking self as operato`D\x82\x01R`9`\xF9\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x15a\r\x9AW3`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\r\xC6V[3`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16\x90U[`@Q3\x90`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7FPTnf\xE5\xF4Mr\x83e\xDC9\x08\xC6;\xC5\xCF\xEE\xABG\x07\"\xC1g~0s\xA6\xAC)J\xA1\x90`\0\x90\xA3PV[a\x0E\t3\x85a\x0B\x99V[a\x0E%W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a&#V[a\x0C\xBC\x84\x84\x84\x84a\x18\xCFV[a\x08\x953\x83\x83`@Q\x80` \x01`@R\x80`\0\x81RPa\x18\xCFV[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\x05$WPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\x05$V[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x0E\xE5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`%`$\x82\x01R\x7FERC777: approve from the zero ad`D\x82\x01Rddress`\xD8\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x0FGW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`#`$\x82\x01R\x7FERC777: approve to the zero addr`D\x82\x01Rbess`\xE8\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x81\x81R`\n` \x90\x81R`@\x80\x83 \x94\x87\x16\x80\x84R\x94\x82R\x91\x82\x90 \x85\x90U\x90Q\x84\x81R\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPV[`@QcU]\xDCe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16`\x04\x82\x01R\x7F)\xDD\xB5\x89\xB1\xFB_\xC7\xCF9Ia\xC1\xAD\xF5\xF8\xC6EGa\xAD\xF7\x95\xE6\x7F\xE1I\xF6X\xAB\xE8\x95`$\x82\x01R`\0\x90s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c\xAA\xBB\xB8\xCA\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10)W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x10M\x91\x90a&oV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x10\xC7W`@Qc:\xD5\xCB\xC1`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16\x90cu\xAB\x97\x82\x90a\x10\x94\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90`\x04\x01a&\x8CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x10\xAEW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x10\xC2W=`\0\x80>=`\0\xFD[PPPP[PPPPPPPV[a\x10\xDC\x86\x86\x86\x86a\x1ACV[a\x11\x19\x83`@Q\x80``\x01`@R\x80`'\x81R` \x01a(I`'\x919`\x01`\x01`\xA0\x1B\x03\x88\x16`\0\x90\x81R`\x02` R`@\x90 T\x91\x90a\x11\xFEV[`\x01`\x01`\xA0\x1B\x03\x80\x87\x16`\0\x90\x81R`\x02` R`@\x80\x82 \x93\x90\x93U\x90\x86\x16\x81R Ta\x11H\x90\x84a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\0\x81\x81R`\x02` R`@\x90\x81\x90 \x93\x90\x93U\x91Q\x87\x82\x16\x91\x89\x16\x90\x7F\x06\xB5A\xDD\xAAr\r\xB2\xB1\nM\x0C\xDA\xC3\x9B\x8D6\x04%\xFC\x070\x85\xFA\xC1\x9B\xC8&\x14gy\x87\x90a\x11\xA1\x90\x88\x90\x88\x90\x88\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA4\x83`\x01`\x01`\xA0\x1B\x03\x16\x85`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x85`@Qa\x11\xEE\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[`\0\x81\x84\x84\x11\x15a\x12\"W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x91\x90a!\x95V[PPP\x90\x03\x90V[`@QcU]\xDCe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16`\x04\x82\x01R\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;`$\x82\x01R`\0\x90s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c\xAA\xBB\xB8\xCA\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\xABW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x12\xCF\x91\x90a&oV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x13KW`@Qb#\xDE)`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16\x90b#\xDE)\x90a\x13\x14\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90`\x04\x01a&\x8CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x13.W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13BW=`\0\x80>=`\0\xFD[PPPPa\x13\xE5V[\x81\x15a\x13\xE5W`\x01`\x01`\xA0\x1B\x03\x86\x16;\x15a\x13\xE5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`M`$\x82\x01R\x7FERC777: token recipient contract`D\x82\x01R\x7F has no implementer for ERC777To`d\x82\x01Rl\x1A\xD9[\x9C\xD4\x99X\xDA\\\x1AY[\x9D`\x9A\x1B`\x84\x82\x01R`\xA4\x01a\x06UV[PPPPPPPPV[a\x13\xF9\x82\x82a\x08\xF4V[a\x08\x95Wa\x14\x11\x81`\x01`\x01`\xA0\x1B\x03\x16`\x14a\x1B\x86V[a\x14\x1C\x83` a\x1B\x86V[`@Q` \x01a\x14-\x92\x91\x90a'\x1BV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90RbF\x1B\xCD`\xE5\x1B\x82Ra\x06U\x91`\x04\x01a!\x95V[a\x14]\x82\x82a\x1D\"V[`\0\x82\x81R`\x01` R`@\x90 a\x08\x16\x90\x82a\x1D\xA6V[a\x14\x7F\x82\x82a\x1D\xBBV[`\0\x82\x81R`\x01` R`@\x90 a\x08\x16\x90\x82a\x1E V[`\x01`\x01`\xA0\x1B\x03\x86\x16a\x14\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FERC777: send from the zero addre`D\x82\x01Rass`\xF0\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x85\x16a\x15NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FERC777: send to the zero address`D\x82\x01R`d\x01a\x06UV[3a\x15]\x81\x88\x88\x88\x88\x88a\x0F\xA8V[a\x15k\x81\x88\x88\x88\x88\x88a\x10\xD0V[a\x10\xC7\x81\x88\x88\x88\x88\x88\x88a\x12*V[`\0a\x08\xED\x83\x83a\x1E5V[\x81T`\0\x90\x80\x82\x03a\x15\x9CW`\0\x91PPa\x05$V[\x83a\x15\xA8`\x01\x83a'\xA6V[\x81T\x81\x10a\x15\xB8Wa\x15\xB8a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x84\x16\x10a\x16\x18W\x83a\x15\xE3`\x01\x83a'\xA6V[\x81T\x81\x10a\x15\xF3Wa\x15\xF3a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x91Pa\x05$\x90PV[\x83`\0\x81T\x81\x10a\x16+Wa\x16+a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x84\x16\x10\x15a\x16UW`\0\x91PPa\x05$V[`\0\x80a\x16c`\x01\x84a'\xA6V[\x90P[\x81\x81\x11\x15a\x171W`\0`\x02a\x16|\x84\x84a'\xCFV[a\x16\x87\x90`\x01a'\xCFV[a\x16\x91\x91\x90a'\xE2V[\x90P`\0\x87\x82\x81T\x81\x10a\x16\xA7Wa\x16\xA7a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x91P\x87\x16\x81\x03a\x17\x03W\x87\x82\x81T\x81\x10a\x16\xDAWa\x16\xDAa'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x95Pa\x05$\x94PPPPPV[\x86`\x01`\x01`\x80\x1B\x03\x16\x81\x10\x15a\x17\x1CW\x81\x93Pa\x17*V[a\x17'`\x01\x83a'\xA6V[\x92P[PPa\x16fV[\x85\x82\x81T\x81\x10a\x17CWa\x17Ca'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x96\x95PPPPPPV[`\0a\x05$\x82T\x90V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x17\xC9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FERC777: mint to the zero address`D\x82\x01R`d\x01a\x06UV[3a\x17\xD7\x81`\0\x87\x87a\x1ACV[`\x03Ta\x17\xE4\x90\x85a\x1BzV[`\x03U`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81R`\x02` R`@\x90 Ta\x18\n\x90\x85a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81R`\x02` R`@\x81 \x91\x90\x91Ua\x187\x90\x82\x90\x87\x87\x87\x87`\x01a\x12*V[\x84`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F/\xE5\xBE\x01F\xF7L[\xCE6\xC0\xB8\t\x11\xAFl}\x86\xFF'\xE8\x9D\\\xFAa\xFCh\x13'\x95N]\x86\x86\x86`@Qa\x18~\x93\x92\x91\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA3`@Q\x84\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16\x90`\0\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPPPV[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x190W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FERC777: burn from the zero addre`D\x82\x01Rass`\xF0\x1B`d\x82\x01R`\x84\x01a\x06UV[3a\x19@\x81\x86`\0\x87\x87\x87a\x0F\xA8V[a\x19M\x81\x86`\0\x87a\x1ACV[a\x19\x8A\x84`@Q\x80``\x01`@R\x80`#\x81R` \x01a(\x99`#\x919`\x01`\x01`\xA0\x1B\x03\x88\x16`\0\x90\x81R`\x02` R`@\x90 T\x91\x90a\x11\xFEV[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81R`\x02` R`@\x90 U`\x03Ta\x19\xB0\x90\x85a\x1E_V[`\x03\x81\x90UP\x84`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\xA7\x8A\x9B\xE3\xA7\xB8b\xD2i3\xAD\x85\xFB\x11\xD8\x0E\xF6k\x8F\x97-|\xBB\xA0f!\xD5\x83\x94:@\x98\x86\x86\x86`@Qa\x19\xFD\x93\x92\x91\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA3`@Q\x84\x81R`\0\x90`\x01`\x01`\xA0\x1B\x03\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01a\x18\xC0V[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x1A\xA3W`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1A\x8C\x91\x90a\x1A\x87\x90\x84\x90[\x90a\x1BzV[a\x1EkV[a\x1A\x9E`\x0Ca\x1A\x87\x83a\x1A\x81`\x03T\x90V[a\x0C\xBCV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x1A\xF9W`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1A\xE7\x91\x90a\x1A\x87\x90\x84\x90[\x90a\x1E_V[a\x1A\x9E`\x0Ca\x1A\x87\x83a\x1A\xE1`\x03T\x90V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0C\xBCW`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1BF\x91\x90a\x1A\x87\x90\x84\x90a\x1A\xE1V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x0C\xBC\x91\x90a\x1A\x87\x90\x84\x90a\x1A\x81V[`\0a\x08\xED\x82\x84a'\xCFV[```\0a\x1B\x95\x83`\x02a(\x04V[a\x1B\xA0\x90`\x02a'\xCFV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\xB8Wa\x1B\xB8a\"vV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\xE2W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\x03`\xFC\x1B\x81`\0\x81Q\x81\x10a\x1B\xFDWa\x1B\xFDa'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\x0F`\xFB\x1B\x81`\x01\x81Q\x81\x10a\x1C,Wa\x1C,a'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\0a\x1CP\x84`\x02a(\x04V[a\x1C[\x90`\x01a'\xCFV[\x90P[`\x01\x81\x11\x15a\x1C\xD3Wo\x18\x18\x99\x19\x9A\x1A\x9B\x1B\x9C\x1C\xB0\xB11\xB22\xB3`\x81\x1B\x85`\x0F\x16`\x10\x81\x10a\x1C\x8FWa\x1C\x8Fa'\xB9V[\x1A`\xF8\x1B\x82\x82\x81Q\x81\x10a\x1C\xA5Wa\x1C\xA5a'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\x04\x94\x90\x94\x1C\x93a\x1C\xCC\x81a(\x1BV[\x90Pa\x1C^V[P\x83\x15a\x08\xEDW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FStrings: hex length insufficient`D\x82\x01R`d\x01a\x06UV[a\x1D,\x82\x82a\x08\xF4V[a\x08\x95W`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\x1Db3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x83\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4PPV[`\0a\x08\xED\x83`\x01`\x01`\xA0\x1B\x03\x84\x16a\x1F\x8CV[a\x1D\xC5\x82\x82a\x08\xF4V[\x15a\x08\x95W`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x85\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4PPV[`\0a\x08\xED\x83`\x01`\x01`\xA0\x1B\x03\x84\x16a\x1F\xDBV[`\0\x82`\0\x01\x82\x81T\x81\x10a\x1ELWa\x1ELa'\xB9V[\x90`\0R` `\0 \x01T\x90P\x92\x91PPV[`\0a\x08\xED\x82\x84a'\xA6V[`\x01`\x01`\x80\x1B\x03\x81\x11\x15a\x1E\xB5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x10`$\x82\x01Rocasting overflow`\x80\x1B`D\x82\x01R`d\x01a\x06UV[\x81T\x80\x15\x80a\x1E\xF3WPC\x83a\x1E\xCC`\x01\x84a'\xA6V[\x81T\x81\x10a\x1E\xDCWa\x1E\xDCa'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x16\x10[\x15a\x1FDW`@\x80Q\x80\x82\x01\x90\x91R`\x01`\x01`\x80\x1B\x03C\x81\x16\x82R\x83\x81\x16` \x80\x84\x01\x91\x82R\x86T`\x01\x81\x01\x88U`\0\x88\x81R\x91\x90\x91 \x93Q\x91Q\x83\x16`\x01`\x80\x1B\x02\x91\x90\x92\x16\x17\x91\x01UPPPV[\x81\x83a\x1FQ`\x01\x84a'\xA6V[\x81T\x81\x10a\x1FaWa\x1Faa'\xB9V[`\0\x91\x82R` \x90\x91 \x01\x80T`\x01`\x01`\x80\x1B\x03\x92\x83\x16`\x01`\x80\x1B\x02\x92\x16\x91\x90\x91\x17\x90UPPPV[`\0\x81\x81R`\x01\x83\x01` R`@\x81 Ta\x1F\xD3WP\x81T`\x01\x81\x81\x01\x84U`\0\x84\x81R` \x80\x82 \x90\x93\x01\x84\x90U\x84T\x84\x82R\x82\x86\x01\x90\x93R`@\x90 \x91\x90\x91Ua\x05$V[P`\0a\x05$V[`\0\x81\x81R`\x01\x83\x01` R`@\x81 T\x80\x15a \xC4W`\0a\x1F\xFF`\x01\x83a'\xA6V[\x85T\x90\x91P`\0\x90a \x13\x90`\x01\x90a'\xA6V[\x90P\x81\x81\x14a xW`\0\x86`\0\x01\x82\x81T\x81\x10a 3Wa 3a'\xB9V[\x90`\0R` `\0 \x01T\x90P\x80\x87`\0\x01\x84\x81T\x81\x10a VWa Va'\xB9V[`\0\x91\x82R` \x80\x83 \x90\x91\x01\x92\x90\x92U\x91\x82R`\x01\x88\x01\x90R`@\x90 \x83\x90U[\x85T\x86\x90\x80a \x89Wa \x89a(2V[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x85`\x01\x01`\0\x86\x81R` \x01\x90\x81R` \x01`\0 `\0\x90U`\x01\x93PPPPa\x05$V[`\0\x91PPa\x05$V[`\0` \x82\x84\x03\x12\x15a \xE0W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x08\xEDW`\0\x80\xFD[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a!9W\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a!\x14V[P\x90\x96\x95PPPPPPV[`\0[\x83\x81\x10\x15a!`W\x81\x81\x01Q\x83\x82\x01R` \x01a!HV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra!\x81\x81` \x86\x01` \x86\x01a!EV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x08\xED` \x83\x01\x84a!iV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a!\xBDW`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15a!\xD3W`\0\x80\xFD[\x825a!\xDE\x81a!\xA8V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\"\x01W`\0\x80\xFD[\x835a\"\x0C\x81a!\xA8V[\x92P` \x84\x015a\"\x1C\x81a!\xA8V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\"?W`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\"YW`\0\x80\xFD[\x825\x91P` \x83\x015a\"k\x81a!\xA8V[\x80\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\"\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\xB8Wa\"\xB8a\"vV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\"\xE0Wa\"\xE0a\"vV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\"\xF9W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15a#1W`\0\x80\xFD[\x855a#<\x81a!\xA8V[\x94P` \x86\x015a#L\x81a!\xA8V[\x93P`@\x86\x015\x92P``\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a#pW`\0\x80\xFD[a#|\x89\x83\x8A\x01a\"\x8CV[\x93P`\x80\x88\x015\x91P\x80\x82\x11\x15a#\x92W`\0\x80\xFD[Pa#\x9F\x88\x82\x89\x01a\"\x8CV[\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0` \x82\x84\x03\x12\x15a#\xBEW`\0\x80\xFD[\x815a\x08\xED\x81a!\xA8V[`\0\x80`@\x83\x85\x03\x12\x15a#\xDCW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[\x805`\x01`\x01`\x80\x1B\x03\x81\x16\x81\x14a$\x02W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a$\x19W`\0\x80\xFD[a\x08\xED\x82a#\xEBV[`\0\x80`\0``\x84\x86\x03\x12\x15a$7W`\0\x80\xFD[\x835a$B\x81a!\xA8V[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$eW`\0\x80\xFD[a$q\x86\x82\x87\x01a\"\x8CV[\x91PP\x92P\x92P\x92V[`\0\x80`@\x83\x85\x03\x12\x15a$\x8EW`\0\x80\xFD[\x825a$\x99\x81a!\xA8V[\x91P` \x83\x015a\"k\x81a!\xA8V[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a$\xBFW`\0\x80\xFD[\x845a$\xCA\x81a!\xA8V[\x93P` \x85\x015\x92P`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$\xEEW`\0\x80\xFD[a$\xFA\x88\x83\x89\x01a\"\x8CV[\x93P``\x87\x015\x91P\x80\x82\x11\x15a%\x10W`\0\x80\xFD[Pa%\x1D\x87\x82\x88\x01a\"\x8CV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15a%<W`\0\x80\xFD[\x825a%G\x81a!\xA8V[\x91Pa%U` \x84\x01a#\xEBV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a%qW`\0\x80\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x8FW`\0\x80\xFD[a%\x9B\x85\x82\x86\x01a\"\x8CV[\x91PP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a%\xB9W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a%\xD9WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[` \x80\x82R`$\x90\x82\x01R\x7FERC777: transfer to the zero add`@\x82\x01Rcress`\xE0\x1B``\x82\x01R`\x80\x01\x90V[` \x80\x82R`,\x90\x82\x01R\x7FERC777: caller is not an operato`@\x82\x01Rk9\x1037\xB9\x1047\xB622\xB9`\xA1\x1B``\x82\x01R`\x80\x01\x90V[`\0` \x82\x84\x03\x12\x15a&\x81W`\0\x80\xFD[\x81Qa\x08\xED\x81a!\xA8V[`\x01`\x01`\xA0\x1B\x03\x87\x81\x16\x82R\x86\x81\x16` \x83\x01R\x85\x16`@\x82\x01R``\x81\x01\x84\x90R`\xC0`\x80\x82\x01\x81\x90R`\0\x90a&\xC7\x90\x83\x01\x85a!iV[\x82\x81\x03`\xA0\x84\x01Ra&\xD9\x81\x85a!iV[\x99\x98PPPPPPPPPV[\x83\x81R``` \x82\x01R`\0a&\xFF``\x83\x01\x85a!iV[\x82\x81\x03`@\x84\x01Ra'\x11\x81\x85a!iV[\x96\x95PPPPPPV[\x7FAccessControl: account \0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa'S\x81`\x17\x85\x01` \x88\x01a!EV[p\x01\x03K\x99\x03kK\x9B\x9BKs9\x03\x93{c)`}\x1B`\x17\x91\x84\x01\x91\x82\x01R\x83Qa'\x84\x81`(\x84\x01` \x88\x01a!EV[\x01`(\x01\x94\x93PPPPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x05$Wa\x05$a'\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x05$Wa\x05$a'\x90V[`\0\x82a'\xFFWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x05$Wa\x05$a'\x90V[`\0\x81a(*Wa(*a'\x90V[P`\0\x19\x01\x90V[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD\xFEERC777: transfer amount exceeds balanceERC777: transfer amount exceeds allowanceERC777: burn amount exceeds balance\xA2dipfsX\"\x12 \x83\x18\x90Iy\xF9[\xE02\xF9\x95\xB7[\x0F\xA0a\x84\xE9\x86Gx\xB44\xC6\xCC)\x8F:f;\xD8\x01dsolcC\0\x08\x13\x003";
1397 pub static HOPRTOKEN_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
1399 __DEPLOYED_BYTECODE,
1400 );
1401 pub struct HoprToken<M>(::ethers::contract::Contract<M>);
1402 impl<M> ::core::clone::Clone for HoprToken<M> {
1403 fn clone(&self) -> Self {
1404 Self(::core::clone::Clone::clone(&self.0))
1405 }
1406 }
1407 impl<M> ::core::ops::Deref for HoprToken<M> {
1408 type Target = ::ethers::contract::Contract<M>;
1409 fn deref(&self) -> &Self::Target {
1410 &self.0
1411 }
1412 }
1413 impl<M> ::core::ops::DerefMut for HoprToken<M> {
1414 fn deref_mut(&mut self) -> &mut Self::Target {
1415 &mut self.0
1416 }
1417 }
1418 impl<M> ::core::fmt::Debug for HoprToken<M> {
1419 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1420 f.debug_tuple(::core::stringify!(HoprToken)).field(&self.address()).finish()
1421 }
1422 }
1423 impl<M: ::ethers::providers::Middleware> HoprToken<M> {
1424 pub fn new<T: Into<::ethers::core::types::Address>>(
1427 address: T,
1428 client: ::std::sync::Arc<M>,
1429 ) -> Self {
1430 Self(
1431 ::ethers::contract::Contract::new(
1432 address.into(),
1433 HOPRTOKEN_ABI.clone(),
1434 client,
1435 ),
1436 )
1437 }
1438 pub fn deploy<T: ::ethers::core::abi::Tokenize>(
1462 client: ::std::sync::Arc<M>,
1463 constructor_args: T,
1464 ) -> ::core::result::Result<
1465 ::ethers::contract::builders::ContractDeployer<M, Self>,
1466 ::ethers::contract::ContractError<M>,
1467 > {
1468 let factory = ::ethers::contract::ContractFactory::new(
1469 HOPRTOKEN_ABI.clone(),
1470 HOPRTOKEN_BYTECODE.clone().into(),
1471 client,
1472 );
1473 let deployer = factory.deploy(constructor_args)?;
1474 let deployer = ::ethers::contract::ContractDeployer::new(deployer);
1475 Ok(deployer)
1476 }
1477 pub fn default_admin_role(
1479 &self,
1480 ) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
1481 self.0
1482 .method_hash([162, 23, 253, 223], ())
1483 .expect("method not found (this should never happen)")
1484 }
1485 pub fn minter_role(
1487 &self,
1488 ) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
1489 self.0
1490 .method_hash([213, 57, 19, 147], ())
1491 .expect("method not found (this should never happen)")
1492 }
1493 pub fn account_snapshots(
1495 &self,
1496 p0: ::ethers::core::types::Address,
1497 p1: ::ethers::core::types::U256,
1498 ) -> ::ethers::contract::builders::ContractCall<M, (u128, u128)> {
1499 self.0
1500 .method_hash([36, 151, 174, 230], (p0, p1))
1501 .expect("method not found (this should never happen)")
1502 }
1503 pub fn allowance(
1505 &self,
1506 holder: ::ethers::core::types::Address,
1507 spender: ::ethers::core::types::Address,
1508 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1509 self.0
1510 .method_hash([221, 98, 237, 62], (holder, spender))
1511 .expect("method not found (this should never happen)")
1512 }
1513 pub fn approve(
1515 &self,
1516 spender: ::ethers::core::types::Address,
1517 value: ::ethers::core::types::U256,
1518 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1519 self.0
1520 .method_hash([9, 94, 167, 179], (spender, value))
1521 .expect("method not found (this should never happen)")
1522 }
1523 pub fn authorize_operator(
1525 &self,
1526 operator: ::ethers::core::types::Address,
1527 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1528 self.0
1529 .method_hash([149, 155, 140, 63], operator)
1530 .expect("method not found (this should never happen)")
1531 }
1532 pub fn balance_of(
1534 &self,
1535 token_holder: ::ethers::core::types::Address,
1536 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1537 self.0
1538 .method_hash([112, 160, 130, 49], token_holder)
1539 .expect("method not found (this should never happen)")
1540 }
1541 pub fn balance_of_at(
1543 &self,
1544 owner: ::ethers::core::types::Address,
1545 block_number: u128,
1546 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1547 self.0
1548 .method_hash([247, 114, 160, 146], (owner, block_number))
1549 .expect("method not found (this should never happen)")
1550 }
1551 pub fn burn(
1553 &self,
1554 amount: ::ethers::core::types::U256,
1555 data: ::ethers::core::types::Bytes,
1556 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1557 self.0
1558 .method_hash([254, 157, 147, 3], (amount, data))
1559 .expect("method not found (this should never happen)")
1560 }
1561 pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall<M, u8> {
1563 self.0
1564 .method_hash([49, 60, 229, 103], ())
1565 .expect("method not found (this should never happen)")
1566 }
1567 pub fn default_operators(
1569 &self,
1570 ) -> ::ethers::contract::builders::ContractCall<
1571 M,
1572 ::std::vec::Vec<::ethers::core::types::Address>,
1573 > {
1574 self.0
1575 .method_hash([6, 228, 133, 56], ())
1576 .expect("method not found (this should never happen)")
1577 }
1578 pub fn get_role_admin(
1580 &self,
1581 role: [u8; 32],
1582 ) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
1583 self.0
1584 .method_hash([36, 138, 156, 163], role)
1585 .expect("method not found (this should never happen)")
1586 }
1587 pub fn get_role_member(
1589 &self,
1590 role: [u8; 32],
1591 index: ::ethers::core::types::U256,
1592 ) -> ::ethers::contract::builders::ContractCall<
1593 M,
1594 ::ethers::core::types::Address,
1595 > {
1596 self.0
1597 .method_hash([144, 16, 208, 124], (role, index))
1598 .expect("method not found (this should never happen)")
1599 }
1600 pub fn get_role_member_count(
1602 &self,
1603 role: [u8; 32],
1604 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1605 self.0
1606 .method_hash([202, 21, 200, 115], role)
1607 .expect("method not found (this should never happen)")
1608 }
1609 pub fn grant_role(
1611 &self,
1612 role: [u8; 32],
1613 account: ::ethers::core::types::Address,
1614 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1615 self.0
1616 .method_hash([47, 47, 241, 93], (role, account))
1617 .expect("method not found (this should never happen)")
1618 }
1619 pub fn granularity(
1621 &self,
1622 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1623 self.0
1624 .method_hash([85, 111, 13, 199], ())
1625 .expect("method not found (this should never happen)")
1626 }
1627 pub fn has_role(
1629 &self,
1630 role: [u8; 32],
1631 account: ::ethers::core::types::Address,
1632 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1633 self.0
1634 .method_hash([145, 209, 72, 84], (role, account))
1635 .expect("method not found (this should never happen)")
1636 }
1637 pub fn is_operator_for(
1639 &self,
1640 operator: ::ethers::core::types::Address,
1641 token_holder: ::ethers::core::types::Address,
1642 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1643 self.0
1644 .method_hash([217, 91, 99, 113], (operator, token_holder))
1645 .expect("method not found (this should never happen)")
1646 }
1647 pub fn mint(
1649 &self,
1650 account: ::ethers::core::types::Address,
1651 amount: ::ethers::core::types::U256,
1652 user_data: ::ethers::core::types::Bytes,
1653 operator_data: ::ethers::core::types::Bytes,
1654 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1655 self.0
1656 .method_hash(
1657 [220, 220, 125, 208],
1658 (account, amount, user_data, operator_data),
1659 )
1660 .expect("method not found (this should never happen)")
1661 }
1662 pub fn name(
1664 &self,
1665 ) -> ::ethers::contract::builders::ContractCall<M, ::std::string::String> {
1666 self.0
1667 .method_hash([6, 253, 222, 3], ())
1668 .expect("method not found (this should never happen)")
1669 }
1670 pub fn operator_burn(
1672 &self,
1673 account: ::ethers::core::types::Address,
1674 amount: ::ethers::core::types::U256,
1675 data: ::ethers::core::types::Bytes,
1676 operator_data: ::ethers::core::types::Bytes,
1677 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1678 self.0
1679 .method_hash([252, 103, 60, 79], (account, amount, data, operator_data))
1680 .expect("method not found (this should never happen)")
1681 }
1682 pub fn operator_send(
1684 &self,
1685 sender: ::ethers::core::types::Address,
1686 recipient: ::ethers::core::types::Address,
1687 amount: ::ethers::core::types::U256,
1688 data: ::ethers::core::types::Bytes,
1689 operator_data: ::ethers::core::types::Bytes,
1690 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1691 self.0
1692 .method_hash(
1693 [98, 173, 27, 131],
1694 (sender, recipient, amount, data, operator_data),
1695 )
1696 .expect("method not found (this should never happen)")
1697 }
1698 pub fn renounce_role(
1700 &self,
1701 role: [u8; 32],
1702 account: ::ethers::core::types::Address,
1703 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1704 self.0
1705 .method_hash([54, 86, 138, 190], (role, account))
1706 .expect("method not found (this should never happen)")
1707 }
1708 pub fn revoke_operator(
1710 &self,
1711 operator: ::ethers::core::types::Address,
1712 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1713 self.0
1714 .method_hash([250, 216, 179, 42], operator)
1715 .expect("method not found (this should never happen)")
1716 }
1717 pub fn revoke_role(
1719 &self,
1720 role: [u8; 32],
1721 account: ::ethers::core::types::Address,
1722 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1723 self.0
1724 .method_hash([213, 71, 116, 31], (role, account))
1725 .expect("method not found (this should never happen)")
1726 }
1727 pub fn send(
1729 &self,
1730 recipient: ::ethers::core::types::Address,
1731 amount: ::ethers::core::types::U256,
1732 data: ::ethers::core::types::Bytes,
1733 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1734 self.0
1735 .method_hash([155, 217, 187, 198], (recipient, amount, data))
1736 .expect("method not found (this should never happen)")
1737 }
1738 pub fn supports_interface(
1740 &self,
1741 interface_id: [u8; 4],
1742 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1743 self.0
1744 .method_hash([1, 255, 201, 167], interface_id)
1745 .expect("method not found (this should never happen)")
1746 }
1747 pub fn symbol(
1749 &self,
1750 ) -> ::ethers::contract::builders::ContractCall<M, ::std::string::String> {
1751 self.0
1752 .method_hash([149, 216, 155, 65], ())
1753 .expect("method not found (this should never happen)")
1754 }
1755 pub fn total_supply(
1757 &self,
1758 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1759 self.0
1760 .method_hash([24, 22, 13, 221], ())
1761 .expect("method not found (this should never happen)")
1762 }
1763 pub fn total_supply_at(
1765 &self,
1766 block_number: u128,
1767 ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1768 self.0
1769 .method_hash([148, 121, 117, 217], block_number)
1770 .expect("method not found (this should never happen)")
1771 }
1772 pub fn total_supply_snapshots(
1774 &self,
1775 p0: ::ethers::core::types::U256,
1776 ) -> ::ethers::contract::builders::ContractCall<M, (u128, u128)> {
1777 self.0
1778 .method_hash([183, 215, 139, 26], p0)
1779 .expect("method not found (this should never happen)")
1780 }
1781 pub fn transfer(
1783 &self,
1784 recipient: ::ethers::core::types::Address,
1785 amount: ::ethers::core::types::U256,
1786 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1787 self.0
1788 .method_hash([169, 5, 156, 187], (recipient, amount))
1789 .expect("method not found (this should never happen)")
1790 }
1791 pub fn transfer_from(
1793 &self,
1794 holder: ::ethers::core::types::Address,
1795 recipient: ::ethers::core::types::Address,
1796 amount: ::ethers::core::types::U256,
1797 ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1798 self.0
1799 .method_hash([35, 184, 114, 221], (holder, recipient, amount))
1800 .expect("method not found (this should never happen)")
1801 }
1802 pub fn approval_filter(
1804 &self,
1805 ) -> ::ethers::contract::builders::Event<
1806 ::std::sync::Arc<M>,
1807 M,
1808 ApprovalFilter,
1809 > {
1810 self.0.event()
1811 }
1812 pub fn authorized_operator_filter(
1814 &self,
1815 ) -> ::ethers::contract::builders::Event<
1816 ::std::sync::Arc<M>,
1817 M,
1818 AuthorizedOperatorFilter,
1819 > {
1820 self.0.event()
1821 }
1822 pub fn burned_filter(
1824 &self,
1825 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, BurnedFilter> {
1826 self.0.event()
1827 }
1828 pub fn minted_filter(
1830 &self,
1831 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, MintedFilter> {
1832 self.0.event()
1833 }
1834 pub fn revoked_operator_filter(
1836 &self,
1837 ) -> ::ethers::contract::builders::Event<
1838 ::std::sync::Arc<M>,
1839 M,
1840 RevokedOperatorFilter,
1841 > {
1842 self.0.event()
1843 }
1844 pub fn role_admin_changed_filter(
1846 &self,
1847 ) -> ::ethers::contract::builders::Event<
1848 ::std::sync::Arc<M>,
1849 M,
1850 RoleAdminChangedFilter,
1851 > {
1852 self.0.event()
1853 }
1854 pub fn role_granted_filter(
1856 &self,
1857 ) -> ::ethers::contract::builders::Event<
1858 ::std::sync::Arc<M>,
1859 M,
1860 RoleGrantedFilter,
1861 > {
1862 self.0.event()
1863 }
1864 pub fn role_revoked_filter(
1866 &self,
1867 ) -> ::ethers::contract::builders::Event<
1868 ::std::sync::Arc<M>,
1869 M,
1870 RoleRevokedFilter,
1871 > {
1872 self.0.event()
1873 }
1874 pub fn sent_filter(
1876 &self,
1877 ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, SentFilter> {
1878 self.0.event()
1879 }
1880 pub fn transfer_filter(
1882 &self,
1883 ) -> ::ethers::contract::builders::Event<
1884 ::std::sync::Arc<M>,
1885 M,
1886 TransferFilter,
1887 > {
1888 self.0.event()
1889 }
1890 pub fn events(
1892 &self,
1893 ) -> ::ethers::contract::builders::Event<
1894 ::std::sync::Arc<M>,
1895 M,
1896 HoprTokenEvents,
1897 > {
1898 self.0.event_with_filter(::core::default::Default::default())
1899 }
1900 }
1901 impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
1902 for HoprToken<M> {
1903 fn from(contract: ::ethers::contract::Contract<M>) -> Self {
1904 Self::new(contract.address(), contract.client())
1905 }
1906 }
1907 #[derive(
1908 Clone,
1909 ::ethers::contract::EthEvent,
1910 ::ethers::contract::EthDisplay,
1911 serde::Serialize,
1912 serde::Deserialize,
1913 Default,
1914 Debug,
1915 PartialEq,
1916 Eq,
1917 Hash
1918 )]
1919 #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
1920 pub struct ApprovalFilter {
1921 #[ethevent(indexed)]
1922 pub owner: ::ethers::core::types::Address,
1923 #[ethevent(indexed)]
1924 pub spender: ::ethers::core::types::Address,
1925 pub value: ::ethers::core::types::U256,
1926 }
1927 #[derive(
1928 Clone,
1929 ::ethers::contract::EthEvent,
1930 ::ethers::contract::EthDisplay,
1931 serde::Serialize,
1932 serde::Deserialize,
1933 Default,
1934 Debug,
1935 PartialEq,
1936 Eq,
1937 Hash
1938 )]
1939 #[ethevent(name = "AuthorizedOperator", abi = "AuthorizedOperator(address,address)")]
1940 pub struct AuthorizedOperatorFilter {
1941 #[ethevent(indexed)]
1942 pub operator: ::ethers::core::types::Address,
1943 #[ethevent(indexed)]
1944 pub token_holder: ::ethers::core::types::Address,
1945 }
1946 #[derive(
1947 Clone,
1948 ::ethers::contract::EthEvent,
1949 ::ethers::contract::EthDisplay,
1950 serde::Serialize,
1951 serde::Deserialize,
1952 Default,
1953 Debug,
1954 PartialEq,
1955 Eq,
1956 Hash
1957 )]
1958 #[ethevent(name = "Burned", abi = "Burned(address,address,uint256,bytes,bytes)")]
1959 pub struct BurnedFilter {
1960 #[ethevent(indexed)]
1961 pub operator: ::ethers::core::types::Address,
1962 #[ethevent(indexed)]
1963 pub from: ::ethers::core::types::Address,
1964 pub amount: ::ethers::core::types::U256,
1965 pub data: ::ethers::core::types::Bytes,
1966 pub operator_data: ::ethers::core::types::Bytes,
1967 }
1968 #[derive(
1969 Clone,
1970 ::ethers::contract::EthEvent,
1971 ::ethers::contract::EthDisplay,
1972 serde::Serialize,
1973 serde::Deserialize,
1974 Default,
1975 Debug,
1976 PartialEq,
1977 Eq,
1978 Hash
1979 )]
1980 #[ethevent(name = "Minted", abi = "Minted(address,address,uint256,bytes,bytes)")]
1981 pub struct MintedFilter {
1982 #[ethevent(indexed)]
1983 pub operator: ::ethers::core::types::Address,
1984 #[ethevent(indexed)]
1985 pub to: ::ethers::core::types::Address,
1986 pub amount: ::ethers::core::types::U256,
1987 pub data: ::ethers::core::types::Bytes,
1988 pub operator_data: ::ethers::core::types::Bytes,
1989 }
1990 #[derive(
1991 Clone,
1992 ::ethers::contract::EthEvent,
1993 ::ethers::contract::EthDisplay,
1994 serde::Serialize,
1995 serde::Deserialize,
1996 Default,
1997 Debug,
1998 PartialEq,
1999 Eq,
2000 Hash
2001 )]
2002 #[ethevent(name = "RevokedOperator", abi = "RevokedOperator(address,address)")]
2003 pub struct RevokedOperatorFilter {
2004 #[ethevent(indexed)]
2005 pub operator: ::ethers::core::types::Address,
2006 #[ethevent(indexed)]
2007 pub token_holder: ::ethers::core::types::Address,
2008 }
2009 #[derive(
2010 Clone,
2011 ::ethers::contract::EthEvent,
2012 ::ethers::contract::EthDisplay,
2013 serde::Serialize,
2014 serde::Deserialize,
2015 Default,
2016 Debug,
2017 PartialEq,
2018 Eq,
2019 Hash
2020 )]
2021 #[ethevent(
2022 name = "RoleAdminChanged",
2023 abi = "RoleAdminChanged(bytes32,bytes32,bytes32)"
2024 )]
2025 pub struct RoleAdminChangedFilter {
2026 #[ethevent(indexed)]
2027 pub role: [u8; 32],
2028 #[ethevent(indexed)]
2029 pub previous_admin_role: [u8; 32],
2030 #[ethevent(indexed)]
2031 pub new_admin_role: [u8; 32],
2032 }
2033 #[derive(
2034 Clone,
2035 ::ethers::contract::EthEvent,
2036 ::ethers::contract::EthDisplay,
2037 serde::Serialize,
2038 serde::Deserialize,
2039 Default,
2040 Debug,
2041 PartialEq,
2042 Eq,
2043 Hash
2044 )]
2045 #[ethevent(name = "RoleGranted", abi = "RoleGranted(bytes32,address,address)")]
2046 pub struct RoleGrantedFilter {
2047 #[ethevent(indexed)]
2048 pub role: [u8; 32],
2049 #[ethevent(indexed)]
2050 pub account: ::ethers::core::types::Address,
2051 #[ethevent(indexed)]
2052 pub sender: ::ethers::core::types::Address,
2053 }
2054 #[derive(
2055 Clone,
2056 ::ethers::contract::EthEvent,
2057 ::ethers::contract::EthDisplay,
2058 serde::Serialize,
2059 serde::Deserialize,
2060 Default,
2061 Debug,
2062 PartialEq,
2063 Eq,
2064 Hash
2065 )]
2066 #[ethevent(name = "RoleRevoked", abi = "RoleRevoked(bytes32,address,address)")]
2067 pub struct RoleRevokedFilter {
2068 #[ethevent(indexed)]
2069 pub role: [u8; 32],
2070 #[ethevent(indexed)]
2071 pub account: ::ethers::core::types::Address,
2072 #[ethevent(indexed)]
2073 pub sender: ::ethers::core::types::Address,
2074 }
2075 #[derive(
2076 Clone,
2077 ::ethers::contract::EthEvent,
2078 ::ethers::contract::EthDisplay,
2079 serde::Serialize,
2080 serde::Deserialize,
2081 Default,
2082 Debug,
2083 PartialEq,
2084 Eq,
2085 Hash
2086 )]
2087 #[ethevent(name = "Sent", abi = "Sent(address,address,address,uint256,bytes,bytes)")]
2088 pub struct SentFilter {
2089 #[ethevent(indexed)]
2090 pub operator: ::ethers::core::types::Address,
2091 #[ethevent(indexed)]
2092 pub from: ::ethers::core::types::Address,
2093 #[ethevent(indexed)]
2094 pub to: ::ethers::core::types::Address,
2095 pub amount: ::ethers::core::types::U256,
2096 pub data: ::ethers::core::types::Bytes,
2097 pub operator_data: ::ethers::core::types::Bytes,
2098 }
2099 #[derive(
2100 Clone,
2101 ::ethers::contract::EthEvent,
2102 ::ethers::contract::EthDisplay,
2103 serde::Serialize,
2104 serde::Deserialize,
2105 Default,
2106 Debug,
2107 PartialEq,
2108 Eq,
2109 Hash
2110 )]
2111 #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
2112 pub struct TransferFilter {
2113 #[ethevent(indexed)]
2114 pub from: ::ethers::core::types::Address,
2115 #[ethevent(indexed)]
2116 pub to: ::ethers::core::types::Address,
2117 pub value: ::ethers::core::types::U256,
2118 }
2119 #[derive(
2121 Clone,
2122 ::ethers::contract::EthAbiType,
2123 serde::Serialize,
2124 serde::Deserialize,
2125 Debug,
2126 PartialEq,
2127 Eq,
2128 Hash
2129 )]
2130 pub enum HoprTokenEvents {
2131 ApprovalFilter(ApprovalFilter),
2132 AuthorizedOperatorFilter(AuthorizedOperatorFilter),
2133 BurnedFilter(BurnedFilter),
2134 MintedFilter(MintedFilter),
2135 RevokedOperatorFilter(RevokedOperatorFilter),
2136 RoleAdminChangedFilter(RoleAdminChangedFilter),
2137 RoleGrantedFilter(RoleGrantedFilter),
2138 RoleRevokedFilter(RoleRevokedFilter),
2139 SentFilter(SentFilter),
2140 TransferFilter(TransferFilter),
2141 }
2142 impl ::ethers::contract::EthLogDecode for HoprTokenEvents {
2143 fn decode_log(
2144 log: &::ethers::core::abi::RawLog,
2145 ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
2146 if let Ok(decoded) = ApprovalFilter::decode_log(log) {
2147 return Ok(HoprTokenEvents::ApprovalFilter(decoded));
2148 }
2149 if let Ok(decoded) = AuthorizedOperatorFilter::decode_log(log) {
2150 return Ok(HoprTokenEvents::AuthorizedOperatorFilter(decoded));
2151 }
2152 if let Ok(decoded) = BurnedFilter::decode_log(log) {
2153 return Ok(HoprTokenEvents::BurnedFilter(decoded));
2154 }
2155 if let Ok(decoded) = MintedFilter::decode_log(log) {
2156 return Ok(HoprTokenEvents::MintedFilter(decoded));
2157 }
2158 if let Ok(decoded) = RevokedOperatorFilter::decode_log(log) {
2159 return Ok(HoprTokenEvents::RevokedOperatorFilter(decoded));
2160 }
2161 if let Ok(decoded) = RoleAdminChangedFilter::decode_log(log) {
2162 return Ok(HoprTokenEvents::RoleAdminChangedFilter(decoded));
2163 }
2164 if let Ok(decoded) = RoleGrantedFilter::decode_log(log) {
2165 return Ok(HoprTokenEvents::RoleGrantedFilter(decoded));
2166 }
2167 if let Ok(decoded) = RoleRevokedFilter::decode_log(log) {
2168 return Ok(HoprTokenEvents::RoleRevokedFilter(decoded));
2169 }
2170 if let Ok(decoded) = SentFilter::decode_log(log) {
2171 return Ok(HoprTokenEvents::SentFilter(decoded));
2172 }
2173 if let Ok(decoded) = TransferFilter::decode_log(log) {
2174 return Ok(HoprTokenEvents::TransferFilter(decoded));
2175 }
2176 Err(::ethers::core::abi::Error::InvalidData)
2177 }
2178 }
2179 impl ::core::fmt::Display for HoprTokenEvents {
2180 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2181 match self {
2182 Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f),
2183 Self::AuthorizedOperatorFilter(element) => {
2184 ::core::fmt::Display::fmt(element, f)
2185 }
2186 Self::BurnedFilter(element) => ::core::fmt::Display::fmt(element, f),
2187 Self::MintedFilter(element) => ::core::fmt::Display::fmt(element, f),
2188 Self::RevokedOperatorFilter(element) => {
2189 ::core::fmt::Display::fmt(element, f)
2190 }
2191 Self::RoleAdminChangedFilter(element) => {
2192 ::core::fmt::Display::fmt(element, f)
2193 }
2194 Self::RoleGrantedFilter(element) => ::core::fmt::Display::fmt(element, f),
2195 Self::RoleRevokedFilter(element) => ::core::fmt::Display::fmt(element, f),
2196 Self::SentFilter(element) => ::core::fmt::Display::fmt(element, f),
2197 Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f),
2198 }
2199 }
2200 }
2201 impl ::core::convert::From<ApprovalFilter> for HoprTokenEvents {
2202 fn from(value: ApprovalFilter) -> Self {
2203 Self::ApprovalFilter(value)
2204 }
2205 }
2206 impl ::core::convert::From<AuthorizedOperatorFilter> for HoprTokenEvents {
2207 fn from(value: AuthorizedOperatorFilter) -> Self {
2208 Self::AuthorizedOperatorFilter(value)
2209 }
2210 }
2211 impl ::core::convert::From<BurnedFilter> for HoprTokenEvents {
2212 fn from(value: BurnedFilter) -> Self {
2213 Self::BurnedFilter(value)
2214 }
2215 }
2216 impl ::core::convert::From<MintedFilter> for HoprTokenEvents {
2217 fn from(value: MintedFilter) -> Self {
2218 Self::MintedFilter(value)
2219 }
2220 }
2221 impl ::core::convert::From<RevokedOperatorFilter> for HoprTokenEvents {
2222 fn from(value: RevokedOperatorFilter) -> Self {
2223 Self::RevokedOperatorFilter(value)
2224 }
2225 }
2226 impl ::core::convert::From<RoleAdminChangedFilter> for HoprTokenEvents {
2227 fn from(value: RoleAdminChangedFilter) -> Self {
2228 Self::RoleAdminChangedFilter(value)
2229 }
2230 }
2231 impl ::core::convert::From<RoleGrantedFilter> for HoprTokenEvents {
2232 fn from(value: RoleGrantedFilter) -> Self {
2233 Self::RoleGrantedFilter(value)
2234 }
2235 }
2236 impl ::core::convert::From<RoleRevokedFilter> for HoprTokenEvents {
2237 fn from(value: RoleRevokedFilter) -> Self {
2238 Self::RoleRevokedFilter(value)
2239 }
2240 }
2241 impl ::core::convert::From<SentFilter> for HoprTokenEvents {
2242 fn from(value: SentFilter) -> Self {
2243 Self::SentFilter(value)
2244 }
2245 }
2246 impl ::core::convert::From<TransferFilter> for HoprTokenEvents {
2247 fn from(value: TransferFilter) -> Self {
2248 Self::TransferFilter(value)
2249 }
2250 }
2251 #[derive(
2253 Clone,
2254 ::ethers::contract::EthCall,
2255 ::ethers::contract::EthDisplay,
2256 serde::Serialize,
2257 serde::Deserialize,
2258 Default,
2259 Debug,
2260 PartialEq,
2261 Eq,
2262 Hash
2263 )]
2264 #[ethcall(name = "DEFAULT_ADMIN_ROLE", abi = "DEFAULT_ADMIN_ROLE()")]
2265 pub struct DefaultAdminRoleCall;
2266 #[derive(
2268 Clone,
2269 ::ethers::contract::EthCall,
2270 ::ethers::contract::EthDisplay,
2271 serde::Serialize,
2272 serde::Deserialize,
2273 Default,
2274 Debug,
2275 PartialEq,
2276 Eq,
2277 Hash
2278 )]
2279 #[ethcall(name = "MINTER_ROLE", abi = "MINTER_ROLE()")]
2280 pub struct MinterRoleCall;
2281 #[derive(
2283 Clone,
2284 ::ethers::contract::EthCall,
2285 ::ethers::contract::EthDisplay,
2286 serde::Serialize,
2287 serde::Deserialize,
2288 Default,
2289 Debug,
2290 PartialEq,
2291 Eq,
2292 Hash
2293 )]
2294 #[ethcall(name = "accountSnapshots", abi = "accountSnapshots(address,uint256)")]
2295 pub struct AccountSnapshotsCall(
2296 pub ::ethers::core::types::Address,
2297 pub ::ethers::core::types::U256,
2298 );
2299 #[derive(
2301 Clone,
2302 ::ethers::contract::EthCall,
2303 ::ethers::contract::EthDisplay,
2304 serde::Serialize,
2305 serde::Deserialize,
2306 Default,
2307 Debug,
2308 PartialEq,
2309 Eq,
2310 Hash
2311 )]
2312 #[ethcall(name = "allowance", abi = "allowance(address,address)")]
2313 pub struct AllowanceCall {
2314 pub holder: ::ethers::core::types::Address,
2315 pub spender: ::ethers::core::types::Address,
2316 }
2317 #[derive(
2319 Clone,
2320 ::ethers::contract::EthCall,
2321 ::ethers::contract::EthDisplay,
2322 serde::Serialize,
2323 serde::Deserialize,
2324 Default,
2325 Debug,
2326 PartialEq,
2327 Eq,
2328 Hash
2329 )]
2330 #[ethcall(name = "approve", abi = "approve(address,uint256)")]
2331 pub struct ApproveCall {
2332 pub spender: ::ethers::core::types::Address,
2333 pub value: ::ethers::core::types::U256,
2334 }
2335 #[derive(
2337 Clone,
2338 ::ethers::contract::EthCall,
2339 ::ethers::contract::EthDisplay,
2340 serde::Serialize,
2341 serde::Deserialize,
2342 Default,
2343 Debug,
2344 PartialEq,
2345 Eq,
2346 Hash
2347 )]
2348 #[ethcall(name = "authorizeOperator", abi = "authorizeOperator(address)")]
2349 pub struct AuthorizeOperatorCall {
2350 pub operator: ::ethers::core::types::Address,
2351 }
2352 #[derive(
2354 Clone,
2355 ::ethers::contract::EthCall,
2356 ::ethers::contract::EthDisplay,
2357 serde::Serialize,
2358 serde::Deserialize,
2359 Default,
2360 Debug,
2361 PartialEq,
2362 Eq,
2363 Hash
2364 )]
2365 #[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
2366 pub struct BalanceOfCall {
2367 pub token_holder: ::ethers::core::types::Address,
2368 }
2369 #[derive(
2371 Clone,
2372 ::ethers::contract::EthCall,
2373 ::ethers::contract::EthDisplay,
2374 serde::Serialize,
2375 serde::Deserialize,
2376 Default,
2377 Debug,
2378 PartialEq,
2379 Eq,
2380 Hash
2381 )]
2382 #[ethcall(name = "balanceOfAt", abi = "balanceOfAt(address,uint128)")]
2383 pub struct BalanceOfAtCall {
2384 pub owner: ::ethers::core::types::Address,
2385 pub block_number: u128,
2386 }
2387 #[derive(
2389 Clone,
2390 ::ethers::contract::EthCall,
2391 ::ethers::contract::EthDisplay,
2392 serde::Serialize,
2393 serde::Deserialize,
2394 Default,
2395 Debug,
2396 PartialEq,
2397 Eq,
2398 Hash
2399 )]
2400 #[ethcall(name = "burn", abi = "burn(uint256,bytes)")]
2401 pub struct BurnCall {
2402 pub amount: ::ethers::core::types::U256,
2403 pub data: ::ethers::core::types::Bytes,
2404 }
2405 #[derive(
2407 Clone,
2408 ::ethers::contract::EthCall,
2409 ::ethers::contract::EthDisplay,
2410 serde::Serialize,
2411 serde::Deserialize,
2412 Default,
2413 Debug,
2414 PartialEq,
2415 Eq,
2416 Hash
2417 )]
2418 #[ethcall(name = "decimals", abi = "decimals()")]
2419 pub struct DecimalsCall;
2420 #[derive(
2422 Clone,
2423 ::ethers::contract::EthCall,
2424 ::ethers::contract::EthDisplay,
2425 serde::Serialize,
2426 serde::Deserialize,
2427 Default,
2428 Debug,
2429 PartialEq,
2430 Eq,
2431 Hash
2432 )]
2433 #[ethcall(name = "defaultOperators", abi = "defaultOperators()")]
2434 pub struct DefaultOperatorsCall;
2435 #[derive(
2437 Clone,
2438 ::ethers::contract::EthCall,
2439 ::ethers::contract::EthDisplay,
2440 serde::Serialize,
2441 serde::Deserialize,
2442 Default,
2443 Debug,
2444 PartialEq,
2445 Eq,
2446 Hash
2447 )]
2448 #[ethcall(name = "getRoleAdmin", abi = "getRoleAdmin(bytes32)")]
2449 pub struct GetRoleAdminCall {
2450 pub role: [u8; 32],
2451 }
2452 #[derive(
2454 Clone,
2455 ::ethers::contract::EthCall,
2456 ::ethers::contract::EthDisplay,
2457 serde::Serialize,
2458 serde::Deserialize,
2459 Default,
2460 Debug,
2461 PartialEq,
2462 Eq,
2463 Hash
2464 )]
2465 #[ethcall(name = "getRoleMember", abi = "getRoleMember(bytes32,uint256)")]
2466 pub struct GetRoleMemberCall {
2467 pub role: [u8; 32],
2468 pub index: ::ethers::core::types::U256,
2469 }
2470 #[derive(
2472 Clone,
2473 ::ethers::contract::EthCall,
2474 ::ethers::contract::EthDisplay,
2475 serde::Serialize,
2476 serde::Deserialize,
2477 Default,
2478 Debug,
2479 PartialEq,
2480 Eq,
2481 Hash
2482 )]
2483 #[ethcall(name = "getRoleMemberCount", abi = "getRoleMemberCount(bytes32)")]
2484 pub struct GetRoleMemberCountCall {
2485 pub role: [u8; 32],
2486 }
2487 #[derive(
2489 Clone,
2490 ::ethers::contract::EthCall,
2491 ::ethers::contract::EthDisplay,
2492 serde::Serialize,
2493 serde::Deserialize,
2494 Default,
2495 Debug,
2496 PartialEq,
2497 Eq,
2498 Hash
2499 )]
2500 #[ethcall(name = "grantRole", abi = "grantRole(bytes32,address)")]
2501 pub struct GrantRoleCall {
2502 pub role: [u8; 32],
2503 pub account: ::ethers::core::types::Address,
2504 }
2505 #[derive(
2507 Clone,
2508 ::ethers::contract::EthCall,
2509 ::ethers::contract::EthDisplay,
2510 serde::Serialize,
2511 serde::Deserialize,
2512 Default,
2513 Debug,
2514 PartialEq,
2515 Eq,
2516 Hash
2517 )]
2518 #[ethcall(name = "granularity", abi = "granularity()")]
2519 pub struct GranularityCall;
2520 #[derive(
2522 Clone,
2523 ::ethers::contract::EthCall,
2524 ::ethers::contract::EthDisplay,
2525 serde::Serialize,
2526 serde::Deserialize,
2527 Default,
2528 Debug,
2529 PartialEq,
2530 Eq,
2531 Hash
2532 )]
2533 #[ethcall(name = "hasRole", abi = "hasRole(bytes32,address)")]
2534 pub struct HasRoleCall {
2535 pub role: [u8; 32],
2536 pub account: ::ethers::core::types::Address,
2537 }
2538 #[derive(
2540 Clone,
2541 ::ethers::contract::EthCall,
2542 ::ethers::contract::EthDisplay,
2543 serde::Serialize,
2544 serde::Deserialize,
2545 Default,
2546 Debug,
2547 PartialEq,
2548 Eq,
2549 Hash
2550 )]
2551 #[ethcall(name = "isOperatorFor", abi = "isOperatorFor(address,address)")]
2552 pub struct IsOperatorForCall {
2553 pub operator: ::ethers::core::types::Address,
2554 pub token_holder: ::ethers::core::types::Address,
2555 }
2556 #[derive(
2558 Clone,
2559 ::ethers::contract::EthCall,
2560 ::ethers::contract::EthDisplay,
2561 serde::Serialize,
2562 serde::Deserialize,
2563 Default,
2564 Debug,
2565 PartialEq,
2566 Eq,
2567 Hash
2568 )]
2569 #[ethcall(name = "mint", abi = "mint(address,uint256,bytes,bytes)")]
2570 pub struct MintCall {
2571 pub account: ::ethers::core::types::Address,
2572 pub amount: ::ethers::core::types::U256,
2573 pub user_data: ::ethers::core::types::Bytes,
2574 pub operator_data: ::ethers::core::types::Bytes,
2575 }
2576 #[derive(
2578 Clone,
2579 ::ethers::contract::EthCall,
2580 ::ethers::contract::EthDisplay,
2581 serde::Serialize,
2582 serde::Deserialize,
2583 Default,
2584 Debug,
2585 PartialEq,
2586 Eq,
2587 Hash
2588 )]
2589 #[ethcall(name = "name", abi = "name()")]
2590 pub struct NameCall;
2591 #[derive(
2593 Clone,
2594 ::ethers::contract::EthCall,
2595 ::ethers::contract::EthDisplay,
2596 serde::Serialize,
2597 serde::Deserialize,
2598 Default,
2599 Debug,
2600 PartialEq,
2601 Eq,
2602 Hash
2603 )]
2604 #[ethcall(name = "operatorBurn", abi = "operatorBurn(address,uint256,bytes,bytes)")]
2605 pub struct OperatorBurnCall {
2606 pub account: ::ethers::core::types::Address,
2607 pub amount: ::ethers::core::types::U256,
2608 pub data: ::ethers::core::types::Bytes,
2609 pub operator_data: ::ethers::core::types::Bytes,
2610 }
2611 #[derive(
2613 Clone,
2614 ::ethers::contract::EthCall,
2615 ::ethers::contract::EthDisplay,
2616 serde::Serialize,
2617 serde::Deserialize,
2618 Default,
2619 Debug,
2620 PartialEq,
2621 Eq,
2622 Hash
2623 )]
2624 #[ethcall(
2625 name = "operatorSend",
2626 abi = "operatorSend(address,address,uint256,bytes,bytes)"
2627 )]
2628 pub struct OperatorSendCall {
2629 pub sender: ::ethers::core::types::Address,
2630 pub recipient: ::ethers::core::types::Address,
2631 pub amount: ::ethers::core::types::U256,
2632 pub data: ::ethers::core::types::Bytes,
2633 pub operator_data: ::ethers::core::types::Bytes,
2634 }
2635 #[derive(
2637 Clone,
2638 ::ethers::contract::EthCall,
2639 ::ethers::contract::EthDisplay,
2640 serde::Serialize,
2641 serde::Deserialize,
2642 Default,
2643 Debug,
2644 PartialEq,
2645 Eq,
2646 Hash
2647 )]
2648 #[ethcall(name = "renounceRole", abi = "renounceRole(bytes32,address)")]
2649 pub struct RenounceRoleCall {
2650 pub role: [u8; 32],
2651 pub account: ::ethers::core::types::Address,
2652 }
2653 #[derive(
2655 Clone,
2656 ::ethers::contract::EthCall,
2657 ::ethers::contract::EthDisplay,
2658 serde::Serialize,
2659 serde::Deserialize,
2660 Default,
2661 Debug,
2662 PartialEq,
2663 Eq,
2664 Hash
2665 )]
2666 #[ethcall(name = "revokeOperator", abi = "revokeOperator(address)")]
2667 pub struct RevokeOperatorCall {
2668 pub operator: ::ethers::core::types::Address,
2669 }
2670 #[derive(
2672 Clone,
2673 ::ethers::contract::EthCall,
2674 ::ethers::contract::EthDisplay,
2675 serde::Serialize,
2676 serde::Deserialize,
2677 Default,
2678 Debug,
2679 PartialEq,
2680 Eq,
2681 Hash
2682 )]
2683 #[ethcall(name = "revokeRole", abi = "revokeRole(bytes32,address)")]
2684 pub struct RevokeRoleCall {
2685 pub role: [u8; 32],
2686 pub account: ::ethers::core::types::Address,
2687 }
2688 #[derive(
2690 Clone,
2691 ::ethers::contract::EthCall,
2692 ::ethers::contract::EthDisplay,
2693 serde::Serialize,
2694 serde::Deserialize,
2695 Default,
2696 Debug,
2697 PartialEq,
2698 Eq,
2699 Hash
2700 )]
2701 #[ethcall(name = "send", abi = "send(address,uint256,bytes)")]
2702 pub struct SendCall {
2703 pub recipient: ::ethers::core::types::Address,
2704 pub amount: ::ethers::core::types::U256,
2705 pub data: ::ethers::core::types::Bytes,
2706 }
2707 #[derive(
2709 Clone,
2710 ::ethers::contract::EthCall,
2711 ::ethers::contract::EthDisplay,
2712 serde::Serialize,
2713 serde::Deserialize,
2714 Default,
2715 Debug,
2716 PartialEq,
2717 Eq,
2718 Hash
2719 )]
2720 #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")]
2721 pub struct SupportsInterfaceCall {
2722 pub interface_id: [u8; 4],
2723 }
2724 #[derive(
2726 Clone,
2727 ::ethers::contract::EthCall,
2728 ::ethers::contract::EthDisplay,
2729 serde::Serialize,
2730 serde::Deserialize,
2731 Default,
2732 Debug,
2733 PartialEq,
2734 Eq,
2735 Hash
2736 )]
2737 #[ethcall(name = "symbol", abi = "symbol()")]
2738 pub struct SymbolCall;
2739 #[derive(
2741 Clone,
2742 ::ethers::contract::EthCall,
2743 ::ethers::contract::EthDisplay,
2744 serde::Serialize,
2745 serde::Deserialize,
2746 Default,
2747 Debug,
2748 PartialEq,
2749 Eq,
2750 Hash
2751 )]
2752 #[ethcall(name = "totalSupply", abi = "totalSupply()")]
2753 pub struct TotalSupplyCall;
2754 #[derive(
2756 Clone,
2757 ::ethers::contract::EthCall,
2758 ::ethers::contract::EthDisplay,
2759 serde::Serialize,
2760 serde::Deserialize,
2761 Default,
2762 Debug,
2763 PartialEq,
2764 Eq,
2765 Hash
2766 )]
2767 #[ethcall(name = "totalSupplyAt", abi = "totalSupplyAt(uint128)")]
2768 pub struct TotalSupplyAtCall {
2769 pub block_number: u128,
2770 }
2771 #[derive(
2773 Clone,
2774 ::ethers::contract::EthCall,
2775 ::ethers::contract::EthDisplay,
2776 serde::Serialize,
2777 serde::Deserialize,
2778 Default,
2779 Debug,
2780 PartialEq,
2781 Eq,
2782 Hash
2783 )]
2784 #[ethcall(name = "totalSupplySnapshots", abi = "totalSupplySnapshots(uint256)")]
2785 pub struct TotalSupplySnapshotsCall(pub ::ethers::core::types::U256);
2786 #[derive(
2788 Clone,
2789 ::ethers::contract::EthCall,
2790 ::ethers::contract::EthDisplay,
2791 serde::Serialize,
2792 serde::Deserialize,
2793 Default,
2794 Debug,
2795 PartialEq,
2796 Eq,
2797 Hash
2798 )]
2799 #[ethcall(name = "transfer", abi = "transfer(address,uint256)")]
2800 pub struct TransferCall {
2801 pub recipient: ::ethers::core::types::Address,
2802 pub amount: ::ethers::core::types::U256,
2803 }
2804 #[derive(
2806 Clone,
2807 ::ethers::contract::EthCall,
2808 ::ethers::contract::EthDisplay,
2809 serde::Serialize,
2810 serde::Deserialize,
2811 Default,
2812 Debug,
2813 PartialEq,
2814 Eq,
2815 Hash
2816 )]
2817 #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
2818 pub struct TransferFromCall {
2819 pub holder: ::ethers::core::types::Address,
2820 pub recipient: ::ethers::core::types::Address,
2821 pub amount: ::ethers::core::types::U256,
2822 }
2823 #[derive(
2825 Clone,
2826 ::ethers::contract::EthAbiType,
2827 serde::Serialize,
2828 serde::Deserialize,
2829 Debug,
2830 PartialEq,
2831 Eq,
2832 Hash
2833 )]
2834 pub enum HoprTokenCalls {
2835 DefaultAdminRole(DefaultAdminRoleCall),
2836 MinterRole(MinterRoleCall),
2837 AccountSnapshots(AccountSnapshotsCall),
2838 Allowance(AllowanceCall),
2839 Approve(ApproveCall),
2840 AuthorizeOperator(AuthorizeOperatorCall),
2841 BalanceOf(BalanceOfCall),
2842 BalanceOfAt(BalanceOfAtCall),
2843 Burn(BurnCall),
2844 Decimals(DecimalsCall),
2845 DefaultOperators(DefaultOperatorsCall),
2846 GetRoleAdmin(GetRoleAdminCall),
2847 GetRoleMember(GetRoleMemberCall),
2848 GetRoleMemberCount(GetRoleMemberCountCall),
2849 GrantRole(GrantRoleCall),
2850 Granularity(GranularityCall),
2851 HasRole(HasRoleCall),
2852 IsOperatorFor(IsOperatorForCall),
2853 Mint(MintCall),
2854 Name(NameCall),
2855 OperatorBurn(OperatorBurnCall),
2856 OperatorSend(OperatorSendCall),
2857 RenounceRole(RenounceRoleCall),
2858 RevokeOperator(RevokeOperatorCall),
2859 RevokeRole(RevokeRoleCall),
2860 Send(SendCall),
2861 SupportsInterface(SupportsInterfaceCall),
2862 Symbol(SymbolCall),
2863 TotalSupply(TotalSupplyCall),
2864 TotalSupplyAt(TotalSupplyAtCall),
2865 TotalSupplySnapshots(TotalSupplySnapshotsCall),
2866 Transfer(TransferCall),
2867 TransferFrom(TransferFromCall),
2868 }
2869 impl ::ethers::core::abi::AbiDecode for HoprTokenCalls {
2870 fn decode(
2871 data: impl AsRef<[u8]>,
2872 ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
2873 let data = data.as_ref();
2874 if let Ok(decoded) = <DefaultAdminRoleCall as ::ethers::core::abi::AbiDecode>::decode(
2875 data,
2876 ) {
2877 return Ok(Self::DefaultAdminRole(decoded));
2878 }
2879 if let Ok(decoded) = <MinterRoleCall as ::ethers::core::abi::AbiDecode>::decode(
2880 data,
2881 ) {
2882 return Ok(Self::MinterRole(decoded));
2883 }
2884 if let Ok(decoded) = <AccountSnapshotsCall as ::ethers::core::abi::AbiDecode>::decode(
2885 data,
2886 ) {
2887 return Ok(Self::AccountSnapshots(decoded));
2888 }
2889 if let Ok(decoded) = <AllowanceCall as ::ethers::core::abi::AbiDecode>::decode(
2890 data,
2891 ) {
2892 return Ok(Self::Allowance(decoded));
2893 }
2894 if let Ok(decoded) = <ApproveCall as ::ethers::core::abi::AbiDecode>::decode(
2895 data,
2896 ) {
2897 return Ok(Self::Approve(decoded));
2898 }
2899 if let Ok(decoded) = <AuthorizeOperatorCall as ::ethers::core::abi::AbiDecode>::decode(
2900 data,
2901 ) {
2902 return Ok(Self::AuthorizeOperator(decoded));
2903 }
2904 if let Ok(decoded) = <BalanceOfCall as ::ethers::core::abi::AbiDecode>::decode(
2905 data,
2906 ) {
2907 return Ok(Self::BalanceOf(decoded));
2908 }
2909 if let Ok(decoded) = <BalanceOfAtCall as ::ethers::core::abi::AbiDecode>::decode(
2910 data,
2911 ) {
2912 return Ok(Self::BalanceOfAt(decoded));
2913 }
2914 if let Ok(decoded) = <BurnCall as ::ethers::core::abi::AbiDecode>::decode(
2915 data,
2916 ) {
2917 return Ok(Self::Burn(decoded));
2918 }
2919 if let Ok(decoded) = <DecimalsCall as ::ethers::core::abi::AbiDecode>::decode(
2920 data,
2921 ) {
2922 return Ok(Self::Decimals(decoded));
2923 }
2924 if let Ok(decoded) = <DefaultOperatorsCall as ::ethers::core::abi::AbiDecode>::decode(
2925 data,
2926 ) {
2927 return Ok(Self::DefaultOperators(decoded));
2928 }
2929 if let Ok(decoded) = <GetRoleAdminCall as ::ethers::core::abi::AbiDecode>::decode(
2930 data,
2931 ) {
2932 return Ok(Self::GetRoleAdmin(decoded));
2933 }
2934 if let Ok(decoded) = <GetRoleMemberCall as ::ethers::core::abi::AbiDecode>::decode(
2935 data,
2936 ) {
2937 return Ok(Self::GetRoleMember(decoded));
2938 }
2939 if let Ok(decoded) = <GetRoleMemberCountCall as ::ethers::core::abi::AbiDecode>::decode(
2940 data,
2941 ) {
2942 return Ok(Self::GetRoleMemberCount(decoded));
2943 }
2944 if let Ok(decoded) = <GrantRoleCall as ::ethers::core::abi::AbiDecode>::decode(
2945 data,
2946 ) {
2947 return Ok(Self::GrantRole(decoded));
2948 }
2949 if let Ok(decoded) = <GranularityCall as ::ethers::core::abi::AbiDecode>::decode(
2950 data,
2951 ) {
2952 return Ok(Self::Granularity(decoded));
2953 }
2954 if let Ok(decoded) = <HasRoleCall as ::ethers::core::abi::AbiDecode>::decode(
2955 data,
2956 ) {
2957 return Ok(Self::HasRole(decoded));
2958 }
2959 if let Ok(decoded) = <IsOperatorForCall as ::ethers::core::abi::AbiDecode>::decode(
2960 data,
2961 ) {
2962 return Ok(Self::IsOperatorFor(decoded));
2963 }
2964 if let Ok(decoded) = <MintCall as ::ethers::core::abi::AbiDecode>::decode(
2965 data,
2966 ) {
2967 return Ok(Self::Mint(decoded));
2968 }
2969 if let Ok(decoded) = <NameCall as ::ethers::core::abi::AbiDecode>::decode(
2970 data,
2971 ) {
2972 return Ok(Self::Name(decoded));
2973 }
2974 if let Ok(decoded) = <OperatorBurnCall as ::ethers::core::abi::AbiDecode>::decode(
2975 data,
2976 ) {
2977 return Ok(Self::OperatorBurn(decoded));
2978 }
2979 if let Ok(decoded) = <OperatorSendCall as ::ethers::core::abi::AbiDecode>::decode(
2980 data,
2981 ) {
2982 return Ok(Self::OperatorSend(decoded));
2983 }
2984 if let Ok(decoded) = <RenounceRoleCall as ::ethers::core::abi::AbiDecode>::decode(
2985 data,
2986 ) {
2987 return Ok(Self::RenounceRole(decoded));
2988 }
2989 if let Ok(decoded) = <RevokeOperatorCall as ::ethers::core::abi::AbiDecode>::decode(
2990 data,
2991 ) {
2992 return Ok(Self::RevokeOperator(decoded));
2993 }
2994 if let Ok(decoded) = <RevokeRoleCall as ::ethers::core::abi::AbiDecode>::decode(
2995 data,
2996 ) {
2997 return Ok(Self::RevokeRole(decoded));
2998 }
2999 if let Ok(decoded) = <SendCall as ::ethers::core::abi::AbiDecode>::decode(
3000 data,
3001 ) {
3002 return Ok(Self::Send(decoded));
3003 }
3004 if let Ok(decoded) = <SupportsInterfaceCall as ::ethers::core::abi::AbiDecode>::decode(
3005 data,
3006 ) {
3007 return Ok(Self::SupportsInterface(decoded));
3008 }
3009 if let Ok(decoded) = <SymbolCall as ::ethers::core::abi::AbiDecode>::decode(
3010 data,
3011 ) {
3012 return Ok(Self::Symbol(decoded));
3013 }
3014 if let Ok(decoded) = <TotalSupplyCall as ::ethers::core::abi::AbiDecode>::decode(
3015 data,
3016 ) {
3017 return Ok(Self::TotalSupply(decoded));
3018 }
3019 if let Ok(decoded) = <TotalSupplyAtCall as ::ethers::core::abi::AbiDecode>::decode(
3020 data,
3021 ) {
3022 return Ok(Self::TotalSupplyAt(decoded));
3023 }
3024 if let Ok(decoded) = <TotalSupplySnapshotsCall as ::ethers::core::abi::AbiDecode>::decode(
3025 data,
3026 ) {
3027 return Ok(Self::TotalSupplySnapshots(decoded));
3028 }
3029 if let Ok(decoded) = <TransferCall as ::ethers::core::abi::AbiDecode>::decode(
3030 data,
3031 ) {
3032 return Ok(Self::Transfer(decoded));
3033 }
3034 if let Ok(decoded) = <TransferFromCall as ::ethers::core::abi::AbiDecode>::decode(
3035 data,
3036 ) {
3037 return Ok(Self::TransferFrom(decoded));
3038 }
3039 Err(::ethers::core::abi::Error::InvalidData.into())
3040 }
3041 }
3042 impl ::ethers::core::abi::AbiEncode for HoprTokenCalls {
3043 fn encode(self) -> Vec<u8> {
3044 match self {
3045 Self::DefaultAdminRole(element) => {
3046 ::ethers::core::abi::AbiEncode::encode(element)
3047 }
3048 Self::MinterRole(element) => {
3049 ::ethers::core::abi::AbiEncode::encode(element)
3050 }
3051 Self::AccountSnapshots(element) => {
3052 ::ethers::core::abi::AbiEncode::encode(element)
3053 }
3054 Self::Allowance(element) => {
3055 ::ethers::core::abi::AbiEncode::encode(element)
3056 }
3057 Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element),
3058 Self::AuthorizeOperator(element) => {
3059 ::ethers::core::abi::AbiEncode::encode(element)
3060 }
3061 Self::BalanceOf(element) => {
3062 ::ethers::core::abi::AbiEncode::encode(element)
3063 }
3064 Self::BalanceOfAt(element) => {
3065 ::ethers::core::abi::AbiEncode::encode(element)
3066 }
3067 Self::Burn(element) => ::ethers::core::abi::AbiEncode::encode(element),
3068 Self::Decimals(element) => {
3069 ::ethers::core::abi::AbiEncode::encode(element)
3070 }
3071 Self::DefaultOperators(element) => {
3072 ::ethers::core::abi::AbiEncode::encode(element)
3073 }
3074 Self::GetRoleAdmin(element) => {
3075 ::ethers::core::abi::AbiEncode::encode(element)
3076 }
3077 Self::GetRoleMember(element) => {
3078 ::ethers::core::abi::AbiEncode::encode(element)
3079 }
3080 Self::GetRoleMemberCount(element) => {
3081 ::ethers::core::abi::AbiEncode::encode(element)
3082 }
3083 Self::GrantRole(element) => {
3084 ::ethers::core::abi::AbiEncode::encode(element)
3085 }
3086 Self::Granularity(element) => {
3087 ::ethers::core::abi::AbiEncode::encode(element)
3088 }
3089 Self::HasRole(element) => ::ethers::core::abi::AbiEncode::encode(element),
3090 Self::IsOperatorFor(element) => {
3091 ::ethers::core::abi::AbiEncode::encode(element)
3092 }
3093 Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element),
3094 Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element),
3095 Self::OperatorBurn(element) => {
3096 ::ethers::core::abi::AbiEncode::encode(element)
3097 }
3098 Self::OperatorSend(element) => {
3099 ::ethers::core::abi::AbiEncode::encode(element)
3100 }
3101 Self::RenounceRole(element) => {
3102 ::ethers::core::abi::AbiEncode::encode(element)
3103 }
3104 Self::RevokeOperator(element) => {
3105 ::ethers::core::abi::AbiEncode::encode(element)
3106 }
3107 Self::RevokeRole(element) => {
3108 ::ethers::core::abi::AbiEncode::encode(element)
3109 }
3110 Self::Send(element) => ::ethers::core::abi::AbiEncode::encode(element),
3111 Self::SupportsInterface(element) => {
3112 ::ethers::core::abi::AbiEncode::encode(element)
3113 }
3114 Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element),
3115 Self::TotalSupply(element) => {
3116 ::ethers::core::abi::AbiEncode::encode(element)
3117 }
3118 Self::TotalSupplyAt(element) => {
3119 ::ethers::core::abi::AbiEncode::encode(element)
3120 }
3121 Self::TotalSupplySnapshots(element) => {
3122 ::ethers::core::abi::AbiEncode::encode(element)
3123 }
3124 Self::Transfer(element) => {
3125 ::ethers::core::abi::AbiEncode::encode(element)
3126 }
3127 Self::TransferFrom(element) => {
3128 ::ethers::core::abi::AbiEncode::encode(element)
3129 }
3130 }
3131 }
3132 }
3133 impl ::core::fmt::Display for HoprTokenCalls {
3134 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3135 match self {
3136 Self::DefaultAdminRole(element) => ::core::fmt::Display::fmt(element, f),
3137 Self::MinterRole(element) => ::core::fmt::Display::fmt(element, f),
3138 Self::AccountSnapshots(element) => ::core::fmt::Display::fmt(element, f),
3139 Self::Allowance(element) => ::core::fmt::Display::fmt(element, f),
3140 Self::Approve(element) => ::core::fmt::Display::fmt(element, f),
3141 Self::AuthorizeOperator(element) => ::core::fmt::Display::fmt(element, f),
3142 Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f),
3143 Self::BalanceOfAt(element) => ::core::fmt::Display::fmt(element, f),
3144 Self::Burn(element) => ::core::fmt::Display::fmt(element, f),
3145 Self::Decimals(element) => ::core::fmt::Display::fmt(element, f),
3146 Self::DefaultOperators(element) => ::core::fmt::Display::fmt(element, f),
3147 Self::GetRoleAdmin(element) => ::core::fmt::Display::fmt(element, f),
3148 Self::GetRoleMember(element) => ::core::fmt::Display::fmt(element, f),
3149 Self::GetRoleMemberCount(element) => {
3150 ::core::fmt::Display::fmt(element, f)
3151 }
3152 Self::GrantRole(element) => ::core::fmt::Display::fmt(element, f),
3153 Self::Granularity(element) => ::core::fmt::Display::fmt(element, f),
3154 Self::HasRole(element) => ::core::fmt::Display::fmt(element, f),
3155 Self::IsOperatorFor(element) => ::core::fmt::Display::fmt(element, f),
3156 Self::Mint(element) => ::core::fmt::Display::fmt(element, f),
3157 Self::Name(element) => ::core::fmt::Display::fmt(element, f),
3158 Self::OperatorBurn(element) => ::core::fmt::Display::fmt(element, f),
3159 Self::OperatorSend(element) => ::core::fmt::Display::fmt(element, f),
3160 Self::RenounceRole(element) => ::core::fmt::Display::fmt(element, f),
3161 Self::RevokeOperator(element) => ::core::fmt::Display::fmt(element, f),
3162 Self::RevokeRole(element) => ::core::fmt::Display::fmt(element, f),
3163 Self::Send(element) => ::core::fmt::Display::fmt(element, f),
3164 Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f),
3165 Self::Symbol(element) => ::core::fmt::Display::fmt(element, f),
3166 Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f),
3167 Self::TotalSupplyAt(element) => ::core::fmt::Display::fmt(element, f),
3168 Self::TotalSupplySnapshots(element) => {
3169 ::core::fmt::Display::fmt(element, f)
3170 }
3171 Self::Transfer(element) => ::core::fmt::Display::fmt(element, f),
3172 Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f),
3173 }
3174 }
3175 }
3176 impl ::core::convert::From<DefaultAdminRoleCall> for HoprTokenCalls {
3177 fn from(value: DefaultAdminRoleCall) -> Self {
3178 Self::DefaultAdminRole(value)
3179 }
3180 }
3181 impl ::core::convert::From<MinterRoleCall> for HoprTokenCalls {
3182 fn from(value: MinterRoleCall) -> Self {
3183 Self::MinterRole(value)
3184 }
3185 }
3186 impl ::core::convert::From<AccountSnapshotsCall> for HoprTokenCalls {
3187 fn from(value: AccountSnapshotsCall) -> Self {
3188 Self::AccountSnapshots(value)
3189 }
3190 }
3191 impl ::core::convert::From<AllowanceCall> for HoprTokenCalls {
3192 fn from(value: AllowanceCall) -> Self {
3193 Self::Allowance(value)
3194 }
3195 }
3196 impl ::core::convert::From<ApproveCall> for HoprTokenCalls {
3197 fn from(value: ApproveCall) -> Self {
3198 Self::Approve(value)
3199 }
3200 }
3201 impl ::core::convert::From<AuthorizeOperatorCall> for HoprTokenCalls {
3202 fn from(value: AuthorizeOperatorCall) -> Self {
3203 Self::AuthorizeOperator(value)
3204 }
3205 }
3206 impl ::core::convert::From<BalanceOfCall> for HoprTokenCalls {
3207 fn from(value: BalanceOfCall) -> Self {
3208 Self::BalanceOf(value)
3209 }
3210 }
3211 impl ::core::convert::From<BalanceOfAtCall> for HoprTokenCalls {
3212 fn from(value: BalanceOfAtCall) -> Self {
3213 Self::BalanceOfAt(value)
3214 }
3215 }
3216 impl ::core::convert::From<BurnCall> for HoprTokenCalls {
3217 fn from(value: BurnCall) -> Self {
3218 Self::Burn(value)
3219 }
3220 }
3221 impl ::core::convert::From<DecimalsCall> for HoprTokenCalls {
3222 fn from(value: DecimalsCall) -> Self {
3223 Self::Decimals(value)
3224 }
3225 }
3226 impl ::core::convert::From<DefaultOperatorsCall> for HoprTokenCalls {
3227 fn from(value: DefaultOperatorsCall) -> Self {
3228 Self::DefaultOperators(value)
3229 }
3230 }
3231 impl ::core::convert::From<GetRoleAdminCall> for HoprTokenCalls {
3232 fn from(value: GetRoleAdminCall) -> Self {
3233 Self::GetRoleAdmin(value)
3234 }
3235 }
3236 impl ::core::convert::From<GetRoleMemberCall> for HoprTokenCalls {
3237 fn from(value: GetRoleMemberCall) -> Self {
3238 Self::GetRoleMember(value)
3239 }
3240 }
3241 impl ::core::convert::From<GetRoleMemberCountCall> for HoprTokenCalls {
3242 fn from(value: GetRoleMemberCountCall) -> Self {
3243 Self::GetRoleMemberCount(value)
3244 }
3245 }
3246 impl ::core::convert::From<GrantRoleCall> for HoprTokenCalls {
3247 fn from(value: GrantRoleCall) -> Self {
3248 Self::GrantRole(value)
3249 }
3250 }
3251 impl ::core::convert::From<GranularityCall> for HoprTokenCalls {
3252 fn from(value: GranularityCall) -> Self {
3253 Self::Granularity(value)
3254 }
3255 }
3256 impl ::core::convert::From<HasRoleCall> for HoprTokenCalls {
3257 fn from(value: HasRoleCall) -> Self {
3258 Self::HasRole(value)
3259 }
3260 }
3261 impl ::core::convert::From<IsOperatorForCall> for HoprTokenCalls {
3262 fn from(value: IsOperatorForCall) -> Self {
3263 Self::IsOperatorFor(value)
3264 }
3265 }
3266 impl ::core::convert::From<MintCall> for HoprTokenCalls {
3267 fn from(value: MintCall) -> Self {
3268 Self::Mint(value)
3269 }
3270 }
3271 impl ::core::convert::From<NameCall> for HoprTokenCalls {
3272 fn from(value: NameCall) -> Self {
3273 Self::Name(value)
3274 }
3275 }
3276 impl ::core::convert::From<OperatorBurnCall> for HoprTokenCalls {
3277 fn from(value: OperatorBurnCall) -> Self {
3278 Self::OperatorBurn(value)
3279 }
3280 }
3281 impl ::core::convert::From<OperatorSendCall> for HoprTokenCalls {
3282 fn from(value: OperatorSendCall) -> Self {
3283 Self::OperatorSend(value)
3284 }
3285 }
3286 impl ::core::convert::From<RenounceRoleCall> for HoprTokenCalls {
3287 fn from(value: RenounceRoleCall) -> Self {
3288 Self::RenounceRole(value)
3289 }
3290 }
3291 impl ::core::convert::From<RevokeOperatorCall> for HoprTokenCalls {
3292 fn from(value: RevokeOperatorCall) -> Self {
3293 Self::RevokeOperator(value)
3294 }
3295 }
3296 impl ::core::convert::From<RevokeRoleCall> for HoprTokenCalls {
3297 fn from(value: RevokeRoleCall) -> Self {
3298 Self::RevokeRole(value)
3299 }
3300 }
3301 impl ::core::convert::From<SendCall> for HoprTokenCalls {
3302 fn from(value: SendCall) -> Self {
3303 Self::Send(value)
3304 }
3305 }
3306 impl ::core::convert::From<SupportsInterfaceCall> for HoprTokenCalls {
3307 fn from(value: SupportsInterfaceCall) -> Self {
3308 Self::SupportsInterface(value)
3309 }
3310 }
3311 impl ::core::convert::From<SymbolCall> for HoprTokenCalls {
3312 fn from(value: SymbolCall) -> Self {
3313 Self::Symbol(value)
3314 }
3315 }
3316 impl ::core::convert::From<TotalSupplyCall> for HoprTokenCalls {
3317 fn from(value: TotalSupplyCall) -> Self {
3318 Self::TotalSupply(value)
3319 }
3320 }
3321 impl ::core::convert::From<TotalSupplyAtCall> for HoprTokenCalls {
3322 fn from(value: TotalSupplyAtCall) -> Self {
3323 Self::TotalSupplyAt(value)
3324 }
3325 }
3326 impl ::core::convert::From<TotalSupplySnapshotsCall> for HoprTokenCalls {
3327 fn from(value: TotalSupplySnapshotsCall) -> Self {
3328 Self::TotalSupplySnapshots(value)
3329 }
3330 }
3331 impl ::core::convert::From<TransferCall> for HoprTokenCalls {
3332 fn from(value: TransferCall) -> Self {
3333 Self::Transfer(value)
3334 }
3335 }
3336 impl ::core::convert::From<TransferFromCall> for HoprTokenCalls {
3337 fn from(value: TransferFromCall) -> Self {
3338 Self::TransferFrom(value)
3339 }
3340 }
3341 #[derive(
3343 Clone,
3344 ::ethers::contract::EthAbiType,
3345 ::ethers::contract::EthAbiCodec,
3346 serde::Serialize,
3347 serde::Deserialize,
3348 Default,
3349 Debug,
3350 PartialEq,
3351 Eq,
3352 Hash
3353 )]
3354 pub struct DefaultAdminRoleReturn(pub [u8; 32]);
3355 #[derive(
3357 Clone,
3358 ::ethers::contract::EthAbiType,
3359 ::ethers::contract::EthAbiCodec,
3360 serde::Serialize,
3361 serde::Deserialize,
3362 Default,
3363 Debug,
3364 PartialEq,
3365 Eq,
3366 Hash
3367 )]
3368 pub struct MinterRoleReturn(pub [u8; 32]);
3369 #[derive(
3371 Clone,
3372 ::ethers::contract::EthAbiType,
3373 ::ethers::contract::EthAbiCodec,
3374 serde::Serialize,
3375 serde::Deserialize,
3376 Default,
3377 Debug,
3378 PartialEq,
3379 Eq,
3380 Hash
3381 )]
3382 pub struct AccountSnapshotsReturn {
3383 pub from_block: u128,
3384 pub value: u128,
3385 }
3386 #[derive(
3388 Clone,
3389 ::ethers::contract::EthAbiType,
3390 ::ethers::contract::EthAbiCodec,
3391 serde::Serialize,
3392 serde::Deserialize,
3393 Default,
3394 Debug,
3395 PartialEq,
3396 Eq,
3397 Hash
3398 )]
3399 pub struct AllowanceReturn(pub ::ethers::core::types::U256);
3400 #[derive(
3402 Clone,
3403 ::ethers::contract::EthAbiType,
3404 ::ethers::contract::EthAbiCodec,
3405 serde::Serialize,
3406 serde::Deserialize,
3407 Default,
3408 Debug,
3409 PartialEq,
3410 Eq,
3411 Hash
3412 )]
3413 pub struct ApproveReturn(pub bool);
3414 #[derive(
3416 Clone,
3417 ::ethers::contract::EthAbiType,
3418 ::ethers::contract::EthAbiCodec,
3419 serde::Serialize,
3420 serde::Deserialize,
3421 Default,
3422 Debug,
3423 PartialEq,
3424 Eq,
3425 Hash
3426 )]
3427 pub struct BalanceOfReturn(pub ::ethers::core::types::U256);
3428 #[derive(
3430 Clone,
3431 ::ethers::contract::EthAbiType,
3432 ::ethers::contract::EthAbiCodec,
3433 serde::Serialize,
3434 serde::Deserialize,
3435 Default,
3436 Debug,
3437 PartialEq,
3438 Eq,
3439 Hash
3440 )]
3441 pub struct BalanceOfAtReturn(pub ::ethers::core::types::U256);
3442 #[derive(
3444 Clone,
3445 ::ethers::contract::EthAbiType,
3446 ::ethers::contract::EthAbiCodec,
3447 serde::Serialize,
3448 serde::Deserialize,
3449 Default,
3450 Debug,
3451 PartialEq,
3452 Eq,
3453 Hash
3454 )]
3455 pub struct DecimalsReturn(pub u8);
3456 #[derive(
3458 Clone,
3459 ::ethers::contract::EthAbiType,
3460 ::ethers::contract::EthAbiCodec,
3461 serde::Serialize,
3462 serde::Deserialize,
3463 Default,
3464 Debug,
3465 PartialEq,
3466 Eq,
3467 Hash
3468 )]
3469 pub struct DefaultOperatorsReturn(
3470 pub ::std::vec::Vec<::ethers::core::types::Address>,
3471 );
3472 #[derive(
3474 Clone,
3475 ::ethers::contract::EthAbiType,
3476 ::ethers::contract::EthAbiCodec,
3477 serde::Serialize,
3478 serde::Deserialize,
3479 Default,
3480 Debug,
3481 PartialEq,
3482 Eq,
3483 Hash
3484 )]
3485 pub struct GetRoleAdminReturn(pub [u8; 32]);
3486 #[derive(
3488 Clone,
3489 ::ethers::contract::EthAbiType,
3490 ::ethers::contract::EthAbiCodec,
3491 serde::Serialize,
3492 serde::Deserialize,
3493 Default,
3494 Debug,
3495 PartialEq,
3496 Eq,
3497 Hash
3498 )]
3499 pub struct GetRoleMemberReturn(pub ::ethers::core::types::Address);
3500 #[derive(
3502 Clone,
3503 ::ethers::contract::EthAbiType,
3504 ::ethers::contract::EthAbiCodec,
3505 serde::Serialize,
3506 serde::Deserialize,
3507 Default,
3508 Debug,
3509 PartialEq,
3510 Eq,
3511 Hash
3512 )]
3513 pub struct GetRoleMemberCountReturn(pub ::ethers::core::types::U256);
3514 #[derive(
3516 Clone,
3517 ::ethers::contract::EthAbiType,
3518 ::ethers::contract::EthAbiCodec,
3519 serde::Serialize,
3520 serde::Deserialize,
3521 Default,
3522 Debug,
3523 PartialEq,
3524 Eq,
3525 Hash
3526 )]
3527 pub struct GranularityReturn(pub ::ethers::core::types::U256);
3528 #[derive(
3530 Clone,
3531 ::ethers::contract::EthAbiType,
3532 ::ethers::contract::EthAbiCodec,
3533 serde::Serialize,
3534 serde::Deserialize,
3535 Default,
3536 Debug,
3537 PartialEq,
3538 Eq,
3539 Hash
3540 )]
3541 pub struct HasRoleReturn(pub bool);
3542 #[derive(
3544 Clone,
3545 ::ethers::contract::EthAbiType,
3546 ::ethers::contract::EthAbiCodec,
3547 serde::Serialize,
3548 serde::Deserialize,
3549 Default,
3550 Debug,
3551 PartialEq,
3552 Eq,
3553 Hash
3554 )]
3555 pub struct IsOperatorForReturn(pub bool);
3556 #[derive(
3558 Clone,
3559 ::ethers::contract::EthAbiType,
3560 ::ethers::contract::EthAbiCodec,
3561 serde::Serialize,
3562 serde::Deserialize,
3563 Default,
3564 Debug,
3565 PartialEq,
3566 Eq,
3567 Hash
3568 )]
3569 pub struct NameReturn(pub ::std::string::String);
3570 #[derive(
3572 Clone,
3573 ::ethers::contract::EthAbiType,
3574 ::ethers::contract::EthAbiCodec,
3575 serde::Serialize,
3576 serde::Deserialize,
3577 Default,
3578 Debug,
3579 PartialEq,
3580 Eq,
3581 Hash
3582 )]
3583 pub struct SupportsInterfaceReturn(pub bool);
3584 #[derive(
3586 Clone,
3587 ::ethers::contract::EthAbiType,
3588 ::ethers::contract::EthAbiCodec,
3589 serde::Serialize,
3590 serde::Deserialize,
3591 Default,
3592 Debug,
3593 PartialEq,
3594 Eq,
3595 Hash
3596 )]
3597 pub struct SymbolReturn(pub ::std::string::String);
3598 #[derive(
3600 Clone,
3601 ::ethers::contract::EthAbiType,
3602 ::ethers::contract::EthAbiCodec,
3603 serde::Serialize,
3604 serde::Deserialize,
3605 Default,
3606 Debug,
3607 PartialEq,
3608 Eq,
3609 Hash
3610 )]
3611 pub struct TotalSupplyReturn(pub ::ethers::core::types::U256);
3612 #[derive(
3614 Clone,
3615 ::ethers::contract::EthAbiType,
3616 ::ethers::contract::EthAbiCodec,
3617 serde::Serialize,
3618 serde::Deserialize,
3619 Default,
3620 Debug,
3621 PartialEq,
3622 Eq,
3623 Hash
3624 )]
3625 pub struct TotalSupplyAtReturn(pub ::ethers::core::types::U256);
3626 #[derive(
3628 Clone,
3629 ::ethers::contract::EthAbiType,
3630 ::ethers::contract::EthAbiCodec,
3631 serde::Serialize,
3632 serde::Deserialize,
3633 Default,
3634 Debug,
3635 PartialEq,
3636 Eq,
3637 Hash
3638 )]
3639 pub struct TotalSupplySnapshotsReturn {
3640 pub from_block: u128,
3641 pub value: u128,
3642 }
3643 #[derive(
3645 Clone,
3646 ::ethers::contract::EthAbiType,
3647 ::ethers::contract::EthAbiCodec,
3648 serde::Serialize,
3649 serde::Deserialize,
3650 Default,
3651 Debug,
3652 PartialEq,
3653 Eq,
3654 Hash
3655 )]
3656 pub struct TransferReturn(pub bool);
3657 #[derive(
3659 Clone,
3660 ::ethers::contract::EthAbiType,
3661 ::ethers::contract::EthAbiCodec,
3662 serde::Serialize,
3663 serde::Deserialize,
3664 Default,
3665 Debug,
3666 PartialEq,
3667 Eq,
3668 Hash
3669 )]
3670 pub struct TransferFromReturn(pub bool);
3671}