hopr_bindings/codegen/
hopr_distributor.rs

1pub use hopr_distributor::*;
2/// This module was auto-generated with ethers-rs Abigen.
3/// More information at: <https://github.com/gakonst/ethers-rs>
4#[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_distributor {
13    #[allow(deprecated)]
14    fn __abi() -> ::ethers::core::abi::Abi {
15        ::ethers::core::abi::ethabi::Contract {
16            constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor {
17                inputs: ::std::vec![
18                    ::ethers::core::abi::ethabi::Param {
19                        name: ::std::borrow::ToOwned::to_owned("_token"),
20                        kind: ::ethers::core::abi::ethabi::ParamType::Address,
21                        internal_type: ::core::option::Option::Some(
22                            ::std::borrow::ToOwned::to_owned("contract HoprToken"),
23                        ),
24                    },
25                    ::ethers::core::abi::ethabi::Param {
26                        name: ::std::borrow::ToOwned::to_owned("_startTime"),
27                        kind: ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
28                        internal_type: ::core::option::Option::Some(
29                            ::std::borrow::ToOwned::to_owned("uint128"),
30                        ),
31                    },
32                    ::ethers::core::abi::ethabi::Param {
33                        name: ::std::borrow::ToOwned::to_owned("_maxMintAmount"),
34                        kind: ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
35                        internal_type: ::core::option::Option::Some(
36                            ::std::borrow::ToOwned::to_owned("uint128"),
37                        ),
38                    },
39                ],
40            }),
41            functions: ::core::convert::From::from([
42                (
43                    ::std::borrow::ToOwned::to_owned("MULTIPLIER"),
44                    ::std::vec![
45                        ::ethers::core::abi::ethabi::Function {
46                            name: ::std::borrow::ToOwned::to_owned("MULTIPLIER"),
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::Uint(
52                                        128usize,
53                                    ),
54                                    internal_type: ::core::option::Option::Some(
55                                        ::std::borrow::ToOwned::to_owned("uint128"),
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("addAllocations"),
66                    ::std::vec![
67                        ::ethers::core::abi::ethabi::Function {
68                            name: ::std::borrow::ToOwned::to_owned("addAllocations"),
69                            inputs: ::std::vec![
70                                ::ethers::core::abi::ethabi::Param {
71                                    name: ::std::borrow::ToOwned::to_owned("accounts"),
72                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
73                                        ::std::boxed::Box::new(
74                                            ::ethers::core::abi::ethabi::ParamType::Address,
75                                        ),
76                                    ),
77                                    internal_type: ::core::option::Option::Some(
78                                        ::std::borrow::ToOwned::to_owned("address[]"),
79                                    ),
80                                },
81                                ::ethers::core::abi::ethabi::Param {
82                                    name: ::std::borrow::ToOwned::to_owned("amounts"),
83                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
84                                        ::std::boxed::Box::new(
85                                            ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
86                                        ),
87                                    ),
88                                    internal_type: ::core::option::Option::Some(
89                                        ::std::borrow::ToOwned::to_owned("uint128[]"),
90                                    ),
91                                },
92                                ::ethers::core::abi::ethabi::Param {
93                                    name: ::std::borrow::ToOwned::to_owned("scheduleName"),
94                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
95                                    internal_type: ::core::option::Option::Some(
96                                        ::std::borrow::ToOwned::to_owned("string"),
97                                    ),
98                                },
99                            ],
100                            outputs: ::std::vec![],
101                            constant: ::core::option::Option::None,
102                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
103                        },
104                    ],
105                ),
106                (
107                    ::std::borrow::ToOwned::to_owned("addSchedule"),
108                    ::std::vec![
109                        ::ethers::core::abi::ethabi::Function {
110                            name: ::std::borrow::ToOwned::to_owned("addSchedule"),
111                            inputs: ::std::vec![
112                                ::ethers::core::abi::ethabi::Param {
113                                    name: ::std::borrow::ToOwned::to_owned("durations"),
114                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
115                                        ::std::boxed::Box::new(
116                                            ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
117                                        ),
118                                    ),
119                                    internal_type: ::core::option::Option::Some(
120                                        ::std::borrow::ToOwned::to_owned("uint128[]"),
121                                    ),
122                                },
123                                ::ethers::core::abi::ethabi::Param {
124                                    name: ::std::borrow::ToOwned::to_owned("percents"),
125                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
126                                        ::std::boxed::Box::new(
127                                            ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
128                                        ),
129                                    ),
130                                    internal_type: ::core::option::Option::Some(
131                                        ::std::borrow::ToOwned::to_owned("uint128[]"),
132                                    ),
133                                },
134                                ::ethers::core::abi::ethabi::Param {
135                                    name: ::std::borrow::ToOwned::to_owned("name"),
136                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
137                                    internal_type: ::core::option::Option::Some(
138                                        ::std::borrow::ToOwned::to_owned("string"),
139                                    ),
140                                },
141                            ],
142                            outputs: ::std::vec![],
143                            constant: ::core::option::Option::None,
144                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
145                        },
146                    ],
147                ),
148                (
149                    ::std::borrow::ToOwned::to_owned("allocations"),
150                    ::std::vec![
151                        ::ethers::core::abi::ethabi::Function {
152                            name: ::std::borrow::ToOwned::to_owned("allocations"),
153                            inputs: ::std::vec![
154                                ::ethers::core::abi::ethabi::Param {
155                                    name: ::std::string::String::new(),
156                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
157                                    internal_type: ::core::option::Option::Some(
158                                        ::std::borrow::ToOwned::to_owned("address"),
159                                    ),
160                                },
161                                ::ethers::core::abi::ethabi::Param {
162                                    name: ::std::string::String::new(),
163                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
164                                    internal_type: ::core::option::Option::Some(
165                                        ::std::borrow::ToOwned::to_owned("string"),
166                                    ),
167                                },
168                            ],
169                            outputs: ::std::vec![
170                                ::ethers::core::abi::ethabi::Param {
171                                    name: ::std::borrow::ToOwned::to_owned("amount"),
172                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
173                                        128usize,
174                                    ),
175                                    internal_type: ::core::option::Option::Some(
176                                        ::std::borrow::ToOwned::to_owned("uint128"),
177                                    ),
178                                },
179                                ::ethers::core::abi::ethabi::Param {
180                                    name: ::std::borrow::ToOwned::to_owned("claimed"),
181                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
182                                        128usize,
183                                    ),
184                                    internal_type: ::core::option::Option::Some(
185                                        ::std::borrow::ToOwned::to_owned("uint128"),
186                                    ),
187                                },
188                                ::ethers::core::abi::ethabi::Param {
189                                    name: ::std::borrow::ToOwned::to_owned("lastClaim"),
190                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
191                                        128usize,
192                                    ),
193                                    internal_type: ::core::option::Option::Some(
194                                        ::std::borrow::ToOwned::to_owned("uint128"),
195                                    ),
196                                },
197                                ::ethers::core::abi::ethabi::Param {
198                                    name: ::std::borrow::ToOwned::to_owned("revoked"),
199                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
200                                    internal_type: ::core::option::Option::Some(
201                                        ::std::borrow::ToOwned::to_owned("bool"),
202                                    ),
203                                },
204                            ],
205                            constant: ::core::option::Option::None,
206                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
207                        },
208                    ],
209                ),
210                (
211                    ::std::borrow::ToOwned::to_owned("claim"),
212                    ::std::vec![
213                        ::ethers::core::abi::ethabi::Function {
214                            name: ::std::borrow::ToOwned::to_owned("claim"),
215                            inputs: ::std::vec![
216                                ::ethers::core::abi::ethabi::Param {
217                                    name: ::std::borrow::ToOwned::to_owned("scheduleName"),
218                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
219                                    internal_type: ::core::option::Option::Some(
220                                        ::std::borrow::ToOwned::to_owned("string"),
221                                    ),
222                                },
223                            ],
224                            outputs: ::std::vec![],
225                            constant: ::core::option::Option::None,
226                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
227                        },
228                    ],
229                ),
230                (
231                    ::std::borrow::ToOwned::to_owned("claimFor"),
232                    ::std::vec![
233                        ::ethers::core::abi::ethabi::Function {
234                            name: ::std::borrow::ToOwned::to_owned("claimFor"),
235                            inputs: ::std::vec![
236                                ::ethers::core::abi::ethabi::Param {
237                                    name: ::std::borrow::ToOwned::to_owned("account"),
238                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
239                                    internal_type: ::core::option::Option::Some(
240                                        ::std::borrow::ToOwned::to_owned("address"),
241                                    ),
242                                },
243                                ::ethers::core::abi::ethabi::Param {
244                                    name: ::std::borrow::ToOwned::to_owned("scheduleName"),
245                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
246                                    internal_type: ::core::option::Option::Some(
247                                        ::std::borrow::ToOwned::to_owned("string"),
248                                    ),
249                                },
250                            ],
251                            outputs: ::std::vec![],
252                            constant: ::core::option::Option::None,
253                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
254                        },
255                    ],
256                ),
257                (
258                    ::std::borrow::ToOwned::to_owned("getClaimable"),
259                    ::std::vec![
260                        ::ethers::core::abi::ethabi::Function {
261                            name: ::std::borrow::ToOwned::to_owned("getClaimable"),
262                            inputs: ::std::vec![
263                                ::ethers::core::abi::ethabi::Param {
264                                    name: ::std::borrow::ToOwned::to_owned("account"),
265                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
266                                    internal_type: ::core::option::Option::Some(
267                                        ::std::borrow::ToOwned::to_owned("address"),
268                                    ),
269                                },
270                                ::ethers::core::abi::ethabi::Param {
271                                    name: ::std::borrow::ToOwned::to_owned("scheduleName"),
272                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
273                                    internal_type: ::core::option::Option::Some(
274                                        ::std::borrow::ToOwned::to_owned("string"),
275                                    ),
276                                },
277                            ],
278                            outputs: ::std::vec![
279                                ::ethers::core::abi::ethabi::Param {
280                                    name: ::std::string::String::new(),
281                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
282                                        128usize,
283                                    ),
284                                    internal_type: ::core::option::Option::Some(
285                                        ::std::borrow::ToOwned::to_owned("uint128"),
286                                    ),
287                                },
288                            ],
289                            constant: ::core::option::Option::None,
290                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
291                        },
292                    ],
293                ),
294                (
295                    ::std::borrow::ToOwned::to_owned("getSchedule"),
296                    ::std::vec![
297                        ::ethers::core::abi::ethabi::Function {
298                            name: ::std::borrow::ToOwned::to_owned("getSchedule"),
299                            inputs: ::std::vec![
300                                ::ethers::core::abi::ethabi::Param {
301                                    name: ::std::borrow::ToOwned::to_owned("name"),
302                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
303                                    internal_type: ::core::option::Option::Some(
304                                        ::std::borrow::ToOwned::to_owned("string"),
305                                    ),
306                                },
307                            ],
308                            outputs: ::std::vec![
309                                ::ethers::core::abi::ethabi::Param {
310                                    name: ::std::string::String::new(),
311                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
312                                        ::std::boxed::Box::new(
313                                            ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
314                                        ),
315                                    ),
316                                    internal_type: ::core::option::Option::Some(
317                                        ::std::borrow::ToOwned::to_owned("uint128[]"),
318                                    ),
319                                },
320                                ::ethers::core::abi::ethabi::Param {
321                                    name: ::std::string::String::new(),
322                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
323                                        ::std::boxed::Box::new(
324                                            ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
325                                        ),
326                                    ),
327                                    internal_type: ::core::option::Option::Some(
328                                        ::std::borrow::ToOwned::to_owned("uint128[]"),
329                                    ),
330                                },
331                            ],
332                            constant: ::core::option::Option::None,
333                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
334                        },
335                    ],
336                ),
337                (
338                    ::std::borrow::ToOwned::to_owned("maxMintAmount"),
339                    ::std::vec![
340                        ::ethers::core::abi::ethabi::Function {
341                            name: ::std::borrow::ToOwned::to_owned("maxMintAmount"),
342                            inputs: ::std::vec![],
343                            outputs: ::std::vec![
344                                ::ethers::core::abi::ethabi::Param {
345                                    name: ::std::string::String::new(),
346                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
347                                        128usize,
348                                    ),
349                                    internal_type: ::core::option::Option::Some(
350                                        ::std::borrow::ToOwned::to_owned("uint128"),
351                                    ),
352                                },
353                            ],
354                            constant: ::core::option::Option::None,
355                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
356                        },
357                    ],
358                ),
359                (
360                    ::std::borrow::ToOwned::to_owned("owner"),
361                    ::std::vec![
362                        ::ethers::core::abi::ethabi::Function {
363                            name: ::std::borrow::ToOwned::to_owned("owner"),
364                            inputs: ::std::vec![],
365                            outputs: ::std::vec![
366                                ::ethers::core::abi::ethabi::Param {
367                                    name: ::std::string::String::new(),
368                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
369                                    internal_type: ::core::option::Option::Some(
370                                        ::std::borrow::ToOwned::to_owned("address"),
371                                    ),
372                                },
373                            ],
374                            constant: ::core::option::Option::None,
375                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
376                        },
377                    ],
378                ),
379                (
380                    ::std::borrow::ToOwned::to_owned("renounceOwnership"),
381                    ::std::vec![
382                        ::ethers::core::abi::ethabi::Function {
383                            name: ::std::borrow::ToOwned::to_owned("renounceOwnership"),
384                            inputs: ::std::vec![],
385                            outputs: ::std::vec![],
386                            constant: ::core::option::Option::None,
387                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
388                        },
389                    ],
390                ),
391                (
392                    ::std::borrow::ToOwned::to_owned("revokeAccount"),
393                    ::std::vec![
394                        ::ethers::core::abi::ethabi::Function {
395                            name: ::std::borrow::ToOwned::to_owned("revokeAccount"),
396                            inputs: ::std::vec![
397                                ::ethers::core::abi::ethabi::Param {
398                                    name: ::std::borrow::ToOwned::to_owned("account"),
399                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
400                                    internal_type: ::core::option::Option::Some(
401                                        ::std::borrow::ToOwned::to_owned("address"),
402                                    ),
403                                },
404                                ::ethers::core::abi::ethabi::Param {
405                                    name: ::std::borrow::ToOwned::to_owned("scheduleName"),
406                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
407                                    internal_type: ::core::option::Option::Some(
408                                        ::std::borrow::ToOwned::to_owned("string"),
409                                    ),
410                                },
411                            ],
412                            outputs: ::std::vec![],
413                            constant: ::core::option::Option::None,
414                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
415                        },
416                    ],
417                ),
418                (
419                    ::std::borrow::ToOwned::to_owned("startTime"),
420                    ::std::vec![
421                        ::ethers::core::abi::ethabi::Function {
422                            name: ::std::borrow::ToOwned::to_owned("startTime"),
423                            inputs: ::std::vec![],
424                            outputs: ::std::vec![
425                                ::ethers::core::abi::ethabi::Param {
426                                    name: ::std::string::String::new(),
427                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
428                                        128usize,
429                                    ),
430                                    internal_type: ::core::option::Option::Some(
431                                        ::std::borrow::ToOwned::to_owned("uint128"),
432                                    ),
433                                },
434                            ],
435                            constant: ::core::option::Option::None,
436                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
437                        },
438                    ],
439                ),
440                (
441                    ::std::borrow::ToOwned::to_owned("token"),
442                    ::std::vec![
443                        ::ethers::core::abi::ethabi::Function {
444                            name: ::std::borrow::ToOwned::to_owned("token"),
445                            inputs: ::std::vec![],
446                            outputs: ::std::vec![
447                                ::ethers::core::abi::ethabi::Param {
448                                    name: ::std::string::String::new(),
449                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
450                                    internal_type: ::core::option::Option::Some(
451                                        ::std::borrow::ToOwned::to_owned("contract HoprToken"),
452                                    ),
453                                },
454                            ],
455                            constant: ::core::option::Option::None,
456                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
457                        },
458                    ],
459                ),
460                (
461                    ::std::borrow::ToOwned::to_owned("totalMinted"),
462                    ::std::vec![
463                        ::ethers::core::abi::ethabi::Function {
464                            name: ::std::borrow::ToOwned::to_owned("totalMinted"),
465                            inputs: ::std::vec![],
466                            outputs: ::std::vec![
467                                ::ethers::core::abi::ethabi::Param {
468                                    name: ::std::string::String::new(),
469                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
470                                        128usize,
471                                    ),
472                                    internal_type: ::core::option::Option::Some(
473                                        ::std::borrow::ToOwned::to_owned("uint128"),
474                                    ),
475                                },
476                            ],
477                            constant: ::core::option::Option::None,
478                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
479                        },
480                    ],
481                ),
482                (
483                    ::std::borrow::ToOwned::to_owned("totalToBeMinted"),
484                    ::std::vec![
485                        ::ethers::core::abi::ethabi::Function {
486                            name: ::std::borrow::ToOwned::to_owned("totalToBeMinted"),
487                            inputs: ::std::vec![],
488                            outputs: ::std::vec![
489                                ::ethers::core::abi::ethabi::Param {
490                                    name: ::std::string::String::new(),
491                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
492                                        128usize,
493                                    ),
494                                    internal_type: ::core::option::Option::Some(
495                                        ::std::borrow::ToOwned::to_owned("uint128"),
496                                    ),
497                                },
498                            ],
499                            constant: ::core::option::Option::None,
500                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
501                        },
502                    ],
503                ),
504                (
505                    ::std::borrow::ToOwned::to_owned("transferOwnership"),
506                    ::std::vec![
507                        ::ethers::core::abi::ethabi::Function {
508                            name: ::std::borrow::ToOwned::to_owned("transferOwnership"),
509                            inputs: ::std::vec![
510                                ::ethers::core::abi::ethabi::Param {
511                                    name: ::std::borrow::ToOwned::to_owned("newOwner"),
512                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
513                                    internal_type: ::core::option::Option::Some(
514                                        ::std::borrow::ToOwned::to_owned("address"),
515                                    ),
516                                },
517                            ],
518                            outputs: ::std::vec![],
519                            constant: ::core::option::Option::None,
520                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
521                        },
522                    ],
523                ),
524                (
525                    ::std::borrow::ToOwned::to_owned("updateStartTime"),
526                    ::std::vec![
527                        ::ethers::core::abi::ethabi::Function {
528                            name: ::std::borrow::ToOwned::to_owned("updateStartTime"),
529                            inputs: ::std::vec![
530                                ::ethers::core::abi::ethabi::Param {
531                                    name: ::std::borrow::ToOwned::to_owned("_startTime"),
532                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
533                                        128usize,
534                                    ),
535                                    internal_type: ::core::option::Option::Some(
536                                        ::std::borrow::ToOwned::to_owned("uint128"),
537                                    ),
538                                },
539                            ],
540                            outputs: ::std::vec![],
541                            constant: ::core::option::Option::None,
542                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
543                        },
544                    ],
545                ),
546            ]),
547            events: ::core::convert::From::from([
548                (
549                    ::std::borrow::ToOwned::to_owned("AllocationAdded"),
550                    ::std::vec![
551                        ::ethers::core::abi::ethabi::Event {
552                            name: ::std::borrow::ToOwned::to_owned("AllocationAdded"),
553                            inputs: ::std::vec![
554                                ::ethers::core::abi::ethabi::EventParam {
555                                    name: ::std::borrow::ToOwned::to_owned("account"),
556                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
557                                    indexed: true,
558                                },
559                                ::ethers::core::abi::ethabi::EventParam {
560                                    name: ::std::borrow::ToOwned::to_owned("amount"),
561                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
562                                        128usize,
563                                    ),
564                                    indexed: false,
565                                },
566                                ::ethers::core::abi::ethabi::EventParam {
567                                    name: ::std::borrow::ToOwned::to_owned("scheduleName"),
568                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
569                                    indexed: false,
570                                },
571                            ],
572                            anonymous: false,
573                        },
574                    ],
575                ),
576                (
577                    ::std::borrow::ToOwned::to_owned("Claimed"),
578                    ::std::vec![
579                        ::ethers::core::abi::ethabi::Event {
580                            name: ::std::borrow::ToOwned::to_owned("Claimed"),
581                            inputs: ::std::vec![
582                                ::ethers::core::abi::ethabi::EventParam {
583                                    name: ::std::borrow::ToOwned::to_owned("account"),
584                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
585                                    indexed: true,
586                                },
587                                ::ethers::core::abi::ethabi::EventParam {
588                                    name: ::std::borrow::ToOwned::to_owned("amount"),
589                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
590                                        128usize,
591                                    ),
592                                    indexed: false,
593                                },
594                                ::ethers::core::abi::ethabi::EventParam {
595                                    name: ::std::borrow::ToOwned::to_owned("scheduleName"),
596                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
597                                    indexed: false,
598                                },
599                            ],
600                            anonymous: false,
601                        },
602                    ],
603                ),
604                (
605                    ::std::borrow::ToOwned::to_owned("OwnershipTransferred"),
606                    ::std::vec![
607                        ::ethers::core::abi::ethabi::Event {
608                            name: ::std::borrow::ToOwned::to_owned(
609                                "OwnershipTransferred",
610                            ),
611                            inputs: ::std::vec![
612                                ::ethers::core::abi::ethabi::EventParam {
613                                    name: ::std::borrow::ToOwned::to_owned("previousOwner"),
614                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
615                                    indexed: true,
616                                },
617                                ::ethers::core::abi::ethabi::EventParam {
618                                    name: ::std::borrow::ToOwned::to_owned("newOwner"),
619                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
620                                    indexed: true,
621                                },
622                            ],
623                            anonymous: false,
624                        },
625                    ],
626                ),
627                (
628                    ::std::borrow::ToOwned::to_owned("ScheduleAdded"),
629                    ::std::vec![
630                        ::ethers::core::abi::ethabi::Event {
631                            name: ::std::borrow::ToOwned::to_owned("ScheduleAdded"),
632                            inputs: ::std::vec![
633                                ::ethers::core::abi::ethabi::EventParam {
634                                    name: ::std::borrow::ToOwned::to_owned("durations"),
635                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
636                                        ::std::boxed::Box::new(
637                                            ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
638                                        ),
639                                    ),
640                                    indexed: false,
641                                },
642                                ::ethers::core::abi::ethabi::EventParam {
643                                    name: ::std::borrow::ToOwned::to_owned("percents"),
644                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
645                                        ::std::boxed::Box::new(
646                                            ::ethers::core::abi::ethabi::ParamType::Uint(128usize),
647                                        ),
648                                    ),
649                                    indexed: false,
650                                },
651                                ::ethers::core::abi::ethabi::EventParam {
652                                    name: ::std::borrow::ToOwned::to_owned("name"),
653                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
654                                    indexed: false,
655                                },
656                            ],
657                            anonymous: false,
658                        },
659                    ],
660                ),
661            ]),
662            errors: ::std::collections::BTreeMap::new(),
663            receive: false,
664            fallback: false,
665        }
666    }
667    ///The parsed JSON ABI of the contract.
668    pub static HOPRDISTRIBUTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(
669        __abi,
670    );
671    #[rustfmt::skip]
672    const __BYTECODE: &[u8] = b"`\x80`@R`\0`\x01U4\x80\x15b\0\0\x16W`\0\x80\xFD[P`@Qb\0\x1F\xC78\x03\x80b\0\x1F\xC7\x839\x81\x01`@\x81\x90Rb\0\09\x91b\0\x01\x03V[b\0\0D3b\0\0\x96V[`\x02\x80T`\x01`\x01`\x80\x1B\x03\x19\x90\x81\x16`\x01`\x01`\x80\x1B\x03\x94\x85\x16\x17\x90\x91U`\x03\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x95\x90\x95\x16\x94\x90\x94\x17\x90\x93U`\x04\x80T\x90\x93\x16\x91\x16\x17\x90Ub\0\x01ZV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[\x80Q`\x01`\x01`\x80\x1B\x03\x81\x16\x81\x14b\0\0\xFEW`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x01\x19W`\0\x80\xFD[\x83Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x011W`\0\x80\xFD[\x92Pb\0\x01A` \x85\x01b\0\0\xE6V[\x91Pb\0\x01Q`@\x85\x01b\0\0\xE6V[\x90P\x92P\x92P\x92V[a\x1E]\x80b\0\x01j`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\x16W`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0\xA2W\x80c\xE5t)p\x11a\0qW\x80c\xE5t)p\x14a\x02\xC9W\x80c\xE8#0\xB2\x14a\x02\xDCW\x80c\xF2\xFD\xE3\x8B\x14a\x02\xEFW\x80c\xF3\xFE\x12\xC9\x14a\x03\x02W\x80c\xFC\x0CTj\x14a\x03\x15W`\0\x80\xFD[\x80c\x8D\xA5\xCB[\x14a\x01\xE6W\x80c\xA20\x9F\xF8\x14a\x02\x0BW\x80c\xB73\xF6}\x14a\x02\x1EW\x80c\xC3\x1C\xD7\xD7\x14a\x021W`\0\x80\xFD[\x80c,\x90,|\x11a\0\xE9W\x80c,\x90,|\x14a\x01\x84W\x80cp\xA4(\x98\x14a\x01\x97W\x80cqP\x18\xA6\x14a\x01\xAAW\x80cr\x84\x0F\x0E\x14a\x01\xB2W\x80cx\xE9y%\x14a\x01\xD3W`\0\x80\xFD[\x80c\x03s\xA3d\x14a\x01\x1BW\x80c\x05\x9F\x8B\x16\x14a\x01RW\x80c\"\xBC\xCF\xD7\x14a\x01\\W\x80c#\x9Cp\xAE\x14a\x01qW[`\0\x80\xFD[`\x01Ta\x015\x90`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x81V[`@Q`\x01`\x01`\x80\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x015b\x0FB@\x81V[a\x01oa\x01j6`\x04a\x18\x91V[a\x03(V[\0[`\x04Ta\x015\x90`\x01`\x01`\x80\x1B\x03\x16\x81V[a\x01oa\x01\x926`\x04a\x19GV[a\x06\xD0V[a\x015a\x01\xA56`\x04a\x19GV[a\x08YV[a\x01oa\x08\xCEV[a\x01\xC5a\x01\xC06`\x04a\x19\x9AV[a\t\x04V[`@Qa\x01I\x92\x91\x90a\x1A V[`\x02Ta\x015\x90`\x01`\x01`\x80\x1B\x03\x16\x81V[`\0T`\x01`\x01`\xA0\x1B\x03\x16[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01IV[`\x01Ta\x015\x90`\x01`\x01`\x80\x1B\x03\x16\x81V[a\x01oa\x02,6`\x04a\x1AeV[a\n^V[a\x02\x94a\x02?6`\x04a\x1A\x9DV[`\x06` \x90\x81R`\0\x92\x83R`@\x90\x92 \x81Q\x80\x83\x01\x84\x01\x80Q\x92\x81R\x90\x84\x01\x92\x90\x93\x01\x91\x90\x91 \x91R\x80T`\x01\x90\x91\x01T`\x01`\x01`\x80\x1B\x03\x80\x83\x16\x92`\x01`\x80\x1B\x90\x81\x90\x04\x82\x16\x92\x91\x82\x16\x91\x04`\xFF\x16\x84V[`@Qa\x01I\x94\x93\x92\x91\x90`\x01`\x01`\x80\x1B\x03\x94\x85\x16\x81R\x92\x84\x16` \x84\x01R\x92\x16`@\x82\x01R\x90\x15\x15``\x82\x01R`\x80\x01\x90V[a\x01oa\x02\xD76`\x04a\x18\x91V[a\x0B\x17V[a\x01oa\x02\xEA6`\x04a\x19GV[a\x0F@V[a\x01oa\x02\xFD6`\x04a\x1B_V[a\x0F\x85V[a\x01oa\x03\x106`\x04a\x19\x9AV[a\x10 V[`\x03Ta\x01\xF3\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x03[W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`@Q\x80\x91\x03\x90\xFD[`\x05\x82\x82`@Qa\x03m\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 T`\0\x03a\x03\xC2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x13`$\x82\x01Rr\x14\xD8\xDA\x19Y\x1D[\x19H\x1B]\\\xDD\x08\x19^\x1A\\\xDD`j\x1B`D\x82\x01R`d\x01a\x03RV[\x84\x83\x14a\x04%W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`+`$\x82\x01R\x7FAccounts and amounts must have e`D\x82\x01Rj\x0E.\xAC-\x84\r\x8C\xAD\xCC\xEE\x8D`\xAB\x1B`d\x82\x01R`\x84\x01a\x03RV[`\x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16`\0[\x86\x81\x10\x15a\x06\xAAW`\x06`\0\x89\x89\x84\x81\x81\x10a\x04YWa\x04Ya\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x04n\x91\x90a\x1B_V[`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x84\x84`@Qa\x04\x9E\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 T`\x01`\x01`\x80\x1B\x03\x16\x15a\x05\x04W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7FAllocation must not exist\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[\x85\x85\x82\x81\x81\x10a\x05\x16Wa\x05\x16a\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x05+\x91\x90a\x1AeV[`\x06`\0\x8A\x8A\x85\x81\x81\x10a\x05AWa\x05Aa\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x05V\x91\x90a\x1B_V[`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x85\x85`@Qa\x05\x86\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 \x80T`\x01`\x01`\x80\x1B\x03\x92\x90\x92\x16`\x01`\x01`\x80\x1B\x03\x19\x90\x92\x16\x91\x90\x91\x17\x90Ua\x05\xE5\x82\x87\x87\x84\x81\x81\x10a\x05\xCBWa\x05\xCBa\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x05\xE0\x91\x90a\x1AeV[a\x10dV[`\x04T\x90\x92P`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x83\x16\x11\x15a\x06\x07Wa\x06\x07a\x1B\xD5V[\x87\x87\x82\x81\x81\x10a\x06\x19Wa\x06\x19a\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x06.\x91\x90a\x1B_V[`\x01`\x01`\xA0\x1B\x03\x16\x7FI\x9Cd\xA5\xE7\xCD\xAA\x8Er\xAC\x9F\x0FK\x08\x0F\xCEz7\xC5\xEF$\xB2\xA9\xF6||jr\x8FZ\xEC\t\x87\x87\x84\x81\x81\x10a\x06jWa\x06ja\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x06\x7F\x91\x90a\x1AeV[\x86\x86`@Qa\x06\x90\x93\x92\x91\x90a\x1C\x14V[`@Q\x80\x91\x03\x90\xA2\x80a\x06\xA2\x81a\x1CMV[\x91PPa\x04;V[P`\x01\x80T`\x01`\x01`\x80\x1B\x03\x92\x83\x16`\x01`\x80\x1B\x02\x92\x16\x91\x90\x91\x17\x90UPPPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x06\xFAW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x80\x82 \x90Qa\x07\"\x90\x85\x90\x85\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 \x80T\x90\x91P`\x01`\x01`\x80\x1B\x03\x16`\0\x03a\x07\x86W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x15`$\x82\x01Rt\x10[\x1B\x1B\xD8\xD8]\x1A[\xDB\x88\x1B]\\\xDD\x08\x19^\x1A\\\xDD`Z\x1B`D\x82\x01R`d\x01a\x03RV[`\x01\x81\x01T`\x01`\x80\x1B\x90\x04`\xFF\x16\x15a\x07\xF1W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FAllocation must not be already r`D\x82\x01Re\x19]\x9B\xDA\xD9Y`\xD2\x1B`d\x82\x01R`\x84\x01a\x03RV[`\x01\x81\x81\x01\x80T`\xFF`\x80\x1B\x19\x16`\x01`\x80\x1B\x90\x81\x17\x90\x91U\x90T\x82Ta\x086\x92`\x01`\x01`\x80\x1B\x03\x92\x81\x90\x04\x83\x16\x92a\x081\x92\x80\x82\x16\x92\x90\x04\x16a\x10\xDEV[a\x10\xDEV[`\x01\x80T`\x01`\x01`\x80\x1B\x03\x92\x83\x16`\x01`\x80\x1B\x02\x92\x16\x91\x90\x91\x17\x90UPPPPV[`\0a\x08\xC6`\x05\x84\x84`@Qa\x08p\x92\x91\x90a\x1B\xAFV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 `\x06`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x85\x85`@Qa\x08\xB3\x92\x91\x90a\x1B\xAFV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 a\x11NV[\x94\x93PPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x08\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[a\t\x02`\0a\x13%V[V[``\x80`\x05\x84\x84`@Qa\t\x19\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x81 \x90`\x05\x90a\t9\x90\x87\x90\x87\x90a\x1B\xAFV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 `\x01\x01\x81\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\t\xC7W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\x80\x1B\x03\x16`\x01`\x01`\x80\x1B\x03\x16\x81R` \x01\x90`\x10\x01\x90` \x82`\x0F\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\t\x84W\x90P[PPPPP\x91P\x80\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\nKW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\x80\x1B\x03\x16`\x01`\x01`\x80\x1B\x03\x16\x81R` \x01\x90`\x10\x01\x90` \x82`\x0F\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\n\x08W\x90P[PPPPP\x90P\x91P\x91P[\x92P\x92\x90PV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\n\x88W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`\x02T`\x01`\x01`\x80\x1B\x03B\x81\x16\x91\x16\x11a\n\xF5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FPrevious start time must not be `D\x82\x01Rf\x1C\x99XX\xDA\x19Y`\xCA\x1B`d\x82\x01R`\x84\x01a\x03RV[`\x02\x80T`\x01`\x01`\x80\x1B\x03\x19\x16`\x01`\x01`\x80\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0BAW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`\x05\x82\x82`@Qa\x0BS\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 T\x15a\x0B\xB0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7FSchedule must not exist\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[\x84\x83\x14a\x0C\x15W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`-`$\x82\x01R\x7FDurations and percents must have`D\x82\x01Rl\x04\x0C\xAE.\xAC-\x84\r\x8C\xAD\xCC\xEE\x8D`\x9B\x1B`d\x82\x01R`\x84\x01a\x03RV[`\0\x80`\0[\x87\x81\x10\x15a\r\xB8W\x88\x88\x82\x81\x81\x10a\x0C5Wa\x0C5a\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x0CJ\x91\x90a\x1AeV[`\x01`\x01`\x80\x1B\x03\x16\x83`\x01`\x01`\x80\x1B\x03\x16\x10a\x0C\xBDW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`*`$\x82\x01R\x7FDurations must be added in ascen`D\x82\x01Ri24\xB73\x907\xB922\xB9`\xB1\x1B`d\x82\x01R`\x84\x01a\x03RV[\x88\x88\x82\x81\x81\x10a\x0C\xCFWa\x0C\xCFa\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x0C\xE4\x91\x90a\x1AeV[\x92Pb\x0FB@\x87\x87\x83\x81\x81\x10a\x0C\xFCWa\x0C\xFCa\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\r\x11\x91\x90a\x1AeV[`\x01`\x01`\x80\x1B\x03\x16\x11\x15a\r\x8EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`7`$\x82\x01R\x7FPercent provided must be smaller`D\x82\x01R\x7F or equal to MULTIPLIER\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x03RV[a\r\xA4\x82\x88\x88\x84\x81\x81\x10a\x05\xCBWa\x05\xCBa\x1B\xBFV[\x91P\x80a\r\xB0\x81a\x1CMV[\x91PPa\x0C\x1BV[P`\x01`\x01`\x80\x1B\x03\x81\x16b\x0FB@\x14a\x0E#W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FPercents must sum to MULTIPLIER `D\x82\x01Re\x18[[\xDD[\x9D`\xD2\x1B`d\x82\x01R`\x84\x01a\x03RV[`@Q\x80`@\x01`@R\x80\x89\x89\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP`@\x80Q` \x89\x81\x02\x82\x81\x01\x82\x01\x90\x93R\x89\x82R\x92\x83\x01\x92\x90\x91\x8A\x91\x8A\x91\x82\x91\x85\x01\x90\x84\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x91RP`@Q`\x05\x90a\x0E\xAE\x90\x87\x90\x87\x90a\x1B\xAFV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 `\0\x82\x01Q\x81`\0\x01\x90\x80Q\x90` \x01\x90a\x0E\xD8\x92\x91\x90a\x17=V[P` \x82\x81\x01Q\x80Qa\x0E\xF1\x92`\x01\x85\x01\x92\x01\x90a\x17=V[P\x90PP\x7F\x14\xA9Btq\xDA}\xBB~\xCC\xA5ab\xA3&\x8501\xD8\xFA\xB4jt\xAB{\x1Byu\x91\xD9\xE4h\x88\x88\x88\x88\x88\x88`@Qa\x0F.\x96\x95\x94\x93\x92\x91\x90a\x1C\xA2V[`@Q\x80\x91\x03\x90\xA1PPPPPPPPV[a\x0F\x80\x83\x83\x83\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x13u\x92PPPV[PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F\xAFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x10\x14W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x03RV[a\x10\x1D\x81a\x13%V[PV[a\x10`3\x83\x83\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x13u\x92PPPV[PPV[`\0\x80a\x10q\x83\x85a\x1C\xEBV[\x90P\x83`\x01`\x01`\x80\x1B\x03\x16\x81`\x01`\x01`\x80\x1B\x03\x16\x10\x15a\x10\xD5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Fuint128 addition overflow\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[\x90P[\x92\x91PPV[`\0\x82`\x01`\x01`\x80\x1B\x03\x16\x82`\x01`\x01`\x80\x1B\x03\x16\x11\x15a\x11BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7Fuint128 subtraction overflow\0\0\0\0`D\x82\x01R`d\x01a\x03RV[`\0a\x08\xC6\x83\x85a\x1D\x12V[`\0B`\x02T\x84T`\x01`\x01`\x80\x1B\x03\x92\x83\x16\x92a\x11\xA7\x92\x16\x90\x86\x90`\0\x90a\x11yWa\x11ya\x1B\xBFV[\x90`\0R` `\0 \x90`\x02\x91\x82\x82\x04\x01\x91\x90\x06`\x10\x02\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\x80\x1B\x03\x16a\x10dV[`\x01`\x01`\x80\x1B\x03\x16\x11\x15a\x11\xBEWP`\0a\x10\xD8V[B`\x02T\x84T`\x01`\x01`\x80\x1B\x03\x92\x83\x16\x92a\x11\xF4\x92\x16\x90\x86\x90a\x11\xE4\x90`\x01\x90a\x1D2V[\x81T\x81\x10a\x11yWa\x11ya\x1B\xBFV[`\x01`\x01`\x80\x1B\x03\x16\x10\x15a\x12)W\x81Ta\x12\"\x90`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x91`\x01`\x80\x1B\x90\x04\x16a\x10\xDEV[\x90Pa\x10\xD8V[`\0\x80[\x84T\x81\x10\x15a\x13\x1DW`\x02T\x85T`\0\x91a\x12`\x91`\x01`\x01`\x80\x1B\x03\x90\x91\x16\x90\x88\x90\x85\x90\x81\x10a\x11yWa\x11ya\x1B\xBFV[\x90PB`\x01`\x01`\x80\x1B\x03\x16\x81`\x01`\x01`\x80\x1B\x03\x16\x11\x15a\x12\x82WPa\x13\x1DV[`\x01\x85\x01T`\x01`\x01`\x80\x1B\x03\x80\x83\x16\x91\x16\x10a\x12\x9FWPa\x13\x0BV[\x84T`\x01\x87\x01\x80Ta\x13\x07\x92\x86\x92a\x05\xE0\x92a\x12\xFE\x92`\x01`\x01`\x80\x1B\x03\x16\x91\x90\x88\x90\x81\x10a\x12\xD0Wa\x12\xD0a\x1B\xBFV[\x90`\0R` `\0 \x90`\x02\x91\x82\x82\x04\x01\x91\x90\x06`\x10\x02\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\x80\x1B\x03\x16a\x16DV[b\x0FB@a\x16\xD7V[\x92PP[\x80a\x13\x15\x81a\x1CMV[\x91PPa\x12-V[P\x93\x92PPPV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x06` R`@\x80\x82 \x90Qa\x13\x9B\x90\x84\x90a\x1DiV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 \x80T\x90\x91P`\x01`\x01`\x80\x1B\x03\x16a\x14\x04W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7FThere is nothing to claim\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[`\x01\x81\x01T`\x01`\x80\x1B\x90\x04`\xFF\x16\x15a\x14UW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x10X\xD8\xDB\xDD[\x9D\x08\x1A\\\xC8\x1C\x99]\x9B\xDA\xD9Y`r\x1B`D\x82\x01R`d\x01a\x03RV[`\0`\x05\x83`@Qa\x14g\x91\x90a\x1DiV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 \x90P`\0a\x14\x83\x82\x84a\x11NV[\x83T\x90\x91P`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x14\xA4Wa\x14\xA4a\x1B\xD5V[\x82T`\0\x90a\x14\xC3\x90`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x83a\x10dV[\x84T\x90\x91P`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x14\xE4Wa\x14\xE4a\x1B\xD5V[`\x01T`\0\x90a\x14\xFD\x90`\x01`\x01`\x80\x1B\x03\x16\x84a\x10dV[`\x04T\x90\x91P`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x15\x1FWa\x15\x1Fa\x1B\xD5V[`\x01\x80T`\x01`\x01`\x80\x1B\x03\x80\x84\x16`\x01`\x01`\x80\x1B\x03\x19\x90\x92\x16\x91\x90\x91\x17\x90\x91U\x85T\x83\x82\x16`\x01`\x80\x1B\x02\x91\x16\x17\x85Ua\x15XB\x90V[`\x01\x86\x01\x80T`\x01`\x01`\x80\x1B\x03\x19\x16`\x01`\x01`\x80\x1B\x03\x92\x83\x16\x17\x90U`\x03T`@Qc\r\xCD\xC7\xDD`\xE4\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x8A\x81\x16`\x04\x83\x01R\x92\x86\x16`$\x82\x01R`\x80`D\x82\x01R`\0`\x84\x82\x01\x81\x90R`\xA0`d\x83\x01R`\xA4\x82\x01R\x91\x16\x90c\xDC\xDC}\xD0\x90`\xC4\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x15\xE0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x15\xF4W=`\0\x80>=`\0\xFD[PPPP\x86`\x01`\x01`\xA0\x1B\x03\x16\x7F\xD6\xD5 \"\xB5\xAE\\\xE8wu=V\xA7\x9A\x12\x99`[\x05\"\x07q\xF2k\x08\x17Y\x9C\xAB\xD2\xB6\xB4\x84\x88`@Qa\x163\x92\x91\x90a\x1D\x85V[`@Q\x80\x91\x03\x90\xA2PPPPPPPV[`\0\x82`\x01`\x01`\x80\x1B\x03\x16`\0\x03a\x16_WP`\0a\x10\xD8V[`\0a\x16k\x83\x85a\x1D\xC8V[\x90P`\x01`\x01`\x80\x1B\x03\x83\x16a\x16\x81\x85\x83a\x1D\xF3V[`\x01`\x01`\x80\x1B\x03\x16\x14a\x10\xD5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7Fuint128 multiplication overflow\0`D\x82\x01R`d\x01a\x03RV[`\0\x80\x82`\x01`\x01`\x80\x1B\x03\x16\x11a\x171W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7Fuint128 division by zero\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[`\0a\x08\xC6\x83\x85a\x1D\xF3V[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90`\x01\x01`\x02\x90\x04\x81\x01\x92\x82\x15a\x17\xE5W\x91` \x02\x82\x01`\0[\x83\x82\x11\x15a\x17\xB0W\x83Q\x83\x82a\x01\0\n\x81T\x81`\x01`\x01`\x80\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\x80\x1B\x03\x16\x02\x17\x90UP\x92` \x01\x92`\x10\x01` \x81`\x0F\x01\x04\x92\x83\x01\x92`\x01\x03\x02a\x17fV[\x80\x15a\x17\xE3W\x82\x81a\x01\0\n\x81T\x90`\x01`\x01`\x80\x1B\x03\x02\x19\x16\x90U`\x10\x01` \x81`\x0F\x01\x04\x92\x83\x01\x92`\x01\x03\x02a\x17\xB0V[P[Pa\x17\xF1\x92\x91Pa\x17\xF5V[P\x90V[[\x80\x82\x11\x15a\x17\xF1W`\0\x81U`\x01\x01a\x17\xF6V[`\0\x80\x83`\x1F\x84\x01\x12a\x18\x1CW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x184W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\nWW`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\x18aW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18yW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\nWW`\0\x80\xFD[`\0\x80`\0\x80`\0\x80``\x87\x89\x03\x12\x15a\x18\xAAW`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x18\xC2W`\0\x80\xFD[a\x18\xCE\x8A\x83\x8B\x01a\x18\nV[\x90\x98P\x96P` \x89\x015\x91P\x80\x82\x11\x15a\x18\xE7W`\0\x80\xFD[a\x18\xF3\x8A\x83\x8B\x01a\x18\nV[\x90\x96P\x94P`@\x89\x015\x91P\x80\x82\x11\x15a\x19\x0CW`\0\x80\xFD[Pa\x19\x19\x89\x82\x8A\x01a\x18OV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x19BW`\0\x80\xFD[\x91\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x19\\W`\0\x80\xFD[a\x19e\x84a\x19+V[\x92P` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\x81W`\0\x80\xFD[a\x19\x8D\x86\x82\x87\x01a\x18OV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80` \x83\x85\x03\x12\x15a\x19\xADW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\xC4W`\0\x80\xFD[a\x19\xD0\x85\x82\x86\x01a\x18OV[\x90\x96\x90\x95P\x93PPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x1A\x15W\x81Q`\x01`\x01`\x80\x1B\x03\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x19\xF0V[P\x94\x95\x94PPPPPV[`@\x81R`\0a\x1A3`@\x83\x01\x85a\x19\xDCV[\x82\x81\x03` \x84\x01Ra\x1AE\x81\x85a\x19\xDCV[\x95\x94PPPPPV[\x805`\x01`\x01`\x80\x1B\x03\x81\x16\x81\x14a\x19BW`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x1AwW`\0\x80\xFD[a\x1A\x80\x82a\x1ANV[\x93\x92PPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x1A\xB0W`\0\x80\xFD[a\x1A\xB9\x83a\x19+V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1A\xD6W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x1A\xEAW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x1A\xFCWa\x1A\xFCa\x1A\x87V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x1B$Wa\x1B$a\x1A\x87V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x1B=W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x1BqW`\0\x80\xFD[a\x1A\x80\x82a\x19+V[` \x80\x82R\x81\x81\x01R\x7FOwnable: caller is not the owner`@\x82\x01R``\x01\x90V[\x81\x83\x827`\0\x91\x01\x90\x81R\x91\x90PV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[cNH{q`\xE0\x1B`\0R`\x01`\x04R`$`\0\xFD[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`\x01`\x01`\x80\x1B\x03\x84\x16\x81R`@` \x82\x01R`\0a\x1AE`@\x83\x01\x84\x86a\x1B\xEBV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01a\x1C_Wa\x1C_a\x1C7V[P`\x01\x01\x90V[\x81\x83R`\0` \x80\x85\x01\x94P\x82`\0[\x85\x81\x10\x15a\x1A\x15W`\x01`\x01`\x80\x1B\x03a\x1C\x8F\x83a\x1ANV[\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x1CvV[``\x81R`\0a\x1C\xB6``\x83\x01\x88\x8Aa\x1CfV[\x82\x81\x03` \x84\x01Ra\x1C\xC9\x81\x87\x89a\x1CfV[\x90P\x82\x81\x03`@\x84\x01Ra\x1C\xDE\x81\x85\x87a\x1B\xEBV[\x99\x98PPPPPPPPPV[`\x01`\x01`\x80\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x1D\x0BWa\x1D\x0Ba\x1C7V[P\x92\x91PPV[`\x01`\x01`\x80\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x80\x82\x11\x15a\x1D\x0BWa\x1D\x0Ba\x1C7V[\x81\x81\x03\x81\x81\x11\x15a\x10\xD8Wa\x10\xD8a\x1C7V[`\0[\x83\x81\x10\x15a\x1D`W\x81\x81\x01Q\x83\x82\x01R` \x01a\x1DHV[PP`\0\x91\x01RV[`\0\x82Qa\x1D{\x81\x84` \x87\x01a\x1DEV[\x91\x90\x91\x01\x92\x91PPV[`\x01`\x01`\x80\x1B\x03\x83\x16\x81R`@` \x82\x01R`\0\x82Q\x80`@\x84\x01Ra\x1D\xB3\x81``\x85\x01` \x87\x01a\x1DEV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01``\x01\x93\x92PPPV[`\x01`\x01`\x80\x1B\x03\x81\x81\x16\x83\x82\x16\x02\x80\x82\x16\x91\x90\x82\x81\x14a\x1D\xEBWa\x1D\xEBa\x1C7V[PP\x92\x91PPV[`\0`\x01`\x01`\x80\x1B\x03\x80\x84\x16\x80a\x1E\x1BWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[\x92\x16\x91\x90\x91\x04\x92\x91PPV\xFE\xA2dipfsX\"\x12 \xFD\x1A\xE40\x90s\xA7\xCF\xA2\x13\x1EQ\xD7c\xD2\x9C\xC6H\x17}d?\xEE\xEB\x8E\x1AR\x1E\xE0Z\x87LdsolcC\0\x08\x13\x003";
673    /// The bytecode of the contract.
674    pub static HOPRDISTRIBUTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
675        __BYTECODE,
676    );
677    #[rustfmt::skip]
678    const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\x16W`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0\xA2W\x80c\xE5t)p\x11a\0qW\x80c\xE5t)p\x14a\x02\xC9W\x80c\xE8#0\xB2\x14a\x02\xDCW\x80c\xF2\xFD\xE3\x8B\x14a\x02\xEFW\x80c\xF3\xFE\x12\xC9\x14a\x03\x02W\x80c\xFC\x0CTj\x14a\x03\x15W`\0\x80\xFD[\x80c\x8D\xA5\xCB[\x14a\x01\xE6W\x80c\xA20\x9F\xF8\x14a\x02\x0BW\x80c\xB73\xF6}\x14a\x02\x1EW\x80c\xC3\x1C\xD7\xD7\x14a\x021W`\0\x80\xFD[\x80c,\x90,|\x11a\0\xE9W\x80c,\x90,|\x14a\x01\x84W\x80cp\xA4(\x98\x14a\x01\x97W\x80cqP\x18\xA6\x14a\x01\xAAW\x80cr\x84\x0F\x0E\x14a\x01\xB2W\x80cx\xE9y%\x14a\x01\xD3W`\0\x80\xFD[\x80c\x03s\xA3d\x14a\x01\x1BW\x80c\x05\x9F\x8B\x16\x14a\x01RW\x80c\"\xBC\xCF\xD7\x14a\x01\\W\x80c#\x9Cp\xAE\x14a\x01qW[`\0\x80\xFD[`\x01Ta\x015\x90`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x81V[`@Q`\x01`\x01`\x80\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x015b\x0FB@\x81V[a\x01oa\x01j6`\x04a\x18\x91V[a\x03(V[\0[`\x04Ta\x015\x90`\x01`\x01`\x80\x1B\x03\x16\x81V[a\x01oa\x01\x926`\x04a\x19GV[a\x06\xD0V[a\x015a\x01\xA56`\x04a\x19GV[a\x08YV[a\x01oa\x08\xCEV[a\x01\xC5a\x01\xC06`\x04a\x19\x9AV[a\t\x04V[`@Qa\x01I\x92\x91\x90a\x1A V[`\x02Ta\x015\x90`\x01`\x01`\x80\x1B\x03\x16\x81V[`\0T`\x01`\x01`\xA0\x1B\x03\x16[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01IV[`\x01Ta\x015\x90`\x01`\x01`\x80\x1B\x03\x16\x81V[a\x01oa\x02,6`\x04a\x1AeV[a\n^V[a\x02\x94a\x02?6`\x04a\x1A\x9DV[`\x06` \x90\x81R`\0\x92\x83R`@\x90\x92 \x81Q\x80\x83\x01\x84\x01\x80Q\x92\x81R\x90\x84\x01\x92\x90\x93\x01\x91\x90\x91 \x91R\x80T`\x01\x90\x91\x01T`\x01`\x01`\x80\x1B\x03\x80\x83\x16\x92`\x01`\x80\x1B\x90\x81\x90\x04\x82\x16\x92\x91\x82\x16\x91\x04`\xFF\x16\x84V[`@Qa\x01I\x94\x93\x92\x91\x90`\x01`\x01`\x80\x1B\x03\x94\x85\x16\x81R\x92\x84\x16` \x84\x01R\x92\x16`@\x82\x01R\x90\x15\x15``\x82\x01R`\x80\x01\x90V[a\x01oa\x02\xD76`\x04a\x18\x91V[a\x0B\x17V[a\x01oa\x02\xEA6`\x04a\x19GV[a\x0F@V[a\x01oa\x02\xFD6`\x04a\x1B_V[a\x0F\x85V[a\x01oa\x03\x106`\x04a\x19\x9AV[a\x10 V[`\x03Ta\x01\xF3\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x03[W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`@Q\x80\x91\x03\x90\xFD[`\x05\x82\x82`@Qa\x03m\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 T`\0\x03a\x03\xC2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x13`$\x82\x01Rr\x14\xD8\xDA\x19Y\x1D[\x19H\x1B]\\\xDD\x08\x19^\x1A\\\xDD`j\x1B`D\x82\x01R`d\x01a\x03RV[\x84\x83\x14a\x04%W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`+`$\x82\x01R\x7FAccounts and amounts must have e`D\x82\x01Rj\x0E.\xAC-\x84\r\x8C\xAD\xCC\xEE\x8D`\xAB\x1B`d\x82\x01R`\x84\x01a\x03RV[`\x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16`\0[\x86\x81\x10\x15a\x06\xAAW`\x06`\0\x89\x89\x84\x81\x81\x10a\x04YWa\x04Ya\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x04n\x91\x90a\x1B_V[`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x84\x84`@Qa\x04\x9E\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 T`\x01`\x01`\x80\x1B\x03\x16\x15a\x05\x04W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7FAllocation must not exist\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[\x85\x85\x82\x81\x81\x10a\x05\x16Wa\x05\x16a\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x05+\x91\x90a\x1AeV[`\x06`\0\x8A\x8A\x85\x81\x81\x10a\x05AWa\x05Aa\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x05V\x91\x90a\x1B_V[`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x85\x85`@Qa\x05\x86\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 \x80T`\x01`\x01`\x80\x1B\x03\x92\x90\x92\x16`\x01`\x01`\x80\x1B\x03\x19\x90\x92\x16\x91\x90\x91\x17\x90Ua\x05\xE5\x82\x87\x87\x84\x81\x81\x10a\x05\xCBWa\x05\xCBa\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x05\xE0\x91\x90a\x1AeV[a\x10dV[`\x04T\x90\x92P`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x83\x16\x11\x15a\x06\x07Wa\x06\x07a\x1B\xD5V[\x87\x87\x82\x81\x81\x10a\x06\x19Wa\x06\x19a\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x06.\x91\x90a\x1B_V[`\x01`\x01`\xA0\x1B\x03\x16\x7FI\x9Cd\xA5\xE7\xCD\xAA\x8Er\xAC\x9F\x0FK\x08\x0F\xCEz7\xC5\xEF$\xB2\xA9\xF6||jr\x8FZ\xEC\t\x87\x87\x84\x81\x81\x10a\x06jWa\x06ja\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x06\x7F\x91\x90a\x1AeV[\x86\x86`@Qa\x06\x90\x93\x92\x91\x90a\x1C\x14V[`@Q\x80\x91\x03\x90\xA2\x80a\x06\xA2\x81a\x1CMV[\x91PPa\x04;V[P`\x01\x80T`\x01`\x01`\x80\x1B\x03\x92\x83\x16`\x01`\x80\x1B\x02\x92\x16\x91\x90\x91\x17\x90UPPPPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x06\xFAW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x06` R`@\x80\x82 \x90Qa\x07\"\x90\x85\x90\x85\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 \x80T\x90\x91P`\x01`\x01`\x80\x1B\x03\x16`\0\x03a\x07\x86W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x15`$\x82\x01Rt\x10[\x1B\x1B\xD8\xD8]\x1A[\xDB\x88\x1B]\\\xDD\x08\x19^\x1A\\\xDD`Z\x1B`D\x82\x01R`d\x01a\x03RV[`\x01\x81\x01T`\x01`\x80\x1B\x90\x04`\xFF\x16\x15a\x07\xF1W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FAllocation must not be already r`D\x82\x01Re\x19]\x9B\xDA\xD9Y`\xD2\x1B`d\x82\x01R`\x84\x01a\x03RV[`\x01\x81\x81\x01\x80T`\xFF`\x80\x1B\x19\x16`\x01`\x80\x1B\x90\x81\x17\x90\x91U\x90T\x82Ta\x086\x92`\x01`\x01`\x80\x1B\x03\x92\x81\x90\x04\x83\x16\x92a\x081\x92\x80\x82\x16\x92\x90\x04\x16a\x10\xDEV[a\x10\xDEV[`\x01\x80T`\x01`\x01`\x80\x1B\x03\x92\x83\x16`\x01`\x80\x1B\x02\x92\x16\x91\x90\x91\x17\x90UPPPPV[`\0a\x08\xC6`\x05\x84\x84`@Qa\x08p\x92\x91\x90a\x1B\xAFV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 `\x06`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x85\x85`@Qa\x08\xB3\x92\x91\x90a\x1B\xAFV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 a\x11NV[\x94\x93PPPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x08\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[a\t\x02`\0a\x13%V[V[``\x80`\x05\x84\x84`@Qa\t\x19\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x81 \x90`\x05\x90a\t9\x90\x87\x90\x87\x90a\x1B\xAFV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 `\x01\x01\x81\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\t\xC7W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\x80\x1B\x03\x16`\x01`\x01`\x80\x1B\x03\x16\x81R` \x01\x90`\x10\x01\x90` \x82`\x0F\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\t\x84W\x90P[PPPPP\x91P\x80\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\nKW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\x80\x1B\x03\x16`\x01`\x01`\x80\x1B\x03\x16\x81R` \x01\x90`\x10\x01\x90` \x82`\x0F\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\n\x08W\x90P[PPPPP\x90P\x91P\x91P[\x92P\x92\x90PV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\n\x88W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`\x02T`\x01`\x01`\x80\x1B\x03B\x81\x16\x91\x16\x11a\n\xF5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FPrevious start time must not be `D\x82\x01Rf\x1C\x99XX\xDA\x19Y`\xCA\x1B`d\x82\x01R`\x84\x01a\x03RV[`\x02\x80T`\x01`\x01`\x80\x1B\x03\x19\x16`\x01`\x01`\x80\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0BAW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`\x05\x82\x82`@Qa\x0BS\x92\x91\x90a\x1B\xAFV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 T\x15a\x0B\xB0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7FSchedule must not exist\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[\x84\x83\x14a\x0C\x15W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`-`$\x82\x01R\x7FDurations and percents must have`D\x82\x01Rl\x04\x0C\xAE.\xAC-\x84\r\x8C\xAD\xCC\xEE\x8D`\x9B\x1B`d\x82\x01R`\x84\x01a\x03RV[`\0\x80`\0[\x87\x81\x10\x15a\r\xB8W\x88\x88\x82\x81\x81\x10a\x0C5Wa\x0C5a\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x0CJ\x91\x90a\x1AeV[`\x01`\x01`\x80\x1B\x03\x16\x83`\x01`\x01`\x80\x1B\x03\x16\x10a\x0C\xBDW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`*`$\x82\x01R\x7FDurations must be added in ascen`D\x82\x01Ri24\xB73\x907\xB922\xB9`\xB1\x1B`d\x82\x01R`\x84\x01a\x03RV[\x88\x88\x82\x81\x81\x10a\x0C\xCFWa\x0C\xCFa\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\x0C\xE4\x91\x90a\x1AeV[\x92Pb\x0FB@\x87\x87\x83\x81\x81\x10a\x0C\xFCWa\x0C\xFCa\x1B\xBFV[\x90P` \x02\x01` \x81\x01\x90a\r\x11\x91\x90a\x1AeV[`\x01`\x01`\x80\x1B\x03\x16\x11\x15a\r\x8EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`7`$\x82\x01R\x7FPercent provided must be smaller`D\x82\x01R\x7F or equal to MULTIPLIER\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x03RV[a\r\xA4\x82\x88\x88\x84\x81\x81\x10a\x05\xCBWa\x05\xCBa\x1B\xBFV[\x91P\x80a\r\xB0\x81a\x1CMV[\x91PPa\x0C\x1BV[P`\x01`\x01`\x80\x1B\x03\x81\x16b\x0FB@\x14a\x0E#W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FPercents must sum to MULTIPLIER `D\x82\x01Re\x18[[\xDD[\x9D`\xD2\x1B`d\x82\x01R`\x84\x01a\x03RV[`@Q\x80`@\x01`@R\x80\x89\x89\x80\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83` \x02\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP`@\x80Q` \x89\x81\x02\x82\x81\x01\x82\x01\x90\x93R\x89\x82R\x92\x83\x01\x92\x90\x91\x8A\x91\x8A\x91\x82\x91\x85\x01\x90\x84\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x91RP`@Q`\x05\x90a\x0E\xAE\x90\x87\x90\x87\x90a\x1B\xAFV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 `\0\x82\x01Q\x81`\0\x01\x90\x80Q\x90` \x01\x90a\x0E\xD8\x92\x91\x90a\x17=V[P` \x82\x81\x01Q\x80Qa\x0E\xF1\x92`\x01\x85\x01\x92\x01\x90a\x17=V[P\x90PP\x7F\x14\xA9Btq\xDA}\xBB~\xCC\xA5ab\xA3&\x8501\xD8\xFA\xB4jt\xAB{\x1Byu\x91\xD9\xE4h\x88\x88\x88\x88\x88\x88`@Qa\x0F.\x96\x95\x94\x93\x92\x91\x90a\x1C\xA2V[`@Q\x80\x91\x03\x90\xA1PPPPPPPPV[a\x0F\x80\x83\x83\x83\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x13u\x92PPPV[PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F\xAFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03R\x90a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x10\x14W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x03RV[a\x10\x1D\x81a\x13%V[PV[a\x10`3\x83\x83\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x13u\x92PPPV[PPV[`\0\x80a\x10q\x83\x85a\x1C\xEBV[\x90P\x83`\x01`\x01`\x80\x1B\x03\x16\x81`\x01`\x01`\x80\x1B\x03\x16\x10\x15a\x10\xD5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Fuint128 addition overflow\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[\x90P[\x92\x91PPV[`\0\x82`\x01`\x01`\x80\x1B\x03\x16\x82`\x01`\x01`\x80\x1B\x03\x16\x11\x15a\x11BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7Fuint128 subtraction overflow\0\0\0\0`D\x82\x01R`d\x01a\x03RV[`\0a\x08\xC6\x83\x85a\x1D\x12V[`\0B`\x02T\x84T`\x01`\x01`\x80\x1B\x03\x92\x83\x16\x92a\x11\xA7\x92\x16\x90\x86\x90`\0\x90a\x11yWa\x11ya\x1B\xBFV[\x90`\0R` `\0 \x90`\x02\x91\x82\x82\x04\x01\x91\x90\x06`\x10\x02\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\x80\x1B\x03\x16a\x10dV[`\x01`\x01`\x80\x1B\x03\x16\x11\x15a\x11\xBEWP`\0a\x10\xD8V[B`\x02T\x84T`\x01`\x01`\x80\x1B\x03\x92\x83\x16\x92a\x11\xF4\x92\x16\x90\x86\x90a\x11\xE4\x90`\x01\x90a\x1D2V[\x81T\x81\x10a\x11yWa\x11ya\x1B\xBFV[`\x01`\x01`\x80\x1B\x03\x16\x10\x15a\x12)W\x81Ta\x12\"\x90`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x91`\x01`\x80\x1B\x90\x04\x16a\x10\xDEV[\x90Pa\x10\xD8V[`\0\x80[\x84T\x81\x10\x15a\x13\x1DW`\x02T\x85T`\0\x91a\x12`\x91`\x01`\x01`\x80\x1B\x03\x90\x91\x16\x90\x88\x90\x85\x90\x81\x10a\x11yWa\x11ya\x1B\xBFV[\x90PB`\x01`\x01`\x80\x1B\x03\x16\x81`\x01`\x01`\x80\x1B\x03\x16\x11\x15a\x12\x82WPa\x13\x1DV[`\x01\x85\x01T`\x01`\x01`\x80\x1B\x03\x80\x83\x16\x91\x16\x10a\x12\x9FWPa\x13\x0BV[\x84T`\x01\x87\x01\x80Ta\x13\x07\x92\x86\x92a\x05\xE0\x92a\x12\xFE\x92`\x01`\x01`\x80\x1B\x03\x16\x91\x90\x88\x90\x81\x10a\x12\xD0Wa\x12\xD0a\x1B\xBFV[\x90`\0R` `\0 \x90`\x02\x91\x82\x82\x04\x01\x91\x90\x06`\x10\x02\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\x80\x1B\x03\x16a\x16DV[b\x0FB@a\x16\xD7V[\x92PP[\x80a\x13\x15\x81a\x1CMV[\x91PPa\x12-V[P\x93\x92PPPV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x06` R`@\x80\x82 \x90Qa\x13\x9B\x90\x84\x90a\x1DiV[\x90\x81R`@Q\x90\x81\x90\x03` \x01\x90 \x80T\x90\x91P`\x01`\x01`\x80\x1B\x03\x16a\x14\x04W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7FThere is nothing to claim\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[`\x01\x81\x01T`\x01`\x80\x1B\x90\x04`\xFF\x16\x15a\x14UW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x10X\xD8\xDB\xDD[\x9D\x08\x1A\\\xC8\x1C\x99]\x9B\xDA\xD9Y`r\x1B`D\x82\x01R`d\x01a\x03RV[`\0`\x05\x83`@Qa\x14g\x91\x90a\x1DiV[\x90\x81R` \x01`@Q\x80\x91\x03\x90 \x90P`\0a\x14\x83\x82\x84a\x11NV[\x83T\x90\x91P`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x14\xA4Wa\x14\xA4a\x1B\xD5V[\x82T`\0\x90a\x14\xC3\x90`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x83a\x10dV[\x84T\x90\x91P`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x14\xE4Wa\x14\xE4a\x1B\xD5V[`\x01T`\0\x90a\x14\xFD\x90`\x01`\x01`\x80\x1B\x03\x16\x84a\x10dV[`\x04T\x90\x91P`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x82\x16\x11\x15a\x15\x1FWa\x15\x1Fa\x1B\xD5V[`\x01\x80T`\x01`\x01`\x80\x1B\x03\x80\x84\x16`\x01`\x01`\x80\x1B\x03\x19\x90\x92\x16\x91\x90\x91\x17\x90\x91U\x85T\x83\x82\x16`\x01`\x80\x1B\x02\x91\x16\x17\x85Ua\x15XB\x90V[`\x01\x86\x01\x80T`\x01`\x01`\x80\x1B\x03\x19\x16`\x01`\x01`\x80\x1B\x03\x92\x83\x16\x17\x90U`\x03T`@Qc\r\xCD\xC7\xDD`\xE4\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x8A\x81\x16`\x04\x83\x01R\x92\x86\x16`$\x82\x01R`\x80`D\x82\x01R`\0`\x84\x82\x01\x81\x90R`\xA0`d\x83\x01R`\xA4\x82\x01R\x91\x16\x90c\xDC\xDC}\xD0\x90`\xC4\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x15\xE0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x15\xF4W=`\0\x80>=`\0\xFD[PPPP\x86`\x01`\x01`\xA0\x1B\x03\x16\x7F\xD6\xD5 \"\xB5\xAE\\\xE8wu=V\xA7\x9A\x12\x99`[\x05\"\x07q\xF2k\x08\x17Y\x9C\xAB\xD2\xB6\xB4\x84\x88`@Qa\x163\x92\x91\x90a\x1D\x85V[`@Q\x80\x91\x03\x90\xA2PPPPPPPV[`\0\x82`\x01`\x01`\x80\x1B\x03\x16`\0\x03a\x16_WP`\0a\x10\xD8V[`\0a\x16k\x83\x85a\x1D\xC8V[\x90P`\x01`\x01`\x80\x1B\x03\x83\x16a\x16\x81\x85\x83a\x1D\xF3V[`\x01`\x01`\x80\x1B\x03\x16\x14a\x10\xD5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7Fuint128 multiplication overflow\0`D\x82\x01R`d\x01a\x03RV[`\0\x80\x82`\x01`\x01`\x80\x1B\x03\x16\x11a\x171W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7Fuint128 division by zero\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03RV[`\0a\x08\xC6\x83\x85a\x1D\xF3V[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90`\x01\x01`\x02\x90\x04\x81\x01\x92\x82\x15a\x17\xE5W\x91` \x02\x82\x01`\0[\x83\x82\x11\x15a\x17\xB0W\x83Q\x83\x82a\x01\0\n\x81T\x81`\x01`\x01`\x80\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\x80\x1B\x03\x16\x02\x17\x90UP\x92` \x01\x92`\x10\x01` \x81`\x0F\x01\x04\x92\x83\x01\x92`\x01\x03\x02a\x17fV[\x80\x15a\x17\xE3W\x82\x81a\x01\0\n\x81T\x90`\x01`\x01`\x80\x1B\x03\x02\x19\x16\x90U`\x10\x01` \x81`\x0F\x01\x04\x92\x83\x01\x92`\x01\x03\x02a\x17\xB0V[P[Pa\x17\xF1\x92\x91Pa\x17\xF5V[P\x90V[[\x80\x82\x11\x15a\x17\xF1W`\0\x81U`\x01\x01a\x17\xF6V[`\0\x80\x83`\x1F\x84\x01\x12a\x18\x1CW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x184W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\nWW`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\x18aW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18yW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\nWW`\0\x80\xFD[`\0\x80`\0\x80`\0\x80``\x87\x89\x03\x12\x15a\x18\xAAW`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x18\xC2W`\0\x80\xFD[a\x18\xCE\x8A\x83\x8B\x01a\x18\nV[\x90\x98P\x96P` \x89\x015\x91P\x80\x82\x11\x15a\x18\xE7W`\0\x80\xFD[a\x18\xF3\x8A\x83\x8B\x01a\x18\nV[\x90\x96P\x94P`@\x89\x015\x91P\x80\x82\x11\x15a\x19\x0CW`\0\x80\xFD[Pa\x19\x19\x89\x82\x8A\x01a\x18OV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x19BW`\0\x80\xFD[\x91\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x19\\W`\0\x80\xFD[a\x19e\x84a\x19+V[\x92P` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\x81W`\0\x80\xFD[a\x19\x8D\x86\x82\x87\x01a\x18OV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80` \x83\x85\x03\x12\x15a\x19\xADW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\xC4W`\0\x80\xFD[a\x19\xD0\x85\x82\x86\x01a\x18OV[\x90\x96\x90\x95P\x93PPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x1A\x15W\x81Q`\x01`\x01`\x80\x1B\x03\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x19\xF0V[P\x94\x95\x94PPPPPV[`@\x81R`\0a\x1A3`@\x83\x01\x85a\x19\xDCV[\x82\x81\x03` \x84\x01Ra\x1AE\x81\x85a\x19\xDCV[\x95\x94PPPPPV[\x805`\x01`\x01`\x80\x1B\x03\x81\x16\x81\x14a\x19BW`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x1AwW`\0\x80\xFD[a\x1A\x80\x82a\x1ANV[\x93\x92PPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x1A\xB0W`\0\x80\xFD[a\x1A\xB9\x83a\x19+V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1A\xD6W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x1A\xEAW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x1A\xFCWa\x1A\xFCa\x1A\x87V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x1B$Wa\x1B$a\x1A\x87V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x1B=W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x1BqW`\0\x80\xFD[a\x1A\x80\x82a\x19+V[` \x80\x82R\x81\x81\x01R\x7FOwnable: caller is not the owner`@\x82\x01R``\x01\x90V[\x81\x83\x827`\0\x91\x01\x90\x81R\x91\x90PV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[cNH{q`\xE0\x1B`\0R`\x01`\x04R`$`\0\xFD[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`\x01`\x01`\x80\x1B\x03\x84\x16\x81R`@` \x82\x01R`\0a\x1AE`@\x83\x01\x84\x86a\x1B\xEBV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01a\x1C_Wa\x1C_a\x1C7V[P`\x01\x01\x90V[\x81\x83R`\0` \x80\x85\x01\x94P\x82`\0[\x85\x81\x10\x15a\x1A\x15W`\x01`\x01`\x80\x1B\x03a\x1C\x8F\x83a\x1ANV[\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x1CvV[``\x81R`\0a\x1C\xB6``\x83\x01\x88\x8Aa\x1CfV[\x82\x81\x03` \x84\x01Ra\x1C\xC9\x81\x87\x89a\x1CfV[\x90P\x82\x81\x03`@\x84\x01Ra\x1C\xDE\x81\x85\x87a\x1B\xEBV[\x99\x98PPPPPPPPPV[`\x01`\x01`\x80\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x1D\x0BWa\x1D\x0Ba\x1C7V[P\x92\x91PPV[`\x01`\x01`\x80\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x80\x82\x11\x15a\x1D\x0BWa\x1D\x0Ba\x1C7V[\x81\x81\x03\x81\x81\x11\x15a\x10\xD8Wa\x10\xD8a\x1C7V[`\0[\x83\x81\x10\x15a\x1D`W\x81\x81\x01Q\x83\x82\x01R` \x01a\x1DHV[PP`\0\x91\x01RV[`\0\x82Qa\x1D{\x81\x84` \x87\x01a\x1DEV[\x91\x90\x91\x01\x92\x91PPV[`\x01`\x01`\x80\x1B\x03\x83\x16\x81R`@` \x82\x01R`\0\x82Q\x80`@\x84\x01Ra\x1D\xB3\x81``\x85\x01` \x87\x01a\x1DEV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01``\x01\x93\x92PPPV[`\x01`\x01`\x80\x1B\x03\x81\x81\x16\x83\x82\x16\x02\x80\x82\x16\x91\x90\x82\x81\x14a\x1D\xEBWa\x1D\xEBa\x1C7V[PP\x92\x91PPV[`\0`\x01`\x01`\x80\x1B\x03\x80\x84\x16\x80a\x1E\x1BWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[\x92\x16\x91\x90\x91\x04\x92\x91PPV\xFE\xA2dipfsX\"\x12 \xFD\x1A\xE40\x90s\xA7\xCF\xA2\x13\x1EQ\xD7c\xD2\x9C\xC6H\x17}d?\xEE\xEB\x8E\x1AR\x1E\xE0Z\x87LdsolcC\0\x08\x13\x003";
679    /// The deployed bytecode of the contract.
680    pub static HOPRDISTRIBUTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
681        __DEPLOYED_BYTECODE,
682    );
683    pub struct HoprDistributor<M>(::ethers::contract::Contract<M>);
684    impl<M> ::core::clone::Clone for HoprDistributor<M> {
685        fn clone(&self) -> Self {
686            Self(::core::clone::Clone::clone(&self.0))
687        }
688    }
689    impl<M> ::core::ops::Deref for HoprDistributor<M> {
690        type Target = ::ethers::contract::Contract<M>;
691        fn deref(&self) -> &Self::Target {
692            &self.0
693        }
694    }
695    impl<M> ::core::ops::DerefMut for HoprDistributor<M> {
696        fn deref_mut(&mut self) -> &mut Self::Target {
697            &mut self.0
698        }
699    }
700    impl<M> ::core::fmt::Debug for HoprDistributor<M> {
701        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
702            f.debug_tuple(::core::stringify!(HoprDistributor))
703                .field(&self.address())
704                .finish()
705        }
706    }
707    impl<M: ::ethers::providers::Middleware> HoprDistributor<M> {
708        /// Creates a new contract instance with the specified `ethers` client at
709        /// `address`. The contract derefs to a `ethers::Contract` object.
710        pub fn new<T: Into<::ethers::core::types::Address>>(
711            address: T,
712            client: ::std::sync::Arc<M>,
713        ) -> Self {
714            Self(
715                ::ethers::contract::Contract::new(
716                    address.into(),
717                    HOPRDISTRIBUTOR_ABI.clone(),
718                    client,
719                ),
720            )
721        }
722        /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it.
723        /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction
724        ///
725        /// Notes:
726        /// - If there are no constructor arguments, you should pass `()` as the argument.
727        /// - The default poll duration is 7 seconds.
728        /// - The default number of confirmations is 1 block.
729        ///
730        ///
731        /// # Example
732        ///
733        /// Generate contract bindings with `abigen!` and deploy a new contract instance.
734        ///
735        /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact.
736        ///
737        /// ```ignore
738        /// # async fn deploy<M: ethers::providers::Middleware>(client: ::std::sync::Arc<M>) {
739        ///     abigen!(Greeter, "../greeter.json");
740        ///
741        ///    let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap();
742        ///    let msg = greeter_contract.greet().call().await.unwrap();
743        /// # }
744        /// ```
745        pub fn deploy<T: ::ethers::core::abi::Tokenize>(
746            client: ::std::sync::Arc<M>,
747            constructor_args: T,
748        ) -> ::core::result::Result<
749            ::ethers::contract::builders::ContractDeployer<M, Self>,
750            ::ethers::contract::ContractError<M>,
751        > {
752            let factory = ::ethers::contract::ContractFactory::new(
753                HOPRDISTRIBUTOR_ABI.clone(),
754                HOPRDISTRIBUTOR_BYTECODE.clone().into(),
755                client,
756            );
757            let deployer = factory.deploy(constructor_args)?;
758            let deployer = ::ethers::contract::ContractDeployer::new(deployer);
759            Ok(deployer)
760        }
761        ///Calls the contract's `MULTIPLIER` (0x059f8b16) function
762        pub fn multiplier(&self) -> ::ethers::contract::builders::ContractCall<M, u128> {
763            self.0
764                .method_hash([5, 159, 139, 22], ())
765                .expect("method not found (this should never happen)")
766        }
767        ///Calls the contract's `addAllocations` (0x22bccfd7) function
768        pub fn add_allocations(
769            &self,
770            accounts: ::std::vec::Vec<::ethers::core::types::Address>,
771            amounts: ::std::vec::Vec<u128>,
772            schedule_name: ::std::string::String,
773        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
774            self.0
775                .method_hash([34, 188, 207, 215], (accounts, amounts, schedule_name))
776                .expect("method not found (this should never happen)")
777        }
778        ///Calls the contract's `addSchedule` (0xe5742970) function
779        pub fn add_schedule(
780            &self,
781            durations: ::std::vec::Vec<u128>,
782            percents: ::std::vec::Vec<u128>,
783            name: ::std::string::String,
784        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
785            self.0
786                .method_hash([229, 116, 41, 112], (durations, percents, name))
787                .expect("method not found (this should never happen)")
788        }
789        ///Calls the contract's `allocations` (0xc31cd7d7) function
790        pub fn allocations(
791            &self,
792            p0: ::ethers::core::types::Address,
793            p1: ::std::string::String,
794        ) -> ::ethers::contract::builders::ContractCall<M, (u128, u128, u128, bool)> {
795            self.0
796                .method_hash([195, 28, 215, 215], (p0, p1))
797                .expect("method not found (this should never happen)")
798        }
799        ///Calls the contract's `claim` (0xf3fe12c9) function
800        pub fn claim(
801            &self,
802            schedule_name: ::std::string::String,
803        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
804            self.0
805                .method_hash([243, 254, 18, 201], schedule_name)
806                .expect("method not found (this should never happen)")
807        }
808        ///Calls the contract's `claimFor` (0xe82330b2) function
809        pub fn claim_for(
810            &self,
811            account: ::ethers::core::types::Address,
812            schedule_name: ::std::string::String,
813        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
814            self.0
815                .method_hash([232, 35, 48, 178], (account, schedule_name))
816                .expect("method not found (this should never happen)")
817        }
818        ///Calls the contract's `getClaimable` (0x70a42898) function
819        pub fn get_claimable(
820            &self,
821            account: ::ethers::core::types::Address,
822            schedule_name: ::std::string::String,
823        ) -> ::ethers::contract::builders::ContractCall<M, u128> {
824            self.0
825                .method_hash([112, 164, 40, 152], (account, schedule_name))
826                .expect("method not found (this should never happen)")
827        }
828        ///Calls the contract's `getSchedule` (0x72840f0e) function
829        pub fn get_schedule(
830            &self,
831            name: ::std::string::String,
832        ) -> ::ethers::contract::builders::ContractCall<
833            M,
834            (::std::vec::Vec<u128>, ::std::vec::Vec<u128>),
835        > {
836            self.0
837                .method_hash([114, 132, 15, 14], name)
838                .expect("method not found (this should never happen)")
839        }
840        ///Calls the contract's `maxMintAmount` (0x239c70ae) function
841        pub fn max_mint_amount(
842            &self,
843        ) -> ::ethers::contract::builders::ContractCall<M, u128> {
844            self.0
845                .method_hash([35, 156, 112, 174], ())
846                .expect("method not found (this should never happen)")
847        }
848        ///Calls the contract's `owner` (0x8da5cb5b) function
849        pub fn owner(
850            &self,
851        ) -> ::ethers::contract::builders::ContractCall<
852            M,
853            ::ethers::core::types::Address,
854        > {
855            self.0
856                .method_hash([141, 165, 203, 91], ())
857                .expect("method not found (this should never happen)")
858        }
859        ///Calls the contract's `renounceOwnership` (0x715018a6) function
860        pub fn renounce_ownership(
861            &self,
862        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
863            self.0
864                .method_hash([113, 80, 24, 166], ())
865                .expect("method not found (this should never happen)")
866        }
867        ///Calls the contract's `revokeAccount` (0x2c902c7c) function
868        pub fn revoke_account(
869            &self,
870            account: ::ethers::core::types::Address,
871            schedule_name: ::std::string::String,
872        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
873            self.0
874                .method_hash([44, 144, 44, 124], (account, schedule_name))
875                .expect("method not found (this should never happen)")
876        }
877        ///Calls the contract's `startTime` (0x78e97925) function
878        pub fn start_time(&self) -> ::ethers::contract::builders::ContractCall<M, u128> {
879            self.0
880                .method_hash([120, 233, 121, 37], ())
881                .expect("method not found (this should never happen)")
882        }
883        ///Calls the contract's `token` (0xfc0c546a) function
884        pub fn token(
885            &self,
886        ) -> ::ethers::contract::builders::ContractCall<
887            M,
888            ::ethers::core::types::Address,
889        > {
890            self.0
891                .method_hash([252, 12, 84, 106], ())
892                .expect("method not found (this should never happen)")
893        }
894        ///Calls the contract's `totalMinted` (0xa2309ff8) function
895        pub fn total_minted(
896            &self,
897        ) -> ::ethers::contract::builders::ContractCall<M, u128> {
898            self.0
899                .method_hash([162, 48, 159, 248], ())
900                .expect("method not found (this should never happen)")
901        }
902        ///Calls the contract's `totalToBeMinted` (0x0373a364) function
903        pub fn total_to_be_minted(
904            &self,
905        ) -> ::ethers::contract::builders::ContractCall<M, u128> {
906            self.0
907                .method_hash([3, 115, 163, 100], ())
908                .expect("method not found (this should never happen)")
909        }
910        ///Calls the contract's `transferOwnership` (0xf2fde38b) function
911        pub fn transfer_ownership(
912            &self,
913            new_owner: ::ethers::core::types::Address,
914        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
915            self.0
916                .method_hash([242, 253, 227, 139], new_owner)
917                .expect("method not found (this should never happen)")
918        }
919        ///Calls the contract's `updateStartTime` (0xb733f67d) function
920        pub fn update_start_time(
921            &self,
922            start_time: u128,
923        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
924            self.0
925                .method_hash([183, 51, 246, 125], start_time)
926                .expect("method not found (this should never happen)")
927        }
928        ///Gets the contract's `AllocationAdded` event
929        pub fn allocation_added_filter(
930            &self,
931        ) -> ::ethers::contract::builders::Event<
932            ::std::sync::Arc<M>,
933            M,
934            AllocationAddedFilter,
935        > {
936            self.0.event()
937        }
938        ///Gets the contract's `Claimed` event
939        pub fn claimed_filter(
940            &self,
941        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, ClaimedFilter> {
942            self.0.event()
943        }
944        ///Gets the contract's `OwnershipTransferred` event
945        pub fn ownership_transferred_filter(
946            &self,
947        ) -> ::ethers::contract::builders::Event<
948            ::std::sync::Arc<M>,
949            M,
950            OwnershipTransferredFilter,
951        > {
952            self.0.event()
953        }
954        ///Gets the contract's `ScheduleAdded` event
955        pub fn schedule_added_filter(
956            &self,
957        ) -> ::ethers::contract::builders::Event<
958            ::std::sync::Arc<M>,
959            M,
960            ScheduleAddedFilter,
961        > {
962            self.0.event()
963        }
964        /// Returns an `Event` builder for all the events of this contract.
965        pub fn events(
966            &self,
967        ) -> ::ethers::contract::builders::Event<
968            ::std::sync::Arc<M>,
969            M,
970            HoprDistributorEvents,
971        > {
972            self.0.event_with_filter(::core::default::Default::default())
973        }
974    }
975    impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
976    for HoprDistributor<M> {
977        fn from(contract: ::ethers::contract::Contract<M>) -> Self {
978            Self::new(contract.address(), contract.client())
979        }
980    }
981    #[derive(
982        Clone,
983        ::ethers::contract::EthEvent,
984        ::ethers::contract::EthDisplay,
985        serde::Serialize,
986        serde::Deserialize,
987        Default,
988        Debug,
989        PartialEq,
990        Eq,
991        Hash
992    )]
993    #[ethevent(
994        name = "AllocationAdded",
995        abi = "AllocationAdded(address,uint128,string)"
996    )]
997    pub struct AllocationAddedFilter {
998        #[ethevent(indexed)]
999        pub account: ::ethers::core::types::Address,
1000        pub amount: u128,
1001        pub schedule_name: ::std::string::String,
1002    }
1003    #[derive(
1004        Clone,
1005        ::ethers::contract::EthEvent,
1006        ::ethers::contract::EthDisplay,
1007        serde::Serialize,
1008        serde::Deserialize,
1009        Default,
1010        Debug,
1011        PartialEq,
1012        Eq,
1013        Hash
1014    )]
1015    #[ethevent(name = "Claimed", abi = "Claimed(address,uint128,string)")]
1016    pub struct ClaimedFilter {
1017        #[ethevent(indexed)]
1018        pub account: ::ethers::core::types::Address,
1019        pub amount: u128,
1020        pub schedule_name: ::std::string::String,
1021    }
1022    #[derive(
1023        Clone,
1024        ::ethers::contract::EthEvent,
1025        ::ethers::contract::EthDisplay,
1026        serde::Serialize,
1027        serde::Deserialize,
1028        Default,
1029        Debug,
1030        PartialEq,
1031        Eq,
1032        Hash
1033    )]
1034    #[ethevent(
1035        name = "OwnershipTransferred",
1036        abi = "OwnershipTransferred(address,address)"
1037    )]
1038    pub struct OwnershipTransferredFilter {
1039        #[ethevent(indexed)]
1040        pub previous_owner: ::ethers::core::types::Address,
1041        #[ethevent(indexed)]
1042        pub new_owner: ::ethers::core::types::Address,
1043    }
1044    #[derive(
1045        Clone,
1046        ::ethers::contract::EthEvent,
1047        ::ethers::contract::EthDisplay,
1048        serde::Serialize,
1049        serde::Deserialize,
1050        Default,
1051        Debug,
1052        PartialEq,
1053        Eq,
1054        Hash
1055    )]
1056    #[ethevent(
1057        name = "ScheduleAdded",
1058        abi = "ScheduleAdded(uint128[],uint128[],string)"
1059    )]
1060    pub struct ScheduleAddedFilter {
1061        pub durations: ::std::vec::Vec<u128>,
1062        pub percents: ::std::vec::Vec<u128>,
1063        pub name: ::std::string::String,
1064    }
1065    ///Container type for all of the contract's events
1066    #[derive(
1067        Clone,
1068        ::ethers::contract::EthAbiType,
1069        serde::Serialize,
1070        serde::Deserialize,
1071        Debug,
1072        PartialEq,
1073        Eq,
1074        Hash
1075    )]
1076    pub enum HoprDistributorEvents {
1077        AllocationAddedFilter(AllocationAddedFilter),
1078        ClaimedFilter(ClaimedFilter),
1079        OwnershipTransferredFilter(OwnershipTransferredFilter),
1080        ScheduleAddedFilter(ScheduleAddedFilter),
1081    }
1082    impl ::ethers::contract::EthLogDecode for HoprDistributorEvents {
1083        fn decode_log(
1084            log: &::ethers::core::abi::RawLog,
1085        ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
1086            if let Ok(decoded) = AllocationAddedFilter::decode_log(log) {
1087                return Ok(HoprDistributorEvents::AllocationAddedFilter(decoded));
1088            }
1089            if let Ok(decoded) = ClaimedFilter::decode_log(log) {
1090                return Ok(HoprDistributorEvents::ClaimedFilter(decoded));
1091            }
1092            if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) {
1093                return Ok(HoprDistributorEvents::OwnershipTransferredFilter(decoded));
1094            }
1095            if let Ok(decoded) = ScheduleAddedFilter::decode_log(log) {
1096                return Ok(HoprDistributorEvents::ScheduleAddedFilter(decoded));
1097            }
1098            Err(::ethers::core::abi::Error::InvalidData)
1099        }
1100    }
1101    impl ::core::fmt::Display for HoprDistributorEvents {
1102        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1103            match self {
1104                Self::AllocationAddedFilter(element) => {
1105                    ::core::fmt::Display::fmt(element, f)
1106                }
1107                Self::ClaimedFilter(element) => ::core::fmt::Display::fmt(element, f),
1108                Self::OwnershipTransferredFilter(element) => {
1109                    ::core::fmt::Display::fmt(element, f)
1110                }
1111                Self::ScheduleAddedFilter(element) => {
1112                    ::core::fmt::Display::fmt(element, f)
1113                }
1114            }
1115        }
1116    }
1117    impl ::core::convert::From<AllocationAddedFilter> for HoprDistributorEvents {
1118        fn from(value: AllocationAddedFilter) -> Self {
1119            Self::AllocationAddedFilter(value)
1120        }
1121    }
1122    impl ::core::convert::From<ClaimedFilter> for HoprDistributorEvents {
1123        fn from(value: ClaimedFilter) -> Self {
1124            Self::ClaimedFilter(value)
1125        }
1126    }
1127    impl ::core::convert::From<OwnershipTransferredFilter> for HoprDistributorEvents {
1128        fn from(value: OwnershipTransferredFilter) -> Self {
1129            Self::OwnershipTransferredFilter(value)
1130        }
1131    }
1132    impl ::core::convert::From<ScheduleAddedFilter> for HoprDistributorEvents {
1133        fn from(value: ScheduleAddedFilter) -> Self {
1134            Self::ScheduleAddedFilter(value)
1135        }
1136    }
1137    ///Container type for all input parameters for the `MULTIPLIER` function with signature `MULTIPLIER()` and selector `0x059f8b16`
1138    #[derive(
1139        Clone,
1140        ::ethers::contract::EthCall,
1141        ::ethers::contract::EthDisplay,
1142        serde::Serialize,
1143        serde::Deserialize,
1144        Default,
1145        Debug,
1146        PartialEq,
1147        Eq,
1148        Hash
1149    )]
1150    #[ethcall(name = "MULTIPLIER", abi = "MULTIPLIER()")]
1151    pub struct MultiplierCall;
1152    ///Container type for all input parameters for the `addAllocations` function with signature `addAllocations(address[],uint128[],string)` and selector `0x22bccfd7`
1153    #[derive(
1154        Clone,
1155        ::ethers::contract::EthCall,
1156        ::ethers::contract::EthDisplay,
1157        serde::Serialize,
1158        serde::Deserialize,
1159        Default,
1160        Debug,
1161        PartialEq,
1162        Eq,
1163        Hash
1164    )]
1165    #[ethcall(
1166        name = "addAllocations",
1167        abi = "addAllocations(address[],uint128[],string)"
1168    )]
1169    pub struct AddAllocationsCall {
1170        pub accounts: ::std::vec::Vec<::ethers::core::types::Address>,
1171        pub amounts: ::std::vec::Vec<u128>,
1172        pub schedule_name: ::std::string::String,
1173    }
1174    ///Container type for all input parameters for the `addSchedule` function with signature `addSchedule(uint128[],uint128[],string)` and selector `0xe5742970`
1175    #[derive(
1176        Clone,
1177        ::ethers::contract::EthCall,
1178        ::ethers::contract::EthDisplay,
1179        serde::Serialize,
1180        serde::Deserialize,
1181        Default,
1182        Debug,
1183        PartialEq,
1184        Eq,
1185        Hash
1186    )]
1187    #[ethcall(name = "addSchedule", abi = "addSchedule(uint128[],uint128[],string)")]
1188    pub struct AddScheduleCall {
1189        pub durations: ::std::vec::Vec<u128>,
1190        pub percents: ::std::vec::Vec<u128>,
1191        pub name: ::std::string::String,
1192    }
1193    ///Container type for all input parameters for the `allocations` function with signature `allocations(address,string)` and selector `0xc31cd7d7`
1194    #[derive(
1195        Clone,
1196        ::ethers::contract::EthCall,
1197        ::ethers::contract::EthDisplay,
1198        serde::Serialize,
1199        serde::Deserialize,
1200        Default,
1201        Debug,
1202        PartialEq,
1203        Eq,
1204        Hash
1205    )]
1206    #[ethcall(name = "allocations", abi = "allocations(address,string)")]
1207    pub struct AllocationsCall(
1208        pub ::ethers::core::types::Address,
1209        pub ::std::string::String,
1210    );
1211    ///Container type for all input parameters for the `claim` function with signature `claim(string)` and selector `0xf3fe12c9`
1212    #[derive(
1213        Clone,
1214        ::ethers::contract::EthCall,
1215        ::ethers::contract::EthDisplay,
1216        serde::Serialize,
1217        serde::Deserialize,
1218        Default,
1219        Debug,
1220        PartialEq,
1221        Eq,
1222        Hash
1223    )]
1224    #[ethcall(name = "claim", abi = "claim(string)")]
1225    pub struct ClaimCall {
1226        pub schedule_name: ::std::string::String,
1227    }
1228    ///Container type for all input parameters for the `claimFor` function with signature `claimFor(address,string)` and selector `0xe82330b2`
1229    #[derive(
1230        Clone,
1231        ::ethers::contract::EthCall,
1232        ::ethers::contract::EthDisplay,
1233        serde::Serialize,
1234        serde::Deserialize,
1235        Default,
1236        Debug,
1237        PartialEq,
1238        Eq,
1239        Hash
1240    )]
1241    #[ethcall(name = "claimFor", abi = "claimFor(address,string)")]
1242    pub struct ClaimForCall {
1243        pub account: ::ethers::core::types::Address,
1244        pub schedule_name: ::std::string::String,
1245    }
1246    ///Container type for all input parameters for the `getClaimable` function with signature `getClaimable(address,string)` and selector `0x70a42898`
1247    #[derive(
1248        Clone,
1249        ::ethers::contract::EthCall,
1250        ::ethers::contract::EthDisplay,
1251        serde::Serialize,
1252        serde::Deserialize,
1253        Default,
1254        Debug,
1255        PartialEq,
1256        Eq,
1257        Hash
1258    )]
1259    #[ethcall(name = "getClaimable", abi = "getClaimable(address,string)")]
1260    pub struct GetClaimableCall {
1261        pub account: ::ethers::core::types::Address,
1262        pub schedule_name: ::std::string::String,
1263    }
1264    ///Container type for all input parameters for the `getSchedule` function with signature `getSchedule(string)` and selector `0x72840f0e`
1265    #[derive(
1266        Clone,
1267        ::ethers::contract::EthCall,
1268        ::ethers::contract::EthDisplay,
1269        serde::Serialize,
1270        serde::Deserialize,
1271        Default,
1272        Debug,
1273        PartialEq,
1274        Eq,
1275        Hash
1276    )]
1277    #[ethcall(name = "getSchedule", abi = "getSchedule(string)")]
1278    pub struct GetScheduleCall {
1279        pub name: ::std::string::String,
1280    }
1281    ///Container type for all input parameters for the `maxMintAmount` function with signature `maxMintAmount()` and selector `0x239c70ae`
1282    #[derive(
1283        Clone,
1284        ::ethers::contract::EthCall,
1285        ::ethers::contract::EthDisplay,
1286        serde::Serialize,
1287        serde::Deserialize,
1288        Default,
1289        Debug,
1290        PartialEq,
1291        Eq,
1292        Hash
1293    )]
1294    #[ethcall(name = "maxMintAmount", abi = "maxMintAmount()")]
1295    pub struct MaxMintAmountCall;
1296    ///Container type for all input parameters for the `owner` function with signature `owner()` and selector `0x8da5cb5b`
1297    #[derive(
1298        Clone,
1299        ::ethers::contract::EthCall,
1300        ::ethers::contract::EthDisplay,
1301        serde::Serialize,
1302        serde::Deserialize,
1303        Default,
1304        Debug,
1305        PartialEq,
1306        Eq,
1307        Hash
1308    )]
1309    #[ethcall(name = "owner", abi = "owner()")]
1310    pub struct OwnerCall;
1311    ///Container type for all input parameters for the `renounceOwnership` function with signature `renounceOwnership()` and selector `0x715018a6`
1312    #[derive(
1313        Clone,
1314        ::ethers::contract::EthCall,
1315        ::ethers::contract::EthDisplay,
1316        serde::Serialize,
1317        serde::Deserialize,
1318        Default,
1319        Debug,
1320        PartialEq,
1321        Eq,
1322        Hash
1323    )]
1324    #[ethcall(name = "renounceOwnership", abi = "renounceOwnership()")]
1325    pub struct RenounceOwnershipCall;
1326    ///Container type for all input parameters for the `revokeAccount` function with signature `revokeAccount(address,string)` and selector `0x2c902c7c`
1327    #[derive(
1328        Clone,
1329        ::ethers::contract::EthCall,
1330        ::ethers::contract::EthDisplay,
1331        serde::Serialize,
1332        serde::Deserialize,
1333        Default,
1334        Debug,
1335        PartialEq,
1336        Eq,
1337        Hash
1338    )]
1339    #[ethcall(name = "revokeAccount", abi = "revokeAccount(address,string)")]
1340    pub struct RevokeAccountCall {
1341        pub account: ::ethers::core::types::Address,
1342        pub schedule_name: ::std::string::String,
1343    }
1344    ///Container type for all input parameters for the `startTime` function with signature `startTime()` and selector `0x78e97925`
1345    #[derive(
1346        Clone,
1347        ::ethers::contract::EthCall,
1348        ::ethers::contract::EthDisplay,
1349        serde::Serialize,
1350        serde::Deserialize,
1351        Default,
1352        Debug,
1353        PartialEq,
1354        Eq,
1355        Hash
1356    )]
1357    #[ethcall(name = "startTime", abi = "startTime()")]
1358    pub struct StartTimeCall;
1359    ///Container type for all input parameters for the `token` function with signature `token()` and selector `0xfc0c546a`
1360    #[derive(
1361        Clone,
1362        ::ethers::contract::EthCall,
1363        ::ethers::contract::EthDisplay,
1364        serde::Serialize,
1365        serde::Deserialize,
1366        Default,
1367        Debug,
1368        PartialEq,
1369        Eq,
1370        Hash
1371    )]
1372    #[ethcall(name = "token", abi = "token()")]
1373    pub struct TokenCall;
1374    ///Container type for all input parameters for the `totalMinted` function with signature `totalMinted()` and selector `0xa2309ff8`
1375    #[derive(
1376        Clone,
1377        ::ethers::contract::EthCall,
1378        ::ethers::contract::EthDisplay,
1379        serde::Serialize,
1380        serde::Deserialize,
1381        Default,
1382        Debug,
1383        PartialEq,
1384        Eq,
1385        Hash
1386    )]
1387    #[ethcall(name = "totalMinted", abi = "totalMinted()")]
1388    pub struct TotalMintedCall;
1389    ///Container type for all input parameters for the `totalToBeMinted` function with signature `totalToBeMinted()` and selector `0x0373a364`
1390    #[derive(
1391        Clone,
1392        ::ethers::contract::EthCall,
1393        ::ethers::contract::EthDisplay,
1394        serde::Serialize,
1395        serde::Deserialize,
1396        Default,
1397        Debug,
1398        PartialEq,
1399        Eq,
1400        Hash
1401    )]
1402    #[ethcall(name = "totalToBeMinted", abi = "totalToBeMinted()")]
1403    pub struct TotalToBeMintedCall;
1404    ///Container type for all input parameters for the `transferOwnership` function with signature `transferOwnership(address)` and selector `0xf2fde38b`
1405    #[derive(
1406        Clone,
1407        ::ethers::contract::EthCall,
1408        ::ethers::contract::EthDisplay,
1409        serde::Serialize,
1410        serde::Deserialize,
1411        Default,
1412        Debug,
1413        PartialEq,
1414        Eq,
1415        Hash
1416    )]
1417    #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")]
1418    pub struct TransferOwnershipCall {
1419        pub new_owner: ::ethers::core::types::Address,
1420    }
1421    ///Container type for all input parameters for the `updateStartTime` function with signature `updateStartTime(uint128)` and selector `0xb733f67d`
1422    #[derive(
1423        Clone,
1424        ::ethers::contract::EthCall,
1425        ::ethers::contract::EthDisplay,
1426        serde::Serialize,
1427        serde::Deserialize,
1428        Default,
1429        Debug,
1430        PartialEq,
1431        Eq,
1432        Hash
1433    )]
1434    #[ethcall(name = "updateStartTime", abi = "updateStartTime(uint128)")]
1435    pub struct UpdateStartTimeCall {
1436        pub start_time: u128,
1437    }
1438    ///Container type for all of the contract's call
1439    #[derive(
1440        Clone,
1441        ::ethers::contract::EthAbiType,
1442        serde::Serialize,
1443        serde::Deserialize,
1444        Debug,
1445        PartialEq,
1446        Eq,
1447        Hash
1448    )]
1449    pub enum HoprDistributorCalls {
1450        Multiplier(MultiplierCall),
1451        AddAllocations(AddAllocationsCall),
1452        AddSchedule(AddScheduleCall),
1453        Allocations(AllocationsCall),
1454        Claim(ClaimCall),
1455        ClaimFor(ClaimForCall),
1456        GetClaimable(GetClaimableCall),
1457        GetSchedule(GetScheduleCall),
1458        MaxMintAmount(MaxMintAmountCall),
1459        Owner(OwnerCall),
1460        RenounceOwnership(RenounceOwnershipCall),
1461        RevokeAccount(RevokeAccountCall),
1462        StartTime(StartTimeCall),
1463        Token(TokenCall),
1464        TotalMinted(TotalMintedCall),
1465        TotalToBeMinted(TotalToBeMintedCall),
1466        TransferOwnership(TransferOwnershipCall),
1467        UpdateStartTime(UpdateStartTimeCall),
1468    }
1469    impl ::ethers::core::abi::AbiDecode for HoprDistributorCalls {
1470        fn decode(
1471            data: impl AsRef<[u8]>,
1472        ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
1473            let data = data.as_ref();
1474            if let Ok(decoded) = <MultiplierCall as ::ethers::core::abi::AbiDecode>::decode(
1475                data,
1476            ) {
1477                return Ok(Self::Multiplier(decoded));
1478            }
1479            if let Ok(decoded) = <AddAllocationsCall as ::ethers::core::abi::AbiDecode>::decode(
1480                data,
1481            ) {
1482                return Ok(Self::AddAllocations(decoded));
1483            }
1484            if let Ok(decoded) = <AddScheduleCall as ::ethers::core::abi::AbiDecode>::decode(
1485                data,
1486            ) {
1487                return Ok(Self::AddSchedule(decoded));
1488            }
1489            if let Ok(decoded) = <AllocationsCall as ::ethers::core::abi::AbiDecode>::decode(
1490                data,
1491            ) {
1492                return Ok(Self::Allocations(decoded));
1493            }
1494            if let Ok(decoded) = <ClaimCall as ::ethers::core::abi::AbiDecode>::decode(
1495                data,
1496            ) {
1497                return Ok(Self::Claim(decoded));
1498            }
1499            if let Ok(decoded) = <ClaimForCall as ::ethers::core::abi::AbiDecode>::decode(
1500                data,
1501            ) {
1502                return Ok(Self::ClaimFor(decoded));
1503            }
1504            if let Ok(decoded) = <GetClaimableCall as ::ethers::core::abi::AbiDecode>::decode(
1505                data,
1506            ) {
1507                return Ok(Self::GetClaimable(decoded));
1508            }
1509            if let Ok(decoded) = <GetScheduleCall as ::ethers::core::abi::AbiDecode>::decode(
1510                data,
1511            ) {
1512                return Ok(Self::GetSchedule(decoded));
1513            }
1514            if let Ok(decoded) = <MaxMintAmountCall as ::ethers::core::abi::AbiDecode>::decode(
1515                data,
1516            ) {
1517                return Ok(Self::MaxMintAmount(decoded));
1518            }
1519            if let Ok(decoded) = <OwnerCall as ::ethers::core::abi::AbiDecode>::decode(
1520                data,
1521            ) {
1522                return Ok(Self::Owner(decoded));
1523            }
1524            if let Ok(decoded) = <RenounceOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(
1525                data,
1526            ) {
1527                return Ok(Self::RenounceOwnership(decoded));
1528            }
1529            if let Ok(decoded) = <RevokeAccountCall as ::ethers::core::abi::AbiDecode>::decode(
1530                data,
1531            ) {
1532                return Ok(Self::RevokeAccount(decoded));
1533            }
1534            if let Ok(decoded) = <StartTimeCall as ::ethers::core::abi::AbiDecode>::decode(
1535                data,
1536            ) {
1537                return Ok(Self::StartTime(decoded));
1538            }
1539            if let Ok(decoded) = <TokenCall as ::ethers::core::abi::AbiDecode>::decode(
1540                data,
1541            ) {
1542                return Ok(Self::Token(decoded));
1543            }
1544            if let Ok(decoded) = <TotalMintedCall as ::ethers::core::abi::AbiDecode>::decode(
1545                data,
1546            ) {
1547                return Ok(Self::TotalMinted(decoded));
1548            }
1549            if let Ok(decoded) = <TotalToBeMintedCall as ::ethers::core::abi::AbiDecode>::decode(
1550                data,
1551            ) {
1552                return Ok(Self::TotalToBeMinted(decoded));
1553            }
1554            if let Ok(decoded) = <TransferOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(
1555                data,
1556            ) {
1557                return Ok(Self::TransferOwnership(decoded));
1558            }
1559            if let Ok(decoded) = <UpdateStartTimeCall as ::ethers::core::abi::AbiDecode>::decode(
1560                data,
1561            ) {
1562                return Ok(Self::UpdateStartTime(decoded));
1563            }
1564            Err(::ethers::core::abi::Error::InvalidData.into())
1565        }
1566    }
1567    impl ::ethers::core::abi::AbiEncode for HoprDistributorCalls {
1568        fn encode(self) -> Vec<u8> {
1569            match self {
1570                Self::Multiplier(element) => {
1571                    ::ethers::core::abi::AbiEncode::encode(element)
1572                }
1573                Self::AddAllocations(element) => {
1574                    ::ethers::core::abi::AbiEncode::encode(element)
1575                }
1576                Self::AddSchedule(element) => {
1577                    ::ethers::core::abi::AbiEncode::encode(element)
1578                }
1579                Self::Allocations(element) => {
1580                    ::ethers::core::abi::AbiEncode::encode(element)
1581                }
1582                Self::Claim(element) => ::ethers::core::abi::AbiEncode::encode(element),
1583                Self::ClaimFor(element) => {
1584                    ::ethers::core::abi::AbiEncode::encode(element)
1585                }
1586                Self::GetClaimable(element) => {
1587                    ::ethers::core::abi::AbiEncode::encode(element)
1588                }
1589                Self::GetSchedule(element) => {
1590                    ::ethers::core::abi::AbiEncode::encode(element)
1591                }
1592                Self::MaxMintAmount(element) => {
1593                    ::ethers::core::abi::AbiEncode::encode(element)
1594                }
1595                Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element),
1596                Self::RenounceOwnership(element) => {
1597                    ::ethers::core::abi::AbiEncode::encode(element)
1598                }
1599                Self::RevokeAccount(element) => {
1600                    ::ethers::core::abi::AbiEncode::encode(element)
1601                }
1602                Self::StartTime(element) => {
1603                    ::ethers::core::abi::AbiEncode::encode(element)
1604                }
1605                Self::Token(element) => ::ethers::core::abi::AbiEncode::encode(element),
1606                Self::TotalMinted(element) => {
1607                    ::ethers::core::abi::AbiEncode::encode(element)
1608                }
1609                Self::TotalToBeMinted(element) => {
1610                    ::ethers::core::abi::AbiEncode::encode(element)
1611                }
1612                Self::TransferOwnership(element) => {
1613                    ::ethers::core::abi::AbiEncode::encode(element)
1614                }
1615                Self::UpdateStartTime(element) => {
1616                    ::ethers::core::abi::AbiEncode::encode(element)
1617                }
1618            }
1619        }
1620    }
1621    impl ::core::fmt::Display for HoprDistributorCalls {
1622        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1623            match self {
1624                Self::Multiplier(element) => ::core::fmt::Display::fmt(element, f),
1625                Self::AddAllocations(element) => ::core::fmt::Display::fmt(element, f),
1626                Self::AddSchedule(element) => ::core::fmt::Display::fmt(element, f),
1627                Self::Allocations(element) => ::core::fmt::Display::fmt(element, f),
1628                Self::Claim(element) => ::core::fmt::Display::fmt(element, f),
1629                Self::ClaimFor(element) => ::core::fmt::Display::fmt(element, f),
1630                Self::GetClaimable(element) => ::core::fmt::Display::fmt(element, f),
1631                Self::GetSchedule(element) => ::core::fmt::Display::fmt(element, f),
1632                Self::MaxMintAmount(element) => ::core::fmt::Display::fmt(element, f),
1633                Self::Owner(element) => ::core::fmt::Display::fmt(element, f),
1634                Self::RenounceOwnership(element) => ::core::fmt::Display::fmt(element, f),
1635                Self::RevokeAccount(element) => ::core::fmt::Display::fmt(element, f),
1636                Self::StartTime(element) => ::core::fmt::Display::fmt(element, f),
1637                Self::Token(element) => ::core::fmt::Display::fmt(element, f),
1638                Self::TotalMinted(element) => ::core::fmt::Display::fmt(element, f),
1639                Self::TotalToBeMinted(element) => ::core::fmt::Display::fmt(element, f),
1640                Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f),
1641                Self::UpdateStartTime(element) => ::core::fmt::Display::fmt(element, f),
1642            }
1643        }
1644    }
1645    impl ::core::convert::From<MultiplierCall> for HoprDistributorCalls {
1646        fn from(value: MultiplierCall) -> Self {
1647            Self::Multiplier(value)
1648        }
1649    }
1650    impl ::core::convert::From<AddAllocationsCall> for HoprDistributorCalls {
1651        fn from(value: AddAllocationsCall) -> Self {
1652            Self::AddAllocations(value)
1653        }
1654    }
1655    impl ::core::convert::From<AddScheduleCall> for HoprDistributorCalls {
1656        fn from(value: AddScheduleCall) -> Self {
1657            Self::AddSchedule(value)
1658        }
1659    }
1660    impl ::core::convert::From<AllocationsCall> for HoprDistributorCalls {
1661        fn from(value: AllocationsCall) -> Self {
1662            Self::Allocations(value)
1663        }
1664    }
1665    impl ::core::convert::From<ClaimCall> for HoprDistributorCalls {
1666        fn from(value: ClaimCall) -> Self {
1667            Self::Claim(value)
1668        }
1669    }
1670    impl ::core::convert::From<ClaimForCall> for HoprDistributorCalls {
1671        fn from(value: ClaimForCall) -> Self {
1672            Self::ClaimFor(value)
1673        }
1674    }
1675    impl ::core::convert::From<GetClaimableCall> for HoprDistributorCalls {
1676        fn from(value: GetClaimableCall) -> Self {
1677            Self::GetClaimable(value)
1678        }
1679    }
1680    impl ::core::convert::From<GetScheduleCall> for HoprDistributorCalls {
1681        fn from(value: GetScheduleCall) -> Self {
1682            Self::GetSchedule(value)
1683        }
1684    }
1685    impl ::core::convert::From<MaxMintAmountCall> for HoprDistributorCalls {
1686        fn from(value: MaxMintAmountCall) -> Self {
1687            Self::MaxMintAmount(value)
1688        }
1689    }
1690    impl ::core::convert::From<OwnerCall> for HoprDistributorCalls {
1691        fn from(value: OwnerCall) -> Self {
1692            Self::Owner(value)
1693        }
1694    }
1695    impl ::core::convert::From<RenounceOwnershipCall> for HoprDistributorCalls {
1696        fn from(value: RenounceOwnershipCall) -> Self {
1697            Self::RenounceOwnership(value)
1698        }
1699    }
1700    impl ::core::convert::From<RevokeAccountCall> for HoprDistributorCalls {
1701        fn from(value: RevokeAccountCall) -> Self {
1702            Self::RevokeAccount(value)
1703        }
1704    }
1705    impl ::core::convert::From<StartTimeCall> for HoprDistributorCalls {
1706        fn from(value: StartTimeCall) -> Self {
1707            Self::StartTime(value)
1708        }
1709    }
1710    impl ::core::convert::From<TokenCall> for HoprDistributorCalls {
1711        fn from(value: TokenCall) -> Self {
1712            Self::Token(value)
1713        }
1714    }
1715    impl ::core::convert::From<TotalMintedCall> for HoprDistributorCalls {
1716        fn from(value: TotalMintedCall) -> Self {
1717            Self::TotalMinted(value)
1718        }
1719    }
1720    impl ::core::convert::From<TotalToBeMintedCall> for HoprDistributorCalls {
1721        fn from(value: TotalToBeMintedCall) -> Self {
1722            Self::TotalToBeMinted(value)
1723        }
1724    }
1725    impl ::core::convert::From<TransferOwnershipCall> for HoprDistributorCalls {
1726        fn from(value: TransferOwnershipCall) -> Self {
1727            Self::TransferOwnership(value)
1728        }
1729    }
1730    impl ::core::convert::From<UpdateStartTimeCall> for HoprDistributorCalls {
1731        fn from(value: UpdateStartTimeCall) -> Self {
1732            Self::UpdateStartTime(value)
1733        }
1734    }
1735    ///Container type for all return fields from the `MULTIPLIER` function with signature `MULTIPLIER()` and selector `0x059f8b16`
1736    #[derive(
1737        Clone,
1738        ::ethers::contract::EthAbiType,
1739        ::ethers::contract::EthAbiCodec,
1740        serde::Serialize,
1741        serde::Deserialize,
1742        Default,
1743        Debug,
1744        PartialEq,
1745        Eq,
1746        Hash
1747    )]
1748    pub struct MultiplierReturn(pub u128);
1749    ///Container type for all return fields from the `allocations` function with signature `allocations(address,string)` and selector `0xc31cd7d7`
1750    #[derive(
1751        Clone,
1752        ::ethers::contract::EthAbiType,
1753        ::ethers::contract::EthAbiCodec,
1754        serde::Serialize,
1755        serde::Deserialize,
1756        Default,
1757        Debug,
1758        PartialEq,
1759        Eq,
1760        Hash
1761    )]
1762    pub struct AllocationsReturn {
1763        pub amount: u128,
1764        pub claimed: u128,
1765        pub last_claim: u128,
1766        pub revoked: bool,
1767    }
1768    ///Container type for all return fields from the `getClaimable` function with signature `getClaimable(address,string)` and selector `0x70a42898`
1769    #[derive(
1770        Clone,
1771        ::ethers::contract::EthAbiType,
1772        ::ethers::contract::EthAbiCodec,
1773        serde::Serialize,
1774        serde::Deserialize,
1775        Default,
1776        Debug,
1777        PartialEq,
1778        Eq,
1779        Hash
1780    )]
1781    pub struct GetClaimableReturn(pub u128);
1782    ///Container type for all return fields from the `getSchedule` function with signature `getSchedule(string)` and selector `0x72840f0e`
1783    #[derive(
1784        Clone,
1785        ::ethers::contract::EthAbiType,
1786        ::ethers::contract::EthAbiCodec,
1787        serde::Serialize,
1788        serde::Deserialize,
1789        Default,
1790        Debug,
1791        PartialEq,
1792        Eq,
1793        Hash
1794    )]
1795    pub struct GetScheduleReturn(pub ::std::vec::Vec<u128>, pub ::std::vec::Vec<u128>);
1796    ///Container type for all return fields from the `maxMintAmount` function with signature `maxMintAmount()` and selector `0x239c70ae`
1797    #[derive(
1798        Clone,
1799        ::ethers::contract::EthAbiType,
1800        ::ethers::contract::EthAbiCodec,
1801        serde::Serialize,
1802        serde::Deserialize,
1803        Default,
1804        Debug,
1805        PartialEq,
1806        Eq,
1807        Hash
1808    )]
1809    pub struct MaxMintAmountReturn(pub u128);
1810    ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b`
1811    #[derive(
1812        Clone,
1813        ::ethers::contract::EthAbiType,
1814        ::ethers::contract::EthAbiCodec,
1815        serde::Serialize,
1816        serde::Deserialize,
1817        Default,
1818        Debug,
1819        PartialEq,
1820        Eq,
1821        Hash
1822    )]
1823    pub struct OwnerReturn(pub ::ethers::core::types::Address);
1824    ///Container type for all return fields from the `startTime` function with signature `startTime()` and selector `0x78e97925`
1825    #[derive(
1826        Clone,
1827        ::ethers::contract::EthAbiType,
1828        ::ethers::contract::EthAbiCodec,
1829        serde::Serialize,
1830        serde::Deserialize,
1831        Default,
1832        Debug,
1833        PartialEq,
1834        Eq,
1835        Hash
1836    )]
1837    pub struct StartTimeReturn(pub u128);
1838    ///Container type for all return fields from the `token` function with signature `token()` and selector `0xfc0c546a`
1839    #[derive(
1840        Clone,
1841        ::ethers::contract::EthAbiType,
1842        ::ethers::contract::EthAbiCodec,
1843        serde::Serialize,
1844        serde::Deserialize,
1845        Default,
1846        Debug,
1847        PartialEq,
1848        Eq,
1849        Hash
1850    )]
1851    pub struct TokenReturn(pub ::ethers::core::types::Address);
1852    ///Container type for all return fields from the `totalMinted` function with signature `totalMinted()` and selector `0xa2309ff8`
1853    #[derive(
1854        Clone,
1855        ::ethers::contract::EthAbiType,
1856        ::ethers::contract::EthAbiCodec,
1857        serde::Serialize,
1858        serde::Deserialize,
1859        Default,
1860        Debug,
1861        PartialEq,
1862        Eq,
1863        Hash
1864    )]
1865    pub struct TotalMintedReturn(pub u128);
1866    ///Container type for all return fields from the `totalToBeMinted` function with signature `totalToBeMinted()` and selector `0x0373a364`
1867    #[derive(
1868        Clone,
1869        ::ethers::contract::EthAbiType,
1870        ::ethers::contract::EthAbiCodec,
1871        serde::Serialize,
1872        serde::Deserialize,
1873        Default,
1874        Debug,
1875        PartialEq,
1876        Eq,
1877        Hash
1878    )]
1879    pub struct TotalToBeMintedReturn(pub u128);
1880}