switchboard_evm/bindings/
switchboard.rs

1pub use switchboard::*;
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 switchboard {
13    #[allow(deprecated)]
14    fn __abi() -> ::ethers::core::abi::Abi {
15        ::ethers::core::abi::ethabi::Contract {
16            constructor: ::core::option::Option::None,
17            functions: ::core::convert::From::from([
18                (
19                    ::std::borrow::ToOwned::to_owned("addMrEnclaveToAttestationQueue"),
20                    ::std::vec![
21                        ::ethers::core::abi::ethabi::Function {
22                            name: ::std::borrow::ToOwned::to_owned(
23                                "addMrEnclaveToAttestationQueue",
24                            ),
25                            inputs: ::std::vec![
26                                ::ethers::core::abi::ethabi::Param {
27                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
28                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
29                                    internal_type: ::core::option::Option::Some(
30                                        ::std::borrow::ToOwned::to_owned("address"),
31                                    ),
32                                },
33                                ::ethers::core::abi::ethabi::Param {
34                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
35                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
36                                        32usize,
37                                    ),
38                                    internal_type: ::core::option::Option::Some(
39                                        ::std::borrow::ToOwned::to_owned("bytes32"),
40                                    ),
41                                },
42                            ],
43                            outputs: ::std::vec![],
44                            constant: ::core::option::Option::None,
45                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
46                        },
47                    ],
48                ),
49                (
50                    ::std::borrow::ToOwned::to_owned("addMrEnclaveToFunction"),
51                    ::std::vec![
52                        ::ethers::core::abi::ethabi::Function {
53                            name: ::std::borrow::ToOwned::to_owned(
54                                "addMrEnclaveToFunction",
55                            ),
56                            inputs: ::std::vec![
57                                ::ethers::core::abi::ethabi::Param {
58                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
59                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
60                                    internal_type: ::core::option::Option::Some(
61                                        ::std::borrow::ToOwned::to_owned("address"),
62                                    ),
63                                },
64                                ::ethers::core::abi::ethabi::Param {
65                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
66                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
67                                        32usize,
68                                    ),
69                                    internal_type: ::core::option::Option::Some(
70                                        ::std::borrow::ToOwned::to_owned("bytes32"),
71                                    ),
72                                },
73                            ],
74                            outputs: ::std::vec![],
75                            constant: ::core::option::Option::None,
76                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
77                        },
78                    ],
79                ),
80                (
81                    ::std::borrow::ToOwned::to_owned("addMrEnclaveToOracleQueue"),
82                    ::std::vec![
83                        ::ethers::core::abi::ethabi::Function {
84                            name: ::std::borrow::ToOwned::to_owned(
85                                "addMrEnclaveToOracleQueue",
86                            ),
87                            inputs: ::std::vec![
88                                ::ethers::core::abi::ethabi::Param {
89                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
90                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
91                                    internal_type: ::core::option::Option::Some(
92                                        ::std::borrow::ToOwned::to_owned("address"),
93                                    ),
94                                },
95                                ::ethers::core::abi::ethabi::Param {
96                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
97                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
98                                        32usize,
99                                    ),
100                                    internal_type: ::core::option::Option::Some(
101                                        ::std::borrow::ToOwned::to_owned("bytes32"),
102                                    ),
103                                },
104                            ],
105                            outputs: ::std::vec![],
106                            constant: ::core::option::Option::None,
107                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
108                        },
109                    ],
110                ),
111                (
112                    ::std::borrow::ToOwned::to_owned("addStake"),
113                    ::std::vec![
114                        ::ethers::core::abi::ethabi::Function {
115                            name: ::std::borrow::ToOwned::to_owned("addStake"),
116                            inputs: ::std::vec![
117                                ::ethers::core::abi::ethabi::Param {
118                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
119                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
120                                    internal_type: ::core::option::Option::Some(
121                                        ::std::borrow::ToOwned::to_owned("address"),
122                                    ),
123                                },
124                                ::ethers::core::abi::ethabi::Param {
125                                    name: ::std::borrow::ToOwned::to_owned("amount"),
126                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
127                                        256usize,
128                                    ),
129                                    internal_type: ::core::option::Option::Some(
130                                        ::std::borrow::ToOwned::to_owned("uint256"),
131                                    ),
132                                },
133                            ],
134                            outputs: ::std::vec![],
135                            constant: ::core::option::Option::None,
136                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
137                        },
138                    ],
139                ),
140                (
141                    ::std::borrow::ToOwned::to_owned("aggregatorEscrowFund"),
142                    ::std::vec![
143                        ::ethers::core::abi::ethabi::Function {
144                            name: ::std::borrow::ToOwned::to_owned(
145                                "aggregatorEscrowFund",
146                            ),
147                            inputs: ::std::vec![
148                                ::ethers::core::abi::ethabi::Param {
149                                    name: ::std::borrow::ToOwned::to_owned("accountId"),
150                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
151                                    internal_type: ::core::option::Option::Some(
152                                        ::std::borrow::ToOwned::to_owned("address"),
153                                    ),
154                                },
155                            ],
156                            outputs: ::std::vec![],
157                            constant: ::core::option::Option::None,
158                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
159                        },
160                    ],
161                ),
162                (
163                    ::std::borrow::ToOwned::to_owned("aggregatorEscrowWithdraw"),
164                    ::std::vec![
165                        ::ethers::core::abi::ethabi::Function {
166                            name: ::std::borrow::ToOwned::to_owned(
167                                "aggregatorEscrowWithdraw",
168                            ),
169                            inputs: ::std::vec![
170                                ::ethers::core::abi::ethabi::Param {
171                                    name: ::std::borrow::ToOwned::to_owned("recipient"),
172                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
173                                    internal_type: ::core::option::Option::Some(
174                                        ::std::borrow::ToOwned::to_owned("address payable"),
175                                    ),
176                                },
177                                ::ethers::core::abi::ethabi::Param {
178                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
179                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
180                                    internal_type: ::core::option::Option::Some(
181                                        ::std::borrow::ToOwned::to_owned("address"),
182                                    ),
183                                },
184                                ::ethers::core::abi::ethabi::Param {
185                                    name: ::std::borrow::ToOwned::to_owned("amount"),
186                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
187                                        256usize,
188                                    ),
189                                    internal_type: ::core::option::Option::Some(
190                                        ::std::borrow::ToOwned::to_owned("uint256"),
191                                    ),
192                                },
193                            ],
194                            outputs: ::std::vec![],
195                            constant: ::core::option::Option::None,
196                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
197                        },
198                    ],
199                ),
200                (
201                    ::std::borrow::ToOwned::to_owned("aggregatorHistory"),
202                    ::std::vec![
203                        ::ethers::core::abi::ethabi::Function {
204                            name: ::std::borrow::ToOwned::to_owned("aggregatorHistory"),
205                            inputs: ::std::vec![
206                                ::ethers::core::abi::ethabi::Param {
207                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
208                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
209                                    internal_type: ::core::option::Option::Some(
210                                        ::std::borrow::ToOwned::to_owned("address"),
211                                    ),
212                                },
213                                ::ethers::core::abi::ethabi::Param {
214                                    name: ::std::borrow::ToOwned::to_owned("roundId"),
215                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(80usize),
216                                    internal_type: ::core::option::Option::Some(
217                                        ::std::borrow::ToOwned::to_owned("uint80"),
218                                    ),
219                                },
220                            ],
221                            outputs: ::std::vec![
222                                ::ethers::core::abi::ethabi::Param {
223                                    name: ::std::string::String::new(),
224                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
225                                        ::std::vec![
226                                            ::ethers::core::abi::ethabi::ParamType::Int(256usize),
227                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
228                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
229                                        ],
230                                    ),
231                                    internal_type: ::core::option::Option::Some(
232                                        ::std::borrow::ToOwned::to_owned(
233                                            "struct AggregatorLib.AggregatorHistoryResult",
234                                        ),
235                                    ),
236                                },
237                            ],
238                            constant: ::core::option::Option::None,
239                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
240                        },
241                    ],
242                ),
243                (
244                    ::std::borrow::ToOwned::to_owned("aggregators"),
245                    ::std::vec![
246                        ::ethers::core::abi::ethabi::Function {
247                            name: ::std::borrow::ToOwned::to_owned("aggregators"),
248                            inputs: ::std::vec![
249                                ::ethers::core::abi::ethabi::Param {
250                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
251                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
252                                    internal_type: ::core::option::Option::Some(
253                                        ::std::borrow::ToOwned::to_owned("address"),
254                                    ),
255                                },
256                            ],
257                            outputs: ::std::vec![
258                                ::ethers::core::abi::ethabi::Param {
259                                    name: ::std::string::String::new(),
260                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
261                                        ::std::vec![
262                                            ::ethers::core::abi::ethabi::ParamType::String,
263                                            ::ethers::core::abi::ethabi::ParamType::Address,
264                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
265                                                ::std::vec![
266                                                    ::ethers::core::abi::ethabi::ParamType::Int(256usize),
267                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
268                                                    ::ethers::core::abi::ethabi::ParamType::Address,
269                                                ],
270                                            ),
271                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
272                                                ::std::vec![
273                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
274                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
275                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
276                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
277                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
278                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
279                                                ],
280                                            ),
281                                            ::ethers::core::abi::ethabi::ParamType::String,
282                                            ::ethers::core::abi::ethabi::ParamType::Address,
283                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
284                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
285                                            ::ethers::core::abi::ethabi::ParamType::Uint(80usize),
286                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
287                                            ::ethers::core::abi::ethabi::ParamType::Bool,
288                                        ],
289                                    ),
290                                    internal_type: ::core::option::Option::Some(
291                                        ::std::borrow::ToOwned::to_owned(
292                                            "struct AggregatorLib.Aggregator",
293                                        ),
294                                    ),
295                                },
296                            ],
297                            constant: ::core::option::Option::None,
298                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
299                        },
300                    ],
301                ),
302                (
303                    ::std::borrow::ToOwned::to_owned("allowance"),
304                    ::std::vec![
305                        ::ethers::core::abi::ethabi::Function {
306                            name: ::std::borrow::ToOwned::to_owned("allowance"),
307                            inputs: ::std::vec![
308                                ::ethers::core::abi::ethabi::Param {
309                                    name: ::std::borrow::ToOwned::to_owned("owner"),
310                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
311                                    internal_type: ::core::option::Option::Some(
312                                        ::std::borrow::ToOwned::to_owned("address"),
313                                    ),
314                                },
315                                ::ethers::core::abi::ethabi::Param {
316                                    name: ::std::borrow::ToOwned::to_owned("spender"),
317                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
318                                    internal_type: ::core::option::Option::Some(
319                                        ::std::borrow::ToOwned::to_owned("address"),
320                                    ),
321                                },
322                            ],
323                            outputs: ::std::vec![
324                                ::ethers::core::abi::ethabi::Param {
325                                    name: ::std::string::String::new(),
326                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
327                                        256usize,
328                                    ),
329                                    internal_type: ::core::option::Option::Some(
330                                        ::std::borrow::ToOwned::to_owned("uint256"),
331                                    ),
332                                },
333                            ],
334                            constant: ::core::option::Option::None,
335                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
336                        },
337                    ],
338                ),
339                (
340                    ::std::borrow::ToOwned::to_owned("approve"),
341                    ::std::vec![
342                        ::ethers::core::abi::ethabi::Function {
343                            name: ::std::borrow::ToOwned::to_owned("approve"),
344                            inputs: ::std::vec![
345                                ::ethers::core::abi::ethabi::Param {
346                                    name: ::std::borrow::ToOwned::to_owned("spender"),
347                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
348                                    internal_type: ::core::option::Option::Some(
349                                        ::std::borrow::ToOwned::to_owned("address"),
350                                    ),
351                                },
352                                ::ethers::core::abi::ethabi::Param {
353                                    name: ::std::borrow::ToOwned::to_owned("value"),
354                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
355                                        256usize,
356                                    ),
357                                    internal_type: ::core::option::Option::Some(
358                                        ::std::borrow::ToOwned::to_owned("uint256"),
359                                    ),
360                                },
361                            ],
362                            outputs: ::std::vec![
363                                ::ethers::core::abi::ethabi::Param {
364                                    name: ::std::string::String::new(),
365                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
366                                    internal_type: ::core::option::Option::Some(
367                                        ::std::borrow::ToOwned::to_owned("bool"),
368                                    ),
369                                },
370                            ],
371                            constant: ::core::option::Option::None,
372                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
373                        },
374                    ],
375                ),
376                (
377                    ::std::borrow::ToOwned::to_owned("attestationQueueHasMrEnclave"),
378                    ::std::vec![
379                        ::ethers::core::abi::ethabi::Function {
380                            name: ::std::borrow::ToOwned::to_owned(
381                                "attestationQueueHasMrEnclave",
382                            ),
383                            inputs: ::std::vec![
384                                ::ethers::core::abi::ethabi::Param {
385                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
386                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
387                                    internal_type: ::core::option::Option::Some(
388                                        ::std::borrow::ToOwned::to_owned("address"),
389                                    ),
390                                },
391                                ::ethers::core::abi::ethabi::Param {
392                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
393                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
394                                        32usize,
395                                    ),
396                                    internal_type: ::core::option::Option::Some(
397                                        ::std::borrow::ToOwned::to_owned("bytes32"),
398                                    ),
399                                },
400                            ],
401                            outputs: ::std::vec![
402                                ::ethers::core::abi::ethabi::Param {
403                                    name: ::std::string::String::new(),
404                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
405                                    internal_type: ::core::option::Option::Some(
406                                        ::std::borrow::ToOwned::to_owned("bool"),
407                                    ),
408                                },
409                            ],
410                            constant: ::core::option::Option::None,
411                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
412                        },
413                    ],
414                ),
415                (
416                    ::std::borrow::ToOwned::to_owned("attestationQueues"),
417                    ::std::vec![
418                        ::ethers::core::abi::ethabi::Function {
419                            name: ::std::borrow::ToOwned::to_owned("attestationQueues"),
420                            inputs: ::std::vec![
421                                ::ethers::core::abi::ethabi::Param {
422                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
423                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
424                                    internal_type: ::core::option::Option::Some(
425                                        ::std::borrow::ToOwned::to_owned("address"),
426                                    ),
427                                },
428                            ],
429                            outputs: ::std::vec![
430                                ::ethers::core::abi::ethabi::Param {
431                                    name: ::std::string::String::new(),
432                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
433                                        ::std::vec![
434                                            ::ethers::core::abi::ethabi::ParamType::Address,
435                                            ::ethers::core::abi::ethabi::ParamType::Array(
436                                                ::std::boxed::Box::new(
437                                                    ::ethers::core::abi::ethabi::ParamType::Address,
438                                                ),
439                                            ),
440                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
441                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
442                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
443                                            ::ethers::core::abi::ethabi::ParamType::Array(
444                                                ::std::boxed::Box::new(
445                                                    ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
446                                                ),
447                                            ),
448                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
449                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
450                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
451                                            ::ethers::core::abi::ethabi::ParamType::Bool,
452                                            ::ethers::core::abi::ethabi::ParamType::Bool,
453                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
454                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
455                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
456                                        ],
457                                    ),
458                                    internal_type: ::core::option::Option::Some(
459                                        ::std::borrow::ToOwned::to_owned(
460                                            "struct AttestationQueueLib.AttestationQueue",
461                                        ),
462                                    ),
463                                },
464                            ],
465                            constant: ::core::option::Option::None,
466                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
467                        },
468                    ],
469                ),
470                (
471                    ::std::borrow::ToOwned::to_owned("balanceOf"),
472                    ::std::vec![
473                        ::ethers::core::abi::ethabi::Function {
474                            name: ::std::borrow::ToOwned::to_owned("balanceOf"),
475                            inputs: ::std::vec![
476                                ::ethers::core::abi::ethabi::Param {
477                                    name: ::std::borrow::ToOwned::to_owned("account"),
478                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
479                                    internal_type: ::core::option::Option::Some(
480                                        ::std::borrow::ToOwned::to_owned("address"),
481                                    ),
482                                },
483                            ],
484                            outputs: ::std::vec![
485                                ::ethers::core::abi::ethabi::Param {
486                                    name: ::std::string::String::new(),
487                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
488                                        256usize,
489                                    ),
490                                    internal_type: ::core::option::Option::Some(
491                                        ::std::borrow::ToOwned::to_owned("uint256"),
492                                    ),
493                                },
494                            ],
495                            constant: ::core::option::Option::None,
496                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
497                        },
498                    ],
499                ),
500                (
501                    ::std::borrow::ToOwned::to_owned("callBalances"),
502                    ::std::vec![
503                        ::ethers::core::abi::ethabi::Function {
504                            name: ::std::borrow::ToOwned::to_owned("callBalances"),
505                            inputs: ::std::vec![
506                                ::ethers::core::abi::ethabi::Param {
507                                    name: ::std::borrow::ToOwned::to_owned("callIds"),
508                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
509                                        ::std::boxed::Box::new(
510                                            ::ethers::core::abi::ethabi::ParamType::Address,
511                                        ),
512                                    ),
513                                    internal_type: ::core::option::Option::Some(
514                                        ::std::borrow::ToOwned::to_owned("address[]"),
515                                    ),
516                                },
517                            ],
518                            outputs: ::std::vec![
519                                ::ethers::core::abi::ethabi::Param {
520                                    name: ::std::borrow::ToOwned::to_owned("balances"),
521                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
522                                        ::std::boxed::Box::new(
523                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
524                                        ),
525                                    ),
526                                    internal_type: ::core::option::Option::Some(
527                                        ::std::borrow::ToOwned::to_owned("uint256[]"),
528                                    ),
529                                },
530                            ],
531                            constant: ::core::option::Option::None,
532                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
533                        },
534                    ],
535                ),
536                (
537                    ::std::borrow::ToOwned::to_owned("callFunction"),
538                    ::std::vec![
539                        ::ethers::core::abi::ethabi::Function {
540                            name: ::std::borrow::ToOwned::to_owned("callFunction"),
541                            inputs: ::std::vec![
542                                ::ethers::core::abi::ethabi::Param {
543                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
544                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
545                                    internal_type: ::core::option::Option::Some(
546                                        ::std::borrow::ToOwned::to_owned("address"),
547                                    ),
548                                },
549                                ::ethers::core::abi::ethabi::Param {
550                                    name: ::std::borrow::ToOwned::to_owned("params"),
551                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
552                                    internal_type: ::core::option::Option::Some(
553                                        ::std::borrow::ToOwned::to_owned("bytes"),
554                                    ),
555                                },
556                            ],
557                            outputs: ::std::vec![
558                                ::ethers::core::abi::ethabi::Param {
559                                    name: ::std::borrow::ToOwned::to_owned("callId"),
560                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
561                                    internal_type: ::core::option::Option::Some(
562                                        ::std::borrow::ToOwned::to_owned("address"),
563                                    ),
564                                },
565                            ],
566                            constant: ::core::option::Option::None,
567                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
568                        },
569                    ],
570                ),
571                (
572                    ::std::borrow::ToOwned::to_owned("createAggregator"),
573                    ::std::vec![
574                        ::ethers::core::abi::ethabi::Function {
575                            name: ::std::borrow::ToOwned::to_owned("createAggregator"),
576                            inputs: ::std::vec![
577                                ::ethers::core::abi::ethabi::Param {
578                                    name: ::std::borrow::ToOwned::to_owned("name"),
579                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
580                                    internal_type: ::core::option::Option::Some(
581                                        ::std::borrow::ToOwned::to_owned("string"),
582                                    ),
583                                },
584                                ::ethers::core::abi::ethabi::Param {
585                                    name: ::std::borrow::ToOwned::to_owned("authority"),
586                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
587                                    internal_type: ::core::option::Option::Some(
588                                        ::std::borrow::ToOwned::to_owned("address"),
589                                    ),
590                                },
591                                ::ethers::core::abi::ethabi::Param {
592                                    name: ::std::borrow::ToOwned::to_owned("batchSize"),
593                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
594                                        256usize,
595                                    ),
596                                    internal_type: ::core::option::Option::Some(
597                                        ::std::borrow::ToOwned::to_owned("uint256"),
598                                    ),
599                                },
600                                ::ethers::core::abi::ethabi::Param {
601                                    name: ::std::borrow::ToOwned::to_owned(
602                                        "minUpdateDelaySeconds",
603                                    ),
604                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
605                                        256usize,
606                                    ),
607                                    internal_type: ::core::option::Option::Some(
608                                        ::std::borrow::ToOwned::to_owned("uint256"),
609                                    ),
610                                },
611                                ::ethers::core::abi::ethabi::Param {
612                                    name: ::std::borrow::ToOwned::to_owned("minOracleResults"),
613                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
614                                        256usize,
615                                    ),
616                                    internal_type: ::core::option::Option::Some(
617                                        ::std::borrow::ToOwned::to_owned("uint256"),
618                                    ),
619                                },
620                                ::ethers::core::abi::ethabi::Param {
621                                    name: ::std::borrow::ToOwned::to_owned("jobsHash"),
622                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
623                                    internal_type: ::core::option::Option::Some(
624                                        ::std::borrow::ToOwned::to_owned("string"),
625                                    ),
626                                },
627                                ::ethers::core::abi::ethabi::Param {
628                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
629                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
630                                    internal_type: ::core::option::Option::Some(
631                                        ::std::borrow::ToOwned::to_owned("address"),
632                                    ),
633                                },
634                                ::ethers::core::abi::ethabi::Param {
635                                    name: ::std::borrow::ToOwned::to_owned("varianceThreshold"),
636                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
637                                        256usize,
638                                    ),
639                                    internal_type: ::core::option::Option::Some(
640                                        ::std::borrow::ToOwned::to_owned("uint256"),
641                                    ),
642                                },
643                                ::ethers::core::abi::ethabi::Param {
644                                    name: ::std::borrow::ToOwned::to_owned("minJobResults"),
645                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
646                                        256usize,
647                                    ),
648                                    internal_type: ::core::option::Option::Some(
649                                        ::std::borrow::ToOwned::to_owned("uint256"),
650                                    ),
651                                },
652                                ::ethers::core::abi::ethabi::Param {
653                                    name: ::std::borrow::ToOwned::to_owned("forceReportPeriod"),
654                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
655                                        256usize,
656                                    ),
657                                    internal_type: ::core::option::Option::Some(
658                                        ::std::borrow::ToOwned::to_owned("uint256"),
659                                    ),
660                                },
661                                ::ethers::core::abi::ethabi::Param {
662                                    name: ::std::borrow::ToOwned::to_owned("enableHistory"),
663                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
664                                    internal_type: ::core::option::Option::Some(
665                                        ::std::borrow::ToOwned::to_owned("bool"),
666                                    ),
667                                },
668                            ],
669                            outputs: ::std::vec![],
670                            constant: ::core::option::Option::None,
671                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
672                        },
673                    ],
674                ),
675                (
676                    ::std::borrow::ToOwned::to_owned("createAttestationQueue"),
677                    ::std::vec![
678                        ::ethers::core::abi::ethabi::Function {
679                            name: ::std::borrow::ToOwned::to_owned(
680                                "createAttestationQueue",
681                            ),
682                            inputs: ::std::vec![
683                                ::ethers::core::abi::ethabi::Param {
684                                    name: ::std::borrow::ToOwned::to_owned("authority"),
685                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
686                                    internal_type: ::core::option::Option::Some(
687                                        ::std::borrow::ToOwned::to_owned("address"),
688                                    ),
689                                },
690                                ::ethers::core::abi::ethabi::Param {
691                                    name: ::std::borrow::ToOwned::to_owned("maxSize"),
692                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
693                                        256usize,
694                                    ),
695                                    internal_type: ::core::option::Option::Some(
696                                        ::std::borrow::ToOwned::to_owned("uint256"),
697                                    ),
698                                },
699                                ::ethers::core::abi::ethabi::Param {
700                                    name: ::std::borrow::ToOwned::to_owned("reward"),
701                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
702                                        256usize,
703                                    ),
704                                    internal_type: ::core::option::Option::Some(
705                                        ::std::borrow::ToOwned::to_owned("uint256"),
706                                    ),
707                                },
708                                ::ethers::core::abi::ethabi::Param {
709                                    name: ::std::borrow::ToOwned::to_owned("enclaveTimeout"),
710                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
711                                        256usize,
712                                    ),
713                                    internal_type: ::core::option::Option::Some(
714                                        ::std::borrow::ToOwned::to_owned("uint256"),
715                                    ),
716                                },
717                                ::ethers::core::abi::ethabi::Param {
718                                    name: ::std::borrow::ToOwned::to_owned(
719                                        "maxEnclaveVerificationAge",
720                                    ),
721                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
722                                        256usize,
723                                    ),
724                                    internal_type: ::core::option::Option::Some(
725                                        ::std::borrow::ToOwned::to_owned("uint256"),
726                                    ),
727                                },
728                                ::ethers::core::abi::ethabi::Param {
729                                    name: ::std::borrow::ToOwned::to_owned(
730                                        "allowAuthorityOverrideAfter",
731                                    ),
732                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
733                                        256usize,
734                                    ),
735                                    internal_type: ::core::option::Option::Some(
736                                        ::std::borrow::ToOwned::to_owned("uint256"),
737                                    ),
738                                },
739                                ::ethers::core::abi::ethabi::Param {
740                                    name: ::std::borrow::ToOwned::to_owned(
741                                        "requireAuthorityHeartbeatPermission",
742                                    ),
743                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
744                                    internal_type: ::core::option::Option::Some(
745                                        ::std::borrow::ToOwned::to_owned("bool"),
746                                    ),
747                                },
748                                ::ethers::core::abi::ethabi::Param {
749                                    name: ::std::borrow::ToOwned::to_owned(
750                                        "requireUsagePermissions",
751                                    ),
752                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
753                                    internal_type: ::core::option::Option::Some(
754                                        ::std::borrow::ToOwned::to_owned("bool"),
755                                    ),
756                                },
757                                ::ethers::core::abi::ethabi::Param {
758                                    name: ::std::borrow::ToOwned::to_owned(
759                                        "maxConsecutiveFunctionFailures",
760                                    ),
761                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
762                                        256usize,
763                                    ),
764                                    internal_type: ::core::option::Option::Some(
765                                        ::std::borrow::ToOwned::to_owned("uint256"),
766                                    ),
767                                },
768                            ],
769                            outputs: ::std::vec![],
770                            constant: ::core::option::Option::None,
771                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
772                        },
773                    ],
774                ),
775                (
776                    ::std::borrow::ToOwned::to_owned("createEnclave"),
777                    ::std::vec![
778                        ::ethers::core::abi::ethabi::Function {
779                            name: ::std::borrow::ToOwned::to_owned("createEnclave"),
780                            inputs: ::std::vec![
781                                ::ethers::core::abi::ethabi::Param {
782                                    name: ::std::borrow::ToOwned::to_owned("signer"),
783                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
784                                    internal_type: ::core::option::Option::Some(
785                                        ::std::borrow::ToOwned::to_owned("address"),
786                                    ),
787                                },
788                                ::ethers::core::abi::ethabi::Param {
789                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
790                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
791                                    internal_type: ::core::option::Option::Some(
792                                        ::std::borrow::ToOwned::to_owned("address"),
793                                    ),
794                                },
795                                ::ethers::core::abi::ethabi::Param {
796                                    name: ::std::borrow::ToOwned::to_owned("authority"),
797                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
798                                    internal_type: ::core::option::Option::Some(
799                                        ::std::borrow::ToOwned::to_owned("address"),
800                                    ),
801                                },
802                            ],
803                            outputs: ::std::vec![],
804                            constant: ::core::option::Option::None,
805                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
806                        },
807                    ],
808                ),
809                (
810                    ::std::borrow::ToOwned::to_owned("createEnclaveWithId"),
811                    ::std::vec![
812                        ::ethers::core::abi::ethabi::Function {
813                            name: ::std::borrow::ToOwned::to_owned(
814                                "createEnclaveWithId",
815                            ),
816                            inputs: ::std::vec![
817                                ::ethers::core::abi::ethabi::Param {
818                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
819                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
820                                    internal_type: ::core::option::Option::Some(
821                                        ::std::borrow::ToOwned::to_owned("address"),
822                                    ),
823                                },
824                                ::ethers::core::abi::ethabi::Param {
825                                    name: ::std::borrow::ToOwned::to_owned("signer"),
826                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
827                                    internal_type: ::core::option::Option::Some(
828                                        ::std::borrow::ToOwned::to_owned("address"),
829                                    ),
830                                },
831                                ::ethers::core::abi::ethabi::Param {
832                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
833                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
834                                    internal_type: ::core::option::Option::Some(
835                                        ::std::borrow::ToOwned::to_owned("address"),
836                                    ),
837                                },
838                                ::ethers::core::abi::ethabi::Param {
839                                    name: ::std::borrow::ToOwned::to_owned("authority"),
840                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
841                                    internal_type: ::core::option::Option::Some(
842                                        ::std::borrow::ToOwned::to_owned("address"),
843                                    ),
844                                },
845                            ],
846                            outputs: ::std::vec![],
847                            constant: ::core::option::Option::None,
848                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
849                        },
850                    ],
851                ),
852                (
853                    ::std::borrow::ToOwned::to_owned("createFunction"),
854                    ::std::vec![
855                        ::ethers::core::abi::ethabi::Function {
856                            name: ::std::borrow::ToOwned::to_owned("createFunction"),
857                            inputs: ::std::vec![
858                                ::ethers::core::abi::ethabi::Param {
859                                    name: ::std::borrow::ToOwned::to_owned("name"),
860                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
861                                    internal_type: ::core::option::Option::Some(
862                                        ::std::borrow::ToOwned::to_owned("string"),
863                                    ),
864                                },
865                                ::ethers::core::abi::ethabi::Param {
866                                    name: ::std::borrow::ToOwned::to_owned("authority"),
867                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
868                                    internal_type: ::core::option::Option::Some(
869                                        ::std::borrow::ToOwned::to_owned("address"),
870                                    ),
871                                },
872                                ::ethers::core::abi::ethabi::Param {
873                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
874                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
875                                    internal_type: ::core::option::Option::Some(
876                                        ::std::borrow::ToOwned::to_owned("address"),
877                                    ),
878                                },
879                                ::ethers::core::abi::ethabi::Param {
880                                    name: ::std::borrow::ToOwned::to_owned("containerRegistry"),
881                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
882                                    internal_type: ::core::option::Option::Some(
883                                        ::std::borrow::ToOwned::to_owned("string"),
884                                    ),
885                                },
886                                ::ethers::core::abi::ethabi::Param {
887                                    name: ::std::borrow::ToOwned::to_owned("container"),
888                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
889                                    internal_type: ::core::option::Option::Some(
890                                        ::std::borrow::ToOwned::to_owned("string"),
891                                    ),
892                                },
893                                ::ethers::core::abi::ethabi::Param {
894                                    name: ::std::borrow::ToOwned::to_owned("version"),
895                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
896                                    internal_type: ::core::option::Option::Some(
897                                        ::std::borrow::ToOwned::to_owned("string"),
898                                    ),
899                                },
900                                ::ethers::core::abi::ethabi::Param {
901                                    name: ::std::borrow::ToOwned::to_owned("schedule"),
902                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
903                                    internal_type: ::core::option::Option::Some(
904                                        ::std::borrow::ToOwned::to_owned("string"),
905                                    ),
906                                },
907                                ::ethers::core::abi::ethabi::Param {
908                                    name: ::std::borrow::ToOwned::to_owned("paramsSchema"),
909                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
910                                    internal_type: ::core::option::Option::Some(
911                                        ::std::borrow::ToOwned::to_owned("string"),
912                                    ),
913                                },
914                                ::ethers::core::abi::ethabi::Param {
915                                    name: ::std::borrow::ToOwned::to_owned("permittedCallers"),
916                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
917                                        ::std::boxed::Box::new(
918                                            ::ethers::core::abi::ethabi::ParamType::Address,
919                                        ),
920                                    ),
921                                    internal_type: ::core::option::Option::Some(
922                                        ::std::borrow::ToOwned::to_owned("address[]"),
923                                    ),
924                                },
925                            ],
926                            outputs: ::std::vec![],
927                            constant: ::core::option::Option::None,
928                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
929                        },
930                    ],
931                ),
932                (
933                    ::std::borrow::ToOwned::to_owned("createFunctionWithId"),
934                    ::std::vec![
935                        ::ethers::core::abi::ethabi::Function {
936                            name: ::std::borrow::ToOwned::to_owned(
937                                "createFunctionWithId",
938                            ),
939                            inputs: ::std::vec![
940                                ::ethers::core::abi::ethabi::Param {
941                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
942                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
943                                    internal_type: ::core::option::Option::Some(
944                                        ::std::borrow::ToOwned::to_owned("address"),
945                                    ),
946                                },
947                                ::ethers::core::abi::ethabi::Param {
948                                    name: ::std::borrow::ToOwned::to_owned("name"),
949                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
950                                    internal_type: ::core::option::Option::Some(
951                                        ::std::borrow::ToOwned::to_owned("string"),
952                                    ),
953                                },
954                                ::ethers::core::abi::ethabi::Param {
955                                    name: ::std::borrow::ToOwned::to_owned("authority"),
956                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
957                                    internal_type: ::core::option::Option::Some(
958                                        ::std::borrow::ToOwned::to_owned("address"),
959                                    ),
960                                },
961                                ::ethers::core::abi::ethabi::Param {
962                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
963                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
964                                    internal_type: ::core::option::Option::Some(
965                                        ::std::borrow::ToOwned::to_owned("address"),
966                                    ),
967                                },
968                                ::ethers::core::abi::ethabi::Param {
969                                    name: ::std::borrow::ToOwned::to_owned("containerRegistry"),
970                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
971                                    internal_type: ::core::option::Option::Some(
972                                        ::std::borrow::ToOwned::to_owned("string"),
973                                    ),
974                                },
975                                ::ethers::core::abi::ethabi::Param {
976                                    name: ::std::borrow::ToOwned::to_owned("container"),
977                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
978                                    internal_type: ::core::option::Option::Some(
979                                        ::std::borrow::ToOwned::to_owned("string"),
980                                    ),
981                                },
982                                ::ethers::core::abi::ethabi::Param {
983                                    name: ::std::borrow::ToOwned::to_owned("version"),
984                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
985                                    internal_type: ::core::option::Option::Some(
986                                        ::std::borrow::ToOwned::to_owned("string"),
987                                    ),
988                                },
989                                ::ethers::core::abi::ethabi::Param {
990                                    name: ::std::borrow::ToOwned::to_owned("schedule"),
991                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
992                                    internal_type: ::core::option::Option::Some(
993                                        ::std::borrow::ToOwned::to_owned("string"),
994                                    ),
995                                },
996                                ::ethers::core::abi::ethabi::Param {
997                                    name: ::std::borrow::ToOwned::to_owned("paramsSchema"),
998                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
999                                    internal_type: ::core::option::Option::Some(
1000                                        ::std::borrow::ToOwned::to_owned("string"),
1001                                    ),
1002                                },
1003                                ::ethers::core::abi::ethabi::Param {
1004                                    name: ::std::borrow::ToOwned::to_owned("permittedCallers"),
1005                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1006                                        ::std::boxed::Box::new(
1007                                            ::ethers::core::abi::ethabi::ParamType::Address,
1008                                        ),
1009                                    ),
1010                                    internal_type: ::core::option::Option::Some(
1011                                        ::std::borrow::ToOwned::to_owned("address[]"),
1012                                    ),
1013                                },
1014                            ],
1015                            outputs: ::std::vec![],
1016                            constant: ::core::option::Option::None,
1017                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
1018                        },
1019                    ],
1020                ),
1021                (
1022                    ::std::borrow::ToOwned::to_owned("createOracle"),
1023                    ::std::vec![
1024                        ::ethers::core::abi::ethabi::Function {
1025                            name: ::std::borrow::ToOwned::to_owned("createOracle"),
1026                            inputs: ::std::vec![
1027                                ::ethers::core::abi::ethabi::Param {
1028                                    name: ::std::borrow::ToOwned::to_owned("name"),
1029                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
1030                                    internal_type: ::core::option::Option::Some(
1031                                        ::std::borrow::ToOwned::to_owned("string"),
1032                                    ),
1033                                },
1034                                ::ethers::core::abi::ethabi::Param {
1035                                    name: ::std::borrow::ToOwned::to_owned("signer"),
1036                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1037                                    internal_type: ::core::option::Option::Some(
1038                                        ::std::borrow::ToOwned::to_owned("address"),
1039                                    ),
1040                                },
1041                                ::ethers::core::abi::ethabi::Param {
1042                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
1043                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1044                                    internal_type: ::core::option::Option::Some(
1045                                        ::std::borrow::ToOwned::to_owned("address"),
1046                                    ),
1047                                },
1048                                ::ethers::core::abi::ethabi::Param {
1049                                    name: ::std::borrow::ToOwned::to_owned("authority"),
1050                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1051                                    internal_type: ::core::option::Option::Some(
1052                                        ::std::borrow::ToOwned::to_owned("address"),
1053                                    ),
1054                                },
1055                            ],
1056                            outputs: ::std::vec![],
1057                            constant: ::core::option::Option::None,
1058                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1059                        },
1060                    ],
1061                ),
1062                (
1063                    ::std::borrow::ToOwned::to_owned("createOracleQueue"),
1064                    ::std::vec![
1065                        ::ethers::core::abi::ethabi::Function {
1066                            name: ::std::borrow::ToOwned::to_owned("createOracleQueue"),
1067                            inputs: ::std::vec![
1068                                ::ethers::core::abi::ethabi::Param {
1069                                    name: ::std::borrow::ToOwned::to_owned("name"),
1070                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
1071                                    internal_type: ::core::option::Option::Some(
1072                                        ::std::borrow::ToOwned::to_owned("string"),
1073                                    ),
1074                                },
1075                                ::ethers::core::abi::ethabi::Param {
1076                                    name: ::std::borrow::ToOwned::to_owned("authority"),
1077                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1078                                    internal_type: ::core::option::Option::Some(
1079                                        ::std::borrow::ToOwned::to_owned("address"),
1080                                    ),
1081                                },
1082                                ::ethers::core::abi::ethabi::Param {
1083                                    name: ::std::borrow::ToOwned::to_owned(
1084                                        "unpermissionedFeedsEnabled",
1085                                    ),
1086                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
1087                                    internal_type: ::core::option::Option::Some(
1088                                        ::std::borrow::ToOwned::to_owned("bool"),
1089                                    ),
1090                                },
1091                                ::ethers::core::abi::ethabi::Param {
1092                                    name: ::std::borrow::ToOwned::to_owned("maxSize"),
1093                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1094                                        256usize,
1095                                    ),
1096                                    internal_type: ::core::option::Option::Some(
1097                                        ::std::borrow::ToOwned::to_owned("uint256"),
1098                                    ),
1099                                },
1100                                ::ethers::core::abi::ethabi::Param {
1101                                    name: ::std::borrow::ToOwned::to_owned("reward"),
1102                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1103                                        256usize,
1104                                    ),
1105                                    internal_type: ::core::option::Option::Some(
1106                                        ::std::borrow::ToOwned::to_owned("uint256"),
1107                                    ),
1108                                },
1109                                ::ethers::core::abi::ethabi::Param {
1110                                    name: ::std::borrow::ToOwned::to_owned("oracleTimeout"),
1111                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1112                                        256usize,
1113                                    ),
1114                                    internal_type: ::core::option::Option::Some(
1115                                        ::std::borrow::ToOwned::to_owned("uint256"),
1116                                    ),
1117                                },
1118                            ],
1119                            outputs: ::std::vec![],
1120                            constant: ::core::option::Option::None,
1121                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1122                        },
1123                    ],
1124                ),
1125                (
1126                    ::std::borrow::ToOwned::to_owned("createOracleWithId"),
1127                    ::std::vec![
1128                        ::ethers::core::abi::ethabi::Function {
1129                            name: ::std::borrow::ToOwned::to_owned("createOracleWithId"),
1130                            inputs: ::std::vec![
1131                                ::ethers::core::abi::ethabi::Param {
1132                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
1133                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1134                                    internal_type: ::core::option::Option::Some(
1135                                        ::std::borrow::ToOwned::to_owned("address"),
1136                                    ),
1137                                },
1138                                ::ethers::core::abi::ethabi::Param {
1139                                    name: ::std::borrow::ToOwned::to_owned("name"),
1140                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
1141                                    internal_type: ::core::option::Option::Some(
1142                                        ::std::borrow::ToOwned::to_owned("string"),
1143                                    ),
1144                                },
1145                                ::ethers::core::abi::ethabi::Param {
1146                                    name: ::std::borrow::ToOwned::to_owned("signer"),
1147                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1148                                    internal_type: ::core::option::Option::Some(
1149                                        ::std::borrow::ToOwned::to_owned("address"),
1150                                    ),
1151                                },
1152                                ::ethers::core::abi::ethabi::Param {
1153                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
1154                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1155                                    internal_type: ::core::option::Option::Some(
1156                                        ::std::borrow::ToOwned::to_owned("address"),
1157                                    ),
1158                                },
1159                                ::ethers::core::abi::ethabi::Param {
1160                                    name: ::std::borrow::ToOwned::to_owned("authority"),
1161                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1162                                    internal_type: ::core::option::Option::Some(
1163                                        ::std::borrow::ToOwned::to_owned("address"),
1164                                    ),
1165                                },
1166                            ],
1167                            outputs: ::std::vec![],
1168                            constant: ::core::option::Option::None,
1169                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1170                        },
1171                    ],
1172                ),
1173                (
1174                    ::std::borrow::ToOwned::to_owned("createRoutineWithId"),
1175                    ::std::vec![
1176                        ::ethers::core::abi::ethabi::Function {
1177                            name: ::std::borrow::ToOwned::to_owned(
1178                                "createRoutineWithId",
1179                            ),
1180                            inputs: ::std::vec![
1181                                ::ethers::core::abi::ethabi::Param {
1182                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
1183                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1184                                    internal_type: ::core::option::Option::Some(
1185                                        ::std::borrow::ToOwned::to_owned("address"),
1186                                    ),
1187                                },
1188                                ::ethers::core::abi::ethabi::Param {
1189                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
1190                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1191                                    internal_type: ::core::option::Option::Some(
1192                                        ::std::borrow::ToOwned::to_owned("address"),
1193                                    ),
1194                                },
1195                                ::ethers::core::abi::ethabi::Param {
1196                                    name: ::std::borrow::ToOwned::to_owned("authority"),
1197                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1198                                    internal_type: ::core::option::Option::Some(
1199                                        ::std::borrow::ToOwned::to_owned("address"),
1200                                    ),
1201                                },
1202                                ::ethers::core::abi::ethabi::Param {
1203                                    name: ::std::borrow::ToOwned::to_owned("params"),
1204                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1205                                    internal_type: ::core::option::Option::Some(
1206                                        ::std::borrow::ToOwned::to_owned("bytes"),
1207                                    ),
1208                                },
1209                                ::ethers::core::abi::ethabi::Param {
1210                                    name: ::std::borrow::ToOwned::to_owned("schedule"),
1211                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
1212                                    internal_type: ::core::option::Option::Some(
1213                                        ::std::borrow::ToOwned::to_owned("string"),
1214                                    ),
1215                                },
1216                            ],
1217                            outputs: ::std::vec![],
1218                            constant: ::core::option::Option::None,
1219                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
1220                        },
1221                    ],
1222                ),
1223                (
1224                    ::std::borrow::ToOwned::to_owned("diamondCut"),
1225                    ::std::vec![
1226                        ::ethers::core::abi::ethabi::Function {
1227                            name: ::std::borrow::ToOwned::to_owned("diamondCut"),
1228                            inputs: ::std::vec![
1229                                ::ethers::core::abi::ethabi::Param {
1230                                    name: ::std::borrow::ToOwned::to_owned("_diamondCut"),
1231                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1232                                        ::std::boxed::Box::new(
1233                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
1234                                                ::std::vec![
1235                                                    ::ethers::core::abi::ethabi::ParamType::Address,
1236                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
1237                                                    ::ethers::core::abi::ethabi::ParamType::Array(
1238                                                        ::std::boxed::Box::new(
1239                                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize),
1240                                                        ),
1241                                                    ),
1242                                                ],
1243                                            ),
1244                                        ),
1245                                    ),
1246                                    internal_type: ::core::option::Option::Some(
1247                                        ::std::borrow::ToOwned::to_owned(
1248                                            "struct IDiamondCut.FacetCut[]",
1249                                        ),
1250                                    ),
1251                                },
1252                                ::ethers::core::abi::ethabi::Param {
1253                                    name: ::std::borrow::ToOwned::to_owned("_init"),
1254                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1255                                    internal_type: ::core::option::Option::Some(
1256                                        ::std::borrow::ToOwned::to_owned("address"),
1257                                    ),
1258                                },
1259                                ::ethers::core::abi::ethabi::Param {
1260                                    name: ::std::borrow::ToOwned::to_owned("_calldata"),
1261                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1262                                    internal_type: ::core::option::Option::Some(
1263                                        ::std::borrow::ToOwned::to_owned("bytes"),
1264                                    ),
1265                                },
1266                            ],
1267                            outputs: ::std::vec![],
1268                            constant: ::core::option::Option::None,
1269                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1270                        },
1271                    ],
1272                ),
1273                (
1274                    ::std::borrow::ToOwned::to_owned("enclaveGarbageCollect"),
1275                    ::std::vec![
1276                        ::ethers::core::abi::ethabi::Function {
1277                            name: ::std::borrow::ToOwned::to_owned(
1278                                "enclaveGarbageCollect",
1279                            ),
1280                            inputs: ::std::vec![
1281                                ::ethers::core::abi::ethabi::Param {
1282                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
1283                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1284                                    internal_type: ::core::option::Option::Some(
1285                                        ::std::borrow::ToOwned::to_owned("address"),
1286                                    ),
1287                                },
1288                                ::ethers::core::abi::ethabi::Param {
1289                                    name: ::std::borrow::ToOwned::to_owned("enclaveIdx"),
1290                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1291                                        256usize,
1292                                    ),
1293                                    internal_type: ::core::option::Option::Some(
1294                                        ::std::borrow::ToOwned::to_owned("uint256"),
1295                                    ),
1296                                },
1297                            ],
1298                            outputs: ::std::vec![],
1299                            constant: ::core::option::Option::None,
1300                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1301                        },
1302                    ],
1303                ),
1304                (
1305                    ::std::borrow::ToOwned::to_owned("enclaveHeartbeat"),
1306                    ::std::vec![
1307                        ::ethers::core::abi::ethabi::Function {
1308                            name: ::std::borrow::ToOwned::to_owned("enclaveHeartbeat"),
1309                            inputs: ::std::vec![
1310                                ::ethers::core::abi::ethabi::Param {
1311                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
1312                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1313                                    internal_type: ::core::option::Option::Some(
1314                                        ::std::borrow::ToOwned::to_owned("address"),
1315                                    ),
1316                                },
1317                            ],
1318                            outputs: ::std::vec![],
1319                            constant: ::core::option::Option::None,
1320                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1321                        },
1322                    ],
1323                ),
1324                (
1325                    ::std::borrow::ToOwned::to_owned("enclaveSignerToEnclaveId"),
1326                    ::std::vec![
1327                        ::ethers::core::abi::ethabi::Function {
1328                            name: ::std::borrow::ToOwned::to_owned(
1329                                "enclaveSignerToEnclaveId",
1330                            ),
1331                            inputs: ::std::vec![
1332                                ::ethers::core::abi::ethabi::Param {
1333                                    name: ::std::borrow::ToOwned::to_owned("signer"),
1334                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1335                                    internal_type: ::core::option::Option::Some(
1336                                        ::std::borrow::ToOwned::to_owned("address"),
1337                                    ),
1338                                },
1339                            ],
1340                            outputs: ::std::vec![
1341                                ::ethers::core::abi::ethabi::Param {
1342                                    name: ::std::string::String::new(),
1343                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1344                                    internal_type: ::core::option::Option::Some(
1345                                        ::std::borrow::ToOwned::to_owned("address"),
1346                                    ),
1347                                },
1348                            ],
1349                            constant: ::core::option::Option::None,
1350                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1351                        },
1352                    ],
1353                ),
1354                (
1355                    ::std::borrow::ToOwned::to_owned("enclaves"),
1356                    ::std::vec![
1357                        ::ethers::core::abi::ethabi::Function {
1358                            name: ::std::borrow::ToOwned::to_owned("enclaves"),
1359                            inputs: ::std::vec![
1360                                ::ethers::core::abi::ethabi::Param {
1361                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
1362                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1363                                    internal_type: ::core::option::Option::Some(
1364                                        ::std::borrow::ToOwned::to_owned("address"),
1365                                    ),
1366                                },
1367                            ],
1368                            outputs: ::std::vec![
1369                                ::ethers::core::abi::ethabi::Param {
1370                                    name: ::std::string::String::new(),
1371                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1372                                        ::std::vec![
1373                                            ::ethers::core::abi::ethabi::ParamType::Address,
1374                                            ::ethers::core::abi::ethabi::ParamType::Address,
1375                                            ::ethers::core::abi::ethabi::ParamType::Address,
1376                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
1377                                            ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
1378                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1379                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1380                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
1381                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1382                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1383                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1384                                        ],
1385                                    ),
1386                                    internal_type: ::core::option::Option::Some(
1387                                        ::std::borrow::ToOwned::to_owned(
1388                                            "struct EnclaveLib.Enclave",
1389                                        ),
1390                                    ),
1391                                },
1392                            ],
1393                            constant: ::core::option::Option::None,
1394                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1395                        },
1396                    ],
1397                ),
1398                (
1399                    ::std::borrow::ToOwned::to_owned("estimatedRunCost"),
1400                    ::std::vec![
1401                        ::ethers::core::abi::ethabi::Function {
1402                            name: ::std::borrow::ToOwned::to_owned("estimatedRunCost"),
1403                            inputs: ::std::vec![
1404                                ::ethers::core::abi::ethabi::Param {
1405                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
1406                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1407                                    internal_type: ::core::option::Option::Some(
1408                                        ::std::borrow::ToOwned::to_owned("address"),
1409                                    ),
1410                                },
1411                                ::ethers::core::abi::ethabi::Param {
1412                                    name: ::std::borrow::ToOwned::to_owned("gasPrice"),
1413                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1414                                        256usize,
1415                                    ),
1416                                    internal_type: ::core::option::Option::Some(
1417                                        ::std::borrow::ToOwned::to_owned("uint256"),
1418                                    ),
1419                                },
1420                            ],
1421                            outputs: ::std::vec![
1422                                ::ethers::core::abi::ethabi::Param {
1423                                    name: ::std::string::String::new(),
1424                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1425                                        256usize,
1426                                    ),
1427                                    internal_type: ::core::option::Option::Some(
1428                                        ::std::borrow::ToOwned::to_owned("uint256"),
1429                                    ),
1430                                },
1431                            ],
1432                            constant: ::core::option::Option::None,
1433                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1434                        },
1435                    ],
1436                ),
1437                (
1438                    ::std::borrow::ToOwned::to_owned("facetAddress"),
1439                    ::std::vec![
1440                        ::ethers::core::abi::ethabi::Function {
1441                            name: ::std::borrow::ToOwned::to_owned("facetAddress"),
1442                            inputs: ::std::vec![
1443                                ::ethers::core::abi::ethabi::Param {
1444                                    name: ::std::borrow::ToOwned::to_owned("_functionSelector"),
1445                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1446                                        4usize,
1447                                    ),
1448                                    internal_type: ::core::option::Option::Some(
1449                                        ::std::borrow::ToOwned::to_owned("bytes4"),
1450                                    ),
1451                                },
1452                            ],
1453                            outputs: ::std::vec![
1454                                ::ethers::core::abi::ethabi::Param {
1455                                    name: ::std::borrow::ToOwned::to_owned("facetAddress_"),
1456                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1457                                    internal_type: ::core::option::Option::Some(
1458                                        ::std::borrow::ToOwned::to_owned("address"),
1459                                    ),
1460                                },
1461                            ],
1462                            constant: ::core::option::Option::None,
1463                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1464                        },
1465                    ],
1466                ),
1467                (
1468                    ::std::borrow::ToOwned::to_owned("facetAddresses"),
1469                    ::std::vec![
1470                        ::ethers::core::abi::ethabi::Function {
1471                            name: ::std::borrow::ToOwned::to_owned("facetAddresses"),
1472                            inputs: ::std::vec![],
1473                            outputs: ::std::vec![
1474                                ::ethers::core::abi::ethabi::Param {
1475                                    name: ::std::borrow::ToOwned::to_owned("facetAddresses_"),
1476                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1477                                        ::std::boxed::Box::new(
1478                                            ::ethers::core::abi::ethabi::ParamType::Address,
1479                                        ),
1480                                    ),
1481                                    internal_type: ::core::option::Option::Some(
1482                                        ::std::borrow::ToOwned::to_owned("address[]"),
1483                                    ),
1484                                },
1485                            ],
1486                            constant: ::core::option::Option::None,
1487                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1488                        },
1489                    ],
1490                ),
1491                (
1492                    ::std::borrow::ToOwned::to_owned("facetFunctionSelectors"),
1493                    ::std::vec![
1494                        ::ethers::core::abi::ethabi::Function {
1495                            name: ::std::borrow::ToOwned::to_owned(
1496                                "facetFunctionSelectors",
1497                            ),
1498                            inputs: ::std::vec![
1499                                ::ethers::core::abi::ethabi::Param {
1500                                    name: ::std::borrow::ToOwned::to_owned("_facet"),
1501                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1502                                    internal_type: ::core::option::Option::Some(
1503                                        ::std::borrow::ToOwned::to_owned("address"),
1504                                    ),
1505                                },
1506                            ],
1507                            outputs: ::std::vec![
1508                                ::ethers::core::abi::ethabi::Param {
1509                                    name: ::std::borrow::ToOwned::to_owned(
1510                                        "facetFunctionSelectors_",
1511                                    ),
1512                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1513                                        ::std::boxed::Box::new(
1514                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize),
1515                                        ),
1516                                    ),
1517                                    internal_type: ::core::option::Option::Some(
1518                                        ::std::borrow::ToOwned::to_owned("bytes4[]"),
1519                                    ),
1520                                },
1521                            ],
1522                            constant: ::core::option::Option::None,
1523                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1524                        },
1525                    ],
1526                ),
1527                (
1528                    ::std::borrow::ToOwned::to_owned("facets"),
1529                    ::std::vec![
1530                        ::ethers::core::abi::ethabi::Function {
1531                            name: ::std::borrow::ToOwned::to_owned("facets"),
1532                            inputs: ::std::vec![],
1533                            outputs: ::std::vec![
1534                                ::ethers::core::abi::ethabi::Param {
1535                                    name: ::std::borrow::ToOwned::to_owned("facets_"),
1536                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1537                                        ::std::boxed::Box::new(
1538                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
1539                                                ::std::vec![
1540                                                    ::ethers::core::abi::ethabi::ParamType::Address,
1541                                                    ::ethers::core::abi::ethabi::ParamType::Array(
1542                                                        ::std::boxed::Box::new(
1543                                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize),
1544                                                        ),
1545                                                    ),
1546                                                ],
1547                                            ),
1548                                        ),
1549                                    ),
1550                                    internal_type: ::core::option::Option::Some(
1551                                        ::std::borrow::ToOwned::to_owned(
1552                                            "struct IDiamondLoupe.Facet[]",
1553                                        ),
1554                                    ),
1555                                },
1556                            ],
1557                            constant: ::core::option::Option::None,
1558                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1559                        },
1560                    ],
1561                ),
1562                (
1563                    ::std::borrow::ToOwned::to_owned("failEnclave"),
1564                    ::std::vec![
1565                        ::ethers::core::abi::ethabi::Function {
1566                            name: ::std::borrow::ToOwned::to_owned("failEnclave"),
1567                            inputs: ::std::vec![
1568                                ::ethers::core::abi::ethabi::Param {
1569                                    name: ::std::borrow::ToOwned::to_owned("verifierId"),
1570                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1571                                    internal_type: ::core::option::Option::Some(
1572                                        ::std::borrow::ToOwned::to_owned("address"),
1573                                    ),
1574                                },
1575                                ::ethers::core::abi::ethabi::Param {
1576                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
1577                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1578                                    internal_type: ::core::option::Option::Some(
1579                                        ::std::borrow::ToOwned::to_owned("address"),
1580                                    ),
1581                                },
1582                                ::ethers::core::abi::ethabi::Param {
1583                                    name: ::std::borrow::ToOwned::to_owned("verifierIdx"),
1584                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1585                                        256usize,
1586                                    ),
1587                                    internal_type: ::core::option::Option::Some(
1588                                        ::std::borrow::ToOwned::to_owned("uint256"),
1589                                    ),
1590                                },
1591                            ],
1592                            outputs: ::std::vec![],
1593                            constant: ::core::option::Option::None,
1594                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1595                        },
1596                    ],
1597                ),
1598                (
1599                    ::std::borrow::ToOwned::to_owned("failFunctionResult"),
1600                    ::std::vec![
1601                        ::ethers::core::abi::ethabi::Function {
1602                            name: ::std::borrow::ToOwned::to_owned("failFunctionResult"),
1603                            inputs: ::std::vec![
1604                                ::ethers::core::abi::ethabi::Param {
1605                                    name: ::std::borrow::ToOwned::to_owned("params"),
1606                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1607                                        ::std::vec![
1608                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1609                                            ::ethers::core::abi::ethabi::ParamType::Address,
1610                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1611                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1612                                            ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
1613                                            ::ethers::core::abi::ethabi::ParamType::Array(
1614                                                ::std::boxed::Box::new(
1615                                                    ::ethers::core::abi::ethabi::ParamType::Address,
1616                                                ),
1617                                            ),
1618                                            ::ethers::core::abi::ethabi::ParamType::Array(
1619                                                ::std::boxed::Box::new(
1620                                                    ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
1621                                                ),
1622                                            ),
1623                                            ::ethers::core::abi::ethabi::ParamType::Array(
1624                                                ::std::boxed::Box::new(
1625                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
1626                                                ),
1627                                            ),
1628                                        ],
1629                                    ),
1630                                    internal_type: ::core::option::Option::Some(
1631                                        ::std::borrow::ToOwned::to_owned(
1632                                            "struct FunctionVerifyLib.FunctionFailParams",
1633                                        ),
1634                                    ),
1635                                },
1636                            ],
1637                            outputs: ::std::vec![],
1638                            constant: ::core::option::Option::None,
1639                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1640                        },
1641                    ],
1642                ),
1643                (
1644                    ::std::borrow::ToOwned::to_owned("forceOverrideVerify"),
1645                    ::std::vec![
1646                        ::ethers::core::abi::ethabi::Function {
1647                            name: ::std::borrow::ToOwned::to_owned(
1648                                "forceOverrideVerify",
1649                            ),
1650                            inputs: ::std::vec![
1651                                ::ethers::core::abi::ethabi::Param {
1652                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
1653                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1654                                    internal_type: ::core::option::Option::Some(
1655                                        ::std::borrow::ToOwned::to_owned("address"),
1656                                    ),
1657                                },
1658                            ],
1659                            outputs: ::std::vec![],
1660                            constant: ::core::option::Option::None,
1661                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1662                        },
1663                    ],
1664                ),
1665                (
1666                    ::std::borrow::ToOwned::to_owned("forward"),
1667                    ::std::vec![
1668                        ::ethers::core::abi::ethabi::Function {
1669                            name: ::std::borrow::ToOwned::to_owned("forward"),
1670                            inputs: ::std::vec![
1671                                ::ethers::core::abi::ethabi::Param {
1672                                    name: ::std::borrow::ToOwned::to_owned("transactions"),
1673                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1674                                        ::std::boxed::Box::new(
1675                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
1676                                                ::std::vec![
1677                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1678                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1679                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1680                                                    ::ethers::core::abi::ethabi::ParamType::Address,
1681                                                    ::ethers::core::abi::ethabi::ParamType::Address,
1682                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
1683                                                ],
1684                                            ),
1685                                        ),
1686                                    ),
1687                                    internal_type: ::core::option::Option::Some(
1688                                        ::std::borrow::ToOwned::to_owned(
1689                                            "struct TransactionLib.Transaction[]",
1690                                        ),
1691                                    ),
1692                                },
1693                                ::ethers::core::abi::ethabi::Param {
1694                                    name: ::std::borrow::ToOwned::to_owned("signatures"),
1695                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1696                                        ::std::boxed::Box::new(
1697                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
1698                                        ),
1699                                    ),
1700                                    internal_type: ::core::option::Option::Some(
1701                                        ::std::borrow::ToOwned::to_owned("bytes[]"),
1702                                    ),
1703                                },
1704                            ],
1705                            outputs: ::std::vec![],
1706                            constant: ::core::option::Option::None,
1707                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
1708                        },
1709                    ],
1710                ),
1711                (
1712                    ::std::borrow::ToOwned::to_owned("funcs"),
1713                    ::std::vec![
1714                        ::ethers::core::abi::ethabi::Function {
1715                            name: ::std::borrow::ToOwned::to_owned("funcs"),
1716                            inputs: ::std::vec![
1717                                ::ethers::core::abi::ethabi::Param {
1718                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
1719                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1720                                    internal_type: ::core::option::Option::Some(
1721                                        ::std::borrow::ToOwned::to_owned("address"),
1722                                    ),
1723                                },
1724                            ],
1725                            outputs: ::std::vec![
1726                                ::ethers::core::abi::ethabi::Param {
1727                                    name: ::std::string::String::new(),
1728                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1729                                        ::std::vec![
1730                                            ::ethers::core::abi::ethabi::ParamType::String,
1731                                            ::ethers::core::abi::ethabi::ParamType::Address,
1732                                            ::ethers::core::abi::ethabi::ParamType::Address,
1733                                            ::ethers::core::abi::ethabi::ParamType::Address,
1734                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1735                                            ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
1736                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
1737                                                ::std::vec![
1738                                                    ::ethers::core::abi::ethabi::ParamType::String,
1739                                                    ::ethers::core::abi::ethabi::ParamType::Array(
1740                                                        ::std::boxed::Box::new(
1741                                                            ::ethers::core::abi::ethabi::ParamType::Address,
1742                                                        ),
1743                                                    ),
1744                                                    ::ethers::core::abi::ethabi::ParamType::String,
1745                                                    ::ethers::core::abi::ethabi::ParamType::String,
1746                                                    ::ethers::core::abi::ethabi::ParamType::String,
1747                                                    ::ethers::core::abi::ethabi::ParamType::String,
1748                                                    ::ethers::core::abi::ethabi::ParamType::Array(
1749                                                        ::std::boxed::Box::new(
1750                                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
1751                                                        ),
1752                                                    ),
1753                                                    ::ethers::core::abi::ethabi::ParamType::Bool,
1754                                                    ::ethers::core::abi::ethabi::ParamType::Bool,
1755                                                ],
1756                                            ),
1757                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
1758                                                ::std::vec![
1759                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1760                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1761                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1762                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1763                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1764                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1765                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1766                                                    ::ethers::core::abi::ethabi::ParamType::Bool,
1767                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1768                                                ],
1769                                            ),
1770                                        ],
1771                                    ),
1772                                    internal_type: ::core::option::Option::Some(
1773                                        ::std::borrow::ToOwned::to_owned(
1774                                            "struct FunctionLib.SbFunction",
1775                                        ),
1776                                    ),
1777                                },
1778                            ],
1779                            constant: ::core::option::Option::None,
1780                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1781                        },
1782                    ],
1783                ),
1784                (
1785                    ::std::borrow::ToOwned::to_owned("functionCallSettings"),
1786                    ::std::vec![
1787                        ::ethers::core::abi::ethabi::Function {
1788                            name: ::std::borrow::ToOwned::to_owned(
1789                                "functionCallSettings",
1790                            ),
1791                            inputs: ::std::vec![
1792                                ::ethers::core::abi::ethabi::Param {
1793                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
1794                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1795                                    internal_type: ::core::option::Option::Some(
1796                                        ::std::borrow::ToOwned::to_owned("address"),
1797                                    ),
1798                                },
1799                            ],
1800                            outputs: ::std::vec![
1801                                ::ethers::core::abi::ethabi::Param {
1802                                    name: ::std::string::String::new(),
1803                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1804                                        ::std::vec![
1805                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1806                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1807                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1808                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1809                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1810                                        ],
1811                                    ),
1812                                    internal_type: ::core::option::Option::Some(
1813                                        ::std::borrow::ToOwned::to_owned(
1814                                            "struct FunctionCallLib.FunctionCallSettings",
1815                                        ),
1816                                    ),
1817                                },
1818                            ],
1819                            constant: ::core::option::Option::None,
1820                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1821                        },
1822                    ],
1823                ),
1824                (
1825                    ::std::borrow::ToOwned::to_owned("functionCalls"),
1826                    ::std::vec![
1827                        ::ethers::core::abi::ethabi::Function {
1828                            name: ::std::borrow::ToOwned::to_owned("functionCalls"),
1829                            inputs: ::std::vec![
1830                                ::ethers::core::abi::ethabi::Param {
1831                                    name: ::std::borrow::ToOwned::to_owned("callId"),
1832                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1833                                    internal_type: ::core::option::Option::Some(
1834                                        ::std::borrow::ToOwned::to_owned("address"),
1835                                    ),
1836                                },
1837                            ],
1838                            outputs: ::std::vec![
1839                                ::ethers::core::abi::ethabi::Param {
1840                                    name: ::std::string::String::new(),
1841                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1842                                        ::std::vec![
1843                                            ::ethers::core::abi::ethabi::ParamType::Address,
1844                                            ::ethers::core::abi::ethabi::ParamType::Address,
1845                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1846                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
1847                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1848                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1849                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1850                                        ],
1851                                    ),
1852                                    internal_type: ::core::option::Option::Some(
1853                                        ::std::borrow::ToOwned::to_owned(
1854                                            "struct FunctionCallLib.FunctionCall",
1855                                        ),
1856                                    ),
1857                                },
1858                            ],
1859                            constant: ::core::option::Option::None,
1860                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1861                        },
1862                    ],
1863                ),
1864                (
1865                    ::std::borrow::ToOwned::to_owned("functionEscrowFund"),
1866                    ::std::vec![
1867                        ::ethers::core::abi::ethabi::Function {
1868                            name: ::std::borrow::ToOwned::to_owned("functionEscrowFund"),
1869                            inputs: ::std::vec![
1870                                ::ethers::core::abi::ethabi::Param {
1871                                    name: ::std::borrow::ToOwned::to_owned("accountId"),
1872                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1873                                    internal_type: ::core::option::Option::Some(
1874                                        ::std::borrow::ToOwned::to_owned("address"),
1875                                    ),
1876                                },
1877                            ],
1878                            outputs: ::std::vec![],
1879                            constant: ::core::option::Option::None,
1880                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
1881                        },
1882                    ],
1883                ),
1884                (
1885                    ::std::borrow::ToOwned::to_owned("functionEscrowWithdraw"),
1886                    ::std::vec![
1887                        ::ethers::core::abi::ethabi::Function {
1888                            name: ::std::borrow::ToOwned::to_owned(
1889                                "functionEscrowWithdraw",
1890                            ),
1891                            inputs: ::std::vec![
1892                                ::ethers::core::abi::ethabi::Param {
1893                                    name: ::std::borrow::ToOwned::to_owned("recipient"),
1894                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1895                                    internal_type: ::core::option::Option::Some(
1896                                        ::std::borrow::ToOwned::to_owned("address payable"),
1897                                    ),
1898                                },
1899                                ::ethers::core::abi::ethabi::Param {
1900                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
1901                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1902                                    internal_type: ::core::option::Option::Some(
1903                                        ::std::borrow::ToOwned::to_owned("address"),
1904                                    ),
1905                                },
1906                                ::ethers::core::abi::ethabi::Param {
1907                                    name: ::std::borrow::ToOwned::to_owned("amount"),
1908                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1909                                        256usize,
1910                                    ),
1911                                    internal_type: ::core::option::Option::Some(
1912                                        ::std::borrow::ToOwned::to_owned("uint256"),
1913                                    ),
1914                                },
1915                            ],
1916                            outputs: ::std::vec![],
1917                            constant: ::core::option::Option::None,
1918                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1919                        },
1920                    ],
1921                ),
1922                (
1923                    ::std::borrow::ToOwned::to_owned("functionExists"),
1924                    ::std::vec![
1925                        ::ethers::core::abi::ethabi::Function {
1926                            name: ::std::borrow::ToOwned::to_owned("functionExists"),
1927                            inputs: ::std::vec![
1928                                ::ethers::core::abi::ethabi::Param {
1929                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
1930                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1931                                    internal_type: ::core::option::Option::Some(
1932                                        ::std::borrow::ToOwned::to_owned("address"),
1933                                    ),
1934                                },
1935                            ],
1936                            outputs: ::std::vec![
1937                                ::ethers::core::abi::ethabi::Param {
1938                                    name: ::std::string::String::new(),
1939                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
1940                                    internal_type: ::core::option::Option::Some(
1941                                        ::std::borrow::ToOwned::to_owned("bool"),
1942                                    ),
1943                                },
1944                            ],
1945                            constant: ::core::option::Option::None,
1946                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1947                        },
1948                    ],
1949                ),
1950                (
1951                    ::std::borrow::ToOwned::to_owned("functionSettings"),
1952                    ::std::vec![
1953                        ::ethers::core::abi::ethabi::Function {
1954                            name: ::std::borrow::ToOwned::to_owned("functionSettings"),
1955                            inputs: ::std::vec![
1956                                ::ethers::core::abi::ethabi::Param {
1957                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
1958                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1959                                    internal_type: ::core::option::Option::Some(
1960                                        ::std::borrow::ToOwned::to_owned("address"),
1961                                    ),
1962                                },
1963                            ],
1964                            outputs: ::std::vec![
1965                                ::ethers::core::abi::ethabi::Param {
1966                                    name: ::std::string::String::new(),
1967                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1968                                        ::std::vec![
1969                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1970                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1971                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1972                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1973                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1974                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1975                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1976                                            ::ethers::core::abi::ethabi::ParamType::Bool,
1977                                        ],
1978                                    ),
1979                                    internal_type: ::core::option::Option::Some(
1980                                        ::std::borrow::ToOwned::to_owned(
1981                                            "struct FunctionSettingsLib.FunctionSettings",
1982                                        ),
1983                                    ),
1984                                },
1985                            ],
1986                            constant: ::core::option::Option::None,
1987                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1988                        },
1989                    ],
1990                ),
1991                (
1992                    ::std::borrow::ToOwned::to_owned("functionVerify"),
1993                    ::std::vec![
1994                        ::ethers::core::abi::ethabi::Function {
1995                            name: ::std::borrow::ToOwned::to_owned("functionVerify"),
1996                            inputs: ::std::vec![
1997                                ::ethers::core::abi::ethabi::Param {
1998                                    name: ::std::borrow::ToOwned::to_owned("enclaveIdx"),
1999                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2000                                        256usize,
2001                                    ),
2002                                    internal_type: ::core::option::Option::Some(
2003                                        ::std::borrow::ToOwned::to_owned("uint256"),
2004                                    ),
2005                                },
2006                                ::ethers::core::abi::ethabi::Param {
2007                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
2008                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2009                                    internal_type: ::core::option::Option::Some(
2010                                        ::std::borrow::ToOwned::to_owned("address"),
2011                                    ),
2012                                },
2013                                ::ethers::core::abi::ethabi::Param {
2014                                    name: ::std::borrow::ToOwned::to_owned(
2015                                        "delegatedSignerAddress",
2016                                    ),
2017                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2018                                    internal_type: ::core::option::Option::Some(
2019                                        ::std::borrow::ToOwned::to_owned("address"),
2020                                    ),
2021                                },
2022                                ::ethers::core::abi::ethabi::Param {
2023                                    name: ::std::borrow::ToOwned::to_owned("observedTime"),
2024                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2025                                        256usize,
2026                                    ),
2027                                    internal_type: ::core::option::Option::Some(
2028                                        ::std::borrow::ToOwned::to_owned("uint256"),
2029                                    ),
2030                                },
2031                                ::ethers::core::abi::ethabi::Param {
2032                                    name: ::std::borrow::ToOwned::to_owned(
2033                                        "nextAllowedTimestamp",
2034                                    ),
2035                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2036                                        256usize,
2037                                    ),
2038                                    internal_type: ::core::option::Option::Some(
2039                                        ::std::borrow::ToOwned::to_owned("uint256"),
2040                                    ),
2041                                },
2042                                ::ethers::core::abi::ethabi::Param {
2043                                    name: ::std::borrow::ToOwned::to_owned("isFailure"),
2044                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
2045                                    internal_type: ::core::option::Option::Some(
2046                                        ::std::borrow::ToOwned::to_owned("bool"),
2047                                    ),
2048                                },
2049                                ::ethers::core::abi::ethabi::Param {
2050                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
2051                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
2052                                        32usize,
2053                                    ),
2054                                    internal_type: ::core::option::Option::Some(
2055                                        ::std::borrow::ToOwned::to_owned("bytes32"),
2056                                    ),
2057                                },
2058                                ::ethers::core::abi::ethabi::Param {
2059                                    name: ::std::borrow::ToOwned::to_owned("transactions"),
2060                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2061                                        ::std::boxed::Box::new(
2062                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2063                                                ::std::vec![
2064                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2065                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2066                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2067                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2068                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2069                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
2070                                                ],
2071                                            ),
2072                                        ),
2073                                    ),
2074                                    internal_type: ::core::option::Option::Some(
2075                                        ::std::borrow::ToOwned::to_owned(
2076                                            "struct TransactionLib.Transaction[]",
2077                                        ),
2078                                    ),
2079                                },
2080                                ::ethers::core::abi::ethabi::Param {
2081                                    name: ::std::borrow::ToOwned::to_owned("signatures"),
2082                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2083                                        ::std::boxed::Box::new(
2084                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
2085                                        ),
2086                                    ),
2087                                    internal_type: ::core::option::Option::Some(
2088                                        ::std::borrow::ToOwned::to_owned("bytes[]"),
2089                                    ),
2090                                },
2091                            ],
2092                            outputs: ::std::vec![],
2093                            constant: ::core::option::Option::None,
2094                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
2095                        },
2096                    ],
2097                ),
2098                (
2099                    ::std::borrow::ToOwned::to_owned("functionVerifyRequest"),
2100                    ::std::vec![
2101                        ::ethers::core::abi::ethabi::Function {
2102                            name: ::std::borrow::ToOwned::to_owned(
2103                                "functionVerifyRequest",
2104                            ),
2105                            inputs: ::std::vec![
2106                                ::ethers::core::abi::ethabi::Param {
2107                                    name: ::std::borrow::ToOwned::to_owned("enclaveIdx"),
2108                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2109                                        256usize,
2110                                    ),
2111                                    internal_type: ::core::option::Option::Some(
2112                                        ::std::borrow::ToOwned::to_owned("uint256"),
2113                                    ),
2114                                },
2115                                ::ethers::core::abi::ethabi::Param {
2116                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
2117                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2118                                    internal_type: ::core::option::Option::Some(
2119                                        ::std::borrow::ToOwned::to_owned("address"),
2120                                    ),
2121                                },
2122                                ::ethers::core::abi::ethabi::Param {
2123                                    name: ::std::borrow::ToOwned::to_owned(
2124                                        "delegatedSignerAddress",
2125                                    ),
2126                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2127                                    internal_type: ::core::option::Option::Some(
2128                                        ::std::borrow::ToOwned::to_owned("address"),
2129                                    ),
2130                                },
2131                                ::ethers::core::abi::ethabi::Param {
2132                                    name: ::std::borrow::ToOwned::to_owned("observedTime"),
2133                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2134                                        256usize,
2135                                    ),
2136                                    internal_type: ::core::option::Option::Some(
2137                                        ::std::borrow::ToOwned::to_owned("uint256"),
2138                                    ),
2139                                },
2140                                ::ethers::core::abi::ethabi::Param {
2141                                    name: ::std::borrow::ToOwned::to_owned(
2142                                        "nextAllowedTimestamp",
2143                                    ),
2144                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2145                                        256usize,
2146                                    ),
2147                                    internal_type: ::core::option::Option::Some(
2148                                        ::std::borrow::ToOwned::to_owned("uint256"),
2149                                    ),
2150                                },
2151                                ::ethers::core::abi::ethabi::Param {
2152                                    name: ::std::borrow::ToOwned::to_owned("isFailure"),
2153                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
2154                                    internal_type: ::core::option::Option::Some(
2155                                        ::std::borrow::ToOwned::to_owned("bool"),
2156                                    ),
2157                                },
2158                                ::ethers::core::abi::ethabi::Param {
2159                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
2160                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
2161                                        32usize,
2162                                    ),
2163                                    internal_type: ::core::option::Option::Some(
2164                                        ::std::borrow::ToOwned::to_owned("bytes32"),
2165                                    ),
2166                                },
2167                                ::ethers::core::abi::ethabi::Param {
2168                                    name: ::std::borrow::ToOwned::to_owned("transactions"),
2169                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2170                                        ::std::boxed::Box::new(
2171                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2172                                                ::std::vec![
2173                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2174                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2175                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2176                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2177                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2178                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
2179                                                ],
2180                                            ),
2181                                        ),
2182                                    ),
2183                                    internal_type: ::core::option::Option::Some(
2184                                        ::std::borrow::ToOwned::to_owned(
2185                                            "struct TransactionLib.Transaction[]",
2186                                        ),
2187                                    ),
2188                                },
2189                                ::ethers::core::abi::ethabi::Param {
2190                                    name: ::std::borrow::ToOwned::to_owned("signatures"),
2191                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2192                                        ::std::boxed::Box::new(
2193                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
2194                                        ),
2195                                    ),
2196                                    internal_type: ::core::option::Option::Some(
2197                                        ::std::borrow::ToOwned::to_owned("bytes[]"),
2198                                    ),
2199                                },
2200                                ::ethers::core::abi::ethabi::Param {
2201                                    name: ::std::borrow::ToOwned::to_owned("functionCallIds"),
2202                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2203                                        ::std::boxed::Box::new(
2204                                            ::ethers::core::abi::ethabi::ParamType::Address,
2205                                        ),
2206                                    ),
2207                                    internal_type: ::core::option::Option::Some(
2208                                        ::std::borrow::ToOwned::to_owned("address[]"),
2209                                    ),
2210                                },
2211                            ],
2212                            outputs: ::std::vec![],
2213                            constant: ::core::option::Option::None,
2214                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
2215                        },
2216                    ],
2217                ),
2218                (
2219                    ::std::borrow::ToOwned::to_owned("getActiveFunctionCallsByQueue"),
2220                    ::std::vec![
2221                        ::ethers::core::abi::ethabi::Function {
2222                            name: ::std::borrow::ToOwned::to_owned(
2223                                "getActiveFunctionCallsByQueue",
2224                            ),
2225                            inputs: ::std::vec![
2226                                ::ethers::core::abi::ethabi::Param {
2227                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
2228                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2229                                    internal_type: ::core::option::Option::Some(
2230                                        ::std::borrow::ToOwned::to_owned("address"),
2231                                    ),
2232                                },
2233                            ],
2234                            outputs: ::std::vec![
2235                                ::ethers::core::abi::ethabi::Param {
2236                                    name: ::std::string::String::new(),
2237                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2238                                        ::std::boxed::Box::new(
2239                                            ::ethers::core::abi::ethabi::ParamType::Address,
2240                                        ),
2241                                    ),
2242                                    internal_type: ::core::option::Option::Some(
2243                                        ::std::borrow::ToOwned::to_owned("address[]"),
2244                                    ),
2245                                },
2246                                ::ethers::core::abi::ethabi::Param {
2247                                    name: ::std::string::String::new(),
2248                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2249                                        ::std::boxed::Box::new(
2250                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2251                                                ::std::vec![
2252                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2253                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2254                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2255                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
2256                                                    ::ethers::core::abi::ethabi::ParamType::Bool,
2257                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2258                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2259                                                ],
2260                                            ),
2261                                        ),
2262                                    ),
2263                                    internal_type: ::core::option::Option::Some(
2264                                        ::std::borrow::ToOwned::to_owned(
2265                                            "struct FunctionCallLib.FunctionCall[]",
2266                                        ),
2267                                    ),
2268                                },
2269                            ],
2270                            constant: ::core::option::Option::None,
2271                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2272                        },
2273                    ],
2274                ),
2275                (
2276                    ::std::borrow::ToOwned::to_owned("getActiveFunctionsByQueue"),
2277                    ::std::vec![
2278                        ::ethers::core::abi::ethabi::Function {
2279                            name: ::std::borrow::ToOwned::to_owned(
2280                                "getActiveFunctionsByQueue",
2281                            ),
2282                            inputs: ::std::vec![
2283                                ::ethers::core::abi::ethabi::Param {
2284                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
2285                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2286                                    internal_type: ::core::option::Option::Some(
2287                                        ::std::borrow::ToOwned::to_owned("address"),
2288                                    ),
2289                                },
2290                            ],
2291                            outputs: ::std::vec![
2292                                ::ethers::core::abi::ethabi::Param {
2293                                    name: ::std::string::String::new(),
2294                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2295                                        ::std::boxed::Box::new(
2296                                            ::ethers::core::abi::ethabi::ParamType::Address,
2297                                        ),
2298                                    ),
2299                                    internal_type: ::core::option::Option::Some(
2300                                        ::std::borrow::ToOwned::to_owned("address[]"),
2301                                    ),
2302                                },
2303                                ::ethers::core::abi::ethabi::Param {
2304                                    name: ::std::string::String::new(),
2305                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2306                                        ::std::boxed::Box::new(
2307                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2308                                                ::std::vec![
2309                                                    ::ethers::core::abi::ethabi::ParamType::String,
2310                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2311                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2312                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2313                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2314                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
2315                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2316                                                        ::std::vec![
2317                                                            ::ethers::core::abi::ethabi::ParamType::String,
2318                                                            ::ethers::core::abi::ethabi::ParamType::Array(
2319                                                                ::std::boxed::Box::new(
2320                                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2321                                                                ),
2322                                                            ),
2323                                                            ::ethers::core::abi::ethabi::ParamType::String,
2324                                                            ::ethers::core::abi::ethabi::ParamType::String,
2325                                                            ::ethers::core::abi::ethabi::ParamType::String,
2326                                                            ::ethers::core::abi::ethabi::ParamType::String,
2327                                                            ::ethers::core::abi::ethabi::ParamType::Array(
2328                                                                ::std::boxed::Box::new(
2329                                                                    ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
2330                                                                ),
2331                                                            ),
2332                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2333                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2334                                                        ],
2335                                                    ),
2336                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2337                                                        ::std::vec![
2338                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2339                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2340                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2341                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2342                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2343                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2344                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2345                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2346                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2347                                                        ],
2348                                                    ),
2349                                                ],
2350                                            ),
2351                                        ),
2352                                    ),
2353                                    internal_type: ::core::option::Option::Some(
2354                                        ::std::borrow::ToOwned::to_owned(
2355                                            "struct FunctionLib.SbFunction[]",
2356                                        ),
2357                                    ),
2358                                },
2359                            ],
2360                            constant: ::core::option::Option::None,
2361                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2362                        },
2363                    ],
2364                ),
2365                (
2366                    ::std::borrow::ToOwned::to_owned("getActiveRequestsByQueue"),
2367                    ::std::vec![
2368                        ::ethers::core::abi::ethabi::Function {
2369                            name: ::std::borrow::ToOwned::to_owned(
2370                                "getActiveRequestsByQueue",
2371                            ),
2372                            inputs: ::std::vec![
2373                                ::ethers::core::abi::ethabi::Param {
2374                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
2375                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2376                                    internal_type: ::core::option::Option::Some(
2377                                        ::std::borrow::ToOwned::to_owned("address"),
2378                                    ),
2379                                },
2380                            ],
2381                            outputs: ::std::vec![
2382                                ::ethers::core::abi::ethabi::Param {
2383                                    name: ::std::string::String::new(),
2384                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2385                                        ::std::boxed::Box::new(
2386                                            ::ethers::core::abi::ethabi::ParamType::Address,
2387                                        ),
2388                                    ),
2389                                    internal_type: ::core::option::Option::Some(
2390                                        ::std::borrow::ToOwned::to_owned("address[]"),
2391                                    ),
2392                                },
2393                                ::ethers::core::abi::ethabi::Param {
2394                                    name: ::std::string::String::new(),
2395                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2396                                        ::std::boxed::Box::new(
2397                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2398                                                ::std::vec![
2399                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2400                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2401                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2402                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
2403                                                    ::ethers::core::abi::ethabi::ParamType::Bool,
2404                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2405                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2406                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2407                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
2408                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2409                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
2410                                                ],
2411                                            ),
2412                                        ),
2413                                    ),
2414                                    internal_type: ::core::option::Option::Some(
2415                                        ::std::borrow::ToOwned::to_owned(
2416                                            "struct RequestLib.Request[]",
2417                                        ),
2418                                    ),
2419                                },
2420                            ],
2421                            constant: ::core::option::Option::None,
2422                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2423                        },
2424                    ],
2425                ),
2426                (
2427                    ::std::borrow::ToOwned::to_owned("getActiveRoutinesByQueue"),
2428                    ::std::vec![
2429                        ::ethers::core::abi::ethabi::Function {
2430                            name: ::std::borrow::ToOwned::to_owned(
2431                                "getActiveRoutinesByQueue",
2432                            ),
2433                            inputs: ::std::vec![
2434                                ::ethers::core::abi::ethabi::Param {
2435                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
2436                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2437                                    internal_type: ::core::option::Option::Some(
2438                                        ::std::borrow::ToOwned::to_owned("address"),
2439                                    ),
2440                                },
2441                            ],
2442                            outputs: ::std::vec![
2443                                ::ethers::core::abi::ethabi::Param {
2444                                    name: ::std::string::String::new(),
2445                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2446                                        ::std::boxed::Box::new(
2447                                            ::ethers::core::abi::ethabi::ParamType::Address,
2448                                        ),
2449                                    ),
2450                                    internal_type: ::core::option::Option::Some(
2451                                        ::std::borrow::ToOwned::to_owned("address[]"),
2452                                    ),
2453                                },
2454                                ::ethers::core::abi::ethabi::Param {
2455                                    name: ::std::string::String::new(),
2456                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2457                                        ::std::boxed::Box::new(
2458                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2459                                                ::std::vec![
2460                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2461                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2462                                                    ::ethers::core::abi::ethabi::ParamType::String,
2463                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
2464                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2465                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2466                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2467                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
2468                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
2469                                                ],
2470                                            ),
2471                                        ),
2472                                    ),
2473                                    internal_type: ::core::option::Option::Some(
2474                                        ::std::borrow::ToOwned::to_owned(
2475                                            "struct RoutineLib.Routine[]",
2476                                        ),
2477                                    ),
2478                                },
2479                            ],
2480                            constant: ::core::option::Option::None,
2481                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2482                        },
2483                    ],
2484                ),
2485                (
2486                    ::std::borrow::ToOwned::to_owned("getAggregatorsByAuthority"),
2487                    ::std::vec![
2488                        ::ethers::core::abi::ethabi::Function {
2489                            name: ::std::borrow::ToOwned::to_owned(
2490                                "getAggregatorsByAuthority",
2491                            ),
2492                            inputs: ::std::vec![
2493                                ::ethers::core::abi::ethabi::Param {
2494                                    name: ::std::borrow::ToOwned::to_owned("user"),
2495                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2496                                    internal_type: ::core::option::Option::Some(
2497                                        ::std::borrow::ToOwned::to_owned("address"),
2498                                    ),
2499                                },
2500                            ],
2501                            outputs: ::std::vec![
2502                                ::ethers::core::abi::ethabi::Param {
2503                                    name: ::std::string::String::new(),
2504                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2505                                        ::std::boxed::Box::new(
2506                                            ::ethers::core::abi::ethabi::ParamType::Address,
2507                                        ),
2508                                    ),
2509                                    internal_type: ::core::option::Option::Some(
2510                                        ::std::borrow::ToOwned::to_owned("address[]"),
2511                                    ),
2512                                },
2513                                ::ethers::core::abi::ethabi::Param {
2514                                    name: ::std::string::String::new(),
2515                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2516                                        ::std::boxed::Box::new(
2517                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2518                                                ::std::vec![
2519                                                    ::ethers::core::abi::ethabi::ParamType::String,
2520                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2521                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2522                                                        ::std::vec![
2523                                                            ::ethers::core::abi::ethabi::ParamType::Int(256usize),
2524                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2525                                                            ::ethers::core::abi::ethabi::ParamType::Address,
2526                                                        ],
2527                                                    ),
2528                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2529                                                        ::std::vec![
2530                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2531                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2532                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2533                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2534                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2535                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2536                                                        ],
2537                                                    ),
2538                                                    ::ethers::core::abi::ethabi::ParamType::String,
2539                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2540                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2541                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2542                                                    ::ethers::core::abi::ethabi::ParamType::Uint(80usize),
2543                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2544                                                    ::ethers::core::abi::ethabi::ParamType::Bool,
2545                                                ],
2546                                            ),
2547                                        ),
2548                                    ),
2549                                    internal_type: ::core::option::Option::Some(
2550                                        ::std::borrow::ToOwned::to_owned(
2551                                            "struct AggregatorLib.Aggregator[]",
2552                                        ),
2553                                    ),
2554                                },
2555                            ],
2556                            constant: ::core::option::Option::None,
2557                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2558                        },
2559                    ],
2560                ),
2561                (
2562                    ::std::borrow::ToOwned::to_owned("getAllAggregators"),
2563                    ::std::vec![
2564                        ::ethers::core::abi::ethabi::Function {
2565                            name: ::std::borrow::ToOwned::to_owned("getAllAggregators"),
2566                            inputs: ::std::vec![],
2567                            outputs: ::std::vec![
2568                                ::ethers::core::abi::ethabi::Param {
2569                                    name: ::std::string::String::new(),
2570                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2571                                        ::std::boxed::Box::new(
2572                                            ::ethers::core::abi::ethabi::ParamType::Address,
2573                                        ),
2574                                    ),
2575                                    internal_type: ::core::option::Option::Some(
2576                                        ::std::borrow::ToOwned::to_owned("address[]"),
2577                                    ),
2578                                },
2579                                ::ethers::core::abi::ethabi::Param {
2580                                    name: ::std::string::String::new(),
2581                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2582                                        ::std::boxed::Box::new(
2583                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2584                                                ::std::vec![
2585                                                    ::ethers::core::abi::ethabi::ParamType::String,
2586                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2587                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2588                                                        ::std::vec![
2589                                                            ::ethers::core::abi::ethabi::ParamType::Int(256usize),
2590                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2591                                                            ::ethers::core::abi::ethabi::ParamType::Address,
2592                                                        ],
2593                                                    ),
2594                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2595                                                        ::std::vec![
2596                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2597                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2598                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2599                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2600                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2601                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2602                                                        ],
2603                                                    ),
2604                                                    ::ethers::core::abi::ethabi::ParamType::String,
2605                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2606                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2607                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2608                                                    ::ethers::core::abi::ethabi::ParamType::Uint(80usize),
2609                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2610                                                    ::ethers::core::abi::ethabi::ParamType::Bool,
2611                                                ],
2612                                            ),
2613                                        ),
2614                                    ),
2615                                    internal_type: ::core::option::Option::Some(
2616                                        ::std::borrow::ToOwned::to_owned(
2617                                            "struct AggregatorLib.Aggregator[]",
2618                                        ),
2619                                    ),
2620                                },
2621                            ],
2622                            constant: ::core::option::Option::None,
2623                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2624                        },
2625                    ],
2626                ),
2627                (
2628                    ::std::borrow::ToOwned::to_owned("getAllFunctions"),
2629                    ::std::vec![
2630                        ::ethers::core::abi::ethabi::Function {
2631                            name: ::std::borrow::ToOwned::to_owned("getAllFunctions"),
2632                            inputs: ::std::vec![],
2633                            outputs: ::std::vec![
2634                                ::ethers::core::abi::ethabi::Param {
2635                                    name: ::std::string::String::new(),
2636                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2637                                        ::std::boxed::Box::new(
2638                                            ::ethers::core::abi::ethabi::ParamType::Address,
2639                                        ),
2640                                    ),
2641                                    internal_type: ::core::option::Option::Some(
2642                                        ::std::borrow::ToOwned::to_owned("address[]"),
2643                                    ),
2644                                },
2645                                ::ethers::core::abi::ethabi::Param {
2646                                    name: ::std::string::String::new(),
2647                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2648                                        ::std::boxed::Box::new(
2649                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2650                                                ::std::vec![
2651                                                    ::ethers::core::abi::ethabi::ParamType::String,
2652                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2653                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2654                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2655                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2656                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
2657                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2658                                                        ::std::vec![
2659                                                            ::ethers::core::abi::ethabi::ParamType::String,
2660                                                            ::ethers::core::abi::ethabi::ParamType::Array(
2661                                                                ::std::boxed::Box::new(
2662                                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2663                                                                ),
2664                                                            ),
2665                                                            ::ethers::core::abi::ethabi::ParamType::String,
2666                                                            ::ethers::core::abi::ethabi::ParamType::String,
2667                                                            ::ethers::core::abi::ethabi::ParamType::String,
2668                                                            ::ethers::core::abi::ethabi::ParamType::String,
2669                                                            ::ethers::core::abi::ethabi::ParamType::Array(
2670                                                                ::std::boxed::Box::new(
2671                                                                    ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
2672                                                                ),
2673                                                            ),
2674                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2675                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2676                                                        ],
2677                                                    ),
2678                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2679                                                        ::std::vec![
2680                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2681                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2682                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2683                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2684                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2685                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2686                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2687                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2688                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2689                                                        ],
2690                                                    ),
2691                                                ],
2692                                            ),
2693                                        ),
2694                                    ),
2695                                    internal_type: ::core::option::Option::Some(
2696                                        ::std::borrow::ToOwned::to_owned(
2697                                            "struct FunctionLib.SbFunction[]",
2698                                        ),
2699                                    ),
2700                                },
2701                            ],
2702                            constant: ::core::option::Option::None,
2703                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2704                        },
2705                    ],
2706                ),
2707                (
2708                    ::std::borrow::ToOwned::to_owned("getAttestationQueueMrEnclaves"),
2709                    ::std::vec![
2710                        ::ethers::core::abi::ethabi::Function {
2711                            name: ::std::borrow::ToOwned::to_owned(
2712                                "getAttestationQueueMrEnclaves",
2713                            ),
2714                            inputs: ::std::vec![
2715                                ::ethers::core::abi::ethabi::Param {
2716                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
2717                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2718                                    internal_type: ::core::option::Option::Some(
2719                                        ::std::borrow::ToOwned::to_owned("address"),
2720                                    ),
2721                                },
2722                            ],
2723                            outputs: ::std::vec![
2724                                ::ethers::core::abi::ethabi::Param {
2725                                    name: ::std::string::String::new(),
2726                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2727                                        ::std::boxed::Box::new(
2728                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
2729                                        ),
2730                                    ),
2731                                    internal_type: ::core::option::Option::Some(
2732                                        ::std::borrow::ToOwned::to_owned("bytes32[]"),
2733                                    ),
2734                                },
2735                            ],
2736                            constant: ::core::option::Option::None,
2737                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2738                        },
2739                    ],
2740                ),
2741                (
2742                    ::std::borrow::ToOwned::to_owned("getCurrentIntervalId"),
2743                    ::std::vec![
2744                        ::ethers::core::abi::ethabi::Function {
2745                            name: ::std::borrow::ToOwned::to_owned(
2746                                "getCurrentIntervalId",
2747                            ),
2748                            inputs: ::std::vec![
2749                                ::ethers::core::abi::ethabi::Param {
2750                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
2751                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2752                                    internal_type: ::core::option::Option::Some(
2753                                        ::std::borrow::ToOwned::to_owned("address"),
2754                                    ),
2755                                },
2756                            ],
2757                            outputs: ::std::vec![
2758                                ::ethers::core::abi::ethabi::Param {
2759                                    name: ::std::borrow::ToOwned::to_owned("roundId"),
2760                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(80usize),
2761                                    internal_type: ::core::option::Option::Some(
2762                                        ::std::borrow::ToOwned::to_owned("uint80"),
2763                                    ),
2764                                },
2765                            ],
2766                            constant: ::core::option::Option::None,
2767                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2768                        },
2769                    ],
2770                ),
2771                (
2772                    ::std::borrow::ToOwned::to_owned("getEnclaveIdx"),
2773                    ::std::vec![
2774                        ::ethers::core::abi::ethabi::Function {
2775                            name: ::std::borrow::ToOwned::to_owned("getEnclaveIdx"),
2776                            inputs: ::std::vec![
2777                                ::ethers::core::abi::ethabi::Param {
2778                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
2779                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2780                                    internal_type: ::core::option::Option::Some(
2781                                        ::std::borrow::ToOwned::to_owned("address"),
2782                                    ),
2783                                },
2784                            ],
2785                            outputs: ::std::vec![
2786                                ::ethers::core::abi::ethabi::Param {
2787                                    name: ::std::string::String::new(),
2788                                    kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize),
2789                                    internal_type: ::core::option::Option::Some(
2790                                        ::std::borrow::ToOwned::to_owned("int256"),
2791                                    ),
2792                                },
2793                            ],
2794                            constant: ::core::option::Option::None,
2795                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2796                        },
2797                    ],
2798                ),
2799                (
2800                    ::std::borrow::ToOwned::to_owned("getEnclaves"),
2801                    ::std::vec![
2802                        ::ethers::core::abi::ethabi::Function {
2803                            name: ::std::borrow::ToOwned::to_owned("getEnclaves"),
2804                            inputs: ::std::vec![
2805                                ::ethers::core::abi::ethabi::Param {
2806                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
2807                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2808                                    internal_type: ::core::option::Option::Some(
2809                                        ::std::borrow::ToOwned::to_owned("address"),
2810                                    ),
2811                                },
2812                            ],
2813                            outputs: ::std::vec![
2814                                ::ethers::core::abi::ethabi::Param {
2815                                    name: ::std::string::String::new(),
2816                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2817                                        ::std::boxed::Box::new(
2818                                            ::ethers::core::abi::ethabi::ParamType::Address,
2819                                        ),
2820                                    ),
2821                                    internal_type: ::core::option::Option::Some(
2822                                        ::std::borrow::ToOwned::to_owned("address[]"),
2823                                    ),
2824                                },
2825                            ],
2826                            constant: ::core::option::Option::None,
2827                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2828                        },
2829                    ],
2830                ),
2831                (
2832                    ::std::borrow::ToOwned::to_owned("getFunctionMrEnclaves"),
2833                    ::std::vec![
2834                        ::ethers::core::abi::ethabi::Function {
2835                            name: ::std::borrow::ToOwned::to_owned(
2836                                "getFunctionMrEnclaves",
2837                            ),
2838                            inputs: ::std::vec![
2839                                ::ethers::core::abi::ethabi::Param {
2840                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
2841                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2842                                    internal_type: ::core::option::Option::Some(
2843                                        ::std::borrow::ToOwned::to_owned("address"),
2844                                    ),
2845                                },
2846                            ],
2847                            outputs: ::std::vec![
2848                                ::ethers::core::abi::ethabi::Param {
2849                                    name: ::std::string::String::new(),
2850                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2851                                        ::std::boxed::Box::new(
2852                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
2853                                        ),
2854                                    ),
2855                                    internal_type: ::core::option::Option::Some(
2856                                        ::std::borrow::ToOwned::to_owned("bytes32[]"),
2857                                    ),
2858                                },
2859                            ],
2860                            constant: ::core::option::Option::None,
2861                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2862                        },
2863                    ],
2864                ),
2865                (
2866                    ::std::borrow::ToOwned::to_owned("getFunctionPermittedCallers"),
2867                    ::std::vec![
2868                        ::ethers::core::abi::ethabi::Function {
2869                            name: ::std::borrow::ToOwned::to_owned(
2870                                "getFunctionPermittedCallers",
2871                            ),
2872                            inputs: ::std::vec![
2873                                ::ethers::core::abi::ethabi::Param {
2874                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
2875                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2876                                    internal_type: ::core::option::Option::Some(
2877                                        ::std::borrow::ToOwned::to_owned("address"),
2878                                    ),
2879                                },
2880                            ],
2881                            outputs: ::std::vec![
2882                                ::ethers::core::abi::ethabi::Param {
2883                                    name: ::std::string::String::new(),
2884                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2885                                        ::std::boxed::Box::new(
2886                                            ::ethers::core::abi::ethabi::ParamType::Address,
2887                                        ),
2888                                    ),
2889                                    internal_type: ::core::option::Option::Some(
2890                                        ::std::borrow::ToOwned::to_owned("address[]"),
2891                                    ),
2892                                },
2893                            ],
2894                            constant: ::core::option::Option::None,
2895                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2896                        },
2897                    ],
2898                ),
2899                (
2900                    ::std::borrow::ToOwned::to_owned("getFunctionsByAuthority"),
2901                    ::std::vec![
2902                        ::ethers::core::abi::ethabi::Function {
2903                            name: ::std::borrow::ToOwned::to_owned(
2904                                "getFunctionsByAuthority",
2905                            ),
2906                            inputs: ::std::vec![
2907                                ::ethers::core::abi::ethabi::Param {
2908                                    name: ::std::borrow::ToOwned::to_owned("user"),
2909                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2910                                    internal_type: ::core::option::Option::Some(
2911                                        ::std::borrow::ToOwned::to_owned("address"),
2912                                    ),
2913                                },
2914                            ],
2915                            outputs: ::std::vec![
2916                                ::ethers::core::abi::ethabi::Param {
2917                                    name: ::std::string::String::new(),
2918                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2919                                        ::std::boxed::Box::new(
2920                                            ::ethers::core::abi::ethabi::ParamType::Address,
2921                                        ),
2922                                    ),
2923                                    internal_type: ::core::option::Option::Some(
2924                                        ::std::borrow::ToOwned::to_owned("address[]"),
2925                                    ),
2926                                },
2927                                ::ethers::core::abi::ethabi::Param {
2928                                    name: ::std::string::String::new(),
2929                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
2930                                        ::std::boxed::Box::new(
2931                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
2932                                                ::std::vec![
2933                                                    ::ethers::core::abi::ethabi::ParamType::String,
2934                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2935                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2936                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2937                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2938                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
2939                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2940                                                        ::std::vec![
2941                                                            ::ethers::core::abi::ethabi::ParamType::String,
2942                                                            ::ethers::core::abi::ethabi::ParamType::Array(
2943                                                                ::std::boxed::Box::new(
2944                                                                    ::ethers::core::abi::ethabi::ParamType::Address,
2945                                                                ),
2946                                                            ),
2947                                                            ::ethers::core::abi::ethabi::ParamType::String,
2948                                                            ::ethers::core::abi::ethabi::ParamType::String,
2949                                                            ::ethers::core::abi::ethabi::ParamType::String,
2950                                                            ::ethers::core::abi::ethabi::ParamType::String,
2951                                                            ::ethers::core::abi::ethabi::ParamType::Array(
2952                                                                ::std::boxed::Box::new(
2953                                                                    ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
2954                                                                ),
2955                                                            ),
2956                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2957                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2958                                                        ],
2959                                                    ),
2960                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
2961                                                        ::std::vec![
2962                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2963                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2964                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2965                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2966                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2967                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2968                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2969                                                            ::ethers::core::abi::ethabi::ParamType::Bool,
2970                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2971                                                        ],
2972                                                    ),
2973                                                ],
2974                                            ),
2975                                        ),
2976                                    ),
2977                                    internal_type: ::core::option::Option::Some(
2978                                        ::std::borrow::ToOwned::to_owned(
2979                                            "struct FunctionLib.SbFunction[]",
2980                                        ),
2981                                    ),
2982                                },
2983                            ],
2984                            constant: ::core::option::Option::None,
2985                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
2986                        },
2987                    ],
2988                ),
2989                (
2990                    ::std::borrow::ToOwned::to_owned("getIntervalResult"),
2991                    ::std::vec![
2992                        ::ethers::core::abi::ethabi::Function {
2993                            name: ::std::borrow::ToOwned::to_owned("getIntervalResult"),
2994                            inputs: ::std::vec![
2995                                ::ethers::core::abi::ethabi::Param {
2996                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
2997                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2998                                    internal_type: ::core::option::Option::Some(
2999                                        ::std::borrow::ToOwned::to_owned("address"),
3000                                    ),
3001                                },
3002                                ::ethers::core::abi::ethabi::Param {
3003                                    name: ::std::borrow::ToOwned::to_owned("intervalId"),
3004                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(80usize),
3005                                    internal_type: ::core::option::Option::Some(
3006                                        ::std::borrow::ToOwned::to_owned("uint80"),
3007                                    ),
3008                                },
3009                            ],
3010                            outputs: ::std::vec![
3011                                ::ethers::core::abi::ethabi::Param {
3012                                    name: ::std::borrow::ToOwned::to_owned("value"),
3013                                    kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize),
3014                                    internal_type: ::core::option::Option::Some(
3015                                        ::std::borrow::ToOwned::to_owned("int256"),
3016                                    ),
3017                                },
3018                                ::ethers::core::abi::ethabi::Param {
3019                                    name: ::std::borrow::ToOwned::to_owned("timestamp"),
3020                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3021                                        256usize,
3022                                    ),
3023                                    internal_type: ::core::option::Option::Some(
3024                                        ::std::borrow::ToOwned::to_owned("uint256"),
3025                                    ),
3026                                },
3027                                ::ethers::core::abi::ethabi::Param {
3028                                    name: ::std::borrow::ToOwned::to_owned("medianTimestamp"),
3029                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3030                                        256usize,
3031                                    ),
3032                                    internal_type: ::core::option::Option::Some(
3033                                        ::std::borrow::ToOwned::to_owned("uint256"),
3034                                    ),
3035                                },
3036                            ],
3037                            constant: ::core::option::Option::None,
3038                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
3039                        },
3040                    ],
3041                ),
3042                (
3043                    ::std::borrow::ToOwned::to_owned("getOracleIdx"),
3044                    ::std::vec![
3045                        ::ethers::core::abi::ethabi::Function {
3046                            name: ::std::borrow::ToOwned::to_owned("getOracleIdx"),
3047                            inputs: ::std::vec![
3048                                ::ethers::core::abi::ethabi::Param {
3049                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
3050                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3051                                    internal_type: ::core::option::Option::Some(
3052                                        ::std::borrow::ToOwned::to_owned("address"),
3053                                    ),
3054                                },
3055                            ],
3056                            outputs: ::std::vec![
3057                                ::ethers::core::abi::ethabi::Param {
3058                                    name: ::std::string::String::new(),
3059                                    kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize),
3060                                    internal_type: ::core::option::Option::Some(
3061                                        ::std::borrow::ToOwned::to_owned("int256"),
3062                                    ),
3063                                },
3064                            ],
3065                            constant: ::core::option::Option::None,
3066                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3067                        },
3068                    ],
3069                ),
3070                (
3071                    ::std::borrow::ToOwned::to_owned("getOracleQueueAllowedMrEnclaves"),
3072                    ::std::vec![
3073                        ::ethers::core::abi::ethabi::Function {
3074                            name: ::std::borrow::ToOwned::to_owned(
3075                                "getOracleQueueAllowedMrEnclaves",
3076                            ),
3077                            inputs: ::std::vec![
3078                                ::ethers::core::abi::ethabi::Param {
3079                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
3080                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3081                                    internal_type: ::core::option::Option::Some(
3082                                        ::std::borrow::ToOwned::to_owned("address"),
3083                                    ),
3084                                },
3085                            ],
3086                            outputs: ::std::vec![
3087                                ::ethers::core::abi::ethabi::Param {
3088                                    name: ::std::string::String::new(),
3089                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
3090                                        ::std::boxed::Box::new(
3091                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
3092                                        ),
3093                                    ),
3094                                    internal_type: ::core::option::Option::Some(
3095                                        ::std::borrow::ToOwned::to_owned("bytes32[]"),
3096                                    ),
3097                                },
3098                            ],
3099                            constant: ::core::option::Option::None,
3100                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3101                        },
3102                    ],
3103                ),
3104                (
3105                    ::std::borrow::ToOwned::to_owned("getOracles"),
3106                    ::std::vec![
3107                        ::ethers::core::abi::ethabi::Function {
3108                            name: ::std::borrow::ToOwned::to_owned("getOracles"),
3109                            inputs: ::std::vec![
3110                                ::ethers::core::abi::ethabi::Param {
3111                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
3112                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3113                                    internal_type: ::core::option::Option::Some(
3114                                        ::std::borrow::ToOwned::to_owned("address"),
3115                                    ),
3116                                },
3117                            ],
3118                            outputs: ::std::vec![
3119                                ::ethers::core::abi::ethabi::Param {
3120                                    name: ::std::string::String::new(),
3121                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
3122                                        ::std::boxed::Box::new(
3123                                            ::ethers::core::abi::ethabi::ParamType::Address,
3124                                        ),
3125                                    ),
3126                                    internal_type: ::core::option::Option::Some(
3127                                        ::std::borrow::ToOwned::to_owned("address[]"),
3128                                    ),
3129                                },
3130                            ],
3131                            constant: ::core::option::Option::None,
3132                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3133                        },
3134                    ],
3135                ),
3136                (
3137                    ::std::borrow::ToOwned::to_owned("getPermission"),
3138                    ::std::vec![
3139                        ::ethers::core::abi::ethabi::Function {
3140                            name: ::std::borrow::ToOwned::to_owned("getPermission"),
3141                            inputs: ::std::vec![
3142                                ::ethers::core::abi::ethabi::Param {
3143                                    name: ::std::borrow::ToOwned::to_owned("granter"),
3144                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3145                                    internal_type: ::core::option::Option::Some(
3146                                        ::std::borrow::ToOwned::to_owned("address"),
3147                                    ),
3148                                },
3149                                ::ethers::core::abi::ethabi::Param {
3150                                    name: ::std::borrow::ToOwned::to_owned("grantee"),
3151                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3152                                    internal_type: ::core::option::Option::Some(
3153                                        ::std::borrow::ToOwned::to_owned("address"),
3154                                    ),
3155                                },
3156                            ],
3157                            outputs: ::std::vec![
3158                                ::ethers::core::abi::ethabi::Param {
3159                                    name: ::std::string::String::new(),
3160                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3161                                        256usize,
3162                                    ),
3163                                    internal_type: ::core::option::Option::Some(
3164                                        ::std::borrow::ToOwned::to_owned("uint256"),
3165                                    ),
3166                                },
3167                            ],
3168                            constant: ::core::option::Option::None,
3169                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3170                        },
3171                    ],
3172                ),
3173                (
3174                    ::std::borrow::ToOwned::to_owned("getRequestsByFunctionId"),
3175                    ::std::vec![
3176                        ::ethers::core::abi::ethabi::Function {
3177                            name: ::std::borrow::ToOwned::to_owned(
3178                                "getRequestsByFunctionId",
3179                            ),
3180                            inputs: ::std::vec![
3181                                ::ethers::core::abi::ethabi::Param {
3182                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
3183                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3184                                    internal_type: ::core::option::Option::Some(
3185                                        ::std::borrow::ToOwned::to_owned("address"),
3186                                    ),
3187                                },
3188                            ],
3189                            outputs: ::std::vec![
3190                                ::ethers::core::abi::ethabi::Param {
3191                                    name: ::std::string::String::new(),
3192                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
3193                                        ::std::boxed::Box::new(
3194                                            ::ethers::core::abi::ethabi::ParamType::Address,
3195                                        ),
3196                                    ),
3197                                    internal_type: ::core::option::Option::Some(
3198                                        ::std::borrow::ToOwned::to_owned("address[]"),
3199                                    ),
3200                                },
3201                                ::ethers::core::abi::ethabi::Param {
3202                                    name: ::std::string::String::new(),
3203                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
3204                                        ::std::boxed::Box::new(
3205                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
3206                                                ::std::vec![
3207                                                    ::ethers::core::abi::ethabi::ParamType::Address,
3208                                                    ::ethers::core::abi::ethabi::ParamType::Address,
3209                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3210                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
3211                                                    ::ethers::core::abi::ethabi::ParamType::Bool,
3212                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3213                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3214                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3215                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
3216                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3217                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
3218                                                ],
3219                                            ),
3220                                        ),
3221                                    ),
3222                                    internal_type: ::core::option::Option::Some(
3223                                        ::std::borrow::ToOwned::to_owned(
3224                                            "struct RequestLib.Request[]",
3225                                        ),
3226                                    ),
3227                                },
3228                            ],
3229                            constant: ::core::option::Option::None,
3230                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3231                        },
3232                    ],
3233                ),
3234                (
3235                    ::std::borrow::ToOwned::to_owned("getRoutinesByAuthority"),
3236                    ::std::vec![
3237                        ::ethers::core::abi::ethabi::Function {
3238                            name: ::std::borrow::ToOwned::to_owned(
3239                                "getRoutinesByAuthority",
3240                            ),
3241                            inputs: ::std::vec![
3242                                ::ethers::core::abi::ethabi::Param {
3243                                    name: ::std::borrow::ToOwned::to_owned("authority"),
3244                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3245                                    internal_type: ::core::option::Option::Some(
3246                                        ::std::borrow::ToOwned::to_owned("address"),
3247                                    ),
3248                                },
3249                            ],
3250                            outputs: ::std::vec![
3251                                ::ethers::core::abi::ethabi::Param {
3252                                    name: ::std::string::String::new(),
3253                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
3254                                        ::std::boxed::Box::new(
3255                                            ::ethers::core::abi::ethabi::ParamType::Address,
3256                                        ),
3257                                    ),
3258                                    internal_type: ::core::option::Option::Some(
3259                                        ::std::borrow::ToOwned::to_owned("address[]"),
3260                                    ),
3261                                },
3262                                ::ethers::core::abi::ethabi::Param {
3263                                    name: ::std::string::String::new(),
3264                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
3265                                        ::std::boxed::Box::new(
3266                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
3267                                                ::std::vec![
3268                                                    ::ethers::core::abi::ethabi::ParamType::Address,
3269                                                    ::ethers::core::abi::ethabi::ParamType::Address,
3270                                                    ::ethers::core::abi::ethabi::ParamType::String,
3271                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
3272                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3273                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3274                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3275                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
3276                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
3277                                                ],
3278                                            ),
3279                                        ),
3280                                    ),
3281                                    internal_type: ::core::option::Option::Some(
3282                                        ::std::borrow::ToOwned::to_owned(
3283                                            "struct RoutineLib.Routine[]",
3284                                        ),
3285                                    ),
3286                                },
3287                            ],
3288                            constant: ::core::option::Option::None,
3289                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3290                        },
3291                    ],
3292                ),
3293                (
3294                    ::std::borrow::ToOwned::to_owned("getRoutinesByFunctionId"),
3295                    ::std::vec![
3296                        ::ethers::core::abi::ethabi::Function {
3297                            name: ::std::borrow::ToOwned::to_owned(
3298                                "getRoutinesByFunctionId",
3299                            ),
3300                            inputs: ::std::vec![
3301                                ::ethers::core::abi::ethabi::Param {
3302                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
3303                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3304                                    internal_type: ::core::option::Option::Some(
3305                                        ::std::borrow::ToOwned::to_owned("address"),
3306                                    ),
3307                                },
3308                            ],
3309                            outputs: ::std::vec![
3310                                ::ethers::core::abi::ethabi::Param {
3311                                    name: ::std::string::String::new(),
3312                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
3313                                        ::std::boxed::Box::new(
3314                                            ::ethers::core::abi::ethabi::ParamType::Address,
3315                                        ),
3316                                    ),
3317                                    internal_type: ::core::option::Option::Some(
3318                                        ::std::borrow::ToOwned::to_owned("address[]"),
3319                                    ),
3320                                },
3321                                ::ethers::core::abi::ethabi::Param {
3322                                    name: ::std::string::String::new(),
3323                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
3324                                        ::std::boxed::Box::new(
3325                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
3326                                                ::std::vec![
3327                                                    ::ethers::core::abi::ethabi::ParamType::Address,
3328                                                    ::ethers::core::abi::ethabi::ParamType::Address,
3329                                                    ::ethers::core::abi::ethabi::ParamType::String,
3330                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
3331                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3332                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3333                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3334                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
3335                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
3336                                                ],
3337                                            ),
3338                                        ),
3339                                    ),
3340                                    internal_type: ::core::option::Option::Some(
3341                                        ::std::borrow::ToOwned::to_owned(
3342                                            "struct RoutineLib.Routine[]",
3343                                        ),
3344                                    ),
3345                                },
3346                            ],
3347                            constant: ::core::option::Option::None,
3348                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3349                        },
3350                    ],
3351                ),
3352                (
3353                    ::std::borrow::ToOwned::to_owned("getStakeForEnclave"),
3354                    ::std::vec![
3355                        ::ethers::core::abi::ethabi::Function {
3356                            name: ::std::borrow::ToOwned::to_owned("getStakeForEnclave"),
3357                            inputs: ::std::vec![
3358                                ::ethers::core::abi::ethabi::Param {
3359                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
3360                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3361                                    internal_type: ::core::option::Option::Some(
3362                                        ::std::borrow::ToOwned::to_owned("address"),
3363                                    ),
3364                                },
3365                            ],
3366                            outputs: ::std::vec![
3367                                ::ethers::core::abi::ethabi::Param {
3368                                    name: ::std::string::String::new(),
3369                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
3370                                        ::std::vec![
3371                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3372                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3373                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3374                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3375                                            ::ethers::core::abi::ethabi::ParamType::Address,
3376                                        ],
3377                                    ),
3378                                    internal_type: ::core::option::Option::Some(
3379                                        ::std::borrow::ToOwned::to_owned("struct StakingLib.Stake"),
3380                                    ),
3381                                },
3382                            ],
3383                            constant: ::core::option::Option::None,
3384                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3385                        },
3386                    ],
3387                ),
3388                (
3389                    ::std::borrow::ToOwned::to_owned("getStakeForEnclaveWithToken"),
3390                    ::std::vec![
3391                        ::ethers::core::abi::ethabi::Function {
3392                            name: ::std::borrow::ToOwned::to_owned(
3393                                "getStakeForEnclaveWithToken",
3394                            ),
3395                            inputs: ::std::vec![
3396                                ::ethers::core::abi::ethabi::Param {
3397                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
3398                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3399                                    internal_type: ::core::option::Option::Some(
3400                                        ::std::borrow::ToOwned::to_owned("address"),
3401                                    ),
3402                                },
3403                                ::ethers::core::abi::ethabi::Param {
3404                                    name: ::std::borrow::ToOwned::to_owned("token"),
3405                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3406                                    internal_type: ::core::option::Option::Some(
3407                                        ::std::borrow::ToOwned::to_owned("address"),
3408                                    ),
3409                                },
3410                            ],
3411                            outputs: ::std::vec![
3412                                ::ethers::core::abi::ethabi::Param {
3413                                    name: ::std::string::String::new(),
3414                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
3415                                        ::std::vec![
3416                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3417                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3418                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3419                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3420                                            ::ethers::core::abi::ethabi::ParamType::Address,
3421                                        ],
3422                                    ),
3423                                    internal_type: ::core::option::Option::Some(
3424                                        ::std::borrow::ToOwned::to_owned("struct StakingLib.Stake"),
3425                                    ),
3426                                },
3427                            ],
3428                            constant: ::core::option::Option::None,
3429                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3430                        },
3431                    ],
3432                ),
3433                (
3434                    ::std::borrow::ToOwned::to_owned("getStakingConfig"),
3435                    ::std::vec![
3436                        ::ethers::core::abi::ethabi::Function {
3437                            name: ::std::borrow::ToOwned::to_owned("getStakingConfig"),
3438                            inputs: ::std::vec![
3439                                ::ethers::core::abi::ethabi::Param {
3440                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
3441                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3442                                    internal_type: ::core::option::Option::Some(
3443                                        ::std::borrow::ToOwned::to_owned("address"),
3444                                    ),
3445                                },
3446                            ],
3447                            outputs: ::std::vec![
3448                                ::ethers::core::abi::ethabi::Param {
3449                                    name: ::std::string::String::new(),
3450                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
3451                                        ::std::vec![
3452                                            ::ethers::core::abi::ethabi::ParamType::Address,
3453                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3454                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3455                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3456                                        ],
3457                                    ),
3458                                    internal_type: ::core::option::Option::Some(
3459                                        ::std::borrow::ToOwned::to_owned(
3460                                            "struct StakingLib.StakingConfig",
3461                                        ),
3462                                    ),
3463                                },
3464                            ],
3465                            constant: ::core::option::Option::None,
3466                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3467                        },
3468                    ],
3469                ),
3470                (
3471                    ::std::borrow::ToOwned::to_owned("getTransactionHash"),
3472                    ::std::vec![
3473                        ::ethers::core::abi::ethabi::Function {
3474                            name: ::std::borrow::ToOwned::to_owned("getTransactionHash"),
3475                            inputs: ::std::vec![
3476                                ::ethers::core::abi::ethabi::Param {
3477                                    name: ::std::borrow::ToOwned::to_owned(
3478                                        "expirationTimeSeconds",
3479                                    ),
3480                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3481                                        256usize,
3482                                    ),
3483                                    internal_type: ::core::option::Option::Some(
3484                                        ::std::borrow::ToOwned::to_owned("uint256"),
3485                                    ),
3486                                },
3487                                ::ethers::core::abi::ethabi::Param {
3488                                    name: ::std::borrow::ToOwned::to_owned("gasLimit"),
3489                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3490                                        256usize,
3491                                    ),
3492                                    internal_type: ::core::option::Option::Some(
3493                                        ::std::borrow::ToOwned::to_owned("uint256"),
3494                                    ),
3495                                },
3496                                ::ethers::core::abi::ethabi::Param {
3497                                    name: ::std::borrow::ToOwned::to_owned("value"),
3498                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3499                                        256usize,
3500                                    ),
3501                                    internal_type: ::core::option::Option::Some(
3502                                        ::std::borrow::ToOwned::to_owned("uint256"),
3503                                    ),
3504                                },
3505                                ::ethers::core::abi::ethabi::Param {
3506                                    name: ::std::borrow::ToOwned::to_owned("to"),
3507                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3508                                    internal_type: ::core::option::Option::Some(
3509                                        ::std::borrow::ToOwned::to_owned("address"),
3510                                    ),
3511                                },
3512                                ::ethers::core::abi::ethabi::Param {
3513                                    name: ::std::borrow::ToOwned::to_owned("from"),
3514                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3515                                    internal_type: ::core::option::Option::Some(
3516                                        ::std::borrow::ToOwned::to_owned("address"),
3517                                    ),
3518                                },
3519                                ::ethers::core::abi::ethabi::Param {
3520                                    name: ::std::borrow::ToOwned::to_owned("data"),
3521                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
3522                                    internal_type: ::core::option::Option::Some(
3523                                        ::std::borrow::ToOwned::to_owned("bytes"),
3524                                    ),
3525                                },
3526                            ],
3527                            outputs: ::std::vec![
3528                                ::ethers::core::abi::ethabi::Param {
3529                                    name: ::std::string::String::new(),
3530                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
3531                                        32usize,
3532                                    ),
3533                                    internal_type: ::core::option::Option::Some(
3534                                        ::std::borrow::ToOwned::to_owned("bytes32"),
3535                                    ),
3536                                },
3537                            ],
3538                            constant: ::core::option::Option::None,
3539                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3540                        },
3541                    ],
3542                ),
3543                (
3544                    ::std::borrow::ToOwned::to_owned("hasPermission"),
3545                    ::std::vec![
3546                        ::ethers::core::abi::ethabi::Function {
3547                            name: ::std::borrow::ToOwned::to_owned("hasPermission"),
3548                            inputs: ::std::vec![
3549                                ::ethers::core::abi::ethabi::Param {
3550                                    name: ::std::borrow::ToOwned::to_owned("granter"),
3551                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3552                                    internal_type: ::core::option::Option::Some(
3553                                        ::std::borrow::ToOwned::to_owned("address"),
3554                                    ),
3555                                },
3556                                ::ethers::core::abi::ethabi::Param {
3557                                    name: ::std::borrow::ToOwned::to_owned("grantee"),
3558                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3559                                    internal_type: ::core::option::Option::Some(
3560                                        ::std::borrow::ToOwned::to_owned("address"),
3561                                    ),
3562                                },
3563                                ::ethers::core::abi::ethabi::Param {
3564                                    name: ::std::borrow::ToOwned::to_owned("permission"),
3565                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3566                                        256usize,
3567                                    ),
3568                                    internal_type: ::core::option::Option::Some(
3569                                        ::std::borrow::ToOwned::to_owned("uint256"),
3570                                    ),
3571                                },
3572                            ],
3573                            outputs: ::std::vec![
3574                                ::ethers::core::abi::ethabi::Param {
3575                                    name: ::std::string::String::new(),
3576                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
3577                                    internal_type: ::core::option::Option::Some(
3578                                        ::std::borrow::ToOwned::to_owned("bool"),
3579                                    ),
3580                                },
3581                            ],
3582                            constant: ::core::option::Option::None,
3583                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3584                        },
3585                    ],
3586                ),
3587                (
3588                    ::std::borrow::ToOwned::to_owned("init"),
3589                    ::std::vec![
3590                        ::ethers::core::abi::ethabi::Function {
3591                            name: ::std::borrow::ToOwned::to_owned("init"),
3592                            inputs: ::std::vec![],
3593                            outputs: ::std::vec![],
3594                            constant: ::core::option::Option::None,
3595                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
3596                        },
3597                    ],
3598                ),
3599                (
3600                    ::std::borrow::ToOwned::to_owned("initialize"),
3601                    ::std::vec![
3602                        ::ethers::core::abi::ethabi::Function {
3603                            name: ::std::borrow::ToOwned::to_owned("initialize"),
3604                            inputs: ::std::vec![],
3605                            outputs: ::std::vec![],
3606                            constant: ::core::option::Option::None,
3607                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
3608                        },
3609                    ],
3610                ),
3611                (
3612                    ::std::borrow::ToOwned::to_owned("isAdmin"),
3613                    ::std::vec![
3614                        ::ethers::core::abi::ethabi::Function {
3615                            name: ::std::borrow::ToOwned::to_owned("isAdmin"),
3616                            inputs: ::std::vec![
3617                                ::ethers::core::abi::ethabi::Param {
3618                                    name: ::std::borrow::ToOwned::to_owned("sender"),
3619                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3620                                    internal_type: ::core::option::Option::Some(
3621                                        ::std::borrow::ToOwned::to_owned("address"),
3622                                    ),
3623                                },
3624                            ],
3625                            outputs: ::std::vec![
3626                                ::ethers::core::abi::ethabi::Param {
3627                                    name: ::std::string::String::new(),
3628                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
3629                                    internal_type: ::core::option::Option::Some(
3630                                        ::std::borrow::ToOwned::to_owned("bool"),
3631                                    ),
3632                                },
3633                            ],
3634                            constant: ::core::option::Option::None,
3635                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3636                        },
3637                    ],
3638                ),
3639                (
3640                    ::std::borrow::ToOwned::to_owned("isAllowed"),
3641                    ::std::vec![
3642                        ::ethers::core::abi::ethabi::Function {
3643                            name: ::std::borrow::ToOwned::to_owned("isAllowed"),
3644                            inputs: ::std::vec![
3645                                ::ethers::core::abi::ethabi::Param {
3646                                    name: ::std::borrow::ToOwned::to_owned("sender"),
3647                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3648                                    internal_type: ::core::option::Option::Some(
3649                                        ::std::borrow::ToOwned::to_owned("address"),
3650                                    ),
3651                                },
3652                            ],
3653                            outputs: ::std::vec![
3654                                ::ethers::core::abi::ethabi::Param {
3655                                    name: ::std::string::String::new(),
3656                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
3657                                    internal_type: ::core::option::Option::Some(
3658                                        ::std::borrow::ToOwned::to_owned("bool"),
3659                                    ),
3660                                },
3661                            ],
3662                            constant: ::core::option::Option::None,
3663                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3664                        },
3665                    ],
3666                ),
3667                (
3668                    ::std::borrow::ToOwned::to_owned("isEnclaveValid"),
3669                    ::std::vec![
3670                        ::ethers::core::abi::ethabi::Function {
3671                            name: ::std::borrow::ToOwned::to_owned("isEnclaveValid"),
3672                            inputs: ::std::vec![
3673                                ::ethers::core::abi::ethabi::Param {
3674                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
3675                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3676                                    internal_type: ::core::option::Option::Some(
3677                                        ::std::borrow::ToOwned::to_owned("address"),
3678                                    ),
3679                                },
3680                            ],
3681                            outputs: ::std::vec![
3682                                ::ethers::core::abi::ethabi::Param {
3683                                    name: ::std::string::String::new(),
3684                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
3685                                    internal_type: ::core::option::Option::Some(
3686                                        ::std::borrow::ToOwned::to_owned("bool"),
3687                                    ),
3688                                },
3689                            ],
3690                            constant: ::core::option::Option::None,
3691                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3692                        },
3693                    ],
3694                ),
3695                (
3696                    ::std::borrow::ToOwned::to_owned("isTrustedForwarder"),
3697                    ::std::vec![
3698                        ::ethers::core::abi::ethabi::Function {
3699                            name: ::std::borrow::ToOwned::to_owned("isTrustedForwarder"),
3700                            inputs: ::std::vec![
3701                                ::ethers::core::abi::ethabi::Param {
3702                                    name: ::std::string::String::new(),
3703                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3704                                    internal_type: ::core::option::Option::Some(
3705                                        ::std::borrow::ToOwned::to_owned("address"),
3706                                    ),
3707                                },
3708                            ],
3709                            outputs: ::std::vec![
3710                                ::ethers::core::abi::ethabi::Param {
3711                                    name: ::std::string::String::new(),
3712                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
3713                                    internal_type: ::core::option::Option::Some(
3714                                        ::std::borrow::ToOwned::to_owned("bool"),
3715                                    ),
3716                                },
3717                            ],
3718                            constant: ::core::option::Option::None,
3719                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure,
3720                        },
3721                    ],
3722                ),
3723                (
3724                    ::std::borrow::ToOwned::to_owned("latestResult"),
3725                    ::std::vec![
3726                        ::ethers::core::abi::ethabi::Function {
3727                            name: ::std::borrow::ToOwned::to_owned("latestResult"),
3728                            inputs: ::std::vec![
3729                                ::ethers::core::abi::ethabi::Param {
3730                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
3731                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3732                                    internal_type: ::core::option::Option::Some(
3733                                        ::std::borrow::ToOwned::to_owned("address"),
3734                                    ),
3735                                },
3736                            ],
3737                            outputs: ::std::vec![
3738                                ::ethers::core::abi::ethabi::Param {
3739                                    name: ::std::borrow::ToOwned::to_owned("value"),
3740                                    kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize),
3741                                    internal_type: ::core::option::Option::Some(
3742                                        ::std::borrow::ToOwned::to_owned("int256"),
3743                                    ),
3744                                },
3745                                ::ethers::core::abi::ethabi::Param {
3746                                    name: ::std::borrow::ToOwned::to_owned("timestamp"),
3747                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3748                                        256usize,
3749                                    ),
3750                                    internal_type: ::core::option::Option::Some(
3751                                        ::std::borrow::ToOwned::to_owned("uint256"),
3752                                    ),
3753                                },
3754                            ],
3755                            constant: ::core::option::Option::None,
3756                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
3757                        },
3758                    ],
3759                ),
3760                (
3761                    ::std::borrow::ToOwned::to_owned("openInterval"),
3762                    ::std::vec![
3763                        ::ethers::core::abi::ethabi::Function {
3764                            name: ::std::borrow::ToOwned::to_owned("openInterval"),
3765                            inputs: ::std::vec![
3766                                ::ethers::core::abi::ethabi::Param {
3767                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
3768                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3769                                    internal_type: ::core::option::Option::Some(
3770                                        ::std::borrow::ToOwned::to_owned("address"),
3771                                    ),
3772                                },
3773                            ],
3774                            outputs: ::std::vec![],
3775                            constant: ::core::option::Option::None,
3776                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
3777                        },
3778                    ],
3779                ),
3780                (
3781                    ::std::borrow::ToOwned::to_owned("oracleGarbageCollect"),
3782                    ::std::vec![
3783                        ::ethers::core::abi::ethabi::Function {
3784                            name: ::std::borrow::ToOwned::to_owned(
3785                                "oracleGarbageCollect",
3786                            ),
3787                            inputs: ::std::vec![
3788                                ::ethers::core::abi::ethabi::Param {
3789                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
3790                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3791                                    internal_type: ::core::option::Option::Some(
3792                                        ::std::borrow::ToOwned::to_owned("address"),
3793                                    ),
3794                                },
3795                                ::ethers::core::abi::ethabi::Param {
3796                                    name: ::std::borrow::ToOwned::to_owned("oracleIdx"),
3797                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
3798                                        256usize,
3799                                    ),
3800                                    internal_type: ::core::option::Option::Some(
3801                                        ::std::borrow::ToOwned::to_owned("uint256"),
3802                                    ),
3803                                },
3804                            ],
3805                            outputs: ::std::vec![],
3806                            constant: ::core::option::Option::None,
3807                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
3808                        },
3809                    ],
3810                ),
3811                (
3812                    ::std::borrow::ToOwned::to_owned("oracleHeartbeat"),
3813                    ::std::vec![
3814                        ::ethers::core::abi::ethabi::Function {
3815                            name: ::std::borrow::ToOwned::to_owned("oracleHeartbeat"),
3816                            inputs: ::std::vec![
3817                                ::ethers::core::abi::ethabi::Param {
3818                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
3819                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3820                                    internal_type: ::core::option::Option::Some(
3821                                        ::std::borrow::ToOwned::to_owned("address"),
3822                                    ),
3823                                },
3824                            ],
3825                            outputs: ::std::vec![],
3826                            constant: ::core::option::Option::None,
3827                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
3828                        },
3829                    ],
3830                ),
3831                (
3832                    ::std::borrow::ToOwned::to_owned("oracleQueues"),
3833                    ::std::vec![
3834                        ::ethers::core::abi::ethabi::Function {
3835                            name: ::std::borrow::ToOwned::to_owned("oracleQueues"),
3836                            inputs: ::std::vec![
3837                                ::ethers::core::abi::ethabi::Param {
3838                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
3839                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3840                                    internal_type: ::core::option::Option::Some(
3841                                        ::std::borrow::ToOwned::to_owned("address"),
3842                                    ),
3843                                },
3844                            ],
3845                            outputs: ::std::vec![
3846                                ::ethers::core::abi::ethabi::Param {
3847                                    name: ::std::string::String::new(),
3848                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
3849                                        ::std::vec![
3850                                            ::ethers::core::abi::ethabi::ParamType::String,
3851                                            ::ethers::core::abi::ethabi::ParamType::Address,
3852                                            ::ethers::core::abi::ethabi::ParamType::Array(
3853                                                ::std::boxed::Box::new(
3854                                                    ::ethers::core::abi::ethabi::ParamType::Address,
3855                                                ),
3856                                            ),
3857                                            ::ethers::core::abi::ethabi::ParamType::Bool,
3858                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3859                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3860                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3861                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3862                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3863                                        ],
3864                                    ),
3865                                    internal_type: ::core::option::Option::Some(
3866                                        ::std::borrow::ToOwned::to_owned(
3867                                            "struct OracleQueueLib.OracleQueue",
3868                                        ),
3869                                    ),
3870                                },
3871                            ],
3872                            constant: ::core::option::Option::None,
3873                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3874                        },
3875                    ],
3876                ),
3877                (
3878                    ::std::borrow::ToOwned::to_owned("oracles"),
3879                    ::std::vec![
3880                        ::ethers::core::abi::ethabi::Function {
3881                            name: ::std::borrow::ToOwned::to_owned("oracles"),
3882                            inputs: ::std::vec![
3883                                ::ethers::core::abi::ethabi::Param {
3884                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
3885                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3886                                    internal_type: ::core::option::Option::Some(
3887                                        ::std::borrow::ToOwned::to_owned("address"),
3888                                    ),
3889                                },
3890                            ],
3891                            outputs: ::std::vec![
3892                                ::ethers::core::abi::ethabi::Param {
3893                                    name: ::std::string::String::new(),
3894                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
3895                                        ::std::vec![
3896                                            ::ethers::core::abi::ethabi::ParamType::String,
3897                                            ::ethers::core::abi::ethabi::ParamType::Address,
3898                                            ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
3899                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
3900                                            ::ethers::core::abi::ethabi::ParamType::Address,
3901                                            ::ethers::core::abi::ethabi::ParamType::Address,
3902                                        ],
3903                                    ),
3904                                    internal_type: ::core::option::Option::Some(
3905                                        ::std::borrow::ToOwned::to_owned("struct OracleLib.Oracle"),
3906                                    ),
3907                                },
3908                            ],
3909                            constant: ::core::option::Option::None,
3910                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3911                        },
3912                    ],
3913                ),
3914                (
3915                    ::std::borrow::ToOwned::to_owned("owner"),
3916                    ::std::vec![
3917                        ::ethers::core::abi::ethabi::Function {
3918                            name: ::std::borrow::ToOwned::to_owned("owner"),
3919                            inputs: ::std::vec![],
3920                            outputs: ::std::vec![
3921                                ::ethers::core::abi::ethabi::Param {
3922                                    name: ::std::borrow::ToOwned::to_owned("owner_"),
3923                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3924                                    internal_type: ::core::option::Option::Some(
3925                                        ::std::borrow::ToOwned::to_owned("address"),
3926                                    ),
3927                                },
3928                            ],
3929                            constant: ::core::option::Option::None,
3930                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3931                        },
3932                    ],
3933                ),
3934                (
3935                    ::std::borrow::ToOwned::to_owned("prepareUnstake"),
3936                    ::std::vec![
3937                        ::ethers::core::abi::ethabi::Function {
3938                            name: ::std::borrow::ToOwned::to_owned("prepareUnstake"),
3939                            inputs: ::std::vec![
3940                                ::ethers::core::abi::ethabi::Param {
3941                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
3942                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3943                                    internal_type: ::core::option::Option::Some(
3944                                        ::std::borrow::ToOwned::to_owned("address"),
3945                                    ),
3946                                },
3947                            ],
3948                            outputs: ::std::vec![],
3949                            constant: ::core::option::Option::None,
3950                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
3951                        },
3952                    ],
3953                ),
3954                (
3955                    ::std::borrow::ToOwned::to_owned("queueAttestationConfigs"),
3956                    ::std::vec![
3957                        ::ethers::core::abi::ethabi::Function {
3958                            name: ::std::borrow::ToOwned::to_owned(
3959                                "queueAttestationConfigs",
3960                            ),
3961                            inputs: ::std::vec![
3962                                ::ethers::core::abi::ethabi::Param {
3963                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
3964                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
3965                                    internal_type: ::core::option::Option::Some(
3966                                        ::std::borrow::ToOwned::to_owned("address"),
3967                                    ),
3968                                },
3969                            ],
3970                            outputs: ::std::vec![
3971                                ::ethers::core::abi::ethabi::Param {
3972                                    name: ::std::string::String::new(),
3973                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
3974                                        ::std::vec![
3975                                            ::ethers::core::abi::ethabi::ParamType::Address,
3976                                            ::ethers::core::abi::ethabi::ParamType::Array(
3977                                                ::std::boxed::Box::new(
3978                                                    ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
3979                                                ),
3980                                            ),
3981                                            ::ethers::core::abi::ethabi::ParamType::Bool,
3982                                            ::ethers::core::abi::ethabi::ParamType::Bool,
3983                                        ],
3984                                    ),
3985                                    internal_type: ::core::option::Option::Some(
3986                                        ::std::borrow::ToOwned::to_owned(
3987                                            "struct OracleQueueLib.AttestationConfig",
3988                                        ),
3989                                    ),
3990                                },
3991                            ],
3992                            constant: ::core::option::Option::None,
3993                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
3994                        },
3995                    ],
3996                ),
3997                (
3998                    ::std::borrow::ToOwned::to_owned("recoverStakeWithToken"),
3999                    ::std::vec![
4000                        ::ethers::core::abi::ethabi::Function {
4001                            name: ::std::borrow::ToOwned::to_owned(
4002                                "recoverStakeWithToken",
4003                            ),
4004                            inputs: ::std::vec![
4005                                ::ethers::core::abi::ethabi::Param {
4006                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
4007                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4008                                    internal_type: ::core::option::Option::Some(
4009                                        ::std::borrow::ToOwned::to_owned("address"),
4010                                    ),
4011                                },
4012                                ::ethers::core::abi::ethabi::Param {
4013                                    name: ::std::borrow::ToOwned::to_owned("token"),
4014                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4015                                    internal_type: ::core::option::Option::Some(
4016                                        ::std::borrow::ToOwned::to_owned("address"),
4017                                    ),
4018                                },
4019                                ::ethers::core::abi::ethabi::Param {
4020                                    name: ::std::borrow::ToOwned::to_owned("amount"),
4021                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4022                                        256usize,
4023                                    ),
4024                                    internal_type: ::core::option::Option::Some(
4025                                        ::std::borrow::ToOwned::to_owned("uint256"),
4026                                    ),
4027                                },
4028                            ],
4029                            outputs: ::std::vec![],
4030                            constant: ::core::option::Option::None,
4031                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4032                        },
4033                    ],
4034                ),
4035                (
4036                    ::std::borrow::ToOwned::to_owned(
4037                        "removeMrEnclaveFromAttestationQueue",
4038                    ),
4039                    ::std::vec![
4040                        ::ethers::core::abi::ethabi::Function {
4041                            name: ::std::borrow::ToOwned::to_owned(
4042                                "removeMrEnclaveFromAttestationQueue",
4043                            ),
4044                            inputs: ::std::vec![
4045                                ::ethers::core::abi::ethabi::Param {
4046                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
4047                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4048                                    internal_type: ::core::option::Option::Some(
4049                                        ::std::borrow::ToOwned::to_owned("address"),
4050                                    ),
4051                                },
4052                                ::ethers::core::abi::ethabi::Param {
4053                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
4054                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
4055                                        32usize,
4056                                    ),
4057                                    internal_type: ::core::option::Option::Some(
4058                                        ::std::borrow::ToOwned::to_owned("bytes32"),
4059                                    ),
4060                                },
4061                            ],
4062                            outputs: ::std::vec![],
4063                            constant: ::core::option::Option::None,
4064                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4065                        },
4066                    ],
4067                ),
4068                (
4069                    ::std::borrow::ToOwned::to_owned("removeMrEnclaveFromFunction"),
4070                    ::std::vec![
4071                        ::ethers::core::abi::ethabi::Function {
4072                            name: ::std::borrow::ToOwned::to_owned(
4073                                "removeMrEnclaveFromFunction",
4074                            ),
4075                            inputs: ::std::vec![
4076                                ::ethers::core::abi::ethabi::Param {
4077                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
4078                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4079                                    internal_type: ::core::option::Option::Some(
4080                                        ::std::borrow::ToOwned::to_owned("address"),
4081                                    ),
4082                                },
4083                                ::ethers::core::abi::ethabi::Param {
4084                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
4085                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
4086                                        32usize,
4087                                    ),
4088                                    internal_type: ::core::option::Option::Some(
4089                                        ::std::borrow::ToOwned::to_owned("bytes32"),
4090                                    ),
4091                                },
4092                            ],
4093                            outputs: ::std::vec![],
4094                            constant: ::core::option::Option::None,
4095                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4096                        },
4097                    ],
4098                ),
4099                (
4100                    ::std::borrow::ToOwned::to_owned("removeMrEnclaveFromOracleQueue"),
4101                    ::std::vec![
4102                        ::ethers::core::abi::ethabi::Function {
4103                            name: ::std::borrow::ToOwned::to_owned(
4104                                "removeMrEnclaveFromOracleQueue",
4105                            ),
4106                            inputs: ::std::vec![
4107                                ::ethers::core::abi::ethabi::Param {
4108                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
4109                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4110                                    internal_type: ::core::option::Option::Some(
4111                                        ::std::borrow::ToOwned::to_owned("address"),
4112                                    ),
4113                                },
4114                                ::ethers::core::abi::ethabi::Param {
4115                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
4116                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
4117                                        32usize,
4118                                    ),
4119                                    internal_type: ::core::option::Option::Some(
4120                                        ::std::borrow::ToOwned::to_owned("bytes32"),
4121                                    ),
4122                                },
4123                            ],
4124                            outputs: ::std::vec![],
4125                            constant: ::core::option::Option::None,
4126                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4127                        },
4128                    ],
4129                ),
4130                (
4131                    ::std::borrow::ToOwned::to_owned("requestFund"),
4132                    ::std::vec![
4133                        ::ethers::core::abi::ethabi::Function {
4134                            name: ::std::borrow::ToOwned::to_owned("requestFund"),
4135                            inputs: ::std::vec![
4136                                ::ethers::core::abi::ethabi::Param {
4137                                    name: ::std::borrow::ToOwned::to_owned("requestId"),
4138                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4139                                    internal_type: ::core::option::Option::Some(
4140                                        ::std::borrow::ToOwned::to_owned("address"),
4141                                    ),
4142                                },
4143                            ],
4144                            outputs: ::std::vec![],
4145                            constant: ::core::option::Option::None,
4146                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
4147                        },
4148                    ],
4149                ),
4150                (
4151                    ::std::borrow::ToOwned::to_owned("requestWithdrawal"),
4152                    ::std::vec![
4153                        ::ethers::core::abi::ethabi::Function {
4154                            name: ::std::borrow::ToOwned::to_owned("requestWithdrawal"),
4155                            inputs: ::std::vec![
4156                                ::ethers::core::abi::ethabi::Param {
4157                                    name: ::std::borrow::ToOwned::to_owned("requestId"),
4158                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4159                                    internal_type: ::core::option::Option::Some(
4160                                        ::std::borrow::ToOwned::to_owned("address"),
4161                                    ),
4162                                },
4163                                ::ethers::core::abi::ethabi::Param {
4164                                    name: ::std::borrow::ToOwned::to_owned("recipient"),
4165                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4166                                    internal_type: ::core::option::Option::Some(
4167                                        ::std::borrow::ToOwned::to_owned("address"),
4168                                    ),
4169                                },
4170                                ::ethers::core::abi::ethabi::Param {
4171                                    name: ::std::borrow::ToOwned::to_owned("amount"),
4172                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4173                                        256usize,
4174                                    ),
4175                                    internal_type: ::core::option::Option::Some(
4176                                        ::std::borrow::ToOwned::to_owned("uint256"),
4177                                    ),
4178                                },
4179                            ],
4180                            outputs: ::std::vec![],
4181                            constant: ::core::option::Option::None,
4182                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4183                        },
4184                    ],
4185                ),
4186                (
4187                    ::std::borrow::ToOwned::to_owned("requests"),
4188                    ::std::vec![
4189                        ::ethers::core::abi::ethabi::Function {
4190                            name: ::std::borrow::ToOwned::to_owned("requests"),
4191                            inputs: ::std::vec![
4192                                ::ethers::core::abi::ethabi::Param {
4193                                    name: ::std::borrow::ToOwned::to_owned("requestId"),
4194                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4195                                    internal_type: ::core::option::Option::Some(
4196                                        ::std::borrow::ToOwned::to_owned("address"),
4197                                    ),
4198                                },
4199                            ],
4200                            outputs: ::std::vec![
4201                                ::ethers::core::abi::ethabi::Param {
4202                                    name: ::std::string::String::new(),
4203                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
4204                                        ::std::vec![
4205                                            ::ethers::core::abi::ethabi::ParamType::Address,
4206                                            ::ethers::core::abi::ethabi::ParamType::Address,
4207                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
4208                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
4209                                            ::ethers::core::abi::ethabi::ParamType::Bool,
4210                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
4211                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
4212                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
4213                                            ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
4214                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
4215                                            ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
4216                                        ],
4217                                    ),
4218                                    internal_type: ::core::option::Option::Some(
4219                                        ::std::borrow::ToOwned::to_owned(
4220                                            "struct RequestLib.Request",
4221                                        ),
4222                                    ),
4223                                },
4224                            ],
4225                            constant: ::core::option::Option::None,
4226                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
4227                        },
4228                    ],
4229                ),
4230                (
4231                    ::std::borrow::ToOwned::to_owned("rotateEnclaveSigner"),
4232                    ::std::vec![
4233                        ::ethers::core::abi::ethabi::Function {
4234                            name: ::std::borrow::ToOwned::to_owned(
4235                                "rotateEnclaveSigner",
4236                            ),
4237                            inputs: ::std::vec![
4238                                ::ethers::core::abi::ethabi::Param {
4239                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
4240                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4241                                    internal_type: ::core::option::Option::Some(
4242                                        ::std::borrow::ToOwned::to_owned("address"),
4243                                    ),
4244                                },
4245                                ::ethers::core::abi::ethabi::Param {
4246                                    name: ::std::borrow::ToOwned::to_owned("newSigner"),
4247                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4248                                    internal_type: ::core::option::Option::Some(
4249                                        ::std::borrow::ToOwned::to_owned("address"),
4250                                    ),
4251                                },
4252                            ],
4253                            outputs: ::std::vec![],
4254                            constant: ::core::option::Option::None,
4255                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4256                        },
4257                    ],
4258                ),
4259                (
4260                    ::std::borrow::ToOwned::to_owned("rotateOracleSigner"),
4261                    ::std::vec![
4262                        ::ethers::core::abi::ethabi::Function {
4263                            name: ::std::borrow::ToOwned::to_owned("rotateOracleSigner"),
4264                            inputs: ::std::vec![
4265                                ::ethers::core::abi::ethabi::Param {
4266                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
4267                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4268                                    internal_type: ::core::option::Option::Some(
4269                                        ::std::borrow::ToOwned::to_owned("address"),
4270                                    ),
4271                                },
4272                                ::ethers::core::abi::ethabi::Param {
4273                                    name: ::std::borrow::ToOwned::to_owned("newSigner"),
4274                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4275                                    internal_type: ::core::option::Option::Some(
4276                                        ::std::borrow::ToOwned::to_owned("address"),
4277                                    ),
4278                                },
4279                            ],
4280                            outputs: ::std::vec![],
4281                            constant: ::core::option::Option::None,
4282                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4283                        },
4284                    ],
4285                ),
4286                (
4287                    ::std::borrow::ToOwned::to_owned("routineEscrowFund"),
4288                    ::std::vec![
4289                        ::ethers::core::abi::ethabi::Function {
4290                            name: ::std::borrow::ToOwned::to_owned("routineEscrowFund"),
4291                            inputs: ::std::vec![
4292                                ::ethers::core::abi::ethabi::Param {
4293                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
4294                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4295                                    internal_type: ::core::option::Option::Some(
4296                                        ::std::borrow::ToOwned::to_owned("address"),
4297                                    ),
4298                                },
4299                            ],
4300                            outputs: ::std::vec![],
4301                            constant: ::core::option::Option::None,
4302                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
4303                        },
4304                    ],
4305                ),
4306                (
4307                    ::std::borrow::ToOwned::to_owned("routineEscrowWithdraw"),
4308                    ::std::vec![
4309                        ::ethers::core::abi::ethabi::Function {
4310                            name: ::std::borrow::ToOwned::to_owned(
4311                                "routineEscrowWithdraw",
4312                            ),
4313                            inputs: ::std::vec![
4314                                ::ethers::core::abi::ethabi::Param {
4315                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
4316                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4317                                    internal_type: ::core::option::Option::Some(
4318                                        ::std::borrow::ToOwned::to_owned("address"),
4319                                    ),
4320                                },
4321                                ::ethers::core::abi::ethabi::Param {
4322                                    name: ::std::borrow::ToOwned::to_owned("amount"),
4323                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4324                                        256usize,
4325                                    ),
4326                                    internal_type: ::core::option::Option::Some(
4327                                        ::std::borrow::ToOwned::to_owned("uint256"),
4328                                    ),
4329                                },
4330                            ],
4331                            outputs: ::std::vec![],
4332                            constant: ::core::option::Option::None,
4333                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4334                        },
4335                    ],
4336                ),
4337                (
4338                    ::std::borrow::ToOwned::to_owned("routineExists"),
4339                    ::std::vec![
4340                        ::ethers::core::abi::ethabi::Function {
4341                            name: ::std::borrow::ToOwned::to_owned("routineExists"),
4342                            inputs: ::std::vec![
4343                                ::ethers::core::abi::ethabi::Param {
4344                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
4345                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4346                                    internal_type: ::core::option::Option::Some(
4347                                        ::std::borrow::ToOwned::to_owned("address"),
4348                                    ),
4349                                },
4350                            ],
4351                            outputs: ::std::vec![
4352                                ::ethers::core::abi::ethabi::Param {
4353                                    name: ::std::string::String::new(),
4354                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4355                                    internal_type: ::core::option::Option::Some(
4356                                        ::std::borrow::ToOwned::to_owned("bool"),
4357                                    ),
4358                                },
4359                            ],
4360                            constant: ::core::option::Option::None,
4361                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
4362                        },
4363                    ],
4364                ),
4365                (
4366                    ::std::borrow::ToOwned::to_owned("routines"),
4367                    ::std::vec![
4368                        ::ethers::core::abi::ethabi::Function {
4369                            name: ::std::borrow::ToOwned::to_owned("routines"),
4370                            inputs: ::std::vec![
4371                                ::ethers::core::abi::ethabi::Param {
4372                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
4373                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4374                                    internal_type: ::core::option::Option::Some(
4375                                        ::std::borrow::ToOwned::to_owned("address"),
4376                                    ),
4377                                },
4378                            ],
4379                            outputs: ::std::vec![
4380                                ::ethers::core::abi::ethabi::Param {
4381                                    name: ::std::string::String::new(),
4382                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
4383                                        ::std::vec![
4384                                            ::ethers::core::abi::ethabi::ParamType::Address,
4385                                            ::ethers::core::abi::ethabi::ParamType::Address,
4386                                            ::ethers::core::abi::ethabi::ParamType::String,
4387                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
4388                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
4389                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
4390                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
4391                                            ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
4392                                            ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
4393                                        ],
4394                                    ),
4395                                    internal_type: ::core::option::Option::Some(
4396                                        ::std::borrow::ToOwned::to_owned(
4397                                            "struct RoutineLib.Routine",
4398                                        ),
4399                                    ),
4400                                },
4401                            ],
4402                            constant: ::core::option::Option::None,
4403                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
4404                        },
4405                    ],
4406                ),
4407                (
4408                    ::std::borrow::ToOwned::to_owned("saveResults"),
4409                    ::std::vec![
4410                        ::ethers::core::abi::ethabi::Function {
4411                            name: ::std::borrow::ToOwned::to_owned("saveResults"),
4412                            inputs: ::std::vec![
4413                                ::ethers::core::abi::ethabi::Param {
4414                                    name: ::std::borrow::ToOwned::to_owned("ids"),
4415                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
4416                                        ::std::boxed::Box::new(
4417                                            ::ethers::core::abi::ethabi::ParamType::Address,
4418                                        ),
4419                                    ),
4420                                    internal_type: ::core::option::Option::Some(
4421                                        ::std::borrow::ToOwned::to_owned("address[]"),
4422                                    ),
4423                                },
4424                                ::ethers::core::abi::ethabi::Param {
4425                                    name: ::std::borrow::ToOwned::to_owned("results"),
4426                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
4427                                        ::std::boxed::Box::new(
4428                                            ::ethers::core::abi::ethabi::ParamType::Int(256usize),
4429                                        ),
4430                                    ),
4431                                    internal_type: ::core::option::Option::Some(
4432                                        ::std::borrow::ToOwned::to_owned("int256[]"),
4433                                    ),
4434                                },
4435                                ::ethers::core::abi::ethabi::Param {
4436                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
4437                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4438                                    internal_type: ::core::option::Option::Some(
4439                                        ::std::borrow::ToOwned::to_owned("address"),
4440                                    ),
4441                                },
4442                                ::ethers::core::abi::ethabi::Param {
4443                                    name: ::std::borrow::ToOwned::to_owned("oracleIdx"),
4444                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4445                                        256usize,
4446                                    ),
4447                                    internal_type: ::core::option::Option::Some(
4448                                        ::std::borrow::ToOwned::to_owned("uint256"),
4449                                    ),
4450                                },
4451                            ],
4452                            outputs: ::std::vec![],
4453                            constant: ::core::option::Option::None,
4454                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4455                        },
4456                    ],
4457                ),
4458                (
4459                    ::std::borrow::ToOwned::to_owned("sendDelayedRequest"),
4460                    ::std::vec![
4461                        ::ethers::core::abi::ethabi::Function {
4462                            name: ::std::borrow::ToOwned::to_owned("sendDelayedRequest"),
4463                            inputs: ::std::vec![
4464                                ::ethers::core::abi::ethabi::Param {
4465                                    name: ::std::borrow::ToOwned::to_owned("requestId"),
4466                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4467                                    internal_type: ::core::option::Option::Some(
4468                                        ::std::borrow::ToOwned::to_owned("address"),
4469                                    ),
4470                                },
4471                                ::ethers::core::abi::ethabi::Param {
4472                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
4473                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4474                                    internal_type: ::core::option::Option::Some(
4475                                        ::std::borrow::ToOwned::to_owned("address"),
4476                                    ),
4477                                },
4478                                ::ethers::core::abi::ethabi::Param {
4479                                    name: ::std::borrow::ToOwned::to_owned("params"),
4480                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
4481                                    internal_type: ::core::option::Option::Some(
4482                                        ::std::borrow::ToOwned::to_owned("bytes"),
4483                                    ),
4484                                },
4485                                ::ethers::core::abi::ethabi::Param {
4486                                    name: ::std::borrow::ToOwned::to_owned("startAfter"),
4487                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4488                                        256usize,
4489                                    ),
4490                                    internal_type: ::core::option::Option::Some(
4491                                        ::std::borrow::ToOwned::to_owned("uint256"),
4492                                    ),
4493                                },
4494                            ],
4495                            outputs: ::std::vec![],
4496                            constant: ::core::option::Option::None,
4497                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
4498                        },
4499                    ],
4500                ),
4501                (
4502                    ::std::borrow::ToOwned::to_owned("sendRequest"),
4503                    ::std::vec![
4504                        ::ethers::core::abi::ethabi::Function {
4505                            name: ::std::borrow::ToOwned::to_owned("sendRequest"),
4506                            inputs: ::std::vec![
4507                                ::ethers::core::abi::ethabi::Param {
4508                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
4509                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4510                                    internal_type: ::core::option::Option::Some(
4511                                        ::std::borrow::ToOwned::to_owned("address"),
4512                                    ),
4513                                },
4514                                ::ethers::core::abi::ethabi::Param {
4515                                    name: ::std::borrow::ToOwned::to_owned("params"),
4516                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
4517                                    internal_type: ::core::option::Option::Some(
4518                                        ::std::borrow::ToOwned::to_owned("bytes"),
4519                                    ),
4520                                },
4521                            ],
4522                            outputs: ::std::vec![
4523                                ::ethers::core::abi::ethabi::Param {
4524                                    name: ::std::borrow::ToOwned::to_owned("id"),
4525                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4526                                    internal_type: ::core::option::Option::Some(
4527                                        ::std::borrow::ToOwned::to_owned("address"),
4528                                    ),
4529                                },
4530                            ],
4531                            constant: ::core::option::Option::None,
4532                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
4533                        },
4534                    ],
4535                ),
4536                (
4537                    ::std::borrow::ToOwned::to_owned("sendRequestWithId"),
4538                    ::std::vec![
4539                        ::ethers::core::abi::ethabi::Function {
4540                            name: ::std::borrow::ToOwned::to_owned("sendRequestWithId"),
4541                            inputs: ::std::vec![
4542                                ::ethers::core::abi::ethabi::Param {
4543                                    name: ::std::borrow::ToOwned::to_owned("requestId"),
4544                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4545                                    internal_type: ::core::option::Option::Some(
4546                                        ::std::borrow::ToOwned::to_owned("address"),
4547                                    ),
4548                                },
4549                                ::ethers::core::abi::ethabi::Param {
4550                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
4551                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4552                                    internal_type: ::core::option::Option::Some(
4553                                        ::std::borrow::ToOwned::to_owned("address"),
4554                                    ),
4555                                },
4556                                ::ethers::core::abi::ethabi::Param {
4557                                    name: ::std::borrow::ToOwned::to_owned("params"),
4558                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
4559                                    internal_type: ::core::option::Option::Some(
4560                                        ::std::borrow::ToOwned::to_owned("bytes"),
4561                                    ),
4562                                },
4563                            ],
4564                            outputs: ::std::vec![
4565                                ::ethers::core::abi::ethabi::Param {
4566                                    name: ::std::borrow::ToOwned::to_owned("id"),
4567                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4568                                    internal_type: ::core::option::Option::Some(
4569                                        ::std::borrow::ToOwned::to_owned("address"),
4570                                    ),
4571                                },
4572                            ],
4573                            constant: ::core::option::Option::None,
4574                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
4575                        },
4576                    ],
4577                ),
4578                (
4579                    ::std::borrow::ToOwned::to_owned("setAdmin"),
4580                    ::std::vec![
4581                        ::ethers::core::abi::ethabi::Function {
4582                            name: ::std::borrow::ToOwned::to_owned("setAdmin"),
4583                            inputs: ::std::vec![
4584                                ::ethers::core::abi::ethabi::Param {
4585                                    name: ::std::borrow::ToOwned::to_owned("sender"),
4586                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4587                                    internal_type: ::core::option::Option::Some(
4588                                        ::std::borrow::ToOwned::to_owned("address"),
4589                                    ),
4590                                },
4591                                ::ethers::core::abi::ethabi::Param {
4592                                    name: ::std::borrow::ToOwned::to_owned("status"),
4593                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4594                                    internal_type: ::core::option::Option::Some(
4595                                        ::std::borrow::ToOwned::to_owned("bool"),
4596                                    ),
4597                                },
4598                            ],
4599                            outputs: ::std::vec![],
4600                            constant: ::core::option::Option::None,
4601                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4602                        },
4603                    ],
4604                ),
4605                (
4606                    ::std::borrow::ToOwned::to_owned("setAggregatorConfig"),
4607                    ::std::vec![
4608                        ::ethers::core::abi::ethabi::Function {
4609                            name: ::std::borrow::ToOwned::to_owned(
4610                                "setAggregatorConfig",
4611                            ),
4612                            inputs: ::std::vec![
4613                                ::ethers::core::abi::ethabi::Param {
4614                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
4615                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4616                                    internal_type: ::core::option::Option::Some(
4617                                        ::std::borrow::ToOwned::to_owned("address"),
4618                                    ),
4619                                },
4620                                ::ethers::core::abi::ethabi::Param {
4621                                    name: ::std::borrow::ToOwned::to_owned("name"),
4622                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
4623                                    internal_type: ::core::option::Option::Some(
4624                                        ::std::borrow::ToOwned::to_owned("string"),
4625                                    ),
4626                                },
4627                                ::ethers::core::abi::ethabi::Param {
4628                                    name: ::std::borrow::ToOwned::to_owned("authority"),
4629                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4630                                    internal_type: ::core::option::Option::Some(
4631                                        ::std::borrow::ToOwned::to_owned("address"),
4632                                    ),
4633                                },
4634                                ::ethers::core::abi::ethabi::Param {
4635                                    name: ::std::borrow::ToOwned::to_owned("batchSize"),
4636                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4637                                        256usize,
4638                                    ),
4639                                    internal_type: ::core::option::Option::Some(
4640                                        ::std::borrow::ToOwned::to_owned("uint256"),
4641                                    ),
4642                                },
4643                                ::ethers::core::abi::ethabi::Param {
4644                                    name: ::std::borrow::ToOwned::to_owned(
4645                                        "minUpdateDelaySeconds",
4646                                    ),
4647                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4648                                        256usize,
4649                                    ),
4650                                    internal_type: ::core::option::Option::Some(
4651                                        ::std::borrow::ToOwned::to_owned("uint256"),
4652                                    ),
4653                                },
4654                                ::ethers::core::abi::ethabi::Param {
4655                                    name: ::std::borrow::ToOwned::to_owned("minOracleResults"),
4656                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4657                                        256usize,
4658                                    ),
4659                                    internal_type: ::core::option::Option::Some(
4660                                        ::std::borrow::ToOwned::to_owned("uint256"),
4661                                    ),
4662                                },
4663                                ::ethers::core::abi::ethabi::Param {
4664                                    name: ::std::borrow::ToOwned::to_owned("jobsHash"),
4665                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
4666                                    internal_type: ::core::option::Option::Some(
4667                                        ::std::borrow::ToOwned::to_owned("string"),
4668                                    ),
4669                                },
4670                                ::ethers::core::abi::ethabi::Param {
4671                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
4672                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4673                                    internal_type: ::core::option::Option::Some(
4674                                        ::std::borrow::ToOwned::to_owned("address"),
4675                                    ),
4676                                },
4677                                ::ethers::core::abi::ethabi::Param {
4678                                    name: ::std::borrow::ToOwned::to_owned("varianceThreshold"),
4679                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4680                                        256usize,
4681                                    ),
4682                                    internal_type: ::core::option::Option::Some(
4683                                        ::std::borrow::ToOwned::to_owned("uint256"),
4684                                    ),
4685                                },
4686                                ::ethers::core::abi::ethabi::Param {
4687                                    name: ::std::borrow::ToOwned::to_owned("minJobResults"),
4688                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4689                                        256usize,
4690                                    ),
4691                                    internal_type: ::core::option::Option::Some(
4692                                        ::std::borrow::ToOwned::to_owned("uint256"),
4693                                    ),
4694                                },
4695                                ::ethers::core::abi::ethabi::Param {
4696                                    name: ::std::borrow::ToOwned::to_owned("forceReportPeriod"),
4697                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4698                                        256usize,
4699                                    ),
4700                                    internal_type: ::core::option::Option::Some(
4701                                        ::std::borrow::ToOwned::to_owned("uint256"),
4702                                    ),
4703                                },
4704                                ::ethers::core::abi::ethabi::Param {
4705                                    name: ::std::borrow::ToOwned::to_owned("enableHistory"),
4706                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4707                                    internal_type: ::core::option::Option::Some(
4708                                        ::std::borrow::ToOwned::to_owned("bool"),
4709                                    ),
4710                                },
4711                            ],
4712                            outputs: ::std::vec![],
4713                            constant: ::core::option::Option::None,
4714                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4715                        },
4716                    ],
4717                ),
4718                (
4719                    ::std::borrow::ToOwned::to_owned("setAllowed"),
4720                    ::std::vec![
4721                        ::ethers::core::abi::ethabi::Function {
4722                            name: ::std::borrow::ToOwned::to_owned("setAllowed"),
4723                            inputs: ::std::vec![
4724                                ::ethers::core::abi::ethabi::Param {
4725                                    name: ::std::borrow::ToOwned::to_owned("sender"),
4726                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4727                                    internal_type: ::core::option::Option::Some(
4728                                        ::std::borrow::ToOwned::to_owned("address"),
4729                                    ),
4730                                },
4731                                ::ethers::core::abi::ethabi::Param {
4732                                    name: ::std::borrow::ToOwned::to_owned("status"),
4733                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4734                                    internal_type: ::core::option::Option::Some(
4735                                        ::std::borrow::ToOwned::to_owned("bool"),
4736                                    ),
4737                                },
4738                            ],
4739                            outputs: ::std::vec![],
4740                            constant: ::core::option::Option::None,
4741                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4742                        },
4743                    ],
4744                ),
4745                (
4746                    ::std::borrow::ToOwned::to_owned("setAttestationQueueConfig"),
4747                    ::std::vec![
4748                        ::ethers::core::abi::ethabi::Function {
4749                            name: ::std::borrow::ToOwned::to_owned(
4750                                "setAttestationQueueConfig",
4751                            ),
4752                            inputs: ::std::vec![
4753                                ::ethers::core::abi::ethabi::Param {
4754                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
4755                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4756                                    internal_type: ::core::option::Option::Some(
4757                                        ::std::borrow::ToOwned::to_owned("address"),
4758                                    ),
4759                                },
4760                                ::ethers::core::abi::ethabi::Param {
4761                                    name: ::std::borrow::ToOwned::to_owned("authority"),
4762                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4763                                    internal_type: ::core::option::Option::Some(
4764                                        ::std::borrow::ToOwned::to_owned("address"),
4765                                    ),
4766                                },
4767                                ::ethers::core::abi::ethabi::Param {
4768                                    name: ::std::borrow::ToOwned::to_owned("maxSize"),
4769                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4770                                        256usize,
4771                                    ),
4772                                    internal_type: ::core::option::Option::Some(
4773                                        ::std::borrow::ToOwned::to_owned("uint256"),
4774                                    ),
4775                                },
4776                                ::ethers::core::abi::ethabi::Param {
4777                                    name: ::std::borrow::ToOwned::to_owned("reward"),
4778                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4779                                        256usize,
4780                                    ),
4781                                    internal_type: ::core::option::Option::Some(
4782                                        ::std::borrow::ToOwned::to_owned("uint256"),
4783                                    ),
4784                                },
4785                                ::ethers::core::abi::ethabi::Param {
4786                                    name: ::std::borrow::ToOwned::to_owned("enclaveTimeout"),
4787                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4788                                        256usize,
4789                                    ),
4790                                    internal_type: ::core::option::Option::Some(
4791                                        ::std::borrow::ToOwned::to_owned("uint256"),
4792                                    ),
4793                                },
4794                                ::ethers::core::abi::ethabi::Param {
4795                                    name: ::std::borrow::ToOwned::to_owned(
4796                                        "maxEnclaveVerificationAge",
4797                                    ),
4798                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4799                                        256usize,
4800                                    ),
4801                                    internal_type: ::core::option::Option::Some(
4802                                        ::std::borrow::ToOwned::to_owned("uint256"),
4803                                    ),
4804                                },
4805                                ::ethers::core::abi::ethabi::Param {
4806                                    name: ::std::borrow::ToOwned::to_owned(
4807                                        "allowAuthorityOverrideAfter",
4808                                    ),
4809                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4810                                        256usize,
4811                                    ),
4812                                    internal_type: ::core::option::Option::Some(
4813                                        ::std::borrow::ToOwned::to_owned("uint256"),
4814                                    ),
4815                                },
4816                                ::ethers::core::abi::ethabi::Param {
4817                                    name: ::std::borrow::ToOwned::to_owned(
4818                                        "requireAuthorityHeartbeatPermission",
4819                                    ),
4820                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4821                                    internal_type: ::core::option::Option::Some(
4822                                        ::std::borrow::ToOwned::to_owned("bool"),
4823                                    ),
4824                                },
4825                                ::ethers::core::abi::ethabi::Param {
4826                                    name: ::std::borrow::ToOwned::to_owned(
4827                                        "requireUsagePermissions",
4828                                    ),
4829                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4830                                    internal_type: ::core::option::Option::Some(
4831                                        ::std::borrow::ToOwned::to_owned("bool"),
4832                                    ),
4833                                },
4834                                ::ethers::core::abi::ethabi::Param {
4835                                    name: ::std::borrow::ToOwned::to_owned(
4836                                        "maxConsecutiveFunctionFailures",
4837                                    ),
4838                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4839                                        256usize,
4840                                    ),
4841                                    internal_type: ::core::option::Option::Some(
4842                                        ::std::borrow::ToOwned::to_owned("uint256"),
4843                                    ),
4844                                },
4845                            ],
4846                            outputs: ::std::vec![],
4847                            constant: ::core::option::Option::None,
4848                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4849                        },
4850                    ],
4851                ),
4852                (
4853                    ::std::borrow::ToOwned::to_owned("setAttestationQueuePermission"),
4854                    ::std::vec![
4855                        ::ethers::core::abi::ethabi::Function {
4856                            name: ::std::borrow::ToOwned::to_owned(
4857                                "setAttestationQueuePermission",
4858                            ),
4859                            inputs: ::std::vec![
4860                                ::ethers::core::abi::ethabi::Param {
4861                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
4862                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4863                                    internal_type: ::core::option::Option::Some(
4864                                        ::std::borrow::ToOwned::to_owned("address"),
4865                                    ),
4866                                },
4867                                ::ethers::core::abi::ethabi::Param {
4868                                    name: ::std::borrow::ToOwned::to_owned("grantee"),
4869                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4870                                    internal_type: ::core::option::Option::Some(
4871                                        ::std::borrow::ToOwned::to_owned("address"),
4872                                    ),
4873                                },
4874                                ::ethers::core::abi::ethabi::Param {
4875                                    name: ::std::borrow::ToOwned::to_owned("permission"),
4876                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4877                                        256usize,
4878                                    ),
4879                                    internal_type: ::core::option::Option::Some(
4880                                        ::std::borrow::ToOwned::to_owned("uint256"),
4881                                    ),
4882                                },
4883                                ::ethers::core::abi::ethabi::Param {
4884                                    name: ::std::borrow::ToOwned::to_owned("on"),
4885                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4886                                    internal_type: ::core::option::Option::Some(
4887                                        ::std::borrow::ToOwned::to_owned("bool"),
4888                                    ),
4889                                },
4890                            ],
4891                            outputs: ::std::vec![],
4892                            constant: ::core::option::Option::None,
4893                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4894                        },
4895                    ],
4896                ),
4897                (
4898                    ::std::borrow::ToOwned::to_owned("setFunctionCallSettings"),
4899                    ::std::vec![
4900                        ::ethers::core::abi::ethabi::Function {
4901                            name: ::std::borrow::ToOwned::to_owned(
4902                                "setFunctionCallSettings",
4903                            ),
4904                            inputs: ::std::vec![
4905                                ::ethers::core::abi::ethabi::Param {
4906                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
4907                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4908                                    internal_type: ::core::option::Option::Some(
4909                                        ::std::borrow::ToOwned::to_owned("address"),
4910                                    ),
4911                                },
4912                                ::ethers::core::abi::ethabi::Param {
4913                                    name: ::std::borrow::ToOwned::to_owned(
4914                                        "requireEstimatedRunCostFee",
4915                                    ),
4916                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4917                                    internal_type: ::core::option::Option::Some(
4918                                        ::std::borrow::ToOwned::to_owned("bool"),
4919                                    ),
4920                                },
4921                                ::ethers::core::abi::ethabi::Param {
4922                                    name: ::std::borrow::ToOwned::to_owned("minimumFee"),
4923                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4924                                        256usize,
4925                                    ),
4926                                    internal_type: ::core::option::Option::Some(
4927                                        ::std::borrow::ToOwned::to_owned("uint256"),
4928                                    ),
4929                                },
4930                                ::ethers::core::abi::ethabi::Param {
4931                                    name: ::std::borrow::ToOwned::to_owned("maxGasCost"),
4932                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
4933                                        256usize,
4934                                    ),
4935                                    internal_type: ::core::option::Option::Some(
4936                                        ::std::borrow::ToOwned::to_owned("uint256"),
4937                                    ),
4938                                },
4939                                ::ethers::core::abi::ethabi::Param {
4940                                    name: ::std::borrow::ToOwned::to_owned(
4941                                        "requireCallerPayFullCost",
4942                                    ),
4943                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4944                                    internal_type: ::core::option::Option::Some(
4945                                        ::std::borrow::ToOwned::to_owned("bool"),
4946                                    ),
4947                                },
4948                                ::ethers::core::abi::ethabi::Param {
4949                                    name: ::std::borrow::ToOwned::to_owned(
4950                                        "requireSenderBeReturnAddress",
4951                                    ),
4952                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
4953                                    internal_type: ::core::option::Option::Some(
4954                                        ::std::borrow::ToOwned::to_owned("bool"),
4955                                    ),
4956                                },
4957                            ],
4958                            outputs: ::std::vec![],
4959                            constant: ::core::option::Option::None,
4960                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
4961                        },
4962                    ],
4963                ),
4964                (
4965                    ::std::borrow::ToOwned::to_owned("setFunctionConfig"),
4966                    ::std::vec![
4967                        ::ethers::core::abi::ethabi::Function {
4968                            name: ::std::borrow::ToOwned::to_owned("setFunctionConfig"),
4969                            inputs: ::std::vec![
4970                                ::ethers::core::abi::ethabi::Param {
4971                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
4972                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4973                                    internal_type: ::core::option::Option::Some(
4974                                        ::std::borrow::ToOwned::to_owned("address"),
4975                                    ),
4976                                },
4977                                ::ethers::core::abi::ethabi::Param {
4978                                    name: ::std::borrow::ToOwned::to_owned("name"),
4979                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
4980                                    internal_type: ::core::option::Option::Some(
4981                                        ::std::borrow::ToOwned::to_owned("string"),
4982                                    ),
4983                                },
4984                                ::ethers::core::abi::ethabi::Param {
4985                                    name: ::std::borrow::ToOwned::to_owned("authority"),
4986                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
4987                                    internal_type: ::core::option::Option::Some(
4988                                        ::std::borrow::ToOwned::to_owned("address"),
4989                                    ),
4990                                },
4991                                ::ethers::core::abi::ethabi::Param {
4992                                    name: ::std::borrow::ToOwned::to_owned("containerRegistry"),
4993                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
4994                                    internal_type: ::core::option::Option::Some(
4995                                        ::std::borrow::ToOwned::to_owned("string"),
4996                                    ),
4997                                },
4998                                ::ethers::core::abi::ethabi::Param {
4999                                    name: ::std::borrow::ToOwned::to_owned("container"),
5000                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
5001                                    internal_type: ::core::option::Option::Some(
5002                                        ::std::borrow::ToOwned::to_owned("string"),
5003                                    ),
5004                                },
5005                                ::ethers::core::abi::ethabi::Param {
5006                                    name: ::std::borrow::ToOwned::to_owned("version"),
5007                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
5008                                    internal_type: ::core::option::Option::Some(
5009                                        ::std::borrow::ToOwned::to_owned("string"),
5010                                    ),
5011                                },
5012                                ::ethers::core::abi::ethabi::Param {
5013                                    name: ::std::borrow::ToOwned::to_owned("schedule"),
5014                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
5015                                    internal_type: ::core::option::Option::Some(
5016                                        ::std::borrow::ToOwned::to_owned("string"),
5017                                    ),
5018                                },
5019                                ::ethers::core::abi::ethabi::Param {
5020                                    name: ::std::borrow::ToOwned::to_owned("paramsSchema"),
5021                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
5022                                    internal_type: ::core::option::Option::Some(
5023                                        ::std::borrow::ToOwned::to_owned("string"),
5024                                    ),
5025                                },
5026                                ::ethers::core::abi::ethabi::Param {
5027                                    name: ::std::borrow::ToOwned::to_owned("permittedCallers"),
5028                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
5029                                        ::std::boxed::Box::new(
5030                                            ::ethers::core::abi::ethabi::ParamType::Address,
5031                                        ),
5032                                    ),
5033                                    internal_type: ::core::option::Option::Some(
5034                                        ::std::borrow::ToOwned::to_owned("address[]"),
5035                                    ),
5036                                },
5037                            ],
5038                            outputs: ::std::vec![],
5039                            constant: ::core::option::Option::None,
5040                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5041                        },
5042                    ],
5043                ),
5044                (
5045                    ::std::borrow::ToOwned::to_owned("setFunctionDeactivated"),
5046                    ::std::vec![
5047                        ::ethers::core::abi::ethabi::Function {
5048                            name: ::std::borrow::ToOwned::to_owned(
5049                                "setFunctionDeactivated",
5050                            ),
5051                            inputs: ::std::vec![
5052                                ::ethers::core::abi::ethabi::Param {
5053                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
5054                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5055                                    internal_type: ::core::option::Option::Some(
5056                                        ::std::borrow::ToOwned::to_owned("address"),
5057                                    ),
5058                                },
5059                            ],
5060                            outputs: ::std::vec![],
5061                            constant: ::core::option::Option::None,
5062                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5063                        },
5064                    ],
5065                ),
5066                (
5067                    ::std::borrow::ToOwned::to_owned("setFunctionSettings"),
5068                    ::std::vec![
5069                        ::ethers::core::abi::ethabi::Function {
5070                            name: ::std::borrow::ToOwned::to_owned(
5071                                "setFunctionSettings",
5072                            ),
5073                            inputs: ::std::vec![
5074                                ::ethers::core::abi::ethabi::Param {
5075                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
5076                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5077                                    internal_type: ::core::option::Option::Some(
5078                                        ::std::borrow::ToOwned::to_owned("address"),
5079                                    ),
5080                                },
5081                                ::ethers::core::abi::ethabi::Param {
5082                                    name: ::std::borrow::ToOwned::to_owned("settings"),
5083                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
5084                                        ::std::vec![
5085                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5086                                            ::ethers::core::abi::ethabi::ParamType::Bool,
5087                                            ::ethers::core::abi::ethabi::ParamType::Bool,
5088                                            ::ethers::core::abi::ethabi::ParamType::Bool,
5089                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5090                                            ::ethers::core::abi::ethabi::ParamType::Bool,
5091                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5092                                            ::ethers::core::abi::ethabi::ParamType::Bool,
5093                                        ],
5094                                    ),
5095                                    internal_type: ::core::option::Option::Some(
5096                                        ::std::borrow::ToOwned::to_owned(
5097                                            "struct FunctionSettingsLib.FunctionSettings",
5098                                        ),
5099                                    ),
5100                                },
5101                            ],
5102                            outputs: ::std::vec![],
5103                            constant: ::core::option::Option::None,
5104                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5105                        },
5106                    ],
5107                ),
5108                (
5109                    ::std::borrow::ToOwned::to_owned("setOracleConfig"),
5110                    ::std::vec![
5111                        ::ethers::core::abi::ethabi::Function {
5112                            name: ::std::borrow::ToOwned::to_owned("setOracleConfig"),
5113                            inputs: ::std::vec![
5114                                ::ethers::core::abi::ethabi::Param {
5115                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
5116                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5117                                    internal_type: ::core::option::Option::Some(
5118                                        ::std::borrow::ToOwned::to_owned("address"),
5119                                    ),
5120                                },
5121                                ::ethers::core::abi::ethabi::Param {
5122                                    name: ::std::borrow::ToOwned::to_owned("name"),
5123                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
5124                                    internal_type: ::core::option::Option::Some(
5125                                        ::std::borrow::ToOwned::to_owned("string"),
5126                                    ),
5127                                },
5128                                ::ethers::core::abi::ethabi::Param {
5129                                    name: ::std::borrow::ToOwned::to_owned("signer"),
5130                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5131                                    internal_type: ::core::option::Option::Some(
5132                                        ::std::borrow::ToOwned::to_owned("address"),
5133                                    ),
5134                                },
5135                                ::ethers::core::abi::ethabi::Param {
5136                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
5137                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5138                                    internal_type: ::core::option::Option::Some(
5139                                        ::std::borrow::ToOwned::to_owned("address"),
5140                                    ),
5141                                },
5142                                ::ethers::core::abi::ethabi::Param {
5143                                    name: ::std::borrow::ToOwned::to_owned("authority"),
5144                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5145                                    internal_type: ::core::option::Option::Some(
5146                                        ::std::borrow::ToOwned::to_owned("address"),
5147                                    ),
5148                                },
5149                            ],
5150                            outputs: ::std::vec![],
5151                            constant: ::core::option::Option::None,
5152                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5153                        },
5154                    ],
5155                ),
5156                (
5157                    ::std::borrow::ToOwned::to_owned("setOracleQueueAttestationConfig"),
5158                    ::std::vec![
5159                        ::ethers::core::abi::ethabi::Function {
5160                            name: ::std::borrow::ToOwned::to_owned(
5161                                "setOracleQueueAttestationConfig",
5162                            ),
5163                            inputs: ::std::vec![
5164                                ::ethers::core::abi::ethabi::Param {
5165                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
5166                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5167                                    internal_type: ::core::option::Option::Some(
5168                                        ::std::borrow::ToOwned::to_owned("address"),
5169                                    ),
5170                                },
5171                                ::ethers::core::abi::ethabi::Param {
5172                                    name: ::std::borrow::ToOwned::to_owned(
5173                                        "attestationQueueId",
5174                                    ),
5175                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5176                                    internal_type: ::core::option::Option::Some(
5177                                        ::std::borrow::ToOwned::to_owned("address"),
5178                                    ),
5179                                },
5180                                ::ethers::core::abi::ethabi::Param {
5181                                    name: ::std::borrow::ToOwned::to_owned("mrEnclaves"),
5182                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
5183                                        ::std::boxed::Box::new(
5184                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
5185                                        ),
5186                                    ),
5187                                    internal_type: ::core::option::Option::Some(
5188                                        ::std::borrow::ToOwned::to_owned("bytes32[]"),
5189                                    ),
5190                                },
5191                                ::ethers::core::abi::ethabi::Param {
5192                                    name: ::std::borrow::ToOwned::to_owned(
5193                                        "requireValidEnclave",
5194                                    ),
5195                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
5196                                    internal_type: ::core::option::Option::Some(
5197                                        ::std::borrow::ToOwned::to_owned("bool"),
5198                                    ),
5199                                },
5200                                ::ethers::core::abi::ethabi::Param {
5201                                    name: ::std::borrow::ToOwned::to_owned(
5202                                        "requireHeartbeatPermission",
5203                                    ),
5204                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
5205                                    internal_type: ::core::option::Option::Some(
5206                                        ::std::borrow::ToOwned::to_owned("bool"),
5207                                    ),
5208                                },
5209                            ],
5210                            outputs: ::std::vec![],
5211                            constant: ::core::option::Option::None,
5212                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5213                        },
5214                    ],
5215                ),
5216                (
5217                    ::std::borrow::ToOwned::to_owned("setOracleQueueConfig"),
5218                    ::std::vec![
5219                        ::ethers::core::abi::ethabi::Function {
5220                            name: ::std::borrow::ToOwned::to_owned(
5221                                "setOracleQueueConfig",
5222                            ),
5223                            inputs: ::std::vec![
5224                                ::ethers::core::abi::ethabi::Param {
5225                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
5226                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5227                                    internal_type: ::core::option::Option::Some(
5228                                        ::std::borrow::ToOwned::to_owned("address"),
5229                                    ),
5230                                },
5231                                ::ethers::core::abi::ethabi::Param {
5232                                    name: ::std::borrow::ToOwned::to_owned("name"),
5233                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
5234                                    internal_type: ::core::option::Option::Some(
5235                                        ::std::borrow::ToOwned::to_owned("string"),
5236                                    ),
5237                                },
5238                                ::ethers::core::abi::ethabi::Param {
5239                                    name: ::std::borrow::ToOwned::to_owned("authority"),
5240                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5241                                    internal_type: ::core::option::Option::Some(
5242                                        ::std::borrow::ToOwned::to_owned("address"),
5243                                    ),
5244                                },
5245                                ::ethers::core::abi::ethabi::Param {
5246                                    name: ::std::borrow::ToOwned::to_owned(
5247                                        "unpermissionedFeedsEnabled",
5248                                    ),
5249                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
5250                                    internal_type: ::core::option::Option::Some(
5251                                        ::std::borrow::ToOwned::to_owned("bool"),
5252                                    ),
5253                                },
5254                                ::ethers::core::abi::ethabi::Param {
5255                                    name: ::std::borrow::ToOwned::to_owned("maxSize"),
5256                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5257                                        256usize,
5258                                    ),
5259                                    internal_type: ::core::option::Option::Some(
5260                                        ::std::borrow::ToOwned::to_owned("uint256"),
5261                                    ),
5262                                },
5263                                ::ethers::core::abi::ethabi::Param {
5264                                    name: ::std::borrow::ToOwned::to_owned("reward"),
5265                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5266                                        256usize,
5267                                    ),
5268                                    internal_type: ::core::option::Option::Some(
5269                                        ::std::borrow::ToOwned::to_owned("uint256"),
5270                                    ),
5271                                },
5272                                ::ethers::core::abi::ethabi::Param {
5273                                    name: ::std::borrow::ToOwned::to_owned("oracleTimeout"),
5274                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5275                                        256usize,
5276                                    ),
5277                                    internal_type: ::core::option::Option::Some(
5278                                        ::std::borrow::ToOwned::to_owned("uint256"),
5279                                    ),
5280                                },
5281                            ],
5282                            outputs: ::std::vec![],
5283                            constant: ::core::option::Option::None,
5284                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5285                        },
5286                    ],
5287                ),
5288                (
5289                    ::std::borrow::ToOwned::to_owned("setOracleQueuePermission"),
5290                    ::std::vec![
5291                        ::ethers::core::abi::ethabi::Function {
5292                            name: ::std::borrow::ToOwned::to_owned(
5293                                "setOracleQueuePermission",
5294                            ),
5295                            inputs: ::std::vec![
5296                                ::ethers::core::abi::ethabi::Param {
5297                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
5298                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5299                                    internal_type: ::core::option::Option::Some(
5300                                        ::std::borrow::ToOwned::to_owned("address"),
5301                                    ),
5302                                },
5303                                ::ethers::core::abi::ethabi::Param {
5304                                    name: ::std::borrow::ToOwned::to_owned("grantee"),
5305                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5306                                    internal_type: ::core::option::Option::Some(
5307                                        ::std::borrow::ToOwned::to_owned("address"),
5308                                    ),
5309                                },
5310                                ::ethers::core::abi::ethabi::Param {
5311                                    name: ::std::borrow::ToOwned::to_owned("permission"),
5312                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5313                                        256usize,
5314                                    ),
5315                                    internal_type: ::core::option::Option::Some(
5316                                        ::std::borrow::ToOwned::to_owned("uint256"),
5317                                    ),
5318                                },
5319                                ::ethers::core::abi::ethabi::Param {
5320                                    name: ::std::borrow::ToOwned::to_owned("on"),
5321                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
5322                                    internal_type: ::core::option::Option::Some(
5323                                        ::std::borrow::ToOwned::to_owned("bool"),
5324                                    ),
5325                                },
5326                            ],
5327                            outputs: ::std::vec![],
5328                            constant: ::core::option::Option::None,
5329                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5330                        },
5331                    ],
5332                ),
5333                (
5334                    ::std::borrow::ToOwned::to_owned("setStakingConfig"),
5335                    ::std::vec![
5336                        ::ethers::core::abi::ethabi::Function {
5337                            name: ::std::borrow::ToOwned::to_owned("setStakingConfig"),
5338                            inputs: ::std::vec![
5339                                ::ethers::core::abi::ethabi::Param {
5340                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
5341                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5342                                    internal_type: ::core::option::Option::Some(
5343                                        ::std::borrow::ToOwned::to_owned("address"),
5344                                    ),
5345                                },
5346                                ::ethers::core::abi::ethabi::Param {
5347                                    name: ::std::borrow::ToOwned::to_owned("token"),
5348                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5349                                    internal_type: ::core::option::Option::Some(
5350                                        ::std::borrow::ToOwned::to_owned("address"),
5351                                    ),
5352                                },
5353                                ::ethers::core::abi::ethabi::Param {
5354                                    name: ::std::borrow::ToOwned::to_owned("stakingAmount"),
5355                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5356                                        256usize,
5357                                    ),
5358                                    internal_type: ::core::option::Option::Some(
5359                                        ::std::borrow::ToOwned::to_owned("uint256"),
5360                                    ),
5361                                },
5362                                ::ethers::core::abi::ethabi::Param {
5363                                    name: ::std::borrow::ToOwned::to_owned("stakingPeriod"),
5364                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5365                                        256usize,
5366                                    ),
5367                                    internal_type: ::core::option::Option::Some(
5368                                        ::std::borrow::ToOwned::to_owned("uint256"),
5369                                    ),
5370                                },
5371                                ::ethers::core::abi::ethabi::Param {
5372                                    name: ::std::borrow::ToOwned::to_owned("unstakingPeriod"),
5373                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5374                                        256usize,
5375                                    ),
5376                                    internal_type: ::core::option::Option::Some(
5377                                        ::std::borrow::ToOwned::to_owned("uint256"),
5378                                    ),
5379                                },
5380                            ],
5381                            outputs: ::std::vec![],
5382                            constant: ::core::option::Option::None,
5383                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5384                        },
5385                    ],
5386                ),
5387                (
5388                    ::std::borrow::ToOwned::to_owned("setToleratedTimestampDiscrepancy"),
5389                    ::std::vec![
5390                        ::ethers::core::abi::ethabi::Function {
5391                            name: ::std::borrow::ToOwned::to_owned(
5392                                "setToleratedTimestampDiscrepancy",
5393                            ),
5394                            inputs: ::std::vec![
5395                                ::ethers::core::abi::ethabi::Param {
5396                                    name: ::std::borrow::ToOwned::to_owned("tolerance"),
5397                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5398                                        256usize,
5399                                    ),
5400                                    internal_type: ::core::option::Option::Some(
5401                                        ::std::borrow::ToOwned::to_owned("uint256"),
5402                                    ),
5403                                },
5404                            ],
5405                            outputs: ::std::vec![],
5406                            constant: ::core::option::Option::None,
5407                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5408                        },
5409                    ],
5410                ),
5411                (
5412                    ::std::borrow::ToOwned::to_owned("slashStake"),
5413                    ::std::vec![
5414                        ::ethers::core::abi::ethabi::Function {
5415                            name: ::std::borrow::ToOwned::to_owned("slashStake"),
5416                            inputs: ::std::vec![
5417                                ::ethers::core::abi::ethabi::Param {
5418                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
5419                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5420                                    internal_type: ::core::option::Option::Some(
5421                                        ::std::borrow::ToOwned::to_owned("address"),
5422                                    ),
5423                                },
5424                                ::ethers::core::abi::ethabi::Param {
5425                                    name: ::std::borrow::ToOwned::to_owned("amount"),
5426                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5427                                        256usize,
5428                                    ),
5429                                    internal_type: ::core::option::Option::Some(
5430                                        ::std::borrow::ToOwned::to_owned("uint256"),
5431                                    ),
5432                                },
5433                            ],
5434                            outputs: ::std::vec![],
5435                            constant: ::core::option::Option::None,
5436                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5437                        },
5438                    ],
5439                ),
5440                (
5441                    ::std::borrow::ToOwned::to_owned("supportsInterface"),
5442                    ::std::vec![
5443                        ::ethers::core::abi::ethabi::Function {
5444                            name: ::std::borrow::ToOwned::to_owned("supportsInterface"),
5445                            inputs: ::std::vec![
5446                                ::ethers::core::abi::ethabi::Param {
5447                                    name: ::std::borrow::ToOwned::to_owned("_interfaceId"),
5448                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
5449                                        4usize,
5450                                    ),
5451                                    internal_type: ::core::option::Option::Some(
5452                                        ::std::borrow::ToOwned::to_owned("bytes4"),
5453                                    ),
5454                                },
5455                            ],
5456                            outputs: ::std::vec![
5457                                ::ethers::core::abi::ethabi::Param {
5458                                    name: ::std::string::String::new(),
5459                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
5460                                    internal_type: ::core::option::Option::Some(
5461                                        ::std::borrow::ToOwned::to_owned("bool"),
5462                                    ),
5463                                },
5464                            ],
5465                            constant: ::core::option::Option::None,
5466                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
5467                        },
5468                    ],
5469                ),
5470                (
5471                    ::std::borrow::ToOwned::to_owned("totalStaked"),
5472                    ::std::vec![
5473                        ::ethers::core::abi::ethabi::Function {
5474                            name: ::std::borrow::ToOwned::to_owned("totalStaked"),
5475                            inputs: ::std::vec![
5476                                ::ethers::core::abi::ethabi::Param {
5477                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
5478                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5479                                    internal_type: ::core::option::Option::Some(
5480                                        ::std::borrow::ToOwned::to_owned("address"),
5481                                    ),
5482                                },
5483                                ::ethers::core::abi::ethabi::Param {
5484                                    name: ::std::borrow::ToOwned::to_owned("token"),
5485                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5486                                    internal_type: ::core::option::Option::Some(
5487                                        ::std::borrow::ToOwned::to_owned("address"),
5488                                    ),
5489                                },
5490                            ],
5491                            outputs: ::std::vec![
5492                                ::ethers::core::abi::ethabi::Param {
5493                                    name: ::std::string::String::new(),
5494                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5495                                        256usize,
5496                                    ),
5497                                    internal_type: ::core::option::Option::Some(
5498                                        ::std::borrow::ToOwned::to_owned("uint256"),
5499                                    ),
5500                                },
5501                            ],
5502                            constant: ::core::option::Option::None,
5503                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
5504                        },
5505                    ],
5506                ),
5507                (
5508                    ::std::borrow::ToOwned::to_owned("totalSupply"),
5509                    ::std::vec![
5510                        ::ethers::core::abi::ethabi::Function {
5511                            name: ::std::borrow::ToOwned::to_owned("totalSupply"),
5512                            inputs: ::std::vec![],
5513                            outputs: ::std::vec![
5514                                ::ethers::core::abi::ethabi::Param {
5515                                    name: ::std::string::String::new(),
5516                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5517                                        256usize,
5518                                    ),
5519                                    internal_type: ::core::option::Option::Some(
5520                                        ::std::borrow::ToOwned::to_owned("uint256"),
5521                                    ),
5522                                },
5523                            ],
5524                            constant: ::core::option::Option::None,
5525                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
5526                        },
5527                    ],
5528                ),
5529                (
5530                    ::std::borrow::ToOwned::to_owned("transfer"),
5531                    ::std::vec![
5532                        ::ethers::core::abi::ethabi::Function {
5533                            name: ::std::borrow::ToOwned::to_owned("transfer"),
5534                            inputs: ::std::vec![
5535                                ::ethers::core::abi::ethabi::Param {
5536                                    name: ::std::borrow::ToOwned::to_owned("to"),
5537                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5538                                    internal_type: ::core::option::Option::Some(
5539                                        ::std::borrow::ToOwned::to_owned("address"),
5540                                    ),
5541                                },
5542                                ::ethers::core::abi::ethabi::Param {
5543                                    name: ::std::borrow::ToOwned::to_owned("value"),
5544                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5545                                        256usize,
5546                                    ),
5547                                    internal_type: ::core::option::Option::Some(
5548                                        ::std::borrow::ToOwned::to_owned("uint256"),
5549                                    ),
5550                                },
5551                            ],
5552                            outputs: ::std::vec![
5553                                ::ethers::core::abi::ethabi::Param {
5554                                    name: ::std::string::String::new(),
5555                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
5556                                    internal_type: ::core::option::Option::Some(
5557                                        ::std::borrow::ToOwned::to_owned("bool"),
5558                                    ),
5559                                },
5560                            ],
5561                            constant: ::core::option::Option::None,
5562                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5563                        },
5564                    ],
5565                ),
5566                (
5567                    ::std::borrow::ToOwned::to_owned("transferFrom"),
5568                    ::std::vec![
5569                        ::ethers::core::abi::ethabi::Function {
5570                            name: ::std::borrow::ToOwned::to_owned("transferFrom"),
5571                            inputs: ::std::vec![
5572                                ::ethers::core::abi::ethabi::Param {
5573                                    name: ::std::borrow::ToOwned::to_owned("from"),
5574                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5575                                    internal_type: ::core::option::Option::Some(
5576                                        ::std::borrow::ToOwned::to_owned("address"),
5577                                    ),
5578                                },
5579                                ::ethers::core::abi::ethabi::Param {
5580                                    name: ::std::borrow::ToOwned::to_owned("to"),
5581                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5582                                    internal_type: ::core::option::Option::Some(
5583                                        ::std::borrow::ToOwned::to_owned("address"),
5584                                    ),
5585                                },
5586                                ::ethers::core::abi::ethabi::Param {
5587                                    name: ::std::borrow::ToOwned::to_owned("value"),
5588                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5589                                        256usize,
5590                                    ),
5591                                    internal_type: ::core::option::Option::Some(
5592                                        ::std::borrow::ToOwned::to_owned("uint256"),
5593                                    ),
5594                                },
5595                            ],
5596                            outputs: ::std::vec![
5597                                ::ethers::core::abi::ethabi::Param {
5598                                    name: ::std::string::String::new(),
5599                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
5600                                    internal_type: ::core::option::Option::Some(
5601                                        ::std::borrow::ToOwned::to_owned("bool"),
5602                                    ),
5603                                },
5604                            ],
5605                            constant: ::core::option::Option::None,
5606                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5607                        },
5608                    ],
5609                ),
5610                (
5611                    ::std::borrow::ToOwned::to_owned("transferOwnership"),
5612                    ::std::vec![
5613                        ::ethers::core::abi::ethabi::Function {
5614                            name: ::std::borrow::ToOwned::to_owned("transferOwnership"),
5615                            inputs: ::std::vec![
5616                                ::ethers::core::abi::ethabi::Param {
5617                                    name: ::std::borrow::ToOwned::to_owned("_newOwner"),
5618                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5619                                    internal_type: ::core::option::Option::Some(
5620                                        ::std::borrow::ToOwned::to_owned("address"),
5621                                    ),
5622                                },
5623                            ],
5624                            outputs: ::std::vec![],
5625                            constant: ::core::option::Option::None,
5626                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5627                        },
5628                    ],
5629                ),
5630                (
5631                    ::std::borrow::ToOwned::to_owned("unstake"),
5632                    ::std::vec![
5633                        ::ethers::core::abi::ethabi::Function {
5634                            name: ::std::borrow::ToOwned::to_owned("unstake"),
5635                            inputs: ::std::vec![
5636                                ::ethers::core::abi::ethabi::Param {
5637                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
5638                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5639                                    internal_type: ::core::option::Option::Some(
5640                                        ::std::borrow::ToOwned::to_owned("address"),
5641                                    ),
5642                                },
5643                                ::ethers::core::abi::ethabi::Param {
5644                                    name: ::std::borrow::ToOwned::to_owned("amount"),
5645                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5646                                        256usize,
5647                                    ),
5648                                    internal_type: ::core::option::Option::Some(
5649                                        ::std::borrow::ToOwned::to_owned("uint256"),
5650                                    ),
5651                                },
5652                            ],
5653                            outputs: ::std::vec![],
5654                            constant: ::core::option::Option::None,
5655                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5656                        },
5657                    ],
5658                ),
5659                (
5660                    ::std::borrow::ToOwned::to_owned("updateEnclave"),
5661                    ::std::vec![
5662                        ::ethers::core::abi::ethabi::Function {
5663                            name: ::std::borrow::ToOwned::to_owned("updateEnclave"),
5664                            inputs: ::std::vec![
5665                                ::ethers::core::abi::ethabi::Param {
5666                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
5667                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5668                                    internal_type: ::core::option::Option::Some(
5669                                        ::std::borrow::ToOwned::to_owned("address"),
5670                                    ),
5671                                },
5672                                ::ethers::core::abi::ethabi::Param {
5673                                    name: ::std::borrow::ToOwned::to_owned("cid"),
5674                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
5675                                    internal_type: ::core::option::Option::Some(
5676                                        ::std::borrow::ToOwned::to_owned("bytes"),
5677                                    ),
5678                                },
5679                            ],
5680                            outputs: ::std::vec![],
5681                            constant: ::core::option::Option::None,
5682                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
5683                        },
5684                    ],
5685                ),
5686                (
5687                    ::std::borrow::ToOwned::to_owned("updateRoutine"),
5688                    ::std::vec![
5689                        ::ethers::core::abi::ethabi::Function {
5690                            name: ::std::borrow::ToOwned::to_owned("updateRoutine"),
5691                            inputs: ::std::vec![
5692                                ::ethers::core::abi::ethabi::Param {
5693                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
5694                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5695                                    internal_type: ::core::option::Option::Some(
5696                                        ::std::borrow::ToOwned::to_owned("address"),
5697                                    ),
5698                                },
5699                                ::ethers::core::abi::ethabi::Param {
5700                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
5701                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5702                                    internal_type: ::core::option::Option::Some(
5703                                        ::std::borrow::ToOwned::to_owned("address"),
5704                                    ),
5705                                },
5706                                ::ethers::core::abi::ethabi::Param {
5707                                    name: ::std::borrow::ToOwned::to_owned("authority"),
5708                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5709                                    internal_type: ::core::option::Option::Some(
5710                                        ::std::borrow::ToOwned::to_owned("address"),
5711                                    ),
5712                                },
5713                                ::ethers::core::abi::ethabi::Param {
5714                                    name: ::std::borrow::ToOwned::to_owned("params"),
5715                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
5716                                    internal_type: ::core::option::Option::Some(
5717                                        ::std::borrow::ToOwned::to_owned("bytes"),
5718                                    ),
5719                                },
5720                                ::ethers::core::abi::ethabi::Param {
5721                                    name: ::std::borrow::ToOwned::to_owned("schedule"),
5722                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
5723                                    internal_type: ::core::option::Option::Some(
5724                                        ::std::borrow::ToOwned::to_owned("string"),
5725                                    ),
5726                                },
5727                            ],
5728                            outputs: ::std::vec![],
5729                            constant: ::core::option::Option::None,
5730                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5731                        },
5732                    ],
5733                ),
5734                (
5735                    ::std::borrow::ToOwned::to_owned("validate"),
5736                    ::std::vec![
5737                        ::ethers::core::abi::ethabi::Function {
5738                            name: ::std::borrow::ToOwned::to_owned("validate"),
5739                            inputs: ::std::vec![
5740                                ::ethers::core::abi::ethabi::Param {
5741                                    name: ::std::borrow::ToOwned::to_owned("signer"),
5742                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5743                                    internal_type: ::core::option::Option::Some(
5744                                        ::std::borrow::ToOwned::to_owned("address"),
5745                                    ),
5746                                },
5747                                ::ethers::core::abi::ethabi::Param {
5748                                    name: ::std::borrow::ToOwned::to_owned(
5749                                        "attestationQueueId",
5750                                    ),
5751                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5752                                    internal_type: ::core::option::Option::Some(
5753                                        ::std::borrow::ToOwned::to_owned("address"),
5754                                    ),
5755                                },
5756                                ::ethers::core::abi::ethabi::Param {
5757                                    name: ::std::borrow::ToOwned::to_owned("validMeasurements"),
5758                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
5759                                        ::std::boxed::Box::new(
5760                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
5761                                        ),
5762                                    ),
5763                                    internal_type: ::core::option::Option::Some(
5764                                        ::std::borrow::ToOwned::to_owned("bytes32[]"),
5765                                    ),
5766                                },
5767                            ],
5768                            outputs: ::std::vec![],
5769                            constant: ::core::option::Option::None,
5770                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
5771                        },
5772                    ],
5773                ),
5774                (
5775                    ::std::borrow::ToOwned::to_owned("verifyCallbackParams"),
5776                    ::std::vec![
5777                        ::ethers::core::abi::ethabi::Function {
5778                            name: ::std::borrow::ToOwned::to_owned(
5779                                "verifyCallbackParams",
5780                            ),
5781                            inputs: ::std::vec![
5782                                ::ethers::core::abi::ethabi::Param {
5783                                    name: ::std::borrow::ToOwned::to_owned("callIds"),
5784                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
5785                                        ::std::boxed::Box::new(
5786                                            ::ethers::core::abi::ethabi::ParamType::Address,
5787                                        ),
5788                                    ),
5789                                    internal_type: ::core::option::Option::Some(
5790                                        ::std::borrow::ToOwned::to_owned("address[]"),
5791                                    ),
5792                                },
5793                                ::ethers::core::abi::ethabi::Param {
5794                                    name: ::std::borrow::ToOwned::to_owned("hashes"),
5795                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
5796                                        ::std::boxed::Box::new(
5797                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
5798                                        ),
5799                                    ),
5800                                    internal_type: ::core::option::Option::Some(
5801                                        ::std::borrow::ToOwned::to_owned("bytes32[]"),
5802                                    ),
5803                                },
5804                            ],
5805                            outputs: ::std::vec![],
5806                            constant: ::core::option::Option::None,
5807                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
5808                        },
5809                    ],
5810                ),
5811                (
5812                    ::std::borrow::ToOwned::to_owned("verifyEnclave"),
5813                    ::std::vec![
5814                        ::ethers::core::abi::ethabi::Function {
5815                            name: ::std::borrow::ToOwned::to_owned("verifyEnclave"),
5816                            inputs: ::std::vec![
5817                                ::ethers::core::abi::ethabi::Param {
5818                                    name: ::std::borrow::ToOwned::to_owned("verifierId"),
5819                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5820                                    internal_type: ::core::option::Option::Some(
5821                                        ::std::borrow::ToOwned::to_owned("address"),
5822                                    ),
5823                                },
5824                                ::ethers::core::abi::ethabi::Param {
5825                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
5826                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5827                                    internal_type: ::core::option::Option::Some(
5828                                        ::std::borrow::ToOwned::to_owned("address"),
5829                                    ),
5830                                },
5831                                ::ethers::core::abi::ethabi::Param {
5832                                    name: ::std::borrow::ToOwned::to_owned("enclaveIdx"),
5833                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5834                                        256usize,
5835                                    ),
5836                                    internal_type: ::core::option::Option::Some(
5837                                        ::std::borrow::ToOwned::to_owned("uint256"),
5838                                    ),
5839                                },
5840                                ::ethers::core::abi::ethabi::Param {
5841                                    name: ::std::borrow::ToOwned::to_owned("timestamp"),
5842                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5843                                        256usize,
5844                                    ),
5845                                    internal_type: ::core::option::Option::Some(
5846                                        ::std::borrow::ToOwned::to_owned("uint256"),
5847                                    ),
5848                                },
5849                                ::ethers::core::abi::ethabi::Param {
5850                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
5851                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
5852                                        32usize,
5853                                    ),
5854                                    internal_type: ::core::option::Option::Some(
5855                                        ::std::borrow::ToOwned::to_owned("bytes32"),
5856                                    ),
5857                                },
5858                            ],
5859                            outputs: ::std::vec![],
5860                            constant: ::core::option::Option::None,
5861                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5862                        },
5863                    ],
5864                ),
5865                (
5866                    ::std::borrow::ToOwned::to_owned("verifyFunctionResult"),
5867                    ::std::vec![
5868                        ::ethers::core::abi::ethabi::Function {
5869                            name: ::std::borrow::ToOwned::to_owned(
5870                                "verifyFunctionResult",
5871                            ),
5872                            inputs: ::std::vec![
5873                                ::ethers::core::abi::ethabi::Param {
5874                                    name: ::std::borrow::ToOwned::to_owned("params"),
5875                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
5876                                        ::std::vec![
5877                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5878                                            ::ethers::core::abi::ethabi::ParamType::Address,
5879                                            ::ethers::core::abi::ethabi::ParamType::Address,
5880                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5881                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5882                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
5883                                            ::ethers::core::abi::ethabi::ParamType::Array(
5884                                                ::std::boxed::Box::new(
5885                                                    ::ethers::core::abi::ethabi::ParamType::Tuple(
5886                                                        ::std::vec![
5887                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5888                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5889                                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5890                                                            ::ethers::core::abi::ethabi::ParamType::Address,
5891                                                            ::ethers::core::abi::ethabi::ParamType::Address,
5892                                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
5893                                                        ],
5894                                                    ),
5895                                                ),
5896                                            ),
5897                                            ::ethers::core::abi::ethabi::ParamType::Array(
5898                                                ::std::boxed::Box::new(
5899                                                    ::ethers::core::abi::ethabi::ParamType::Bytes,
5900                                                ),
5901                                            ),
5902                                            ::ethers::core::abi::ethabi::ParamType::Array(
5903                                                ::std::boxed::Box::new(
5904                                                    ::ethers::core::abi::ethabi::ParamType::Address,
5905                                                ),
5906                                            ),
5907                                            ::ethers::core::abi::ethabi::ParamType::Array(
5908                                                ::std::boxed::Box::new(
5909                                                    ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
5910                                                ),
5911                                            ),
5912                                            ::ethers::core::abi::ethabi::ParamType::Array(
5913                                                ::std::boxed::Box::new(
5914                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
5915                                                ),
5916                                            ),
5917                                        ],
5918                                    ),
5919                                    internal_type: ::core::option::Option::Some(
5920                                        ::std::borrow::ToOwned::to_owned(
5921                                            "struct FunctionVerifyLib.FunctionVerifyParams",
5922                                        ),
5923                                    ),
5924                                },
5925                            ],
5926                            outputs: ::std::vec![],
5927                            constant: ::core::option::Option::None,
5928                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
5929                        },
5930                    ],
5931                ),
5932                (
5933                    ::std::borrow::ToOwned::to_owned("viewAggregatorResults"),
5934                    ::std::vec![
5935                        ::ethers::core::abi::ethabi::Function {
5936                            name: ::std::borrow::ToOwned::to_owned(
5937                                "viewAggregatorResults",
5938                            ),
5939                            inputs: ::std::vec![
5940                                ::ethers::core::abi::ethabi::Param {
5941                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
5942                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5943                                    internal_type: ::core::option::Option::Some(
5944                                        ::std::borrow::ToOwned::to_owned("address"),
5945                                    ),
5946                                },
5947                            ],
5948                            outputs: ::std::vec![
5949                                ::ethers::core::abi::ethabi::Param {
5950                                    name: ::std::string::String::new(),
5951                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
5952                                        ::std::boxed::Box::new(
5953                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
5954                                                ::std::vec![
5955                                                    ::ethers::core::abi::ethabi::ParamType::Int(256usize),
5956                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
5957                                                    ::ethers::core::abi::ethabi::ParamType::Address,
5958                                                ],
5959                                            ),
5960                                        ),
5961                                    ),
5962                                    internal_type: ::core::option::Option::Some(
5963                                        ::std::borrow::ToOwned::to_owned(
5964                                            "struct AggregatorLib.Result[]",
5965                                        ),
5966                                    ),
5967                                },
5968                            ],
5969                            constant: ::core::option::Option::None,
5970                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
5971                        },
5972                    ],
5973                ),
5974                (
5975                    ::std::borrow::ToOwned::to_owned("viewLatestResult"),
5976                    ::std::vec![
5977                        ::ethers::core::abi::ethabi::Function {
5978                            name: ::std::borrow::ToOwned::to_owned("viewLatestResult"),
5979                            inputs: ::std::vec![
5980                                ::ethers::core::abi::ethabi::Param {
5981                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
5982                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
5983                                    internal_type: ::core::option::Option::Some(
5984                                        ::std::borrow::ToOwned::to_owned("address"),
5985                                    ),
5986                                },
5987                            ],
5988                            outputs: ::std::vec![
5989                                ::ethers::core::abi::ethabi::Param {
5990                                    name: ::std::borrow::ToOwned::to_owned("value"),
5991                                    kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize),
5992                                    internal_type: ::core::option::Option::Some(
5993                                        ::std::borrow::ToOwned::to_owned("int256"),
5994                                    ),
5995                                },
5996                                ::ethers::core::abi::ethabi::Param {
5997                                    name: ::std::borrow::ToOwned::to_owned("timestamp"),
5998                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
5999                                        256usize,
6000                                    ),
6001                                    internal_type: ::core::option::Option::Some(
6002                                        ::std::borrow::ToOwned::to_owned("uint256"),
6003                                    ),
6004                                },
6005                            ],
6006                            constant: ::core::option::Option::None,
6007                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
6008                        },
6009                    ],
6010                ),
6011            ]),
6012            events: ::core::convert::From::from([
6013                (
6014                    ::std::borrow::ToOwned::to_owned("AddMrEnclave"),
6015                    ::std::vec![
6016                        ::ethers::core::abi::ethabi::Event {
6017                            name: ::std::borrow::ToOwned::to_owned("AddMrEnclave"),
6018                            inputs: ::std::vec![
6019                                ::ethers::core::abi::ethabi::EventParam {
6020                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6021                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6022                                    indexed: true,
6023                                },
6024                                ::ethers::core::abi::ethabi::EventParam {
6025                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
6026                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
6027                                        32usize,
6028                                    ),
6029                                    indexed: false,
6030                                },
6031                            ],
6032                            anonymous: false,
6033                        },
6034                    ],
6035                ),
6036                (
6037                    ::std::borrow::ToOwned::to_owned("AggregatorAccountInit"),
6038                    ::std::vec![
6039                        ::ethers::core::abi::ethabi::Event {
6040                            name: ::std::borrow::ToOwned::to_owned(
6041                                "AggregatorAccountInit",
6042                            ),
6043                            inputs: ::std::vec![
6044                                ::ethers::core::abi::ethabi::EventParam {
6045                                    name: ::std::borrow::ToOwned::to_owned("authority"),
6046                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6047                                    indexed: true,
6048                                },
6049                                ::ethers::core::abi::ethabi::EventParam {
6050                                    name: ::std::borrow::ToOwned::to_owned("accountId"),
6051                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6052                                    indexed: true,
6053                                },
6054                                ::ethers::core::abi::ethabi::EventParam {
6055                                    name: ::std::borrow::ToOwned::to_owned("timestamp"),
6056                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6057                                        256usize,
6058                                    ),
6059                                    indexed: false,
6060                                },
6061                            ],
6062                            anonymous: false,
6063                        },
6064                    ],
6065                ),
6066                (
6067                    ::std::borrow::ToOwned::to_owned("AggregatorFundEvent"),
6068                    ::std::vec![
6069                        ::ethers::core::abi::ethabi::Event {
6070                            name: ::std::borrow::ToOwned::to_owned(
6071                                "AggregatorFundEvent",
6072                            ),
6073                            inputs: ::std::vec![
6074                                ::ethers::core::abi::ethabi::EventParam {
6075                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6076                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6077                                    indexed: true,
6078                                },
6079                                ::ethers::core::abi::ethabi::EventParam {
6080                                    name: ::std::borrow::ToOwned::to_owned("funder"),
6081                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6082                                    indexed: true,
6083                                },
6084                                ::ethers::core::abi::ethabi::EventParam {
6085                                    name: ::std::borrow::ToOwned::to_owned("amount"),
6086                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6087                                        256usize,
6088                                    ),
6089                                    indexed: true,
6090                                },
6091                            ],
6092                            anonymous: false,
6093                        },
6094                    ],
6095                ),
6096                (
6097                    ::std::borrow::ToOwned::to_owned("AggregatorIntervalRefreshed"),
6098                    ::std::vec![
6099                        ::ethers::core::abi::ethabi::Event {
6100                            name: ::std::borrow::ToOwned::to_owned(
6101                                "AggregatorIntervalRefreshed",
6102                            ),
6103                            inputs: ::std::vec![
6104                                ::ethers::core::abi::ethabi::EventParam {
6105                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6106                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6107                                    indexed: true,
6108                                },
6109                                ::ethers::core::abi::ethabi::EventParam {
6110                                    name: ::std::borrow::ToOwned::to_owned("intervalId"),
6111                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6112                                        256usize,
6113                                    ),
6114                                    indexed: true,
6115                                },
6116                                ::ethers::core::abi::ethabi::EventParam {
6117                                    name: ::std::borrow::ToOwned::to_owned(
6118                                        "balanceLeftForInterval",
6119                                    ),
6120                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6121                                        256usize,
6122                                    ),
6123                                    indexed: true,
6124                                },
6125                            ],
6126                            anonymous: false,
6127                        },
6128                    ],
6129                ),
6130                (
6131                    ::std::borrow::ToOwned::to_owned("AggregatorOpenInterval"),
6132                    ::std::vec![
6133                        ::ethers::core::abi::ethabi::Event {
6134                            name: ::std::borrow::ToOwned::to_owned(
6135                                "AggregatorOpenInterval",
6136                            ),
6137                            inputs: ::std::vec![
6138                                ::ethers::core::abi::ethabi::EventParam {
6139                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6140                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6141                                    indexed: true,
6142                                },
6143                                ::ethers::core::abi::ethabi::EventParam {
6144                                    name: ::std::borrow::ToOwned::to_owned("intervalId"),
6145                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6146                                        256usize,
6147                                    ),
6148                                    indexed: true,
6149                                },
6150                            ],
6151                            anonymous: false,
6152                        },
6153                    ],
6154                ),
6155                (
6156                    ::std::borrow::ToOwned::to_owned("AggregatorRead"),
6157                    ::std::vec![
6158                        ::ethers::core::abi::ethabi::Event {
6159                            name: ::std::borrow::ToOwned::to_owned("AggregatorRead"),
6160                            inputs: ::std::vec![
6161                                ::ethers::core::abi::ethabi::EventParam {
6162                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6163                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6164                                    indexed: true,
6165                                },
6166                                ::ethers::core::abi::ethabi::EventParam {
6167                                    name: ::std::borrow::ToOwned::to_owned("reader"),
6168                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6169                                    indexed: true,
6170                                },
6171                                ::ethers::core::abi::ethabi::EventParam {
6172                                    name: ::std::borrow::ToOwned::to_owned("value"),
6173                                    kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize),
6174                                    indexed: false,
6175                                },
6176                            ],
6177                            anonymous: false,
6178                        },
6179                    ],
6180                ),
6181                (
6182                    ::std::borrow::ToOwned::to_owned("AggregatorSaveResult"),
6183                    ::std::vec![
6184                        ::ethers::core::abi::ethabi::Event {
6185                            name: ::std::borrow::ToOwned::to_owned(
6186                                "AggregatorSaveResult",
6187                            ),
6188                            inputs: ::std::vec![
6189                                ::ethers::core::abi::ethabi::EventParam {
6190                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6191                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6192                                    indexed: true,
6193                                },
6194                                ::ethers::core::abi::ethabi::EventParam {
6195                                    name: ::std::borrow::ToOwned::to_owned("oracle"),
6196                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6197                                    indexed: true,
6198                                },
6199                                ::ethers::core::abi::ethabi::EventParam {
6200                                    name: ::std::borrow::ToOwned::to_owned("value"),
6201                                    kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize),
6202                                    indexed: true,
6203                                },
6204                            ],
6205                            anonymous: false,
6206                        },
6207                    ],
6208                ),
6209                (
6210                    ::std::borrow::ToOwned::to_owned("AggregatorSettingsUpdated"),
6211                    ::std::vec![
6212                        ::ethers::core::abi::ethabi::Event {
6213                            name: ::std::borrow::ToOwned::to_owned(
6214                                "AggregatorSettingsUpdated",
6215                            ),
6216                            inputs: ::std::vec![
6217                                ::ethers::core::abi::ethabi::EventParam {
6218                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6219                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6220                                    indexed: true,
6221                                },
6222                                ::ethers::core::abi::ethabi::EventParam {
6223                                    name: ::std::borrow::ToOwned::to_owned(
6224                                        "minUpdateDelaySeconds",
6225                                    ),
6226                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6227                                        256usize,
6228                                    ),
6229                                    indexed: false,
6230                                },
6231                                ::ethers::core::abi::ethabi::EventParam {
6232                                    name: ::std::borrow::ToOwned::to_owned("minOracleResults"),
6233                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6234                                        256usize,
6235                                    ),
6236                                    indexed: false,
6237                                },
6238                                ::ethers::core::abi::ethabi::EventParam {
6239                                    name: ::std::borrow::ToOwned::to_owned("varianceThreshold"),
6240                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6241                                        256usize,
6242                                    ),
6243                                    indexed: false,
6244                                },
6245                                ::ethers::core::abi::ethabi::EventParam {
6246                                    name: ::std::borrow::ToOwned::to_owned("minJobResults"),
6247                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6248                                        256usize,
6249                                    ),
6250                                    indexed: false,
6251                                },
6252                                ::ethers::core::abi::ethabi::EventParam {
6253                                    name: ::std::borrow::ToOwned::to_owned("forceReportPeriod"),
6254                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6255                                        256usize,
6256                                    ),
6257                                    indexed: false,
6258                                },
6259                            ],
6260                            anonymous: false,
6261                        },
6262                    ],
6263                ),
6264                (
6265                    ::std::borrow::ToOwned::to_owned("AggregatorUpdate"),
6266                    ::std::vec![
6267                        ::ethers::core::abi::ethabi::Event {
6268                            name: ::std::borrow::ToOwned::to_owned("AggregatorUpdate"),
6269                            inputs: ::std::vec![
6270                                ::ethers::core::abi::ethabi::EventParam {
6271                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6272                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6273                                    indexed: true,
6274                                },
6275                                ::ethers::core::abi::ethabi::EventParam {
6276                                    name: ::std::borrow::ToOwned::to_owned("value"),
6277                                    kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize),
6278                                    indexed: true,
6279                                },
6280                                ::ethers::core::abi::ethabi::EventParam {
6281                                    name: ::std::borrow::ToOwned::to_owned("timestamp"),
6282                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6283                                        256usize,
6284                                    ),
6285                                    indexed: false,
6286                                },
6287                            ],
6288                            anonymous: false,
6289                        },
6290                    ],
6291                ),
6292                (
6293                    ::std::borrow::ToOwned::to_owned("AggregatorWithdrawEvent"),
6294                    ::std::vec![
6295                        ::ethers::core::abi::ethabi::Event {
6296                            name: ::std::borrow::ToOwned::to_owned(
6297                                "AggregatorWithdrawEvent",
6298                            ),
6299                            inputs: ::std::vec![
6300                                ::ethers::core::abi::ethabi::EventParam {
6301                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6302                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6303                                    indexed: true,
6304                                },
6305                                ::ethers::core::abi::ethabi::EventParam {
6306                                    name: ::std::borrow::ToOwned::to_owned("funder"),
6307                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6308                                    indexed: true,
6309                                },
6310                                ::ethers::core::abi::ethabi::EventParam {
6311                                    name: ::std::borrow::ToOwned::to_owned("amount"),
6312                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6313                                        256usize,
6314                                    ),
6315                                    indexed: true,
6316                                },
6317                            ],
6318                            anonymous: false,
6319                        },
6320                    ],
6321                ),
6322                (
6323                    ::std::borrow::ToOwned::to_owned("Approval"),
6324                    ::std::vec![
6325                        ::ethers::core::abi::ethabi::Event {
6326                            name: ::std::borrow::ToOwned::to_owned("Approval"),
6327                            inputs: ::std::vec![
6328                                ::ethers::core::abi::ethabi::EventParam {
6329                                    name: ::std::borrow::ToOwned::to_owned("owner"),
6330                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6331                                    indexed: true,
6332                                },
6333                                ::ethers::core::abi::ethabi::EventParam {
6334                                    name: ::std::borrow::ToOwned::to_owned("spender"),
6335                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6336                                    indexed: true,
6337                                },
6338                                ::ethers::core::abi::ethabi::EventParam {
6339                                    name: ::std::borrow::ToOwned::to_owned("value"),
6340                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6341                                        256usize,
6342                                    ),
6343                                    indexed: false,
6344                                },
6345                            ],
6346                            anonymous: false,
6347                        },
6348                    ],
6349                ),
6350                (
6351                    ::std::borrow::ToOwned::to_owned("AttestationQueueAccountInit"),
6352                    ::std::vec![
6353                        ::ethers::core::abi::ethabi::Event {
6354                            name: ::std::borrow::ToOwned::to_owned(
6355                                "AttestationQueueAccountInit",
6356                            ),
6357                            inputs: ::std::vec![
6358                                ::ethers::core::abi::ethabi::EventParam {
6359                                    name: ::std::borrow::ToOwned::to_owned("authority"),
6360                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6361                                    indexed: true,
6362                                },
6363                                ::ethers::core::abi::ethabi::EventParam {
6364                                    name: ::std::borrow::ToOwned::to_owned("accountId"),
6365                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6366                                    indexed: true,
6367                                },
6368                            ],
6369                            anonymous: false,
6370                        },
6371                    ],
6372                ),
6373                (
6374                    ::std::borrow::ToOwned::to_owned(
6375                        "AttestationQueuePermissionUpdated",
6376                    ),
6377                    ::std::vec![
6378                        ::ethers::core::abi::ethabi::Event {
6379                            name: ::std::borrow::ToOwned::to_owned(
6380                                "AttestationQueuePermissionUpdated",
6381                            ),
6382                            inputs: ::std::vec![
6383                                ::ethers::core::abi::ethabi::EventParam {
6384                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6385                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6386                                    indexed: true,
6387                                },
6388                                ::ethers::core::abi::ethabi::EventParam {
6389                                    name: ::std::borrow::ToOwned::to_owned("granter"),
6390                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6391                                    indexed: true,
6392                                },
6393                                ::ethers::core::abi::ethabi::EventParam {
6394                                    name: ::std::borrow::ToOwned::to_owned("grantee"),
6395                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6396                                    indexed: true,
6397                                },
6398                                ::ethers::core::abi::ethabi::EventParam {
6399                                    name: ::std::borrow::ToOwned::to_owned("permission"),
6400                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6401                                        256usize,
6402                                    ),
6403                                    indexed: false,
6404                                },
6405                            ],
6406                            anonymous: false,
6407                        },
6408                    ],
6409                ),
6410                (
6411                    ::std::borrow::ToOwned::to_owned("AttestationQueueSetConfig"),
6412                    ::std::vec![
6413                        ::ethers::core::abi::ethabi::Event {
6414                            name: ::std::borrow::ToOwned::to_owned(
6415                                "AttestationQueueSetConfig",
6416                            ),
6417                            inputs: ::std::vec![
6418                                ::ethers::core::abi::ethabi::EventParam {
6419                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6420                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6421                                    indexed: true,
6422                                },
6423                                ::ethers::core::abi::ethabi::EventParam {
6424                                    name: ::std::borrow::ToOwned::to_owned("authority"),
6425                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6426                                    indexed: true,
6427                                },
6428                            ],
6429                            anonymous: false,
6430                        },
6431                    ],
6432                ),
6433                (
6434                    ::std::borrow::ToOwned::to_owned("DiamondCut"),
6435                    ::std::vec![
6436                        ::ethers::core::abi::ethabi::Event {
6437                            name: ::std::borrow::ToOwned::to_owned("DiamondCut"),
6438                            inputs: ::std::vec![
6439                                ::ethers::core::abi::ethabi::EventParam {
6440                                    name: ::std::borrow::ToOwned::to_owned("_diamondCut"),
6441                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
6442                                        ::std::boxed::Box::new(
6443                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
6444                                                ::std::vec![
6445                                                    ::ethers::core::abi::ethabi::ParamType::Address,
6446                                                    ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
6447                                                    ::ethers::core::abi::ethabi::ParamType::Array(
6448                                                        ::std::boxed::Box::new(
6449                                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize),
6450                                                        ),
6451                                                    ),
6452                                                ],
6453                                            ),
6454                                        ),
6455                                    ),
6456                                    indexed: false,
6457                                },
6458                                ::ethers::core::abi::ethabi::EventParam {
6459                                    name: ::std::borrow::ToOwned::to_owned("_init"),
6460                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6461                                    indexed: false,
6462                                },
6463                                ::ethers::core::abi::ethabi::EventParam {
6464                                    name: ::std::borrow::ToOwned::to_owned("_calldata"),
6465                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
6466                                    indexed: false,
6467                                },
6468                            ],
6469                            anonymous: false,
6470                        },
6471                    ],
6472                ),
6473                (
6474                    ::std::borrow::ToOwned::to_owned("EnclaveAccountInit"),
6475                    ::std::vec![
6476                        ::ethers::core::abi::ethabi::Event {
6477                            name: ::std::borrow::ToOwned::to_owned("EnclaveAccountInit"),
6478                            inputs: ::std::vec![
6479                                ::ethers::core::abi::ethabi::EventParam {
6480                                    name: ::std::borrow::ToOwned::to_owned("signer"),
6481                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6482                                    indexed: true,
6483                                },
6484                                ::ethers::core::abi::ethabi::EventParam {
6485                                    name: ::std::borrow::ToOwned::to_owned("accountId"),
6486                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6487                                    indexed: true,
6488                                },
6489                            ],
6490                            anonymous: false,
6491                        },
6492                    ],
6493                ),
6494                (
6495                    ::std::borrow::ToOwned::to_owned("EnclaveGC"),
6496                    ::std::vec![
6497                        ::ethers::core::abi::ethabi::Event {
6498                            name: ::std::borrow::ToOwned::to_owned("EnclaveGC"),
6499                            inputs: ::std::vec![
6500                                ::ethers::core::abi::ethabi::EventParam {
6501                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
6502                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6503                                    indexed: true,
6504                                },
6505                                ::ethers::core::abi::ethabi::EventParam {
6506                                    name: ::std::borrow::ToOwned::to_owned("queue"),
6507                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6508                                    indexed: true,
6509                                },
6510                            ],
6511                            anonymous: false,
6512                        },
6513                    ],
6514                ),
6515                (
6516                    ::std::borrow::ToOwned::to_owned("EnclaveHeartbeat"),
6517                    ::std::vec![
6518                        ::ethers::core::abi::ethabi::Event {
6519                            name: ::std::borrow::ToOwned::to_owned("EnclaveHeartbeat"),
6520                            inputs: ::std::vec![
6521                                ::ethers::core::abi::ethabi::EventParam {
6522                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
6523                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6524                                    indexed: true,
6525                                },
6526                                ::ethers::core::abi::ethabi::EventParam {
6527                                    name: ::std::borrow::ToOwned::to_owned("signer"),
6528                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6529                                    indexed: true,
6530                                },
6531                            ],
6532                            anonymous: false,
6533                        },
6534                    ],
6535                ),
6536                (
6537                    ::std::borrow::ToOwned::to_owned("EnclavePayoutEvent"),
6538                    ::std::vec![
6539                        ::ethers::core::abi::ethabi::Event {
6540                            name: ::std::borrow::ToOwned::to_owned("EnclavePayoutEvent"),
6541                            inputs: ::std::vec![
6542                                ::ethers::core::abi::ethabi::EventParam {
6543                                    name: ::std::borrow::ToOwned::to_owned("nodeId"),
6544                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6545                                    indexed: true,
6546                                },
6547                                ::ethers::core::abi::ethabi::EventParam {
6548                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
6549                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6550                                    indexed: true,
6551                                },
6552                                ::ethers::core::abi::ethabi::EventParam {
6553                                    name: ::std::borrow::ToOwned::to_owned("amount"),
6554                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6555                                        256usize,
6556                                    ),
6557                                    indexed: true,
6558                                },
6559                            ],
6560                            anonymous: false,
6561                        },
6562                    ],
6563                ),
6564                (
6565                    ::std::borrow::ToOwned::to_owned("EnclaveRotateSigner"),
6566                    ::std::vec![
6567                        ::ethers::core::abi::ethabi::Event {
6568                            name: ::std::borrow::ToOwned::to_owned(
6569                                "EnclaveRotateSigner",
6570                            ),
6571                            inputs: ::std::vec![
6572                                ::ethers::core::abi::ethabi::EventParam {
6573                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6574                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6575                                    indexed: true,
6576                                },
6577                                ::ethers::core::abi::ethabi::EventParam {
6578                                    name: ::std::borrow::ToOwned::to_owned("oldSigner"),
6579                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6580                                    indexed: true,
6581                                },
6582                                ::ethers::core::abi::ethabi::EventParam {
6583                                    name: ::std::borrow::ToOwned::to_owned("newSigner"),
6584                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6585                                    indexed: true,
6586                                },
6587                            ],
6588                            anonymous: false,
6589                        },
6590                    ],
6591                ),
6592                (
6593                    ::std::borrow::ToOwned::to_owned("EnclaveVerifyRequest"),
6594                    ::std::vec![
6595                        ::ethers::core::abi::ethabi::Event {
6596                            name: ::std::borrow::ToOwned::to_owned(
6597                                "EnclaveVerifyRequest",
6598                            ),
6599                            inputs: ::std::vec![
6600                                ::ethers::core::abi::ethabi::EventParam {
6601                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6602                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6603                                    indexed: true,
6604                                },
6605                                ::ethers::core::abi::ethabi::EventParam {
6606                                    name: ::std::borrow::ToOwned::to_owned("verifier"),
6607                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6608                                    indexed: true,
6609                                },
6610                                ::ethers::core::abi::ethabi::EventParam {
6611                                    name: ::std::borrow::ToOwned::to_owned("verifiee"),
6612                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6613                                    indexed: true,
6614                                },
6615                            ],
6616                            anonymous: false,
6617                        },
6618                    ],
6619                ),
6620                (
6621                    ::std::borrow::ToOwned::to_owned("FunctionAccountInit"),
6622                    ::std::vec![
6623                        ::ethers::core::abi::ethabi::Event {
6624                            name: ::std::borrow::ToOwned::to_owned(
6625                                "FunctionAccountInit",
6626                            ),
6627                            inputs: ::std::vec![
6628                                ::ethers::core::abi::ethabi::EventParam {
6629                                    name: ::std::borrow::ToOwned::to_owned("authority"),
6630                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6631                                    indexed: true,
6632                                },
6633                                ::ethers::core::abi::ethabi::EventParam {
6634                                    name: ::std::borrow::ToOwned::to_owned("accountId"),
6635                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6636                                    indexed: true,
6637                                },
6638                            ],
6639                            anonymous: false,
6640                        },
6641                    ],
6642                ),
6643                (
6644                    ::std::borrow::ToOwned::to_owned("FunctionCallEvent"),
6645                    ::std::vec![
6646                        ::ethers::core::abi::ethabi::Event {
6647                            name: ::std::borrow::ToOwned::to_owned("FunctionCallEvent"),
6648                            inputs: ::std::vec![
6649                                ::ethers::core::abi::ethabi::EventParam {
6650                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
6651                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6652                                    indexed: true,
6653                                },
6654                                ::ethers::core::abi::ethabi::EventParam {
6655                                    name: ::std::borrow::ToOwned::to_owned("sender"),
6656                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6657                                    indexed: true,
6658                                },
6659                                ::ethers::core::abi::ethabi::EventParam {
6660                                    name: ::std::borrow::ToOwned::to_owned("callId"),
6661                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6662                                    indexed: true,
6663                                },
6664                                ::ethers::core::abi::ethabi::EventParam {
6665                                    name: ::std::borrow::ToOwned::to_owned("params"),
6666                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
6667                                    indexed: false,
6668                                },
6669                            ],
6670                            anonymous: false,
6671                        },
6672                    ],
6673                ),
6674                (
6675                    ::std::borrow::ToOwned::to_owned("FunctionCallFund"),
6676                    ::std::vec![
6677                        ::ethers::core::abi::ethabi::Event {
6678                            name: ::std::borrow::ToOwned::to_owned("FunctionCallFund"),
6679                            inputs: ::std::vec![
6680                                ::ethers::core::abi::ethabi::EventParam {
6681                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
6682                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6683                                    indexed: true,
6684                                },
6685                                ::ethers::core::abi::ethabi::EventParam {
6686                                    name: ::std::borrow::ToOwned::to_owned("funder"),
6687                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6688                                    indexed: true,
6689                                },
6690                                ::ethers::core::abi::ethabi::EventParam {
6691                                    name: ::std::borrow::ToOwned::to_owned("amount"),
6692                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6693                                        256usize,
6694                                    ),
6695                                    indexed: true,
6696                                },
6697                            ],
6698                            anonymous: false,
6699                        },
6700                    ],
6701                ),
6702                (
6703                    ::std::borrow::ToOwned::to_owned("FunctionFund"),
6704                    ::std::vec![
6705                        ::ethers::core::abi::ethabi::Event {
6706                            name: ::std::borrow::ToOwned::to_owned("FunctionFund"),
6707                            inputs: ::std::vec![
6708                                ::ethers::core::abi::ethabi::EventParam {
6709                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
6710                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6711                                    indexed: true,
6712                                },
6713                                ::ethers::core::abi::ethabi::EventParam {
6714                                    name: ::std::borrow::ToOwned::to_owned("funder"),
6715                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6716                                    indexed: true,
6717                                },
6718                                ::ethers::core::abi::ethabi::EventParam {
6719                                    name: ::std::borrow::ToOwned::to_owned("amount"),
6720                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6721                                        256usize,
6722                                    ),
6723                                    indexed: true,
6724                                },
6725                            ],
6726                            anonymous: false,
6727                        },
6728                    ],
6729                ),
6730                (
6731                    ::std::borrow::ToOwned::to_owned("FunctionWithdraw"),
6732                    ::std::vec![
6733                        ::ethers::core::abi::ethabi::Event {
6734                            name: ::std::borrow::ToOwned::to_owned("FunctionWithdraw"),
6735                            inputs: ::std::vec![
6736                                ::ethers::core::abi::ethabi::EventParam {
6737                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
6738                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6739                                    indexed: true,
6740                                },
6741                                ::ethers::core::abi::ethabi::EventParam {
6742                                    name: ::std::borrow::ToOwned::to_owned("withdrawer"),
6743                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6744                                    indexed: true,
6745                                },
6746                                ::ethers::core::abi::ethabi::EventParam {
6747                                    name: ::std::borrow::ToOwned::to_owned("amount"),
6748                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6749                                        256usize,
6750                                    ),
6751                                    indexed: true,
6752                                },
6753                            ],
6754                            anonymous: false,
6755                        },
6756                    ],
6757                ),
6758                (
6759                    ::std::borrow::ToOwned::to_owned("OracleAccountInit"),
6760                    ::std::vec![
6761                        ::ethers::core::abi::ethabi::Event {
6762                            name: ::std::borrow::ToOwned::to_owned("OracleAccountInit"),
6763                            inputs: ::std::vec![
6764                                ::ethers::core::abi::ethabi::EventParam {
6765                                    name: ::std::borrow::ToOwned::to_owned("signer"),
6766                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6767                                    indexed: true,
6768                                },
6769                                ::ethers::core::abi::ethabi::EventParam {
6770                                    name: ::std::borrow::ToOwned::to_owned("accountId"),
6771                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6772                                    indexed: true,
6773                                },
6774                            ],
6775                            anonymous: false,
6776                        },
6777                    ],
6778                ),
6779                (
6780                    ::std::borrow::ToOwned::to_owned("OracleGC"),
6781                    ::std::vec![
6782                        ::ethers::core::abi::ethabi::Event {
6783                            name: ::std::borrow::ToOwned::to_owned("OracleGC"),
6784                            inputs: ::std::vec![
6785                                ::ethers::core::abi::ethabi::EventParam {
6786                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
6787                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6788                                    indexed: true,
6789                                },
6790                                ::ethers::core::abi::ethabi::EventParam {
6791                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6792                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6793                                    indexed: true,
6794                                },
6795                            ],
6796                            anonymous: false,
6797                        },
6798                    ],
6799                ),
6800                (
6801                    ::std::borrow::ToOwned::to_owned("OracleHeartbeat"),
6802                    ::std::vec![
6803                        ::ethers::core::abi::ethabi::Event {
6804                            name: ::std::borrow::ToOwned::to_owned("OracleHeartbeat"),
6805                            inputs: ::std::vec![
6806                                ::ethers::core::abi::ethabi::EventParam {
6807                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
6808                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6809                                    indexed: true,
6810                                },
6811                            ],
6812                            anonymous: false,
6813                        },
6814                    ],
6815                ),
6816                (
6817                    ::std::borrow::ToOwned::to_owned("OraclePayoutEvent"),
6818                    ::std::vec![
6819                        ::ethers::core::abi::ethabi::Event {
6820                            name: ::std::borrow::ToOwned::to_owned("OraclePayoutEvent"),
6821                            inputs: ::std::vec![
6822                                ::ethers::core::abi::ethabi::EventParam {
6823                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
6824                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6825                                    indexed: true,
6826                                },
6827                                ::ethers::core::abi::ethabi::EventParam {
6828                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
6829                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6830                                    indexed: true,
6831                                },
6832                                ::ethers::core::abi::ethabi::EventParam {
6833                                    name: ::std::borrow::ToOwned::to_owned("amount"),
6834                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
6835                                        256usize,
6836                                    ),
6837                                    indexed: true,
6838                                },
6839                            ],
6840                            anonymous: false,
6841                        },
6842                    ],
6843                ),
6844                (
6845                    ::std::borrow::ToOwned::to_owned("OracleQueueAccountInit"),
6846                    ::std::vec![
6847                        ::ethers::core::abi::ethabi::Event {
6848                            name: ::std::borrow::ToOwned::to_owned(
6849                                "OracleQueueAccountInit",
6850                            ),
6851                            inputs: ::std::vec![
6852                                ::ethers::core::abi::ethabi::EventParam {
6853                                    name: ::std::borrow::ToOwned::to_owned("authority"),
6854                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6855                                    indexed: true,
6856                                },
6857                                ::ethers::core::abi::ethabi::EventParam {
6858                                    name: ::std::borrow::ToOwned::to_owned("accountId"),
6859                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6860                                    indexed: true,
6861                                },
6862                            ],
6863                            anonymous: false,
6864                        },
6865                    ],
6866                ),
6867                (
6868                    ::std::borrow::ToOwned::to_owned("OracleQueueAddMrEnclave"),
6869                    ::std::vec![
6870                        ::ethers::core::abi::ethabi::Event {
6871                            name: ::std::borrow::ToOwned::to_owned(
6872                                "OracleQueueAddMrEnclave",
6873                            ),
6874                            inputs: ::std::vec![
6875                                ::ethers::core::abi::ethabi::EventParam {
6876                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6877                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6878                                    indexed: true,
6879                                },
6880                                ::ethers::core::abi::ethabi::EventParam {
6881                                    name: ::std::borrow::ToOwned::to_owned(
6882                                        "attestationQueueId",
6883                                    ),
6884                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6885                                    indexed: true,
6886                                },
6887                                ::ethers::core::abi::ethabi::EventParam {
6888                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
6889                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
6890                                        32usize,
6891                                    ),
6892                                    indexed: false,
6893                                },
6894                            ],
6895                            anonymous: false,
6896                        },
6897                    ],
6898                ),
6899                (
6900                    ::std::borrow::ToOwned::to_owned("OracleQueueRemoveMrEnclave"),
6901                    ::std::vec![
6902                        ::ethers::core::abi::ethabi::Event {
6903                            name: ::std::borrow::ToOwned::to_owned(
6904                                "OracleQueueRemoveMrEnclave",
6905                            ),
6906                            inputs: ::std::vec![
6907                                ::ethers::core::abi::ethabi::EventParam {
6908                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6909                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6910                                    indexed: true,
6911                                },
6912                                ::ethers::core::abi::ethabi::EventParam {
6913                                    name: ::std::borrow::ToOwned::to_owned(
6914                                        "attestationQueueId",
6915                                    ),
6916                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6917                                    indexed: true,
6918                                },
6919                                ::ethers::core::abi::ethabi::EventParam {
6920                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
6921                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
6922                                        32usize,
6923                                    ),
6924                                    indexed: false,
6925                                },
6926                            ],
6927                            anonymous: false,
6928                        },
6929                    ],
6930                ),
6931                (
6932                    ::std::borrow::ToOwned::to_owned("OracleQueueSetAttestationConfig"),
6933                    ::std::vec![
6934                        ::ethers::core::abi::ethabi::Event {
6935                            name: ::std::borrow::ToOwned::to_owned(
6936                                "OracleQueueSetAttestationConfig",
6937                            ),
6938                            inputs: ::std::vec![
6939                                ::ethers::core::abi::ethabi::EventParam {
6940                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6941                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6942                                    indexed: true,
6943                                },
6944                                ::ethers::core::abi::ethabi::EventParam {
6945                                    name: ::std::borrow::ToOwned::to_owned(
6946                                        "attestationQueueId",
6947                                    ),
6948                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6949                                    indexed: true,
6950                                },
6951                            ],
6952                            anonymous: false,
6953                        },
6954                    ],
6955                ),
6956                (
6957                    ::std::borrow::ToOwned::to_owned("OracleQueueSetConfig"),
6958                    ::std::vec![
6959                        ::ethers::core::abi::ethabi::Event {
6960                            name: ::std::borrow::ToOwned::to_owned(
6961                                "OracleQueueSetConfig",
6962                            ),
6963                            inputs: ::std::vec![
6964                                ::ethers::core::abi::ethabi::EventParam {
6965                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6966                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6967                                    indexed: true,
6968                                },
6969                                ::ethers::core::abi::ethabi::EventParam {
6970                                    name: ::std::borrow::ToOwned::to_owned("authority"),
6971                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6972                                    indexed: true,
6973                                },
6974                            ],
6975                            anonymous: false,
6976                        },
6977                    ],
6978                ),
6979                (
6980                    ::std::borrow::ToOwned::to_owned("OracleQueueSetPermission"),
6981                    ::std::vec![
6982                        ::ethers::core::abi::ethabi::Event {
6983                            name: ::std::borrow::ToOwned::to_owned(
6984                                "OracleQueueSetPermission",
6985                            ),
6986                            inputs: ::std::vec![
6987                                ::ethers::core::abi::ethabi::EventParam {
6988                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
6989                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6990                                    indexed: true,
6991                                },
6992                                ::ethers::core::abi::ethabi::EventParam {
6993                                    name: ::std::borrow::ToOwned::to_owned("granter"),
6994                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
6995                                    indexed: true,
6996                                },
6997                                ::ethers::core::abi::ethabi::EventParam {
6998                                    name: ::std::borrow::ToOwned::to_owned("grantee"),
6999                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7000                                    indexed: true,
7001                                },
7002                                ::ethers::core::abi::ethabi::EventParam {
7003                                    name: ::std::borrow::ToOwned::to_owned("permission"),
7004                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7005                                        256usize,
7006                                    ),
7007                                    indexed: false,
7008                                },
7009                            ],
7010                            anonymous: false,
7011                        },
7012                    ],
7013                ),
7014                (
7015                    ::std::borrow::ToOwned::to_owned("OracleRotateSigner"),
7016                    ::std::vec![
7017                        ::ethers::core::abi::ethabi::Event {
7018                            name: ::std::borrow::ToOwned::to_owned("OracleRotateSigner"),
7019                            inputs: ::std::vec![
7020                                ::ethers::core::abi::ethabi::EventParam {
7021                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7022                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7023                                    indexed: true,
7024                                },
7025                                ::ethers::core::abi::ethabi::EventParam {
7026                                    name: ::std::borrow::ToOwned::to_owned("oldSigner"),
7027                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7028                                    indexed: true,
7029                                },
7030                                ::ethers::core::abi::ethabi::EventParam {
7031                                    name: ::std::borrow::ToOwned::to_owned("newSigner"),
7032                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7033                                    indexed: true,
7034                                },
7035                            ],
7036                            anonymous: false,
7037                        },
7038                    ],
7039                ),
7040                (
7041                    ::std::borrow::ToOwned::to_owned("OracleSetConfig"),
7042                    ::std::vec![
7043                        ::ethers::core::abi::ethabi::Event {
7044                            name: ::std::borrow::ToOwned::to_owned("OracleSetConfig"),
7045                            inputs: ::std::vec![
7046                                ::ethers::core::abi::ethabi::EventParam {
7047                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
7048                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7049                                    indexed: true,
7050                                },
7051                                ::ethers::core::abi::ethabi::EventParam {
7052                                    name: ::std::borrow::ToOwned::to_owned("name"),
7053                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
7054                                    indexed: false,
7055                                },
7056                                ::ethers::core::abi::ethabi::EventParam {
7057                                    name: ::std::borrow::ToOwned::to_owned("signer"),
7058                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7059                                    indexed: true,
7060                                },
7061                                ::ethers::core::abi::ethabi::EventParam {
7062                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7063                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7064                                    indexed: true,
7065                                },
7066                                ::ethers::core::abi::ethabi::EventParam {
7067                                    name: ::std::borrow::ToOwned::to_owned("authority"),
7068                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7069                                    indexed: false,
7070                                },
7071                            ],
7072                            anonymous: false,
7073                        },
7074                    ],
7075                ),
7076                (
7077                    ::std::borrow::ToOwned::to_owned("OwnershipTransferred"),
7078                    ::std::vec![
7079                        ::ethers::core::abi::ethabi::Event {
7080                            name: ::std::borrow::ToOwned::to_owned(
7081                                "OwnershipTransferred",
7082                            ),
7083                            inputs: ::std::vec![
7084                                ::ethers::core::abi::ethabi::EventParam {
7085                                    name: ::std::borrow::ToOwned::to_owned("previousOwner"),
7086                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7087                                    indexed: true,
7088                                },
7089                                ::ethers::core::abi::ethabi::EventParam {
7090                                    name: ::std::borrow::ToOwned::to_owned("newOwner"),
7091                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7092                                    indexed: true,
7093                                },
7094                            ],
7095                            anonymous: false,
7096                        },
7097                    ],
7098                ),
7099                (
7100                    ::std::borrow::ToOwned::to_owned("RemoveMrEnclave"),
7101                    ::std::vec![
7102                        ::ethers::core::abi::ethabi::Event {
7103                            name: ::std::borrow::ToOwned::to_owned("RemoveMrEnclave"),
7104                            inputs: ::std::vec![
7105                                ::ethers::core::abi::ethabi::EventParam {
7106                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7107                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7108                                    indexed: true,
7109                                },
7110                                ::ethers::core::abi::ethabi::EventParam {
7111                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
7112                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
7113                                        32usize,
7114                                    ),
7115                                    indexed: false,
7116                                },
7117                            ],
7118                            anonymous: false,
7119                        },
7120                    ],
7121                ),
7122                (
7123                    ::std::borrow::ToOwned::to_owned("RequestEvent"),
7124                    ::std::vec![
7125                        ::ethers::core::abi::ethabi::Event {
7126                            name: ::std::borrow::ToOwned::to_owned("RequestEvent"),
7127                            inputs: ::std::vec![
7128                                ::ethers::core::abi::ethabi::EventParam {
7129                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7130                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7131                                    indexed: true,
7132                                },
7133                                ::ethers::core::abi::ethabi::EventParam {
7134                                    name: ::std::borrow::ToOwned::to_owned("sender"),
7135                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7136                                    indexed: true,
7137                                },
7138                                ::ethers::core::abi::ethabi::EventParam {
7139                                    name: ::std::borrow::ToOwned::to_owned("requestId"),
7140                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7141                                    indexed: true,
7142                                },
7143                                ::ethers::core::abi::ethabi::EventParam {
7144                                    name: ::std::borrow::ToOwned::to_owned("params"),
7145                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
7146                                    indexed: false,
7147                                },
7148                            ],
7149                            anonymous: false,
7150                        },
7151                    ],
7152                ),
7153                (
7154                    ::std::borrow::ToOwned::to_owned("RequestFund"),
7155                    ::std::vec![
7156                        ::ethers::core::abi::ethabi::Event {
7157                            name: ::std::borrow::ToOwned::to_owned("RequestFund"),
7158                            inputs: ::std::vec![
7159                                ::ethers::core::abi::ethabi::EventParam {
7160                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7161                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7162                                    indexed: true,
7163                                },
7164                                ::ethers::core::abi::ethabi::EventParam {
7165                                    name: ::std::borrow::ToOwned::to_owned("funder"),
7166                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7167                                    indexed: true,
7168                                },
7169                                ::ethers::core::abi::ethabi::EventParam {
7170                                    name: ::std::borrow::ToOwned::to_owned("amount"),
7171                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7172                                        256usize,
7173                                    ),
7174                                    indexed: false,
7175                                },
7176                            ],
7177                            anonymous: false,
7178                        },
7179                    ],
7180                ),
7181                (
7182                    ::std::borrow::ToOwned::to_owned("RequestWithdraw"),
7183                    ::std::vec![
7184                        ::ethers::core::abi::ethabi::Event {
7185                            name: ::std::borrow::ToOwned::to_owned("RequestWithdraw"),
7186                            inputs: ::std::vec![
7187                                ::ethers::core::abi::ethabi::EventParam {
7188                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7189                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7190                                    indexed: true,
7191                                },
7192                                ::ethers::core::abi::ethabi::EventParam {
7193                                    name: ::std::borrow::ToOwned::to_owned("funder"),
7194                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7195                                    indexed: true,
7196                                },
7197                                ::ethers::core::abi::ethabi::EventParam {
7198                                    name: ::std::borrow::ToOwned::to_owned("amount"),
7199                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7200                                        256usize,
7201                                    ),
7202                                    indexed: false,
7203                                },
7204                            ],
7205                            anonymous: false,
7206                        },
7207                    ],
7208                ),
7209                (
7210                    ::std::borrow::ToOwned::to_owned("RoutineCreated"),
7211                    ::std::vec![
7212                        ::ethers::core::abi::ethabi::Event {
7213                            name: ::std::borrow::ToOwned::to_owned("RoutineCreated"),
7214                            inputs: ::std::vec![
7215                                ::ethers::core::abi::ethabi::EventParam {
7216                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7217                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7218                                    indexed: true,
7219                                },
7220                                ::ethers::core::abi::ethabi::EventParam {
7221                                    name: ::std::borrow::ToOwned::to_owned("sender"),
7222                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7223                                    indexed: true,
7224                                },
7225                                ::ethers::core::abi::ethabi::EventParam {
7226                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
7227                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7228                                    indexed: true,
7229                                },
7230                                ::ethers::core::abi::ethabi::EventParam {
7231                                    name: ::std::borrow::ToOwned::to_owned("params"),
7232                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
7233                                    indexed: false,
7234                                },
7235                            ],
7236                            anonymous: false,
7237                        },
7238                    ],
7239                ),
7240                (
7241                    ::std::borrow::ToOwned::to_owned("RoutineFund"),
7242                    ::std::vec![
7243                        ::ethers::core::abi::ethabi::Event {
7244                            name: ::std::borrow::ToOwned::to_owned("RoutineFund"),
7245                            inputs: ::std::vec![
7246                                ::ethers::core::abi::ethabi::EventParam {
7247                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7248                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7249                                    indexed: true,
7250                                },
7251                                ::ethers::core::abi::ethabi::EventParam {
7252                                    name: ::std::borrow::ToOwned::to_owned("funder"),
7253                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7254                                    indexed: true,
7255                                },
7256                                ::ethers::core::abi::ethabi::EventParam {
7257                                    name: ::std::borrow::ToOwned::to_owned("amount"),
7258                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7259                                        256usize,
7260                                    ),
7261                                    indexed: false,
7262                                },
7263                            ],
7264                            anonymous: false,
7265                        },
7266                    ],
7267                ),
7268                (
7269                    ::std::borrow::ToOwned::to_owned("RoutineWithdraw"),
7270                    ::std::vec![
7271                        ::ethers::core::abi::ethabi::Event {
7272                            name: ::std::borrow::ToOwned::to_owned("RoutineWithdraw"),
7273                            inputs: ::std::vec![
7274                                ::ethers::core::abi::ethabi::EventParam {
7275                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7276                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7277                                    indexed: true,
7278                                },
7279                                ::ethers::core::abi::ethabi::EventParam {
7280                                    name: ::std::borrow::ToOwned::to_owned("funder"),
7281                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7282                                    indexed: true,
7283                                },
7284                                ::ethers::core::abi::ethabi::EventParam {
7285                                    name: ::std::borrow::ToOwned::to_owned("amount"),
7286                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7287                                        256usize,
7288                                    ),
7289                                    indexed: false,
7290                                },
7291                            ],
7292                            anonymous: false,
7293                        },
7294                    ],
7295                ),
7296                (
7297                    ::std::borrow::ToOwned::to_owned("StakeAdded"),
7298                    ::std::vec![
7299                        ::ethers::core::abi::ethabi::Event {
7300                            name: ::std::borrow::ToOwned::to_owned("StakeAdded"),
7301                            inputs: ::std::vec![
7302                                ::ethers::core::abi::ethabi::EventParam {
7303                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7304                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7305                                    indexed: true,
7306                                },
7307                                ::ethers::core::abi::ethabi::EventParam {
7308                                    name: ::std::borrow::ToOwned::to_owned("staker"),
7309                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7310                                    indexed: true,
7311                                },
7312                                ::ethers::core::abi::ethabi::EventParam {
7313                                    name: ::std::borrow::ToOwned::to_owned("amount"),
7314                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7315                                        256usize,
7316                                    ),
7317                                    indexed: false,
7318                                },
7319                                ::ethers::core::abi::ethabi::EventParam {
7320                                    name: ::std::borrow::ToOwned::to_owned("sender"),
7321                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7322                                    indexed: false,
7323                                },
7324                            ],
7325                            anonymous: false,
7326                        },
7327                    ],
7328                ),
7329                (
7330                    ::std::borrow::ToOwned::to_owned("StakeRemoved"),
7331                    ::std::vec![
7332                        ::ethers::core::abi::ethabi::Event {
7333                            name: ::std::borrow::ToOwned::to_owned("StakeRemoved"),
7334                            inputs: ::std::vec![
7335                                ::ethers::core::abi::ethabi::EventParam {
7336                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7337                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7338                                    indexed: true,
7339                                },
7340                                ::ethers::core::abi::ethabi::EventParam {
7341                                    name: ::std::borrow::ToOwned::to_owned("staker"),
7342                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7343                                    indexed: true,
7344                                },
7345                                ::ethers::core::abi::ethabi::EventParam {
7346                                    name: ::std::borrow::ToOwned::to_owned("amount"),
7347                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7348                                        256usize,
7349                                    ),
7350                                    indexed: false,
7351                                },
7352                                ::ethers::core::abi::ethabi::EventParam {
7353                                    name: ::std::borrow::ToOwned::to_owned("sender"),
7354                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7355                                    indexed: false,
7356                                },
7357                            ],
7358                            anonymous: false,
7359                        },
7360                    ],
7361                ),
7362                (
7363                    ::std::borrow::ToOwned::to_owned("Transfer"),
7364                    ::std::vec![
7365                        ::ethers::core::abi::ethabi::Event {
7366                            name: ::std::borrow::ToOwned::to_owned("Transfer"),
7367                            inputs: ::std::vec![
7368                                ::ethers::core::abi::ethabi::EventParam {
7369                                    name: ::std::borrow::ToOwned::to_owned("from"),
7370                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7371                                    indexed: true,
7372                                },
7373                                ::ethers::core::abi::ethabi::EventParam {
7374                                    name: ::std::borrow::ToOwned::to_owned("to"),
7375                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7376                                    indexed: true,
7377                                },
7378                                ::ethers::core::abi::ethabi::EventParam {
7379                                    name: ::std::borrow::ToOwned::to_owned("value"),
7380                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7381                                        256usize,
7382                                    ),
7383                                    indexed: false,
7384                                },
7385                            ],
7386                            anonymous: false,
7387                        },
7388                    ],
7389                ),
7390                (
7391                    ::std::borrow::ToOwned::to_owned("Unstaked"),
7392                    ::std::vec![
7393                        ::ethers::core::abi::ethabi::Event {
7394                            name: ::std::borrow::ToOwned::to_owned("Unstaked"),
7395                            inputs: ::std::vec![
7396                                ::ethers::core::abi::ethabi::EventParam {
7397                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7398                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7399                                    indexed: true,
7400                                },
7401                                ::ethers::core::abi::ethabi::EventParam {
7402                                    name: ::std::borrow::ToOwned::to_owned("staker"),
7403                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7404                                    indexed: true,
7405                                },
7406                                ::ethers::core::abi::ethabi::EventParam {
7407                                    name: ::std::borrow::ToOwned::to_owned("amount"),
7408                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7409                                        256usize,
7410                                    ),
7411                                    indexed: false,
7412                                },
7413                                ::ethers::core::abi::ethabi::EventParam {
7414                                    name: ::std::borrow::ToOwned::to_owned("sender"),
7415                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7416                                    indexed: false,
7417                                },
7418                            ],
7419                            anonymous: false,
7420                        },
7421                    ],
7422                ),
7423                (
7424                    ::std::borrow::ToOwned::to_owned("VerifyFailed"),
7425                    ::std::vec![
7426                        ::ethers::core::abi::ethabi::Event {
7427                            name: ::std::borrow::ToOwned::to_owned("VerifyFailed"),
7428                            inputs: ::std::vec![
7429                                ::ethers::core::abi::ethabi::EventParam {
7430                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7431                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7432                                    indexed: true,
7433                                },
7434                                ::ethers::core::abi::ethabi::EventParam {
7435                                    name: ::std::borrow::ToOwned::to_owned("callId"),
7436                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7437                                    indexed: true,
7438                                },
7439                                ::ethers::core::abi::ethabi::EventParam {
7440                                    name: ::std::borrow::ToOwned::to_owned("code"),
7441                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7442                                        256usize,
7443                                    ),
7444                                    indexed: true,
7445                                },
7446                            ],
7447                            anonymous: false,
7448                        },
7449                    ],
7450                ),
7451            ]),
7452            errors: ::core::convert::From::from([
7453                (
7454                    ::std::borrow::ToOwned::to_owned("ACLAdminAlreadyInitialized"),
7455                    ::std::vec![
7456                        ::ethers::core::abi::ethabi::AbiError {
7457                            name: ::std::borrow::ToOwned::to_owned(
7458                                "ACLAdminAlreadyInitialized",
7459                            ),
7460                            inputs: ::std::vec![],
7461                        },
7462                    ],
7463                ),
7464                (
7465                    ::std::borrow::ToOwned::to_owned("ACLNotAdmin"),
7466                    ::std::vec![
7467                        ::ethers::core::abi::ethabi::AbiError {
7468                            name: ::std::borrow::ToOwned::to_owned("ACLNotAdmin"),
7469                            inputs: ::std::vec![
7470                                ::ethers::core::abi::ethabi::Param {
7471                                    name: ::std::borrow::ToOwned::to_owned("account"),
7472                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7473                                    internal_type: ::core::option::Option::Some(
7474                                        ::std::borrow::ToOwned::to_owned("address"),
7475                                    ),
7476                                },
7477                            ],
7478                        },
7479                    ],
7480                ),
7481                (
7482                    ::std::borrow::ToOwned::to_owned("ACLNotAllowed"),
7483                    ::std::vec![
7484                        ::ethers::core::abi::ethabi::AbiError {
7485                            name: ::std::borrow::ToOwned::to_owned("ACLNotAllowed"),
7486                            inputs: ::std::vec![
7487                                ::ethers::core::abi::ethabi::Param {
7488                                    name: ::std::borrow::ToOwned::to_owned("account"),
7489                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7490                                    internal_type: ::core::option::Option::Some(
7491                                        ::std::borrow::ToOwned::to_owned("address"),
7492                                    ),
7493                                },
7494                            ],
7495                        },
7496                    ],
7497                ),
7498                (
7499                    ::std::borrow::ToOwned::to_owned("AggregatorAlreadyExists"),
7500                    ::std::vec![
7501                        ::ethers::core::abi::ethabi::AbiError {
7502                            name: ::std::borrow::ToOwned::to_owned(
7503                                "AggregatorAlreadyExists",
7504                            ),
7505                            inputs: ::std::vec![
7506                                ::ethers::core::abi::ethabi::Param {
7507                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
7508                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7509                                    internal_type: ::core::option::Option::Some(
7510                                        ::std::borrow::ToOwned::to_owned("address"),
7511                                    ),
7512                                },
7513                            ],
7514                        },
7515                    ],
7516                ),
7517                (
7518                    ::std::borrow::ToOwned::to_owned("AggregatorDoesNotExist"),
7519                    ::std::vec![
7520                        ::ethers::core::abi::ethabi::AbiError {
7521                            name: ::std::borrow::ToOwned::to_owned(
7522                                "AggregatorDoesNotExist",
7523                            ),
7524                            inputs: ::std::vec![
7525                                ::ethers::core::abi::ethabi::Param {
7526                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
7527                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7528                                    internal_type: ::core::option::Option::Some(
7529                                        ::std::borrow::ToOwned::to_owned("address"),
7530                                    ),
7531                                },
7532                            ],
7533                        },
7534                    ],
7535                ),
7536                (
7537                    ::std::borrow::ToOwned::to_owned("AlreadyExecuted"),
7538                    ::std::vec![
7539                        ::ethers::core::abi::ethabi::AbiError {
7540                            name: ::std::borrow::ToOwned::to_owned("AlreadyExecuted"),
7541                            inputs: ::std::vec![
7542                                ::ethers::core::abi::ethabi::Param {
7543                                    name: ::std::borrow::ToOwned::to_owned("txHash"),
7544                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
7545                                        32usize,
7546                                    ),
7547                                    internal_type: ::core::option::Option::Some(
7548                                        ::std::borrow::ToOwned::to_owned("bytes32"),
7549                                    ),
7550                                },
7551                            ],
7552                        },
7553                    ],
7554                ),
7555                (
7556                    ::std::borrow::ToOwned::to_owned("AttestationQueueAlreadyExists"),
7557                    ::std::vec![
7558                        ::ethers::core::abi::ethabi::AbiError {
7559                            name: ::std::borrow::ToOwned::to_owned(
7560                                "AttestationQueueAlreadyExists",
7561                            ),
7562                            inputs: ::std::vec![
7563                                ::ethers::core::abi::ethabi::Param {
7564                                    name: ::std::borrow::ToOwned::to_owned(
7565                                        "attestationQueueId",
7566                                    ),
7567                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7568                                    internal_type: ::core::option::Option::Some(
7569                                        ::std::borrow::ToOwned::to_owned("address"),
7570                                    ),
7571                                },
7572                            ],
7573                        },
7574                    ],
7575                ),
7576                (
7577                    ::std::borrow::ToOwned::to_owned("AttestationQueueDoesNotExist"),
7578                    ::std::vec![
7579                        ::ethers::core::abi::ethabi::AbiError {
7580                            name: ::std::borrow::ToOwned::to_owned(
7581                                "AttestationQueueDoesNotExist",
7582                            ),
7583                            inputs: ::std::vec![
7584                                ::ethers::core::abi::ethabi::Param {
7585                                    name: ::std::borrow::ToOwned::to_owned(
7586                                        "attestationQueueId",
7587                                    ),
7588                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7589                                    internal_type: ::core::option::Option::Some(
7590                                        ::std::borrow::ToOwned::to_owned("address"),
7591                                    ),
7592                                },
7593                            ],
7594                        },
7595                    ],
7596                ),
7597                (
7598                    ::std::borrow::ToOwned::to_owned("CallExceededMaxGasCost"),
7599                    ::std::vec![
7600                        ::ethers::core::abi::ethabi::AbiError {
7601                            name: ::std::borrow::ToOwned::to_owned(
7602                                "CallExceededMaxGasCost",
7603                            ),
7604                            inputs: ::std::vec![
7605                                ::ethers::core::abi::ethabi::Param {
7606                                    name: ::std::borrow::ToOwned::to_owned("callId"),
7607                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7608                                    internal_type: ::core::option::Option::Some(
7609                                        ::std::borrow::ToOwned::to_owned("address"),
7610                                    ),
7611                                },
7612                                ::ethers::core::abi::ethabi::Param {
7613                                    name: ::std::borrow::ToOwned::to_owned("expected"),
7614                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7615                                        256usize,
7616                                    ),
7617                                    internal_type: ::core::option::Option::Some(
7618                                        ::std::borrow::ToOwned::to_owned("uint256"),
7619                                    ),
7620                                },
7621                                ::ethers::core::abi::ethabi::Param {
7622                                    name: ::std::borrow::ToOwned::to_owned("received"),
7623                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7624                                        256usize,
7625                                    ),
7626                                    internal_type: ::core::option::Option::Some(
7627                                        ::std::borrow::ToOwned::to_owned("uint256"),
7628                                    ),
7629                                },
7630                            ],
7631                        },
7632                    ],
7633                ),
7634                (
7635                    ::std::borrow::ToOwned::to_owned("CallIdAlreadyExists"),
7636                    ::std::vec![
7637                        ::ethers::core::abi::ethabi::AbiError {
7638                            name: ::std::borrow::ToOwned::to_owned(
7639                                "CallIdAlreadyExists",
7640                            ),
7641                            inputs: ::std::vec![
7642                                ::ethers::core::abi::ethabi::Param {
7643                                    name: ::std::borrow::ToOwned::to_owned("callId"),
7644                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7645                                    internal_type: ::core::option::Option::Some(
7646                                        ::std::borrow::ToOwned::to_owned("address"),
7647                                    ),
7648                                },
7649                            ],
7650                        },
7651                    ],
7652                ),
7653                (
7654                    ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignature"),
7655                    ::std::vec![
7656                        ::ethers::core::abi::ethabi::AbiError {
7657                            name: ::std::borrow::ToOwned::to_owned(
7658                                "ECDSAInvalidSignature",
7659                            ),
7660                            inputs: ::std::vec![],
7661                        },
7662                    ],
7663                ),
7664                (
7665                    ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureLength"),
7666                    ::std::vec![
7667                        ::ethers::core::abi::ethabi::AbiError {
7668                            name: ::std::borrow::ToOwned::to_owned(
7669                                "ECDSAInvalidSignatureLength",
7670                            ),
7671                            inputs: ::std::vec![
7672                                ::ethers::core::abi::ethabi::Param {
7673                                    name: ::std::borrow::ToOwned::to_owned("length"),
7674                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7675                                        256usize,
7676                                    ),
7677                                    internal_type: ::core::option::Option::Some(
7678                                        ::std::borrow::ToOwned::to_owned("uint256"),
7679                                    ),
7680                                },
7681                            ],
7682                        },
7683                    ],
7684                ),
7685                (
7686                    ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureS"),
7687                    ::std::vec![
7688                        ::ethers::core::abi::ethabi::AbiError {
7689                            name: ::std::borrow::ToOwned::to_owned(
7690                                "ECDSAInvalidSignatureS",
7691                            ),
7692                            inputs: ::std::vec![
7693                                ::ethers::core::abi::ethabi::Param {
7694                                    name: ::std::borrow::ToOwned::to_owned("s"),
7695                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
7696                                        32usize,
7697                                    ),
7698                                    internal_type: ::core::option::Option::Some(
7699                                        ::std::borrow::ToOwned::to_owned("bytes32"),
7700                                    ),
7701                                },
7702                            ],
7703                        },
7704                    ],
7705                ),
7706                (
7707                    ::std::borrow::ToOwned::to_owned("EarlyOracleResponse"),
7708                    ::std::vec![
7709                        ::ethers::core::abi::ethabi::AbiError {
7710                            name: ::std::borrow::ToOwned::to_owned(
7711                                "EarlyOracleResponse",
7712                            ),
7713                            inputs: ::std::vec![
7714                                ::ethers::core::abi::ethabi::Param {
7715                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
7716                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7717                                    internal_type: ::core::option::Option::Some(
7718                                        ::std::borrow::ToOwned::to_owned("address"),
7719                                    ),
7720                                },
7721                            ],
7722                        },
7723                    ],
7724                ),
7725                (
7726                    ::std::borrow::ToOwned::to_owned("EnclaveAlreadyExists"),
7727                    ::std::vec![
7728                        ::ethers::core::abi::ethabi::AbiError {
7729                            name: ::std::borrow::ToOwned::to_owned(
7730                                "EnclaveAlreadyExists",
7731                            ),
7732                            inputs: ::std::vec![
7733                                ::ethers::core::abi::ethabi::Param {
7734                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
7735                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7736                                    internal_type: ::core::option::Option::Some(
7737                                        ::std::borrow::ToOwned::to_owned("address"),
7738                                    ),
7739                                },
7740                            ],
7741                        },
7742                    ],
7743                ),
7744                (
7745                    ::std::borrow::ToOwned::to_owned("EnclaveDoesNotExist"),
7746                    ::std::vec![
7747                        ::ethers::core::abi::ethabi::AbiError {
7748                            name: ::std::borrow::ToOwned::to_owned(
7749                                "EnclaveDoesNotExist",
7750                            ),
7751                            inputs: ::std::vec![
7752                                ::ethers::core::abi::ethabi::Param {
7753                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
7754                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7755                                    internal_type: ::core::option::Option::Some(
7756                                        ::std::borrow::ToOwned::to_owned("address"),
7757                                    ),
7758                                },
7759                            ],
7760                        },
7761                    ],
7762                ),
7763                (
7764                    ::std::borrow::ToOwned::to_owned("EnclaveExpired"),
7765                    ::std::vec![
7766                        ::ethers::core::abi::ethabi::AbiError {
7767                            name: ::std::borrow::ToOwned::to_owned("EnclaveExpired"),
7768                            inputs: ::std::vec![
7769                                ::ethers::core::abi::ethabi::Param {
7770                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
7771                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7772                                    internal_type: ::core::option::Option::Some(
7773                                        ::std::borrow::ToOwned::to_owned("address"),
7774                                    ),
7775                                },
7776                            ],
7777                        },
7778                    ],
7779                ),
7780                (
7781                    ::std::borrow::ToOwned::to_owned("EnclaveNotAtQueueIdx"),
7782                    ::std::vec![
7783                        ::ethers::core::abi::ethabi::AbiError {
7784                            name: ::std::borrow::ToOwned::to_owned(
7785                                "EnclaveNotAtQueueIdx",
7786                            ),
7787                            inputs: ::std::vec![
7788                                ::ethers::core::abi::ethabi::Param {
7789                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7790                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7791                                    internal_type: ::core::option::Option::Some(
7792                                        ::std::borrow::ToOwned::to_owned("address"),
7793                                    ),
7794                                },
7795                                ::ethers::core::abi::ethabi::Param {
7796                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
7797                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7798                                    internal_type: ::core::option::Option::Some(
7799                                        ::std::borrow::ToOwned::to_owned("address"),
7800                                    ),
7801                                },
7802                                ::ethers::core::abi::ethabi::Param {
7803                                    name: ::std::borrow::ToOwned::to_owned("enclaveIdx"),
7804                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7805                                        256usize,
7806                                    ),
7807                                    internal_type: ::core::option::Option::Some(
7808                                        ::std::borrow::ToOwned::to_owned("uint256"),
7809                                    ),
7810                                },
7811                            ],
7812                        },
7813                    ],
7814                ),
7815                (
7816                    ::std::borrow::ToOwned::to_owned("EnclaveNotFullyStaked"),
7817                    ::std::vec![
7818                        ::ethers::core::abi::ethabi::AbiError {
7819                            name: ::std::borrow::ToOwned::to_owned(
7820                                "EnclaveNotFullyStaked",
7821                            ),
7822                            inputs: ::std::vec![
7823                                ::ethers::core::abi::ethabi::Param {
7824                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
7825                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7826                                    internal_type: ::core::option::Option::Some(
7827                                        ::std::borrow::ToOwned::to_owned("address"),
7828                                    ),
7829                                },
7830                            ],
7831                        },
7832                    ],
7833                ),
7834                (
7835                    ::std::borrow::ToOwned::to_owned("EnclaveNotOnQueue"),
7836                    ::std::vec![
7837                        ::ethers::core::abi::ethabi::AbiError {
7838                            name: ::std::borrow::ToOwned::to_owned("EnclaveNotOnQueue"),
7839                            inputs: ::std::vec![
7840                                ::ethers::core::abi::ethabi::Param {
7841                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7842                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7843                                    internal_type: ::core::option::Option::Some(
7844                                        ::std::borrow::ToOwned::to_owned("address"),
7845                                    ),
7846                                },
7847                                ::ethers::core::abi::ethabi::Param {
7848                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
7849                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7850                                    internal_type: ::core::option::Option::Some(
7851                                        ::std::borrow::ToOwned::to_owned("address"),
7852                                    ),
7853                                },
7854                            ],
7855                        },
7856                    ],
7857                ),
7858                (
7859                    ::std::borrow::ToOwned::to_owned("EnclaveNotReadyForVerification"),
7860                    ::std::vec![
7861                        ::ethers::core::abi::ethabi::AbiError {
7862                            name: ::std::borrow::ToOwned::to_owned(
7863                                "EnclaveNotReadyForVerification",
7864                            ),
7865                            inputs: ::std::vec![
7866                                ::ethers::core::abi::ethabi::Param {
7867                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
7868                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7869                                    internal_type: ::core::option::Option::Some(
7870                                        ::std::borrow::ToOwned::to_owned("address"),
7871                                    ),
7872                                },
7873                            ],
7874                        },
7875                    ],
7876                ),
7877                (
7878                    ::std::borrow::ToOwned::to_owned("EnclaveUnverified"),
7879                    ::std::vec![
7880                        ::ethers::core::abi::ethabi::AbiError {
7881                            name: ::std::borrow::ToOwned::to_owned("EnclaveUnverified"),
7882                            inputs: ::std::vec![
7883                                ::ethers::core::abi::ethabi::Param {
7884                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
7885                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7886                                    internal_type: ::core::option::Option::Some(
7887                                        ::std::borrow::ToOwned::to_owned("address"),
7888                                    ),
7889                                },
7890                            ],
7891                        },
7892                    ],
7893                ),
7894                (
7895                    ::std::borrow::ToOwned::to_owned("ExcessiveGasSpent"),
7896                    ::std::vec![
7897                        ::ethers::core::abi::ethabi::AbiError {
7898                            name: ::std::borrow::ToOwned::to_owned("ExcessiveGasSpent"),
7899                            inputs: ::std::vec![
7900                                ::ethers::core::abi::ethabi::Param {
7901                                    name: ::std::borrow::ToOwned::to_owned("gasLimit"),
7902                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7903                                        256usize,
7904                                    ),
7905                                    internal_type: ::core::option::Option::Some(
7906                                        ::std::borrow::ToOwned::to_owned("uint256"),
7907                                    ),
7908                                },
7909                                ::ethers::core::abi::ethabi::Param {
7910                                    name: ::std::borrow::ToOwned::to_owned("gasSpent"),
7911                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
7912                                        256usize,
7913                                    ),
7914                                    internal_type: ::core::option::Option::Some(
7915                                        ::std::borrow::ToOwned::to_owned("uint256"),
7916                                    ),
7917                                },
7918                            ],
7919                        },
7920                    ],
7921                ),
7922                (
7923                    ::std::borrow::ToOwned::to_owned("ForceOverrideNotReady"),
7924                    ::std::vec![
7925                        ::ethers::core::abi::ethabi::AbiError {
7926                            name: ::std::borrow::ToOwned::to_owned(
7927                                "ForceOverrideNotReady",
7928                            ),
7929                            inputs: ::std::vec![
7930                                ::ethers::core::abi::ethabi::Param {
7931                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
7932                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7933                                    internal_type: ::core::option::Option::Some(
7934                                        ::std::borrow::ToOwned::to_owned("address"),
7935                                    ),
7936                                },
7937                            ],
7938                        },
7939                    ],
7940                ),
7941                (
7942                    ::std::borrow::ToOwned::to_owned("FunctionAlreadyExists"),
7943                    ::std::vec![
7944                        ::ethers::core::abi::ethabi::AbiError {
7945                            name: ::std::borrow::ToOwned::to_owned(
7946                                "FunctionAlreadyExists",
7947                            ),
7948                            inputs: ::std::vec![
7949                                ::ethers::core::abi::ethabi::Param {
7950                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7951                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7952                                    internal_type: ::core::option::Option::Some(
7953                                        ::std::borrow::ToOwned::to_owned("address"),
7954                                    ),
7955                                },
7956                            ],
7957                        },
7958                    ],
7959                ),
7960                (
7961                    ::std::borrow::ToOwned::to_owned("FunctionCallerNotPermitted"),
7962                    ::std::vec![
7963                        ::ethers::core::abi::ethabi::AbiError {
7964                            name: ::std::borrow::ToOwned::to_owned(
7965                                "FunctionCallerNotPermitted",
7966                            ),
7967                            inputs: ::std::vec![
7968                                ::ethers::core::abi::ethabi::Param {
7969                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7970                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7971                                    internal_type: ::core::option::Option::Some(
7972                                        ::std::borrow::ToOwned::to_owned("address"),
7973                                    ),
7974                                },
7975                                ::ethers::core::abi::ethabi::Param {
7976                                    name: ::std::borrow::ToOwned::to_owned("sender"),
7977                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7978                                    internal_type: ::core::option::Option::Some(
7979                                        ::std::borrow::ToOwned::to_owned("address"),
7980                                    ),
7981                                },
7982                            ],
7983                        },
7984                    ],
7985                ),
7986                (
7987                    ::std::borrow::ToOwned::to_owned("FunctionDoesNotExist"),
7988                    ::std::vec![
7989                        ::ethers::core::abi::ethabi::AbiError {
7990                            name: ::std::borrow::ToOwned::to_owned(
7991                                "FunctionDoesNotExist",
7992                            ),
7993                            inputs: ::std::vec![
7994                                ::ethers::core::abi::ethabi::Param {
7995                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
7996                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
7997                                    internal_type: ::core::option::Option::Some(
7998                                        ::std::borrow::ToOwned::to_owned("address"),
7999                                    ),
8000                                },
8001                            ],
8002                        },
8003                    ],
8004                ),
8005                (
8006                    ::std::borrow::ToOwned::to_owned("FunctionFeeTooLow"),
8007                    ::std::vec![
8008                        ::ethers::core::abi::ethabi::AbiError {
8009                            name: ::std::borrow::ToOwned::to_owned("FunctionFeeTooLow"),
8010                            inputs: ::std::vec![
8011                                ::ethers::core::abi::ethabi::Param {
8012                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
8013                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8014                                    internal_type: ::core::option::Option::Some(
8015                                        ::std::borrow::ToOwned::to_owned("address"),
8016                                    ),
8017                                },
8018                                ::ethers::core::abi::ethabi::Param {
8019                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8020                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8021                                        256usize,
8022                                    ),
8023                                    internal_type: ::core::option::Option::Some(
8024                                        ::std::borrow::ToOwned::to_owned("uint256"),
8025                                    ),
8026                                },
8027                                ::ethers::core::abi::ethabi::Param {
8028                                    name: ::std::borrow::ToOwned::to_owned("received"),
8029                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8030                                        256usize,
8031                                    ),
8032                                    internal_type: ::core::option::Option::Some(
8033                                        ::std::borrow::ToOwned::to_owned("uint256"),
8034                                    ),
8035                                },
8036                            ],
8037                        },
8038                    ],
8039                ),
8040                (
8041                    ::std::borrow::ToOwned::to_owned("FunctionIncorrectTarget"),
8042                    ::std::vec![
8043                        ::ethers::core::abi::ethabi::AbiError {
8044                            name: ::std::borrow::ToOwned::to_owned(
8045                                "FunctionIncorrectTarget",
8046                            ),
8047                            inputs: ::std::vec![
8048                                ::ethers::core::abi::ethabi::Param {
8049                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
8050                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8051                                    internal_type: ::core::option::Option::Some(
8052                                        ::std::borrow::ToOwned::to_owned("address"),
8053                                    ),
8054                                },
8055                                ::ethers::core::abi::ethabi::Param {
8056                                    name: ::std::borrow::ToOwned::to_owned("received"),
8057                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8058                                    internal_type: ::core::option::Option::Some(
8059                                        ::std::borrow::ToOwned::to_owned("address"),
8060                                    ),
8061                                },
8062                            ],
8063                        },
8064                    ],
8065                ),
8066                (
8067                    ::std::borrow::ToOwned::to_owned("FunctionMrEnclaveMismatch"),
8068                    ::std::vec![
8069                        ::ethers::core::abi::ethabi::AbiError {
8070                            name: ::std::borrow::ToOwned::to_owned(
8071                                "FunctionMrEnclaveMismatch",
8072                            ),
8073                            inputs: ::std::vec![
8074                                ::ethers::core::abi::ethabi::Param {
8075                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8076                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
8077                                        32usize,
8078                                    ),
8079                                    internal_type: ::core::option::Option::Some(
8080                                        ::std::borrow::ToOwned::to_owned("bytes32"),
8081                                    ),
8082                                },
8083                                ::ethers::core::abi::ethabi::Param {
8084                                    name: ::std::borrow::ToOwned::to_owned("received"),
8085                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
8086                                        32usize,
8087                                    ),
8088                                    internal_type: ::core::option::Option::Some(
8089                                        ::std::borrow::ToOwned::to_owned("bytes32"),
8090                                    ),
8091                                },
8092                            ],
8093                        },
8094                    ],
8095                ),
8096                (
8097                    ::std::borrow::ToOwned::to_owned("FunctionSignerAlreadySet"),
8098                    ::std::vec![
8099                        ::ethers::core::abi::ethabi::AbiError {
8100                            name: ::std::borrow::ToOwned::to_owned(
8101                                "FunctionSignerAlreadySet",
8102                            ),
8103                            inputs: ::std::vec![
8104                                ::ethers::core::abi::ethabi::Param {
8105                                    name: ::std::borrow::ToOwned::to_owned("current"),
8106                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8107                                    internal_type: ::core::option::Option::Some(
8108                                        ::std::borrow::ToOwned::to_owned("address"),
8109                                    ),
8110                                },
8111                                ::ethers::core::abi::ethabi::Param {
8112                                    name: ::std::borrow::ToOwned::to_owned("received"),
8113                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8114                                    internal_type: ::core::option::Option::Some(
8115                                        ::std::borrow::ToOwned::to_owned("address"),
8116                                    ),
8117                                },
8118                            ],
8119                        },
8120                    ],
8121                ),
8122                (
8123                    ::std::borrow::ToOwned::to_owned("GasLimitExceeded"),
8124                    ::std::vec![
8125                        ::ethers::core::abi::ethabi::AbiError {
8126                            name: ::std::borrow::ToOwned::to_owned("GasLimitExceeded"),
8127                            inputs: ::std::vec![
8128                                ::ethers::core::abi::ethabi::Param {
8129                                    name: ::std::borrow::ToOwned::to_owned("limit"),
8130                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8131                                        256usize,
8132                                    ),
8133                                    internal_type: ::core::option::Option::Some(
8134                                        ::std::borrow::ToOwned::to_owned("uint256"),
8135                                    ),
8136                                },
8137                                ::ethers::core::abi::ethabi::Param {
8138                                    name: ::std::borrow::ToOwned::to_owned("used"),
8139                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8140                                        256usize,
8141                                    ),
8142                                    internal_type: ::core::option::Option::Some(
8143                                        ::std::borrow::ToOwned::to_owned("uint256"),
8144                                    ),
8145                                },
8146                            ],
8147                        },
8148                    ],
8149                ),
8150                (
8151                    ::std::borrow::ToOwned::to_owned("Generic"),
8152                    ::std::vec![
8153                        ::ethers::core::abi::ethabi::AbiError {
8154                            name: ::std::borrow::ToOwned::to_owned("Generic"),
8155                            inputs: ::std::vec![],
8156                        },
8157                    ],
8158                ),
8159                (
8160                    ::std::borrow::ToOwned::to_owned("IncorrectFunctionId"),
8161                    ::std::vec![
8162                        ::ethers::core::abi::ethabi::AbiError {
8163                            name: ::std::borrow::ToOwned::to_owned(
8164                                "IncorrectFunctionId",
8165                            ),
8166                            inputs: ::std::vec![
8167                                ::ethers::core::abi::ethabi::Param {
8168                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8169                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8170                                    internal_type: ::core::option::Option::Some(
8171                                        ::std::borrow::ToOwned::to_owned("address"),
8172                                    ),
8173                                },
8174                                ::ethers::core::abi::ethabi::Param {
8175                                    name: ::std::borrow::ToOwned::to_owned("received"),
8176                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8177                                    internal_type: ::core::option::Option::Some(
8178                                        ::std::borrow::ToOwned::to_owned("address"),
8179                                    ),
8180                                },
8181                            ],
8182                        },
8183                    ],
8184                ),
8185                (
8186                    ::std::borrow::ToOwned::to_owned("IncorrectReportedTime"),
8187                    ::std::vec![
8188                        ::ethers::core::abi::ethabi::AbiError {
8189                            name: ::std::borrow::ToOwned::to_owned(
8190                                "IncorrectReportedTime",
8191                            ),
8192                            inputs: ::std::vec![
8193                                ::ethers::core::abi::ethabi::Param {
8194                                    name: ::std::borrow::ToOwned::to_owned("maxExpectedTime"),
8195                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8196                                        256usize,
8197                                    ),
8198                                    internal_type: ::core::option::Option::Some(
8199                                        ::std::borrow::ToOwned::to_owned("uint256"),
8200                                    ),
8201                                },
8202                                ::ethers::core::abi::ethabi::Param {
8203                                    name: ::std::borrow::ToOwned::to_owned("reportedTime"),
8204                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8205                                        256usize,
8206                                    ),
8207                                    internal_type: ::core::option::Option::Some(
8208                                        ::std::borrow::ToOwned::to_owned("uint256"),
8209                                    ),
8210                                },
8211                            ],
8212                        },
8213                    ],
8214                ),
8215                (
8216                    ::std::borrow::ToOwned::to_owned("IncorrectToken"),
8217                    ::std::vec![
8218                        ::ethers::core::abi::ethabi::AbiError {
8219                            name: ::std::borrow::ToOwned::to_owned("IncorrectToken"),
8220                            inputs: ::std::vec![
8221                                ::ethers::core::abi::ethabi::Param {
8222                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8223                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8224                                    internal_type: ::core::option::Option::Some(
8225                                        ::std::borrow::ToOwned::to_owned("address"),
8226                                    ),
8227                                },
8228                                ::ethers::core::abi::ethabi::Param {
8229                                    name: ::std::borrow::ToOwned::to_owned("received"),
8230                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8231                                    internal_type: ::core::option::Option::Some(
8232                                        ::std::borrow::ToOwned::to_owned("address"),
8233                                    ),
8234                                },
8235                            ],
8236                        },
8237                    ],
8238                ),
8239                (
8240                    ::std::borrow::ToOwned::to_owned("InitializationFunctionReverted"),
8241                    ::std::vec![
8242                        ::ethers::core::abi::ethabi::AbiError {
8243                            name: ::std::borrow::ToOwned::to_owned(
8244                                "InitializationFunctionReverted",
8245                            ),
8246                            inputs: ::std::vec![
8247                                ::ethers::core::abi::ethabi::Param {
8248                                    name: ::std::borrow::ToOwned::to_owned(
8249                                        "_initializationContractAddress",
8250                                    ),
8251                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8252                                    internal_type: ::core::option::Option::Some(
8253                                        ::std::borrow::ToOwned::to_owned("address"),
8254                                    ),
8255                                },
8256                                ::ethers::core::abi::ethabi::Param {
8257                                    name: ::std::borrow::ToOwned::to_owned("_calldata"),
8258                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
8259                                    internal_type: ::core::option::Option::Some(
8260                                        ::std::borrow::ToOwned::to_owned("bytes"),
8261                                    ),
8262                                },
8263                            ],
8264                        },
8265                    ],
8266                ),
8267                (
8268                    ::std::borrow::ToOwned::to_owned("InsufficientBalance"),
8269                    ::std::vec![
8270                        ::ethers::core::abi::ethabi::AbiError {
8271                            name: ::std::borrow::ToOwned::to_owned(
8272                                "InsufficientBalance",
8273                            ),
8274                            inputs: ::std::vec![
8275                                ::ethers::core::abi::ethabi::Param {
8276                                    name: ::std::borrow::ToOwned::to_owned("expectedBalance"),
8277                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8278                                        256usize,
8279                                    ),
8280                                    internal_type: ::core::option::Option::Some(
8281                                        ::std::borrow::ToOwned::to_owned("uint256"),
8282                                    ),
8283                                },
8284                                ::ethers::core::abi::ethabi::Param {
8285                                    name: ::std::borrow::ToOwned::to_owned("receivedBalance"),
8286                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8287                                        256usize,
8288                                    ),
8289                                    internal_type: ::core::option::Option::Some(
8290                                        ::std::borrow::ToOwned::to_owned("uint256"),
8291                                    ),
8292                                },
8293                            ],
8294                        },
8295                    ],
8296                ),
8297                (
8298                    ::std::borrow::ToOwned::to_owned("InsufficientCallBalance"),
8299                    ::std::vec![
8300                        ::ethers::core::abi::ethabi::AbiError {
8301                            name: ::std::borrow::ToOwned::to_owned(
8302                                "InsufficientCallBalance",
8303                            ),
8304                            inputs: ::std::vec![
8305                                ::ethers::core::abi::ethabi::Param {
8306                                    name: ::std::borrow::ToOwned::to_owned("callId"),
8307                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8308                                    internal_type: ::core::option::Option::Some(
8309                                        ::std::borrow::ToOwned::to_owned("address"),
8310                                    ),
8311                                },
8312                                ::ethers::core::abi::ethabi::Param {
8313                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8314                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8315                                        256usize,
8316                                    ),
8317                                    internal_type: ::core::option::Option::Some(
8318                                        ::std::borrow::ToOwned::to_owned("uint256"),
8319                                    ),
8320                                },
8321                                ::ethers::core::abi::ethabi::Param {
8322                                    name: ::std::borrow::ToOwned::to_owned("received"),
8323                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8324                                        256usize,
8325                                    ),
8326                                    internal_type: ::core::option::Option::Some(
8327                                        ::std::borrow::ToOwned::to_owned("uint256"),
8328                                    ),
8329                                },
8330                            ],
8331                        },
8332                    ],
8333                ),
8334                (
8335                    ::std::borrow::ToOwned::to_owned("InsufficientCallFeePaid"),
8336                    ::std::vec![
8337                        ::ethers::core::abi::ethabi::AbiError {
8338                            name: ::std::borrow::ToOwned::to_owned(
8339                                "InsufficientCallFeePaid",
8340                            ),
8341                            inputs: ::std::vec![
8342                                ::ethers::core::abi::ethabi::Param {
8343                                    name: ::std::borrow::ToOwned::to_owned("callId"),
8344                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8345                                    internal_type: ::core::option::Option::Some(
8346                                        ::std::borrow::ToOwned::to_owned("address"),
8347                                    ),
8348                                },
8349                                ::ethers::core::abi::ethabi::Param {
8350                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8351                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8352                                        256usize,
8353                                    ),
8354                                    internal_type: ::core::option::Option::Some(
8355                                        ::std::borrow::ToOwned::to_owned("uint256"),
8356                                    ),
8357                                },
8358                                ::ethers::core::abi::ethabi::Param {
8359                                    name: ::std::borrow::ToOwned::to_owned("received"),
8360                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8361                                        256usize,
8362                                    ),
8363                                    internal_type: ::core::option::Option::Some(
8364                                        ::std::borrow::ToOwned::to_owned("uint256"),
8365                                    ),
8366                                },
8367                            ],
8368                        },
8369                    ],
8370                ),
8371                (
8372                    ::std::borrow::ToOwned::to_owned("InsufficientNodes"),
8373                    ::std::vec![
8374                        ::ethers::core::abi::ethabi::AbiError {
8375                            name: ::std::borrow::ToOwned::to_owned("InsufficientNodes"),
8376                            inputs: ::std::vec![
8377                                ::ethers::core::abi::ethabi::Param {
8378                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8379                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8380                                        256usize,
8381                                    ),
8382                                    internal_type: ::core::option::Option::Some(
8383                                        ::std::borrow::ToOwned::to_owned("uint256"),
8384                                    ),
8385                                },
8386                                ::ethers::core::abi::ethabi::Param {
8387                                    name: ::std::borrow::ToOwned::to_owned("received"),
8388                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8389                                        256usize,
8390                                    ),
8391                                    internal_type: ::core::option::Option::Some(
8392                                        ::std::borrow::ToOwned::to_owned("uint256"),
8393                                    ),
8394                                },
8395                            ],
8396                        },
8397                    ],
8398                ),
8399                (
8400                    ::std::borrow::ToOwned::to_owned("InsufficientSamples"),
8401                    ::std::vec![
8402                        ::ethers::core::abi::ethabi::AbiError {
8403                            name: ::std::borrow::ToOwned::to_owned(
8404                                "InsufficientSamples",
8405                            ),
8406                            inputs: ::std::vec![
8407                                ::ethers::core::abi::ethabi::Param {
8408                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8409                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8410                                        256usize,
8411                                    ),
8412                                    internal_type: ::core::option::Option::Some(
8413                                        ::std::borrow::ToOwned::to_owned("uint256"),
8414                                    ),
8415                                },
8416                                ::ethers::core::abi::ethabi::Param {
8417                                    name: ::std::borrow::ToOwned::to_owned("received"),
8418                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8419                                        256usize,
8420                                    ),
8421                                    internal_type: ::core::option::Option::Some(
8422                                        ::std::borrow::ToOwned::to_owned("uint256"),
8423                                    ),
8424                                },
8425                            ],
8426                        },
8427                    ],
8428                ),
8429                (
8430                    ::std::borrow::ToOwned::to_owned("IntervalHistoryNotRecorded"),
8431                    ::std::vec![
8432                        ::ethers::core::abi::ethabi::AbiError {
8433                            name: ::std::borrow::ToOwned::to_owned(
8434                                "IntervalHistoryNotRecorded",
8435                            ),
8436                            inputs: ::std::vec![
8437                                ::ethers::core::abi::ethabi::Param {
8438                                    name: ::std::borrow::ToOwned::to_owned("aggregatorId"),
8439                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8440                                    internal_type: ::core::option::Option::Some(
8441                                        ::std::borrow::ToOwned::to_owned("address"),
8442                                    ),
8443                                },
8444                            ],
8445                        },
8446                    ],
8447                ),
8448                (
8449                    ::std::borrow::ToOwned::to_owned("InvalidArgument"),
8450                    ::std::vec![
8451                        ::ethers::core::abi::ethabi::AbiError {
8452                            name: ::std::borrow::ToOwned::to_owned("InvalidArgument"),
8453                            inputs: ::std::vec![
8454                                ::ethers::core::abi::ethabi::Param {
8455                                    name: ::std::borrow::ToOwned::to_owned("argumentIndex"),
8456                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8457                                        256usize,
8458                                    ),
8459                                    internal_type: ::core::option::Option::Some(
8460                                        ::std::borrow::ToOwned::to_owned("uint256"),
8461                                    ),
8462                                },
8463                            ],
8464                        },
8465                    ],
8466                ),
8467                (
8468                    ::std::borrow::ToOwned::to_owned("InvalidAuthority"),
8469                    ::std::vec![
8470                        ::ethers::core::abi::ethabi::AbiError {
8471                            name: ::std::borrow::ToOwned::to_owned("InvalidAuthority"),
8472                            inputs: ::std::vec![
8473                                ::ethers::core::abi::ethabi::Param {
8474                                    name: ::std::borrow::ToOwned::to_owned("expectedAuthority"),
8475                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8476                                    internal_type: ::core::option::Option::Some(
8477                                        ::std::borrow::ToOwned::to_owned("address"),
8478                                    ),
8479                                },
8480                                ::ethers::core::abi::ethabi::Param {
8481                                    name: ::std::borrow::ToOwned::to_owned("receivedAuthority"),
8482                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8483                                    internal_type: ::core::option::Option::Some(
8484                                        ::std::borrow::ToOwned::to_owned("address"),
8485                                    ),
8486                                },
8487                            ],
8488                        },
8489                    ],
8490                ),
8491                (
8492                    ::std::borrow::ToOwned::to_owned("InvalidCallId"),
8493                    ::std::vec![
8494                        ::ethers::core::abi::ethabi::AbiError {
8495                            name: ::std::borrow::ToOwned::to_owned("InvalidCallId"),
8496                            inputs: ::std::vec![
8497                                ::ethers::core::abi::ethabi::Param {
8498                                    name: ::std::borrow::ToOwned::to_owned("callId"),
8499                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8500                                    internal_type: ::core::option::Option::Some(
8501                                        ::std::borrow::ToOwned::to_owned("address"),
8502                                    ),
8503                                },
8504                            ],
8505                        },
8506                    ],
8507                ),
8508                (
8509                    ::std::borrow::ToOwned::to_owned("InvalidCallbackParams"),
8510                    ::std::vec![
8511                        ::ethers::core::abi::ethabi::AbiError {
8512                            name: ::std::borrow::ToOwned::to_owned(
8513                                "InvalidCallbackParams",
8514                            ),
8515                            inputs: ::std::vec![
8516                                ::ethers::core::abi::ethabi::Param {
8517                                    name: ::std::borrow::ToOwned::to_owned("callId"),
8518                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8519                                    internal_type: ::core::option::Option::Some(
8520                                        ::std::borrow::ToOwned::to_owned("address"),
8521                                    ),
8522                                },
8523                                ::ethers::core::abi::ethabi::Param {
8524                                    name: ::std::borrow::ToOwned::to_owned("hash"),
8525                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
8526                                        32usize,
8527                                    ),
8528                                    internal_type: ::core::option::Option::Some(
8529                                        ::std::borrow::ToOwned::to_owned("bytes32"),
8530                                    ),
8531                                },
8532                            ],
8533                        },
8534                    ],
8535                ),
8536                (
8537                    ::std::borrow::ToOwned::to_owned("InvalidEnclave"),
8538                    ::std::vec![
8539                        ::ethers::core::abi::ethabi::AbiError {
8540                            name: ::std::borrow::ToOwned::to_owned("InvalidEnclave"),
8541                            inputs: ::std::vec![
8542                                ::ethers::core::abi::ethabi::Param {
8543                                    name: ::std::borrow::ToOwned::to_owned("enclaveId"),
8544                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8545                                    internal_type: ::core::option::Option::Some(
8546                                        ::std::borrow::ToOwned::to_owned("address"),
8547                                    ),
8548                                },
8549                            ],
8550                        },
8551                    ],
8552                ),
8553                (
8554                    ::std::borrow::ToOwned::to_owned("InvalidEntry"),
8555                    ::std::vec![
8556                        ::ethers::core::abi::ethabi::AbiError {
8557                            name: ::std::borrow::ToOwned::to_owned("InvalidEntry"),
8558                            inputs: ::std::vec![],
8559                        },
8560                    ],
8561                ),
8562                (
8563                    ::std::borrow::ToOwned::to_owned("InvalidRoutineId"),
8564                    ::std::vec![
8565                        ::ethers::core::abi::ethabi::AbiError {
8566                            name: ::std::borrow::ToOwned::to_owned("InvalidRoutineId"),
8567                            inputs: ::std::vec![
8568                                ::ethers::core::abi::ethabi::Param {
8569                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
8570                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8571                                    internal_type: ::core::option::Option::Some(
8572                                        ::std::borrow::ToOwned::to_owned("address"),
8573                                    ),
8574                                },
8575                            ],
8576                        },
8577                    ],
8578                ),
8579                (
8580                    ::std::borrow::ToOwned::to_owned("InvalidSignature"),
8581                    ::std::vec![
8582                        ::ethers::core::abi::ethabi::AbiError {
8583                            name: ::std::borrow::ToOwned::to_owned("InvalidSignature"),
8584                            inputs: ::std::vec![
8585                                ::ethers::core::abi::ethabi::Param {
8586                                    name: ::std::borrow::ToOwned::to_owned("expectedSender"),
8587                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8588                                    internal_type: ::core::option::Option::Some(
8589                                        ::std::borrow::ToOwned::to_owned("address"),
8590                                    ),
8591                                },
8592                                ::ethers::core::abi::ethabi::Param {
8593                                    name: ::std::borrow::ToOwned::to_owned("txHash"),
8594                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
8595                                        32usize,
8596                                    ),
8597                                    internal_type: ::core::option::Option::Some(
8598                                        ::std::borrow::ToOwned::to_owned("bytes32"),
8599                                    ),
8600                                },
8601                                ::ethers::core::abi::ethabi::Param {
8602                                    name: ::std::borrow::ToOwned::to_owned("signature"),
8603                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
8604                                    internal_type: ::core::option::Option::Some(
8605                                        ::std::borrow::ToOwned::to_owned("bytes"),
8606                                    ),
8607                                },
8608                            ],
8609                        },
8610                    ],
8611                ),
8612                (
8613                    ::std::borrow::ToOwned::to_owned("InvalidSigner"),
8614                    ::std::vec![
8615                        ::ethers::core::abi::ethabi::AbiError {
8616                            name: ::std::borrow::ToOwned::to_owned("InvalidSigner"),
8617                            inputs: ::std::vec![
8618                                ::ethers::core::abi::ethabi::Param {
8619                                    name: ::std::borrow::ToOwned::to_owned("expectedSigner"),
8620                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8621                                    internal_type: ::core::option::Option::Some(
8622                                        ::std::borrow::ToOwned::to_owned("address"),
8623                                    ),
8624                                },
8625                                ::ethers::core::abi::ethabi::Param {
8626                                    name: ::std::borrow::ToOwned::to_owned("receivedSigner"),
8627                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8628                                    internal_type: ::core::option::Option::Some(
8629                                        ::std::borrow::ToOwned::to_owned("address"),
8630                                    ),
8631                                },
8632                            ],
8633                        },
8634                    ],
8635                ),
8636                (
8637                    ::std::borrow::ToOwned::to_owned("InvalidStatus"),
8638                    ::std::vec![
8639                        ::ethers::core::abi::ethabi::AbiError {
8640                            name: ::std::borrow::ToOwned::to_owned("InvalidStatus"),
8641                            inputs: ::std::vec![
8642                                ::ethers::core::abi::ethabi::Param {
8643                                    name: ::std::borrow::ToOwned::to_owned("account"),
8644                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8645                                    internal_type: ::core::option::Option::Some(
8646                                        ::std::borrow::ToOwned::to_owned("address"),
8647                                    ),
8648                                },
8649                                ::ethers::core::abi::ethabi::Param {
8650                                    name: ::std::borrow::ToOwned::to_owned("expected"),
8651                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8652                                        256usize,
8653                                    ),
8654                                    internal_type: ::core::option::Option::Some(
8655                                        ::std::borrow::ToOwned::to_owned("uint256"),
8656                                    ),
8657                                },
8658                                ::ethers::core::abi::ethabi::Param {
8659                                    name: ::std::borrow::ToOwned::to_owned("received"),
8660                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8661                                        256usize,
8662                                    ),
8663                                    internal_type: ::core::option::Option::Some(
8664                                        ::std::borrow::ToOwned::to_owned("uint256"),
8665                                    ),
8666                                },
8667                            ],
8668                        },
8669                    ],
8670                ),
8671                (
8672                    ::std::borrow::ToOwned::to_owned("MrEnclaveNotAllowed"),
8673                    ::std::vec![
8674                        ::ethers::core::abi::ethabi::AbiError {
8675                            name: ::std::borrow::ToOwned::to_owned(
8676                                "MrEnclaveNotAllowed",
8677                            ),
8678                            inputs: ::std::vec![
8679                                ::ethers::core::abi::ethabi::Param {
8680                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
8681                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8682                                    internal_type: ::core::option::Option::Some(
8683                                        ::std::borrow::ToOwned::to_owned("address"),
8684                                    ),
8685                                },
8686                                ::ethers::core::abi::ethabi::Param {
8687                                    name: ::std::borrow::ToOwned::to_owned("mrEnclave"),
8688                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
8689                                        32usize,
8690                                    ),
8691                                    internal_type: ::core::option::Option::Some(
8692                                        ::std::borrow::ToOwned::to_owned("bytes32"),
8693                                    ),
8694                                },
8695                            ],
8696                        },
8697                    ],
8698                ),
8699                (
8700                    ::std::borrow::ToOwned::to_owned("OracleAlreadyExists"),
8701                    ::std::vec![
8702                        ::ethers::core::abi::ethabi::AbiError {
8703                            name: ::std::borrow::ToOwned::to_owned(
8704                                "OracleAlreadyExists",
8705                            ),
8706                            inputs: ::std::vec![
8707                                ::ethers::core::abi::ethabi::Param {
8708                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
8709                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8710                                    internal_type: ::core::option::Option::Some(
8711                                        ::std::borrow::ToOwned::to_owned("address"),
8712                                    ),
8713                                },
8714                            ],
8715                        },
8716                    ],
8717                ),
8718                (
8719                    ::std::borrow::ToOwned::to_owned("OracleExpired"),
8720                    ::std::vec![
8721                        ::ethers::core::abi::ethabi::AbiError {
8722                            name: ::std::borrow::ToOwned::to_owned("OracleExpired"),
8723                            inputs: ::std::vec![
8724                                ::ethers::core::abi::ethabi::Param {
8725                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
8726                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8727                                    internal_type: ::core::option::Option::Some(
8728                                        ::std::borrow::ToOwned::to_owned("address"),
8729                                    ),
8730                                },
8731                            ],
8732                        },
8733                    ],
8734                ),
8735                (
8736                    ::std::borrow::ToOwned::to_owned("OracleNotAtQueueIdx"),
8737                    ::std::vec![
8738                        ::ethers::core::abi::ethabi::AbiError {
8739                            name: ::std::borrow::ToOwned::to_owned(
8740                                "OracleNotAtQueueIdx",
8741                            ),
8742                            inputs: ::std::vec![
8743                                ::ethers::core::abi::ethabi::Param {
8744                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
8745                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8746                                    internal_type: ::core::option::Option::Some(
8747                                        ::std::borrow::ToOwned::to_owned("address"),
8748                                    ),
8749                                },
8750                                ::ethers::core::abi::ethabi::Param {
8751                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
8752                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8753                                    internal_type: ::core::option::Option::Some(
8754                                        ::std::borrow::ToOwned::to_owned("address"),
8755                                    ),
8756                                },
8757                                ::ethers::core::abi::ethabi::Param {
8758                                    name: ::std::borrow::ToOwned::to_owned("oracleIdx"),
8759                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8760                                        256usize,
8761                                    ),
8762                                    internal_type: ::core::option::Option::Some(
8763                                        ::std::borrow::ToOwned::to_owned("uint256"),
8764                                    ),
8765                                },
8766                            ],
8767                        },
8768                    ],
8769                ),
8770                (
8771                    ::std::borrow::ToOwned::to_owned("OracleNotOnQueue"),
8772                    ::std::vec![
8773                        ::ethers::core::abi::ethabi::AbiError {
8774                            name: ::std::borrow::ToOwned::to_owned("OracleNotOnQueue"),
8775                            inputs: ::std::vec![
8776                                ::ethers::core::abi::ethabi::Param {
8777                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
8778                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8779                                    internal_type: ::core::option::Option::Some(
8780                                        ::std::borrow::ToOwned::to_owned("address"),
8781                                    ),
8782                                },
8783                                ::ethers::core::abi::ethabi::Param {
8784                                    name: ::std::borrow::ToOwned::to_owned("oracleId"),
8785                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8786                                    internal_type: ::core::option::Option::Some(
8787                                        ::std::borrow::ToOwned::to_owned("address"),
8788                                    ),
8789                                },
8790                            ],
8791                        },
8792                    ],
8793                ),
8794                (
8795                    ::std::borrow::ToOwned::to_owned("OracleQueueDoesNotExist"),
8796                    ::std::vec![
8797                        ::ethers::core::abi::ethabi::AbiError {
8798                            name: ::std::borrow::ToOwned::to_owned(
8799                                "OracleQueueDoesNotExist",
8800                            ),
8801                            inputs: ::std::vec![
8802                                ::ethers::core::abi::ethabi::Param {
8803                                    name: ::std::borrow::ToOwned::to_owned("oracleQueueId"),
8804                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8805                                    internal_type: ::core::option::Option::Some(
8806                                        ::std::borrow::ToOwned::to_owned("address"),
8807                                    ),
8808                                },
8809                            ],
8810                        },
8811                    ],
8812                ),
8813                (
8814                    ::std::borrow::ToOwned::to_owned("PermissionDenied"),
8815                    ::std::vec![
8816                        ::ethers::core::abi::ethabi::AbiError {
8817                            name: ::std::borrow::ToOwned::to_owned("PermissionDenied"),
8818                            inputs: ::std::vec![
8819                                ::ethers::core::abi::ethabi::Param {
8820                                    name: ::std::borrow::ToOwned::to_owned("granter"),
8821                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8822                                    internal_type: ::core::option::Option::Some(
8823                                        ::std::borrow::ToOwned::to_owned("address"),
8824                                    ),
8825                                },
8826                                ::ethers::core::abi::ethabi::Param {
8827                                    name: ::std::borrow::ToOwned::to_owned("grantee"),
8828                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8829                                    internal_type: ::core::option::Option::Some(
8830                                        ::std::borrow::ToOwned::to_owned("address"),
8831                                    ),
8832                                },
8833                                ::ethers::core::abi::ethabi::Param {
8834                                    name: ::std::borrow::ToOwned::to_owned("permission"),
8835                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8836                                        256usize,
8837                                    ),
8838                                    internal_type: ::core::option::Option::Some(
8839                                        ::std::borrow::ToOwned::to_owned("uint256"),
8840                                    ),
8841                                },
8842                            ],
8843                        },
8844                    ],
8845                ),
8846                (
8847                    ::std::borrow::ToOwned::to_owned("QueuesDoNotMatch"),
8848                    ::std::vec![
8849                        ::ethers::core::abi::ethabi::AbiError {
8850                            name: ::std::borrow::ToOwned::to_owned("QueuesDoNotMatch"),
8851                            inputs: ::std::vec![
8852                                ::ethers::core::abi::ethabi::Param {
8853                                    name: ::std::borrow::ToOwned::to_owned("expectedQueueId"),
8854                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8855                                    internal_type: ::core::option::Option::Some(
8856                                        ::std::borrow::ToOwned::to_owned("address"),
8857                                    ),
8858                                },
8859                                ::ethers::core::abi::ethabi::Param {
8860                                    name: ::std::borrow::ToOwned::to_owned("receivedQueueId"),
8861                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8862                                    internal_type: ::core::option::Option::Some(
8863                                        ::std::borrow::ToOwned::to_owned("address"),
8864                                    ),
8865                                },
8866                            ],
8867                        },
8868                    ],
8869                ),
8870                (
8871                    ::std::borrow::ToOwned::to_owned("RequestAlreadyExists"),
8872                    ::std::vec![
8873                        ::ethers::core::abi::ethabi::AbiError {
8874                            name: ::std::borrow::ToOwned::to_owned(
8875                                "RequestAlreadyExists",
8876                            ),
8877                            inputs: ::std::vec![
8878                                ::ethers::core::abi::ethabi::Param {
8879                                    name: ::std::borrow::ToOwned::to_owned("requestId"),
8880                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8881                                    internal_type: ::core::option::Option::Some(
8882                                        ::std::borrow::ToOwned::to_owned("address"),
8883                                    ),
8884                                },
8885                            ],
8886                        },
8887                    ],
8888                ),
8889                (
8890                    ::std::borrow::ToOwned::to_owned("RequestIdAlreadyExists"),
8891                    ::std::vec![
8892                        ::ethers::core::abi::ethabi::AbiError {
8893                            name: ::std::borrow::ToOwned::to_owned(
8894                                "RequestIdAlreadyExists",
8895                            ),
8896                            inputs: ::std::vec![
8897                                ::ethers::core::abi::ethabi::Param {
8898                                    name: ::std::borrow::ToOwned::to_owned("requestId"),
8899                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8900                                    internal_type: ::core::option::Option::Some(
8901                                        ::std::borrow::ToOwned::to_owned("address"),
8902                                    ),
8903                                },
8904                            ],
8905                        },
8906                    ],
8907                ),
8908                (
8909                    ::std::borrow::ToOwned::to_owned("RoutineIdAlreadyExists"),
8910                    ::std::vec![
8911                        ::ethers::core::abi::ethabi::AbiError {
8912                            name: ::std::borrow::ToOwned::to_owned(
8913                                "RoutineIdAlreadyExists",
8914                            ),
8915                            inputs: ::std::vec![
8916                                ::ethers::core::abi::ethabi::Param {
8917                                    name: ::std::borrow::ToOwned::to_owned("routineId"),
8918                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8919                                    internal_type: ::core::option::Option::Some(
8920                                        ::std::borrow::ToOwned::to_owned("address"),
8921                                    ),
8922                                },
8923                            ],
8924                        },
8925                    ],
8926                ),
8927                (
8928                    ::std::borrow::ToOwned::to_owned("RoutinesDisabled"),
8929                    ::std::vec![
8930                        ::ethers::core::abi::ethabi::AbiError {
8931                            name: ::std::borrow::ToOwned::to_owned("RoutinesDisabled"),
8932                            inputs: ::std::vec![
8933                                ::ethers::core::abi::ethabi::Param {
8934                                    name: ::std::borrow::ToOwned::to_owned("functionId"),
8935                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8936                                    internal_type: ::core::option::Option::Some(
8937                                        ::std::borrow::ToOwned::to_owned("address"),
8938                                    ),
8939                                },
8940                            ],
8941                        },
8942                    ],
8943                ),
8944                (
8945                    ::std::borrow::ToOwned::to_owned("StakeNotReady"),
8946                    ::std::vec![
8947                        ::ethers::core::abi::ethabi::AbiError {
8948                            name: ::std::borrow::ToOwned::to_owned("StakeNotReady"),
8949                            inputs: ::std::vec![
8950                                ::ethers::core::abi::ethabi::Param {
8951                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
8952                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8953                                    internal_type: ::core::option::Option::Some(
8954                                        ::std::borrow::ToOwned::to_owned("address"),
8955                                    ),
8956                                },
8957                                ::ethers::core::abi::ethabi::Param {
8958                                    name: ::std::borrow::ToOwned::to_owned("staker"),
8959                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8960                                    internal_type: ::core::option::Option::Some(
8961                                        ::std::borrow::ToOwned::to_owned("address"),
8962                                    ),
8963                                },
8964                                ::ethers::core::abi::ethabi::Param {
8965                                    name: ::std::borrow::ToOwned::to_owned("readyAt"),
8966                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
8967                                        256usize,
8968                                    ),
8969                                    internal_type: ::core::option::Option::Some(
8970                                        ::std::borrow::ToOwned::to_owned("uint256"),
8971                                    ),
8972                                },
8973                            ],
8974                        },
8975                    ],
8976                ),
8977                (
8978                    ::std::borrow::ToOwned::to_owned("StakeNotReadyForWithdrawal"),
8979                    ::std::vec![
8980                        ::ethers::core::abi::ethabi::AbiError {
8981                            name: ::std::borrow::ToOwned::to_owned(
8982                                "StakeNotReadyForWithdrawal",
8983                            ),
8984                            inputs: ::std::vec![
8985                                ::ethers::core::abi::ethabi::Param {
8986                                    name: ::std::borrow::ToOwned::to_owned("queueId"),
8987                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8988                                    internal_type: ::core::option::Option::Some(
8989                                        ::std::borrow::ToOwned::to_owned("address"),
8990                                    ),
8991                                },
8992                                ::ethers::core::abi::ethabi::Param {
8993                                    name: ::std::borrow::ToOwned::to_owned("staker"),
8994                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
8995                                    internal_type: ::core::option::Option::Some(
8996                                        ::std::borrow::ToOwned::to_owned("address"),
8997                                    ),
8998                                },
8999                                ::ethers::core::abi::ethabi::Param {
9000                                    name: ::std::borrow::ToOwned::to_owned("readyAt"),
9001                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
9002                                        256usize,
9003                                    ),
9004                                    internal_type: ::core::option::Option::Some(
9005                                        ::std::borrow::ToOwned::to_owned("uint256"),
9006                                    ),
9007                                },
9008                            ],
9009                        },
9010                    ],
9011                ),
9012                (
9013                    ::std::borrow::ToOwned::to_owned("SubmittedResultsMismatch"),
9014                    ::std::vec![
9015                        ::ethers::core::abi::ethabi::AbiError {
9016                            name: ::std::borrow::ToOwned::to_owned(
9017                                "SubmittedResultsMismatch",
9018                            ),
9019                            inputs: ::std::vec![
9020                                ::ethers::core::abi::ethabi::Param {
9021                                    name: ::std::borrow::ToOwned::to_owned("aggregators"),
9022                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
9023                                        256usize,
9024                                    ),
9025                                    internal_type: ::core::option::Option::Some(
9026                                        ::std::borrow::ToOwned::to_owned("uint256"),
9027                                    ),
9028                                },
9029                                ::ethers::core::abi::ethabi::Param {
9030                                    name: ::std::borrow::ToOwned::to_owned("results"),
9031                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
9032                                        256usize,
9033                                    ),
9034                                    internal_type: ::core::option::Option::Some(
9035                                        ::std::borrow::ToOwned::to_owned("uint256"),
9036                                    ),
9037                                },
9038                            ],
9039                        },
9040                    ],
9041                ),
9042                (
9043                    ::std::borrow::ToOwned::to_owned("TokenTransferFailure"),
9044                    ::std::vec![
9045                        ::ethers::core::abi::ethabi::AbiError {
9046                            name: ::std::borrow::ToOwned::to_owned(
9047                                "TokenTransferFailure",
9048                            ),
9049                            inputs: ::std::vec![
9050                                ::ethers::core::abi::ethabi::Param {
9051                                    name: ::std::borrow::ToOwned::to_owned("token"),
9052                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
9053                                    internal_type: ::core::option::Option::Some(
9054                                        ::std::borrow::ToOwned::to_owned("address"),
9055                                    ),
9056                                },
9057                                ::ethers::core::abi::ethabi::Param {
9058                                    name: ::std::borrow::ToOwned::to_owned("to"),
9059                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
9060                                    internal_type: ::core::option::Option::Some(
9061                                        ::std::borrow::ToOwned::to_owned("address"),
9062                                    ),
9063                                },
9064                                ::ethers::core::abi::ethabi::Param {
9065                                    name: ::std::borrow::ToOwned::to_owned("amount"),
9066                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
9067                                        256usize,
9068                                    ),
9069                                    internal_type: ::core::option::Option::Some(
9070                                        ::std::borrow::ToOwned::to_owned("uint256"),
9071                                    ),
9072                                },
9073                            ],
9074                        },
9075                    ],
9076                ),
9077                (
9078                    ::std::borrow::ToOwned::to_owned("TransactionExpired"),
9079                    ::std::vec![
9080                        ::ethers::core::abi::ethabi::AbiError {
9081                            name: ::std::borrow::ToOwned::to_owned("TransactionExpired"),
9082                            inputs: ::std::vec![
9083                                ::ethers::core::abi::ethabi::Param {
9084                                    name: ::std::borrow::ToOwned::to_owned("expirationTime"),
9085                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
9086                                        256usize,
9087                                    ),
9088                                    internal_type: ::core::option::Option::Some(
9089                                        ::std::borrow::ToOwned::to_owned("uint256"),
9090                                    ),
9091                                },
9092                            ],
9093                        },
9094                    ],
9095                ),
9096            ]),
9097            receive: false,
9098            fallback: false,
9099        }
9100    }
9101    ///The parsed JSON ABI of the contract.
9102    pub static SWITCHBOARD_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> =
9103        ::ethers::contract::Lazy::new(__abi);
9104    pub struct Switchboard<M>(::ethers::contract::Contract<M>);
9105    impl<M> ::core::clone::Clone for Switchboard<M> {
9106        fn clone(&self) -> Self {
9107            Self(::core::clone::Clone::clone(&self.0))
9108        }
9109    }
9110    impl<M> ::core::ops::Deref for Switchboard<M> {
9111        type Target = ::ethers::contract::Contract<M>;
9112        fn deref(&self) -> &Self::Target {
9113            &self.0
9114        }
9115    }
9116    impl<M> ::core::ops::DerefMut for Switchboard<M> {
9117        fn deref_mut(&mut self) -> &mut Self::Target {
9118            &mut self.0
9119        }
9120    }
9121    impl<M> ::core::fmt::Debug for Switchboard<M> {
9122        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9123            f.debug_tuple(::core::stringify!(Switchboard))
9124                .field(&self.address())
9125                .finish()
9126        }
9127    }
9128    impl<M: ::ethers::providers::Middleware> Switchboard<M> {
9129        /// Creates a new contract instance with the specified `ethers` client at
9130        /// `address`. The contract derefs to a `ethers::Contract` object.
9131        pub fn new<T: Into<::ethers::core::types::Address>>(
9132            address: T,
9133            client: ::std::sync::Arc<M>,
9134        ) -> Self {
9135            Self(::ethers::contract::Contract::new(
9136                address.into(),
9137                SWITCHBOARD_ABI.clone(),
9138                client,
9139            ))
9140        }
9141        ///Calls the contract's `addMrEnclaveToAttestationQueue` (0xad435b9d) function
9142        pub fn add_mr_enclave_to_attestation_queue(
9143            &self,
9144            queue_id: ::ethers::core::types::Address,
9145            mr_enclave: [u8; 32],
9146        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9147            self.0
9148                .method_hash([173, 67, 91, 157], (queue_id, mr_enclave))
9149                .expect("method not found (this should never happen)")
9150        }
9151        ///Calls the contract's `addMrEnclaveToFunction` (0x45fc160c) function
9152        pub fn add_mr_enclave_to_function(
9153            &self,
9154            function_id: ::ethers::core::types::Address,
9155            mr_enclave: [u8; 32],
9156        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9157            self.0
9158                .method_hash([69, 252, 22, 12], (function_id, mr_enclave))
9159                .expect("method not found (this should never happen)")
9160        }
9161        ///Calls the contract's `addMrEnclaveToOracleQueue` (0x51a426d8) function
9162        pub fn add_mr_enclave_to_oracle_queue(
9163            &self,
9164            queue_id: ::ethers::core::types::Address,
9165            mr_enclave: [u8; 32],
9166        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9167            self.0
9168                .method_hash([81, 164, 38, 216], (queue_id, mr_enclave))
9169                .expect("method not found (this should never happen)")
9170        }
9171        ///Calls the contract's `addStake` (0x6374299e) function
9172        pub fn add_stake(
9173            &self,
9174            enclave_id: ::ethers::core::types::Address,
9175            amount: ::ethers::core::types::U256,
9176        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9177            self.0
9178                .method_hash([99, 116, 41, 158], (enclave_id, amount))
9179                .expect("method not found (this should never happen)")
9180        }
9181        ///Calls the contract's `aggregatorEscrowFund` (0xd55dcc5b) function
9182        pub fn aggregator_escrow_fund(
9183            &self,
9184            account_id: ::ethers::core::types::Address,
9185        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9186            self.0
9187                .method_hash([213, 93, 204, 91], account_id)
9188                .expect("method not found (this should never happen)")
9189        }
9190        ///Calls the contract's `aggregatorEscrowWithdraw` (0x202dd499) function
9191        pub fn aggregator_escrow_withdraw(
9192            &self,
9193            recipient: ::ethers::core::types::Address,
9194            aggregator_id: ::ethers::core::types::Address,
9195            amount: ::ethers::core::types::U256,
9196        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9197            self.0
9198                .method_hash([32, 45, 212, 153], (recipient, aggregator_id, amount))
9199                .expect("method not found (this should never happen)")
9200        }
9201        ///Calls the contract's `aggregatorHistory` (0x8625bd08) function
9202        pub fn aggregator_history(
9203            &self,
9204            aggregator_id: ::ethers::core::types::Address,
9205            round_id: u128,
9206        ) -> ::ethers::contract::builders::ContractCall<M, AggregatorHistoryResult> {
9207            self.0
9208                .method_hash([134, 37, 189, 8], (aggregator_id, round_id))
9209                .expect("method not found (this should never happen)")
9210        }
9211        ///Calls the contract's `aggregators` (0x112cdab9) function
9212        pub fn aggregators(
9213            &self,
9214            aggregator_id: ::ethers::core::types::Address,
9215        ) -> ::ethers::contract::builders::ContractCall<M, Aggregator> {
9216            self.0
9217                .method_hash([17, 44, 218, 185], aggregator_id)
9218                .expect("method not found (this should never happen)")
9219        }
9220        ///Calls the contract's `allowance` (0xdd62ed3e) function
9221        pub fn allowance(
9222            &self,
9223            owner: ::ethers::core::types::Address,
9224            spender: ::ethers::core::types::Address,
9225        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
9226            self.0
9227                .method_hash([221, 98, 237, 62], (owner, spender))
9228                .expect("method not found (this should never happen)")
9229        }
9230        ///Calls the contract's `approve` (0x095ea7b3) function
9231        pub fn approve(
9232            &self,
9233            spender: ::ethers::core::types::Address,
9234            value: ::ethers::core::types::U256,
9235        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
9236            self.0
9237                .method_hash([9, 94, 167, 179], (spender, value))
9238                .expect("method not found (this should never happen)")
9239        }
9240        ///Calls the contract's `attestationQueueHasMrEnclave` (0x63fcd771) function
9241        pub fn attestation_queue_has_mr_enclave(
9242            &self,
9243            queue_id: ::ethers::core::types::Address,
9244            mr_enclave: [u8; 32],
9245        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
9246            self.0
9247                .method_hash([99, 252, 215, 113], (queue_id, mr_enclave))
9248                .expect("method not found (this should never happen)")
9249        }
9250        ///Calls the contract's `attestationQueues` (0x8bb3048c) function
9251        pub fn attestation_queues(
9252            &self,
9253            queue_id: ::ethers::core::types::Address,
9254        ) -> ::ethers::contract::builders::ContractCall<M, AttestationQueue> {
9255            self.0
9256                .method_hash([139, 179, 4, 140], queue_id)
9257                .expect("method not found (this should never happen)")
9258        }
9259        ///Calls the contract's `balanceOf` (0x70a08231) function
9260        pub fn balance_of(
9261            &self,
9262            account: ::ethers::core::types::Address,
9263        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
9264            self.0
9265                .method_hash([112, 160, 130, 49], account)
9266                .expect("method not found (this should never happen)")
9267        }
9268        ///Calls the contract's `callBalances` (0x0aaeffe5) function
9269        pub fn call_balances(
9270            &self,
9271            call_ids: ::std::vec::Vec<::ethers::core::types::Address>,
9272        ) -> ::ethers::contract::builders::ContractCall<
9273            M,
9274            ::std::vec::Vec<::ethers::core::types::U256>,
9275        > {
9276            self.0
9277                .method_hash([10, 174, 255, 229], call_ids)
9278                .expect("method not found (this should never happen)")
9279        }
9280        ///Calls the contract's `callFunction` (0x9c23da50) function
9281        pub fn call_function(
9282            &self,
9283            function_id: ::ethers::core::types::Address,
9284            params: ::ethers::core::types::Bytes,
9285        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::Address> {
9286            self.0
9287                .method_hash([156, 35, 218, 80], (function_id, params))
9288                .expect("method not found (this should never happen)")
9289        }
9290        ///Calls the contract's `createAggregator` (0x84ed8177) function
9291        pub fn create_aggregator(
9292            &self,
9293            name: ::std::string::String,
9294            authority: ::ethers::core::types::Address,
9295            batch_size: ::ethers::core::types::U256,
9296            min_update_delay_seconds: ::ethers::core::types::U256,
9297            min_oracle_results: ::ethers::core::types::U256,
9298            jobs_hash: ::std::string::String,
9299            queue_id: ::ethers::core::types::Address,
9300            variance_threshold: ::ethers::core::types::U256,
9301            min_job_results: ::ethers::core::types::U256,
9302            force_report_period: ::ethers::core::types::U256,
9303            enable_history: bool,
9304        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9305            self.0
9306                .method_hash(
9307                    [132, 237, 129, 119],
9308                    (
9309                        name,
9310                        authority,
9311                        batch_size,
9312                        min_update_delay_seconds,
9313                        min_oracle_results,
9314                        jobs_hash,
9315                        queue_id,
9316                        variance_threshold,
9317                        min_job_results,
9318                        force_report_period,
9319                        enable_history,
9320                    ),
9321                )
9322                .expect("method not found (this should never happen)")
9323        }
9324        ///Calls the contract's `createAttestationQueue` (0xde776851) function
9325        pub fn create_attestation_queue(
9326            &self,
9327            authority: ::ethers::core::types::Address,
9328            max_size: ::ethers::core::types::U256,
9329            reward: ::ethers::core::types::U256,
9330            enclave_timeout: ::ethers::core::types::U256,
9331            max_enclave_verification_age: ::ethers::core::types::U256,
9332            allow_authority_override_after: ::ethers::core::types::U256,
9333            require_authority_heartbeat_permission: bool,
9334            require_usage_permissions: bool,
9335            max_consecutive_function_failures: ::ethers::core::types::U256,
9336        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9337            self.0
9338                .method_hash(
9339                    [222, 119, 104, 81],
9340                    (
9341                        authority,
9342                        max_size,
9343                        reward,
9344                        enclave_timeout,
9345                        max_enclave_verification_age,
9346                        allow_authority_override_after,
9347                        require_authority_heartbeat_permission,
9348                        require_usage_permissions,
9349                        max_consecutive_function_failures,
9350                    ),
9351                )
9352                .expect("method not found (this should never happen)")
9353        }
9354        ///Calls the contract's `createEnclave` (0xcf392e2f) function
9355        pub fn create_enclave(
9356            &self,
9357            signer: ::ethers::core::types::Address,
9358            queue_id: ::ethers::core::types::Address,
9359            authority: ::ethers::core::types::Address,
9360        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9361            self.0
9362                .method_hash([207, 57, 46, 47], (signer, queue_id, authority))
9363                .expect("method not found (this should never happen)")
9364        }
9365        ///Calls the contract's `createEnclaveWithId` (0xc7c1143e) function
9366        pub fn create_enclave_with_id(
9367            &self,
9368            enclave_id: ::ethers::core::types::Address,
9369            signer: ::ethers::core::types::Address,
9370            queue_id: ::ethers::core::types::Address,
9371            authority: ::ethers::core::types::Address,
9372        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9373            self.0
9374                .method_hash(
9375                    [199, 193, 20, 62],
9376                    (enclave_id, signer, queue_id, authority),
9377                )
9378                .expect("method not found (this should never happen)")
9379        }
9380        ///Calls the contract's `createFunction` (0xc4829580) function
9381        pub fn create_function(
9382            &self,
9383            name: ::std::string::String,
9384            authority: ::ethers::core::types::Address,
9385            queue_id: ::ethers::core::types::Address,
9386            container_registry: ::std::string::String,
9387            container: ::std::string::String,
9388            version: ::std::string::String,
9389            schedule: ::std::string::String,
9390            params_schema: ::std::string::String,
9391            permitted_callers: ::std::vec::Vec<::ethers::core::types::Address>,
9392        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9393            self.0
9394                .method_hash(
9395                    [196, 130, 149, 128],
9396                    (
9397                        name,
9398                        authority,
9399                        queue_id,
9400                        container_registry,
9401                        container,
9402                        version,
9403                        schedule,
9404                        params_schema,
9405                        permitted_callers,
9406                    ),
9407                )
9408                .expect("method not found (this should never happen)")
9409        }
9410        ///Calls the contract's `createFunctionWithId` (0xcd86c71b) function
9411        pub fn create_function_with_id(
9412            &self,
9413            function_id: ::ethers::core::types::Address,
9414            name: ::std::string::String,
9415            authority: ::ethers::core::types::Address,
9416            queue_id: ::ethers::core::types::Address,
9417            container_registry: ::std::string::String,
9418            container: ::std::string::String,
9419            version: ::std::string::String,
9420            schedule: ::std::string::String,
9421            params_schema: ::std::string::String,
9422            permitted_callers: ::std::vec::Vec<::ethers::core::types::Address>,
9423        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9424            self.0
9425                .method_hash(
9426                    [205, 134, 199, 27],
9427                    (
9428                        function_id,
9429                        name,
9430                        authority,
9431                        queue_id,
9432                        container_registry,
9433                        container,
9434                        version,
9435                        schedule,
9436                        params_schema,
9437                        permitted_callers,
9438                    ),
9439                )
9440                .expect("method not found (this should never happen)")
9441        }
9442        ///Calls the contract's `createOracle` (0xf843b846) function
9443        pub fn create_oracle(
9444            &self,
9445            name: ::std::string::String,
9446            signer: ::ethers::core::types::Address,
9447            queue_id: ::ethers::core::types::Address,
9448            authority: ::ethers::core::types::Address,
9449        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9450            self.0
9451                .method_hash([248, 67, 184, 70], (name, signer, queue_id, authority))
9452                .expect("method not found (this should never happen)")
9453        }
9454        ///Calls the contract's `createOracleQueue` (0xe7675651) function
9455        pub fn create_oracle_queue(
9456            &self,
9457            name: ::std::string::String,
9458            authority: ::ethers::core::types::Address,
9459            unpermissioned_feeds_enabled: bool,
9460            max_size: ::ethers::core::types::U256,
9461            reward: ::ethers::core::types::U256,
9462            oracle_timeout: ::ethers::core::types::U256,
9463        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9464            self.0
9465                .method_hash(
9466                    [231, 103, 86, 81],
9467                    (
9468                        name,
9469                        authority,
9470                        unpermissioned_feeds_enabled,
9471                        max_size,
9472                        reward,
9473                        oracle_timeout,
9474                    ),
9475                )
9476                .expect("method not found (this should never happen)")
9477        }
9478        ///Calls the contract's `createOracleWithId` (0x16703130) function
9479        pub fn create_oracle_with_id(
9480            &self,
9481            oracle_id: ::ethers::core::types::Address,
9482            name: ::std::string::String,
9483            signer: ::ethers::core::types::Address,
9484            queue_id: ::ethers::core::types::Address,
9485            authority: ::ethers::core::types::Address,
9486        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9487            self.0
9488                .method_hash(
9489                    [22, 112, 49, 48],
9490                    (oracle_id, name, signer, queue_id, authority),
9491                )
9492                .expect("method not found (this should never happen)")
9493        }
9494        ///Calls the contract's `createRoutineWithId` (0x410d3013) function
9495        pub fn create_routine_with_id(
9496            &self,
9497            routine_id: ::ethers::core::types::Address,
9498            function_id: ::ethers::core::types::Address,
9499            authority: ::ethers::core::types::Address,
9500            params: ::ethers::core::types::Bytes,
9501            schedule: ::std::string::String,
9502        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9503            self.0
9504                .method_hash(
9505                    [65, 13, 48, 19],
9506                    (routine_id, function_id, authority, params, schedule),
9507                )
9508                .expect("method not found (this should never happen)")
9509        }
9510        ///Calls the contract's `diamondCut` (0x1f931c1c) function
9511        pub fn diamond_cut(
9512            &self,
9513            diamond_cut: ::std::vec::Vec<FacetCut>,
9514            init: ::ethers::core::types::Address,
9515            calldata: ::ethers::core::types::Bytes,
9516        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9517            self.0
9518                .method_hash([31, 147, 28, 28], (diamond_cut, init, calldata))
9519                .expect("method not found (this should never happen)")
9520        }
9521        ///Calls the contract's `enclaveGarbageCollect` (0xc06e4eda) function
9522        pub fn enclave_garbage_collect(
9523            &self,
9524            enclave_id: ::ethers::core::types::Address,
9525            enclave_idx: ::ethers::core::types::U256,
9526        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9527            self.0
9528                .method_hash([192, 110, 78, 218], (enclave_id, enclave_idx))
9529                .expect("method not found (this should never happen)")
9530        }
9531        ///Calls the contract's `enclaveHeartbeat` (0xce834437) function
9532        pub fn enclave_heartbeat(
9533            &self,
9534            enclave_id: ::ethers::core::types::Address,
9535        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9536            self.0
9537                .method_hash([206, 131, 68, 55], enclave_id)
9538                .expect("method not found (this should never happen)")
9539        }
9540        ///Calls the contract's `enclaveSignerToEnclaveId` (0x2ff75ec2) function
9541        pub fn enclave_signer_to_enclave_id(
9542            &self,
9543            signer: ::ethers::core::types::Address,
9544        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::Address> {
9545            self.0
9546                .method_hash([47, 247, 94, 194], signer)
9547                .expect("method not found (this should never happen)")
9548        }
9549        ///Calls the contract's `enclaves` (0xfaeedb07) function
9550        pub fn enclaves(
9551            &self,
9552            enclave_id: ::ethers::core::types::Address,
9553        ) -> ::ethers::contract::builders::ContractCall<M, Enclave> {
9554            self.0
9555                .method_hash([250, 238, 219, 7], enclave_id)
9556                .expect("method not found (this should never happen)")
9557        }
9558        ///Calls the contract's `estimatedRunCost` (0x3da87438) function
9559        pub fn estimated_run_cost(
9560            &self,
9561            function_id: ::ethers::core::types::Address,
9562            gas_price: ::ethers::core::types::U256,
9563        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
9564            self.0
9565                .method_hash([61, 168, 116, 56], (function_id, gas_price))
9566                .expect("method not found (this should never happen)")
9567        }
9568        ///Calls the contract's `facetAddress` (0xcdffacc6) function
9569        pub fn facet_address(
9570            &self,
9571            function_selector: [u8; 4],
9572        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::Address> {
9573            self.0
9574                .method_hash([205, 255, 172, 198], function_selector)
9575                .expect("method not found (this should never happen)")
9576        }
9577        ///Calls the contract's `facetAddresses` (0x52ef6b2c) function
9578        pub fn facet_addresses(
9579            &self,
9580        ) -> ::ethers::contract::builders::ContractCall<
9581            M,
9582            ::std::vec::Vec<::ethers::core::types::Address>,
9583        > {
9584            self.0
9585                .method_hash([82, 239, 107, 44], ())
9586                .expect("method not found (this should never happen)")
9587        }
9588        ///Calls the contract's `facetFunctionSelectors` (0xadfca15e) function
9589        pub fn facet_function_selectors(
9590            &self,
9591            facet: ::ethers::core::types::Address,
9592        ) -> ::ethers::contract::builders::ContractCall<M, ::std::vec::Vec<[u8; 4]>> {
9593            self.0
9594                .method_hash([173, 252, 161, 94], facet)
9595                .expect("method not found (this should never happen)")
9596        }
9597        ///Calls the contract's `facets` (0x7a0ed627) function
9598        pub fn facets(
9599            &self,
9600        ) -> ::ethers::contract::builders::ContractCall<M, ::std::vec::Vec<Facet>> {
9601            self.0
9602                .method_hash([122, 14, 214, 39], ())
9603                .expect("method not found (this should never happen)")
9604        }
9605        ///Calls the contract's `failEnclave` (0x39d920e6) function
9606        pub fn fail_enclave(
9607            &self,
9608            verifier_id: ::ethers::core::types::Address,
9609            enclave_id: ::ethers::core::types::Address,
9610            verifier_idx: ::ethers::core::types::U256,
9611        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9612            self.0
9613                .method_hash([57, 217, 32, 230], (verifier_id, enclave_id, verifier_idx))
9614                .expect("method not found (this should never happen)")
9615        }
9616        ///Calls the contract's `failFunctionResult` (0x52c7cc93) function
9617        pub fn fail_function_result(
9618            &self,
9619            params: FunctionFailParams,
9620        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9621            self.0
9622                .method_hash([82, 199, 204, 147], (params,))
9623                .expect("method not found (this should never happen)")
9624        }
9625        ///Calls the contract's `forceOverrideVerify` (0xe231b12f) function
9626        pub fn force_override_verify(
9627            &self,
9628            enclave_id: ::ethers::core::types::Address,
9629        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9630            self.0
9631                .method_hash([226, 49, 177, 47], enclave_id)
9632                .expect("method not found (this should never happen)")
9633        }
9634        ///Calls the contract's `forward` (0x7096052c) function
9635        pub fn forward(
9636            &self,
9637            transactions: ::std::vec::Vec<Transaction>,
9638            signatures: ::std::vec::Vec<::ethers::core::types::Bytes>,
9639        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9640            self.0
9641                .method_hash([112, 150, 5, 44], (transactions, signatures))
9642                .expect("method not found (this should never happen)")
9643        }
9644        ///Calls the contract's `funcs` (0x8ef92003) function
9645        pub fn funcs(
9646            &self,
9647            function_id: ::ethers::core::types::Address,
9648        ) -> ::ethers::contract::builders::ContractCall<M, SbFunction> {
9649            self.0
9650                .method_hash([142, 249, 32, 3], function_id)
9651                .expect("method not found (this should never happen)")
9652        }
9653        ///Calls the contract's `functionCallSettings` (0xa30f8d25) function
9654        pub fn function_call_settings(
9655            &self,
9656            function_id: ::ethers::core::types::Address,
9657        ) -> ::ethers::contract::builders::ContractCall<M, FunctionCallSettings> {
9658            self.0
9659                .method_hash([163, 15, 141, 37], function_id)
9660                .expect("method not found (this should never happen)")
9661        }
9662        ///Calls the contract's `functionCalls` (0x826df326) function
9663        pub fn function_calls(
9664            &self,
9665            call_id: ::ethers::core::types::Address,
9666        ) -> ::ethers::contract::builders::ContractCall<M, FunctionCall> {
9667            self.0
9668                .method_hash([130, 109, 243, 38], call_id)
9669                .expect("method not found (this should never happen)")
9670        }
9671        ///Calls the contract's `functionEscrowFund` (0xba93166c) function
9672        pub fn function_escrow_fund(
9673            &self,
9674            account_id: ::ethers::core::types::Address,
9675        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9676            self.0
9677                .method_hash([186, 147, 22, 108], account_id)
9678                .expect("method not found (this should never happen)")
9679        }
9680        ///Calls the contract's `functionEscrowWithdraw` (0xa29baf1e) function
9681        pub fn function_escrow_withdraw(
9682            &self,
9683            recipient: ::ethers::core::types::Address,
9684            function_id: ::ethers::core::types::Address,
9685            amount: ::ethers::core::types::U256,
9686        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9687            self.0
9688                .method_hash([162, 155, 175, 30], (recipient, function_id, amount))
9689                .expect("method not found (this should never happen)")
9690        }
9691        ///Calls the contract's `functionExists` (0xa13001c9) function
9692        pub fn function_exists(
9693            &self,
9694            function_id: ::ethers::core::types::Address,
9695        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
9696            self.0
9697                .method_hash([161, 48, 1, 201], function_id)
9698                .expect("method not found (this should never happen)")
9699        }
9700        ///Calls the contract's `functionSettings` (0xce77efa6) function
9701        pub fn function_settings(
9702            &self,
9703            function_id: ::ethers::core::types::Address,
9704        ) -> ::ethers::contract::builders::ContractCall<M, FunctionSettings> {
9705            self.0
9706                .method_hash([206, 119, 239, 166], function_id)
9707                .expect("method not found (this should never happen)")
9708        }
9709        ///Calls the contract's `functionVerify` (0xa5625b96) function
9710        pub fn function_verify(
9711            &self,
9712            enclave_idx: ::ethers::core::types::U256,
9713            function_id: ::ethers::core::types::Address,
9714            delegated_signer_address: ::ethers::core::types::Address,
9715            observed_time: ::ethers::core::types::U256,
9716            next_allowed_timestamp: ::ethers::core::types::U256,
9717            is_failure: bool,
9718            mr_enclave: [u8; 32],
9719            transactions: ::std::vec::Vec<Transaction>,
9720            signatures: ::std::vec::Vec<::ethers::core::types::Bytes>,
9721        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9722            self.0
9723                .method_hash(
9724                    [165, 98, 91, 150],
9725                    (
9726                        enclave_idx,
9727                        function_id,
9728                        delegated_signer_address,
9729                        observed_time,
9730                        next_allowed_timestamp,
9731                        is_failure,
9732                        mr_enclave,
9733                        transactions,
9734                        signatures,
9735                    ),
9736                )
9737                .expect("method not found (this should never happen)")
9738        }
9739        ///Calls the contract's `functionVerifyRequest` (0xb8390a56) function
9740        pub fn function_verify_request(
9741            &self,
9742            enclave_idx: ::ethers::core::types::U256,
9743            function_id: ::ethers::core::types::Address,
9744            delegated_signer_address: ::ethers::core::types::Address,
9745            observed_time: ::ethers::core::types::U256,
9746            next_allowed_timestamp: ::ethers::core::types::U256,
9747            is_failure: bool,
9748            mr_enclave: [u8; 32],
9749            transactions: ::std::vec::Vec<Transaction>,
9750            signatures: ::std::vec::Vec<::ethers::core::types::Bytes>,
9751            function_call_ids: ::std::vec::Vec<::ethers::core::types::Address>,
9752        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
9753            self.0
9754                .method_hash(
9755                    [184, 57, 10, 86],
9756                    (
9757                        enclave_idx,
9758                        function_id,
9759                        delegated_signer_address,
9760                        observed_time,
9761                        next_allowed_timestamp,
9762                        is_failure,
9763                        mr_enclave,
9764                        transactions,
9765                        signatures,
9766                        function_call_ids,
9767                    ),
9768                )
9769                .expect("method not found (this should never happen)")
9770        }
9771        ///Calls the contract's `getActiveFunctionCallsByQueue` (0xfa88c651) function
9772        pub fn get_active_function_calls_by_queue(
9773            &self,
9774            queue_id: ::ethers::core::types::Address,
9775        ) -> ::ethers::contract::builders::ContractCall<
9776            M,
9777            (
9778                ::std::vec::Vec<::ethers::core::types::Address>,
9779                ::std::vec::Vec<FunctionCall>,
9780            ),
9781        > {
9782            self.0
9783                .method_hash([250, 136, 198, 81], queue_id)
9784                .expect("method not found (this should never happen)")
9785        }
9786        ///Calls the contract's `getActiveFunctionsByQueue` (0x1fc747b7) function
9787        pub fn get_active_functions_by_queue(
9788            &self,
9789            queue_id: ::ethers::core::types::Address,
9790        ) -> ::ethers::contract::builders::ContractCall<
9791            M,
9792            (
9793                ::std::vec::Vec<::ethers::core::types::Address>,
9794                ::std::vec::Vec<SbFunction>,
9795            ),
9796        > {
9797            self.0
9798                .method_hash([31, 199, 71, 183], queue_id)
9799                .expect("method not found (this should never happen)")
9800        }
9801        ///Calls the contract's `getActiveRequestsByQueue` (0x55c053c3) function
9802        pub fn get_active_requests_by_queue(
9803            &self,
9804            queue_id: ::ethers::core::types::Address,
9805        ) -> ::ethers::contract::builders::ContractCall<
9806            M,
9807            (
9808                ::std::vec::Vec<::ethers::core::types::Address>,
9809                ::std::vec::Vec<Request>,
9810            ),
9811        > {
9812            self.0
9813                .method_hash([85, 192, 83, 195], queue_id)
9814                .expect("method not found (this should never happen)")
9815        }
9816        ///Calls the contract's `getActiveRoutinesByQueue` (0x9da3c6eb) function
9817        pub fn get_active_routines_by_queue(
9818            &self,
9819            queue_id: ::ethers::core::types::Address,
9820        ) -> ::ethers::contract::builders::ContractCall<
9821            M,
9822            (
9823                ::std::vec::Vec<::ethers::core::types::Address>,
9824                ::std::vec::Vec<Routine>,
9825            ),
9826        > {
9827            self.0
9828                .method_hash([157, 163, 198, 235], queue_id)
9829                .expect("method not found (this should never happen)")
9830        }
9831        ///Calls the contract's `getAggregatorsByAuthority` (0x911c30f3) function
9832        pub fn get_aggregators_by_authority(
9833            &self,
9834            user: ::ethers::core::types::Address,
9835        ) -> ::ethers::contract::builders::ContractCall<
9836            M,
9837            (
9838                ::std::vec::Vec<::ethers::core::types::Address>,
9839                ::std::vec::Vec<Aggregator>,
9840            ),
9841        > {
9842            self.0
9843                .method_hash([145, 28, 48, 243], user)
9844                .expect("method not found (this should never happen)")
9845        }
9846        ///Calls the contract's `getAllAggregators` (0x465c65dd) function
9847        pub fn get_all_aggregators(
9848            &self,
9849        ) -> ::ethers::contract::builders::ContractCall<
9850            M,
9851            (
9852                ::std::vec::Vec<::ethers::core::types::Address>,
9853                ::std::vec::Vec<Aggregator>,
9854            ),
9855        > {
9856            self.0
9857                .method_hash([70, 92, 101, 221], ())
9858                .expect("method not found (this should never happen)")
9859        }
9860        ///Calls the contract's `getAllFunctions` (0xab6418b4) function
9861        pub fn get_all_functions(
9862            &self,
9863        ) -> ::ethers::contract::builders::ContractCall<
9864            M,
9865            (
9866                ::std::vec::Vec<::ethers::core::types::Address>,
9867                ::std::vec::Vec<SbFunction>,
9868            ),
9869        > {
9870            self.0
9871                .method_hash([171, 100, 24, 180], ())
9872                .expect("method not found (this should never happen)")
9873        }
9874        ///Calls the contract's `getAttestationQueueMrEnclaves` (0x0f3bc418) function
9875        pub fn get_attestation_queue_mr_enclaves(
9876            &self,
9877            queue_id: ::ethers::core::types::Address,
9878        ) -> ::ethers::contract::builders::ContractCall<M, ::std::vec::Vec<[u8; 32]>> {
9879            self.0
9880                .method_hash([15, 59, 196, 24], queue_id)
9881                .expect("method not found (this should never happen)")
9882        }
9883        ///Calls the contract's `getCurrentIntervalId` (0x1dc1da86) function
9884        pub fn get_current_interval_id(
9885            &self,
9886            aggregator_id: ::ethers::core::types::Address,
9887        ) -> ::ethers::contract::builders::ContractCall<M, u128> {
9888            self.0
9889                .method_hash([29, 193, 218, 134], aggregator_id)
9890                .expect("method not found (this should never happen)")
9891        }
9892        ///Calls the contract's `getEnclaveIdx` (0x21fb3bbc) function
9893        pub fn get_enclave_idx(
9894            &self,
9895            enclave_id: ::ethers::core::types::Address,
9896        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::I256> {
9897            self.0
9898                .method_hash([33, 251, 59, 188], enclave_id)
9899                .expect("method not found (this should never happen)")
9900        }
9901        ///Calls the contract's `getEnclaves` (0x340dd88b) function
9902        pub fn get_enclaves(
9903            &self,
9904            queue_id: ::ethers::core::types::Address,
9905        ) -> ::ethers::contract::builders::ContractCall<
9906            M,
9907            ::std::vec::Vec<::ethers::core::types::Address>,
9908        > {
9909            self.0
9910                .method_hash([52, 13, 216, 139], queue_id)
9911                .expect("method not found (this should never happen)")
9912        }
9913        ///Calls the contract's `getFunctionMrEnclaves` (0x526112ce) function
9914        pub fn get_function_mr_enclaves(
9915            &self,
9916            function_id: ::ethers::core::types::Address,
9917        ) -> ::ethers::contract::builders::ContractCall<M, ::std::vec::Vec<[u8; 32]>> {
9918            self.0
9919                .method_hash([82, 97, 18, 206], function_id)
9920                .expect("method not found (this should never happen)")
9921        }
9922        ///Calls the contract's `getFunctionPermittedCallers` (0xafdcbd6a) function
9923        pub fn get_function_permitted_callers(
9924            &self,
9925            function_id: ::ethers::core::types::Address,
9926        ) -> ::ethers::contract::builders::ContractCall<
9927            M,
9928            ::std::vec::Vec<::ethers::core::types::Address>,
9929        > {
9930            self.0
9931                .method_hash([175, 220, 189, 106], function_id)
9932                .expect("method not found (this should never happen)")
9933        }
9934        ///Calls the contract's `getFunctionsByAuthority` (0x357f633f) function
9935        pub fn get_functions_by_authority(
9936            &self,
9937            user: ::ethers::core::types::Address,
9938        ) -> ::ethers::contract::builders::ContractCall<
9939            M,
9940            (
9941                ::std::vec::Vec<::ethers::core::types::Address>,
9942                ::std::vec::Vec<SbFunction>,
9943            ),
9944        > {
9945            self.0
9946                .method_hash([53, 127, 99, 63], user)
9947                .expect("method not found (this should never happen)")
9948        }
9949        ///Calls the contract's `getIntervalResult` (0x3d24ef6e) function
9950        pub fn get_interval_result(
9951            &self,
9952            aggregator_id: ::ethers::core::types::Address,
9953            interval_id: u128,
9954        ) -> ::ethers::contract::builders::ContractCall<
9955            M,
9956            (
9957                ::ethers::core::types::I256,
9958                ::ethers::core::types::U256,
9959                ::ethers::core::types::U256,
9960            ),
9961        > {
9962            self.0
9963                .method_hash([61, 36, 239, 110], (aggregator_id, interval_id))
9964                .expect("method not found (this should never happen)")
9965        }
9966        ///Calls the contract's `getOracleIdx` (0xd87dd0ac) function
9967        pub fn get_oracle_idx(
9968            &self,
9969            oracle_id: ::ethers::core::types::Address,
9970        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::I256> {
9971            self.0
9972                .method_hash([216, 125, 208, 172], oracle_id)
9973                .expect("method not found (this should never happen)")
9974        }
9975        ///Calls the contract's `getOracleQueueAllowedMrEnclaves` (0xf04b0f59) function
9976        pub fn get_oracle_queue_allowed_mr_enclaves(
9977            &self,
9978            queue_id: ::ethers::core::types::Address,
9979        ) -> ::ethers::contract::builders::ContractCall<M, ::std::vec::Vec<[u8; 32]>> {
9980            self.0
9981                .method_hash([240, 75, 15, 89], queue_id)
9982                .expect("method not found (this should never happen)")
9983        }
9984        ///Calls the contract's `getOracles` (0x8e749281) function
9985        pub fn get_oracles(
9986            &self,
9987            queue_id: ::ethers::core::types::Address,
9988        ) -> ::ethers::contract::builders::ContractCall<
9989            M,
9990            ::std::vec::Vec<::ethers::core::types::Address>,
9991        > {
9992            self.0
9993                .method_hash([142, 116, 146, 129], queue_id)
9994                .expect("method not found (this should never happen)")
9995        }
9996        ///Calls the contract's `getPermission` (0x910185dd) function
9997        pub fn get_permission(
9998            &self,
9999            granter: ::ethers::core::types::Address,
10000            grantee: ::ethers::core::types::Address,
10001        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
10002            self.0
10003                .method_hash([145, 1, 133, 221], (granter, grantee))
10004                .expect("method not found (this should never happen)")
10005        }
10006        ///Calls the contract's `getRequestsByFunctionId` (0xb68e3ace) function
10007        pub fn get_requests_by_function_id(
10008            &self,
10009            function_id: ::ethers::core::types::Address,
10010        ) -> ::ethers::contract::builders::ContractCall<
10011            M,
10012            (
10013                ::std::vec::Vec<::ethers::core::types::Address>,
10014                ::std::vec::Vec<Request>,
10015            ),
10016        > {
10017            self.0
10018                .method_hash([182, 142, 58, 206], function_id)
10019                .expect("method not found (this should never happen)")
10020        }
10021        ///Calls the contract's `getRoutinesByAuthority` (0xb36afb5a) function
10022        pub fn get_routines_by_authority(
10023            &self,
10024            authority: ::ethers::core::types::Address,
10025        ) -> ::ethers::contract::builders::ContractCall<
10026            M,
10027            (
10028                ::std::vec::Vec<::ethers::core::types::Address>,
10029                ::std::vec::Vec<Routine>,
10030            ),
10031        > {
10032            self.0
10033                .method_hash([179, 106, 251, 90], authority)
10034                .expect("method not found (this should never happen)")
10035        }
10036        ///Calls the contract's `getRoutinesByFunctionId` (0x27c66c0f) function
10037        pub fn get_routines_by_function_id(
10038            &self,
10039            function_id: ::ethers::core::types::Address,
10040        ) -> ::ethers::contract::builders::ContractCall<
10041            M,
10042            (
10043                ::std::vec::Vec<::ethers::core::types::Address>,
10044                ::std::vec::Vec<Routine>,
10045            ),
10046        > {
10047            self.0
10048                .method_hash([39, 198, 108, 15], function_id)
10049                .expect("method not found (this should never happen)")
10050        }
10051        ///Calls the contract's `getStakeForEnclave` (0x376d9b41) function
10052        pub fn get_stake_for_enclave(
10053            &self,
10054            enclave_id: ::ethers::core::types::Address,
10055        ) -> ::ethers::contract::builders::ContractCall<M, Stake> {
10056            self.0
10057                .method_hash([55, 109, 155, 65], enclave_id)
10058                .expect("method not found (this should never happen)")
10059        }
10060        ///Calls the contract's `getStakeForEnclaveWithToken` (0x3ff8f2af) function
10061        pub fn get_stake_for_enclave_with_token(
10062            &self,
10063            enclave_id: ::ethers::core::types::Address,
10064            token: ::ethers::core::types::Address,
10065        ) -> ::ethers::contract::builders::ContractCall<M, Stake> {
10066            self.0
10067                .method_hash([63, 248, 242, 175], (enclave_id, token))
10068                .expect("method not found (this should never happen)")
10069        }
10070        ///Calls the contract's `getStakingConfig` (0x5133a68c) function
10071        pub fn get_staking_config(
10072            &self,
10073            queue_id: ::ethers::core::types::Address,
10074        ) -> ::ethers::contract::builders::ContractCall<M, StakingConfig> {
10075            self.0
10076                .method_hash([81, 51, 166, 140], queue_id)
10077                .expect("method not found (this should never happen)")
10078        }
10079        ///Calls the contract's `getTransactionHash` (0xd93f1970) function
10080        pub fn get_transaction_hash(
10081            &self,
10082            expiration_time_seconds: ::ethers::core::types::U256,
10083            gas_limit: ::ethers::core::types::U256,
10084            value: ::ethers::core::types::U256,
10085            to: ::ethers::core::types::Address,
10086            from: ::ethers::core::types::Address,
10087            data: ::ethers::core::types::Bytes,
10088        ) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
10089            self.0
10090                .method_hash(
10091                    [217, 63, 25, 112],
10092                    (expiration_time_seconds, gas_limit, value, to, from, data),
10093                )
10094                .expect("method not found (this should never happen)")
10095        }
10096        ///Calls the contract's `hasPermission` (0x8b01813d) function
10097        pub fn has_permission(
10098            &self,
10099            granter: ::ethers::core::types::Address,
10100            grantee: ::ethers::core::types::Address,
10101            permission: ::ethers::core::types::U256,
10102        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10103            self.0
10104                .method_hash([139, 1, 129, 61], (granter, grantee, permission))
10105                .expect("method not found (this should never happen)")
10106        }
10107        ///Calls the contract's `init` (0xe1c7392a) function
10108        pub fn init(&self) -> ::ethers::contract::builders::ContractCall<M, ()> {
10109            self.0
10110                .method_hash([225, 199, 57, 42], ())
10111                .expect("method not found (this should never happen)")
10112        }
10113        ///Calls the contract's `initialize` (0x8129fc1c) function
10114        pub fn initialize(&self) -> ::ethers::contract::builders::ContractCall<M, ()> {
10115            self.0
10116                .method_hash([129, 41, 252, 28], ())
10117                .expect("method not found (this should never happen)")
10118        }
10119        ///Calls the contract's `isAdmin` (0x24d7806c) function
10120        pub fn is_admin(
10121            &self,
10122            sender: ::ethers::core::types::Address,
10123        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10124            self.0
10125                .method_hash([36, 215, 128, 108], sender)
10126                .expect("method not found (this should never happen)")
10127        }
10128        ///Calls the contract's `isAllowed` (0xbabcc539) function
10129        pub fn is_allowed(
10130            &self,
10131            sender: ::ethers::core::types::Address,
10132        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10133            self.0
10134                .method_hash([186, 188, 197, 57], sender)
10135                .expect("method not found (this should never happen)")
10136        }
10137        ///Calls the contract's `isEnclaveValid` (0xfb4acdfe) function
10138        pub fn is_enclave_valid(
10139            &self,
10140            enclave_id: ::ethers::core::types::Address,
10141        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10142            self.0
10143                .method_hash([251, 74, 205, 254], enclave_id)
10144                .expect("method not found (this should never happen)")
10145        }
10146        ///Calls the contract's `isTrustedForwarder` (0x572b6c05) function
10147        pub fn is_trusted_forwarder(
10148            &self,
10149            p0: ::ethers::core::types::Address,
10150        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10151            self.0
10152                .method_hash([87, 43, 108, 5], p0)
10153                .expect("method not found (this should never happen)")
10154        }
10155        ///Calls the contract's `latestResult` (0xfab005a2) function
10156        pub fn latest_result(
10157            &self,
10158            aggregator_id: ::ethers::core::types::Address,
10159        ) -> ::ethers::contract::builders::ContractCall<
10160            M,
10161            (::ethers::core::types::I256, ::ethers::core::types::U256),
10162        > {
10163            self.0
10164                .method_hash([250, 176, 5, 162], aggregator_id)
10165                .expect("method not found (this should never happen)")
10166        }
10167        ///Calls the contract's `openInterval` (0x0f2544be) function
10168        pub fn open_interval(
10169            &self,
10170            aggregator_id: ::ethers::core::types::Address,
10171        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10172            self.0
10173                .method_hash([15, 37, 68, 190], aggregator_id)
10174                .expect("method not found (this should never happen)")
10175        }
10176        ///Calls the contract's `oracleGarbageCollect` (0x71da68ff) function
10177        pub fn oracle_garbage_collect(
10178            &self,
10179            oracle_id: ::ethers::core::types::Address,
10180            oracle_idx: ::ethers::core::types::U256,
10181        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10182            self.0
10183                .method_hash([113, 218, 104, 255], (oracle_id, oracle_idx))
10184                .expect("method not found (this should never happen)")
10185        }
10186        ///Calls the contract's `oracleHeartbeat` (0xf53b638c) function
10187        pub fn oracle_heartbeat(
10188            &self,
10189            oracle_id: ::ethers::core::types::Address,
10190        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10191            self.0
10192                .method_hash([245, 59, 99, 140], oracle_id)
10193                .expect("method not found (this should never happen)")
10194        }
10195        ///Calls the contract's `oracleQueues` (0xf2378e88) function
10196        pub fn oracle_queues(
10197            &self,
10198            queue_id: ::ethers::core::types::Address,
10199        ) -> ::ethers::contract::builders::ContractCall<M, OracleQueue> {
10200            self.0
10201                .method_hash([242, 55, 142, 136], queue_id)
10202                .expect("method not found (this should never happen)")
10203        }
10204        ///Calls the contract's `oracles` (0xaddd5099) function
10205        pub fn oracles(
10206            &self,
10207            oracle_id: ::ethers::core::types::Address,
10208        ) -> ::ethers::contract::builders::ContractCall<M, Oracle> {
10209            self.0
10210                .method_hash([173, 221, 80, 153], oracle_id)
10211                .expect("method not found (this should never happen)")
10212        }
10213        ///Calls the contract's `owner` (0x8da5cb5b) function
10214        pub fn owner(
10215            &self,
10216        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::Address> {
10217            self.0
10218                .method_hash([141, 165, 203, 91], ())
10219                .expect("method not found (this should never happen)")
10220        }
10221        ///Calls the contract's `prepareUnstake` (0xb8d35d6a) function
10222        pub fn prepare_unstake(
10223            &self,
10224            enclave_id: ::ethers::core::types::Address,
10225        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10226            self.0
10227                .method_hash([184, 211, 93, 106], enclave_id)
10228                .expect("method not found (this should never happen)")
10229        }
10230        ///Calls the contract's `queueAttestationConfigs` (0x6ddc9122) function
10231        pub fn queue_attestation_configs(
10232            &self,
10233            queue_id: ::ethers::core::types::Address,
10234        ) -> ::ethers::contract::builders::ContractCall<M, AttestationConfig> {
10235            self.0
10236                .method_hash([109, 220, 145, 34], queue_id)
10237                .expect("method not found (this should never happen)")
10238        }
10239        ///Calls the contract's `recoverStakeWithToken` (0x5e8e1ad0) function
10240        pub fn recover_stake_with_token(
10241            &self,
10242            enclave_id: ::ethers::core::types::Address,
10243            token: ::ethers::core::types::Address,
10244            amount: ::ethers::core::types::U256,
10245        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10246            self.0
10247                .method_hash([94, 142, 26, 208], (enclave_id, token, amount))
10248                .expect("method not found (this should never happen)")
10249        }
10250        ///Calls the contract's `removeMrEnclaveFromAttestationQueue` (0x083f30cf) function
10251        pub fn remove_mr_enclave_from_attestation_queue(
10252            &self,
10253            queue_id: ::ethers::core::types::Address,
10254            mr_enclave: [u8; 32],
10255        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10256            self.0
10257                .method_hash([8, 63, 48, 207], (queue_id, mr_enclave))
10258                .expect("method not found (this should never happen)")
10259        }
10260        ///Calls the contract's `removeMrEnclaveFromFunction` (0xf0184db9) function
10261        pub fn remove_mr_enclave_from_function(
10262            &self,
10263            function_id: ::ethers::core::types::Address,
10264            mr_enclave: [u8; 32],
10265        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10266            self.0
10267                .method_hash([240, 24, 77, 185], (function_id, mr_enclave))
10268                .expect("method not found (this should never happen)")
10269        }
10270        ///Calls the contract's `removeMrEnclaveFromOracleQueue` (0x262955d8) function
10271        pub fn remove_mr_enclave_from_oracle_queue(
10272            &self,
10273            queue_id: ::ethers::core::types::Address,
10274            mr_enclave: [u8; 32],
10275        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10276            self.0
10277                .method_hash([38, 41, 85, 216], (queue_id, mr_enclave))
10278                .expect("method not found (this should never happen)")
10279        }
10280        ///Calls the contract's `requestFund` (0x52a061d7) function
10281        pub fn request_fund(
10282            &self,
10283            request_id: ::ethers::core::types::Address,
10284        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10285            self.0
10286                .method_hash([82, 160, 97, 215], request_id)
10287                .expect("method not found (this should never happen)")
10288        }
10289        ///Calls the contract's `requestWithdrawal` (0x8985646a) function
10290        pub fn request_withdrawal(
10291            &self,
10292            request_id: ::ethers::core::types::Address,
10293            recipient: ::ethers::core::types::Address,
10294            amount: ::ethers::core::types::U256,
10295        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10296            self.0
10297                .method_hash([137, 133, 100, 106], (request_id, recipient, amount))
10298                .expect("method not found (this should never happen)")
10299        }
10300        ///Calls the contract's `requests` (0x74adad1d) function
10301        pub fn requests(
10302            &self,
10303            request_id: ::ethers::core::types::Address,
10304        ) -> ::ethers::contract::builders::ContractCall<M, Request> {
10305            self.0
10306                .method_hash([116, 173, 173, 29], request_id)
10307                .expect("method not found (this should never happen)")
10308        }
10309        ///Calls the contract's `rotateEnclaveSigner` (0x2628b3a9) function
10310        pub fn rotate_enclave_signer(
10311            &self,
10312            enclave_id: ::ethers::core::types::Address,
10313            new_signer: ::ethers::core::types::Address,
10314        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10315            self.0
10316                .method_hash([38, 40, 179, 169], (enclave_id, new_signer))
10317                .expect("method not found (this should never happen)")
10318        }
10319        ///Calls the contract's `rotateOracleSigner` (0x4d1b776d) function
10320        pub fn rotate_oracle_signer(
10321            &self,
10322            oracle_id: ::ethers::core::types::Address,
10323            new_signer: ::ethers::core::types::Address,
10324        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10325            self.0
10326                .method_hash([77, 27, 119, 109], (oracle_id, new_signer))
10327                .expect("method not found (this should never happen)")
10328        }
10329        ///Calls the contract's `routineEscrowFund` (0x5d4e4594) function
10330        pub fn routine_escrow_fund(
10331            &self,
10332            routine_id: ::ethers::core::types::Address,
10333        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10334            self.0
10335                .method_hash([93, 78, 69, 148], routine_id)
10336                .expect("method not found (this should never happen)")
10337        }
10338        ///Calls the contract's `routineEscrowWithdraw` (0xfab08683) function
10339        pub fn routine_escrow_withdraw(
10340            &self,
10341            routine_id: ::ethers::core::types::Address,
10342            amount: ::ethers::core::types::U256,
10343        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10344            self.0
10345                .method_hash([250, 176, 134, 131], (routine_id, amount))
10346                .expect("method not found (this should never happen)")
10347        }
10348        ///Calls the contract's `routineExists` (0xc98d9be8) function
10349        pub fn routine_exists(
10350            &self,
10351            routine_id: ::ethers::core::types::Address,
10352        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10353            self.0
10354                .method_hash([201, 141, 155, 232], routine_id)
10355                .expect("method not found (this should never happen)")
10356        }
10357        ///Calls the contract's `routines` (0xfdcc54d2) function
10358        pub fn routines(
10359            &self,
10360            routine_id: ::ethers::core::types::Address,
10361        ) -> ::ethers::contract::builders::ContractCall<M, Routine> {
10362            self.0
10363                .method_hash([253, 204, 84, 210], routine_id)
10364                .expect("method not found (this should never happen)")
10365        }
10366        ///Calls the contract's `saveResults` (0x735e3555) function
10367        pub fn save_results(
10368            &self,
10369            ids: ::std::vec::Vec<::ethers::core::types::Address>,
10370            results: ::std::vec::Vec<::ethers::core::types::I256>,
10371            queue_id: ::ethers::core::types::Address,
10372            oracle_idx: ::ethers::core::types::U256,
10373        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10374            self.0
10375                .method_hash([115, 94, 53, 85], (ids, results, queue_id, oracle_idx))
10376                .expect("method not found (this should never happen)")
10377        }
10378        ///Calls the contract's `sendDelayedRequest` (0x80eb181e) function
10379        pub fn send_delayed_request(
10380            &self,
10381            request_id: ::ethers::core::types::Address,
10382            function_id: ::ethers::core::types::Address,
10383            params: ::ethers::core::types::Bytes,
10384            start_after: ::ethers::core::types::U256,
10385        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10386            self.0
10387                .method_hash(
10388                    [128, 235, 24, 30],
10389                    (request_id, function_id, params, start_after),
10390                )
10391                .expect("method not found (this should never happen)")
10392        }
10393        ///Calls the contract's `sendRequest` (0x62d3fe46) function
10394        pub fn send_request(
10395            &self,
10396            function_id: ::ethers::core::types::Address,
10397            params: ::ethers::core::types::Bytes,
10398        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::Address> {
10399            self.0
10400                .method_hash([98, 211, 254, 70], (function_id, params))
10401                .expect("method not found (this should never happen)")
10402        }
10403        ///Calls the contract's `sendRequestWithId` (0x264c1450) function
10404        pub fn send_request_with_id(
10405            &self,
10406            request_id: ::ethers::core::types::Address,
10407            function_id: ::ethers::core::types::Address,
10408            params: ::ethers::core::types::Bytes,
10409        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::Address> {
10410            self.0
10411                .method_hash([38, 76, 20, 80], (request_id, function_id, params))
10412                .expect("method not found (this should never happen)")
10413        }
10414        ///Calls the contract's `setAdmin` (0x4b0bddd2) function
10415        pub fn set_admin(
10416            &self,
10417            sender: ::ethers::core::types::Address,
10418            status: bool,
10419        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10420            self.0
10421                .method_hash([75, 11, 221, 210], (sender, status))
10422                .expect("method not found (this should never happen)")
10423        }
10424        ///Calls the contract's `setAggregatorConfig` (0xdd0ad73a) function
10425        pub fn set_aggregator_config(
10426            &self,
10427            aggregator_id: ::ethers::core::types::Address,
10428            name: ::std::string::String,
10429            authority: ::ethers::core::types::Address,
10430            batch_size: ::ethers::core::types::U256,
10431            min_update_delay_seconds: ::ethers::core::types::U256,
10432            min_oracle_results: ::ethers::core::types::U256,
10433            jobs_hash: ::std::string::String,
10434            queue_id: ::ethers::core::types::Address,
10435            variance_threshold: ::ethers::core::types::U256,
10436            min_job_results: ::ethers::core::types::U256,
10437            force_report_period: ::ethers::core::types::U256,
10438            enable_history: bool,
10439        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10440            self.0
10441                .method_hash(
10442                    [221, 10, 215, 58],
10443                    (
10444                        aggregator_id,
10445                        name,
10446                        authority,
10447                        batch_size,
10448                        min_update_delay_seconds,
10449                        min_oracle_results,
10450                        jobs_hash,
10451                        queue_id,
10452                        variance_threshold,
10453                        min_job_results,
10454                        force_report_period,
10455                        enable_history,
10456                    ),
10457                )
10458                .expect("method not found (this should never happen)")
10459        }
10460        ///Calls the contract's `setAllowed` (0x4697f05d) function
10461        pub fn set_allowed(
10462            &self,
10463            sender: ::ethers::core::types::Address,
10464            status: bool,
10465        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10466            self.0
10467                .method_hash([70, 151, 240, 93], (sender, status))
10468                .expect("method not found (this should never happen)")
10469        }
10470        ///Calls the contract's `setAttestationQueueConfig` (0xf7d48307) function
10471        pub fn set_attestation_queue_config(
10472            &self,
10473            queue_id: ::ethers::core::types::Address,
10474            authority: ::ethers::core::types::Address,
10475            max_size: ::ethers::core::types::U256,
10476            reward: ::ethers::core::types::U256,
10477            enclave_timeout: ::ethers::core::types::U256,
10478            max_enclave_verification_age: ::ethers::core::types::U256,
10479            allow_authority_override_after: ::ethers::core::types::U256,
10480            require_authority_heartbeat_permission: bool,
10481            require_usage_permissions: bool,
10482            max_consecutive_function_failures: ::ethers::core::types::U256,
10483        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10484            self.0
10485                .method_hash(
10486                    [247, 212, 131, 7],
10487                    (
10488                        queue_id,
10489                        authority,
10490                        max_size,
10491                        reward,
10492                        enclave_timeout,
10493                        max_enclave_verification_age,
10494                        allow_authority_override_after,
10495                        require_authority_heartbeat_permission,
10496                        require_usage_permissions,
10497                        max_consecutive_function_failures,
10498                    ),
10499                )
10500                .expect("method not found (this should never happen)")
10501        }
10502        ///Calls the contract's `setAttestationQueuePermission` (0xa77a07d3) function
10503        pub fn set_attestation_queue_permission(
10504            &self,
10505            queue_id: ::ethers::core::types::Address,
10506            grantee: ::ethers::core::types::Address,
10507            permission: ::ethers::core::types::U256,
10508            on: bool,
10509        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10510            self.0
10511                .method_hash([167, 122, 7, 211], (queue_id, grantee, permission, on))
10512                .expect("method not found (this should never happen)")
10513        }
10514        ///Calls the contract's `setFunctionCallSettings` (0x6b7ef38b) function
10515        pub fn set_function_call_settings(
10516            &self,
10517            function_id: ::ethers::core::types::Address,
10518            require_estimated_run_cost_fee: bool,
10519            minimum_fee: ::ethers::core::types::U256,
10520            max_gas_cost: ::ethers::core::types::U256,
10521            require_caller_pay_full_cost: bool,
10522            require_sender_be_return_address: bool,
10523        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10524            self.0
10525                .method_hash(
10526                    [107, 126, 243, 139],
10527                    (
10528                        function_id,
10529                        require_estimated_run_cost_fee,
10530                        minimum_fee,
10531                        max_gas_cost,
10532                        require_caller_pay_full_cost,
10533                        require_sender_be_return_address,
10534                    ),
10535                )
10536                .expect("method not found (this should never happen)")
10537        }
10538        ///Calls the contract's `setFunctionConfig` (0x822e99d5) function
10539        pub fn set_function_config(
10540            &self,
10541            function_id: ::ethers::core::types::Address,
10542            name: ::std::string::String,
10543            authority: ::ethers::core::types::Address,
10544            container_registry: ::std::string::String,
10545            container: ::std::string::String,
10546            version: ::std::string::String,
10547            schedule: ::std::string::String,
10548            params_schema: ::std::string::String,
10549            permitted_callers: ::std::vec::Vec<::ethers::core::types::Address>,
10550        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10551            self.0
10552                .method_hash(
10553                    [130, 46, 153, 213],
10554                    (
10555                        function_id,
10556                        name,
10557                        authority,
10558                        container_registry,
10559                        container,
10560                        version,
10561                        schedule,
10562                        params_schema,
10563                        permitted_callers,
10564                    ),
10565                )
10566                .expect("method not found (this should never happen)")
10567        }
10568        ///Calls the contract's `setFunctionDeactivated` (0x725483a5) function
10569        pub fn set_function_deactivated(
10570            &self,
10571            function_id: ::ethers::core::types::Address,
10572        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10573            self.0
10574                .method_hash([114, 84, 131, 165], function_id)
10575                .expect("method not found (this should never happen)")
10576        }
10577        ///Calls the contract's `setFunctionSettings` (0xfeb0de89) function
10578        pub fn set_function_settings(
10579            &self,
10580            function_id: ::ethers::core::types::Address,
10581            settings: FunctionSettings,
10582        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10583            self.0
10584                .method_hash([254, 176, 222, 137], (function_id, settings))
10585                .expect("method not found (this should never happen)")
10586        }
10587        ///Calls the contract's `setOracleConfig` (0xf50b5ed0) function
10588        pub fn set_oracle_config(
10589            &self,
10590            oracle_id: ::ethers::core::types::Address,
10591            name: ::std::string::String,
10592            signer: ::ethers::core::types::Address,
10593            queue_id: ::ethers::core::types::Address,
10594            authority: ::ethers::core::types::Address,
10595        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10596            self.0
10597                .method_hash(
10598                    [245, 11, 94, 208],
10599                    (oracle_id, name, signer, queue_id, authority),
10600                )
10601                .expect("method not found (this should never happen)")
10602        }
10603        ///Calls the contract's `setOracleQueueAttestationConfig` (0x88033af5) function
10604        pub fn set_oracle_queue_attestation_config(
10605            &self,
10606            queue_id: ::ethers::core::types::Address,
10607            attestation_queue_id: ::ethers::core::types::Address,
10608            mr_enclaves: ::std::vec::Vec<[u8; 32]>,
10609            require_valid_enclave: bool,
10610            require_heartbeat_permission: bool,
10611        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10612            self.0
10613                .method_hash(
10614                    [136, 3, 58, 245],
10615                    (
10616                        queue_id,
10617                        attestation_queue_id,
10618                        mr_enclaves,
10619                        require_valid_enclave,
10620                        require_heartbeat_permission,
10621                    ),
10622                )
10623                .expect("method not found (this should never happen)")
10624        }
10625        ///Calls the contract's `setOracleQueueConfig` (0xb6590411) function
10626        pub fn set_oracle_queue_config(
10627            &self,
10628            queue_id: ::ethers::core::types::Address,
10629            name: ::std::string::String,
10630            authority: ::ethers::core::types::Address,
10631            unpermissioned_feeds_enabled: bool,
10632            max_size: ::ethers::core::types::U256,
10633            reward: ::ethers::core::types::U256,
10634            oracle_timeout: ::ethers::core::types::U256,
10635        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10636            self.0
10637                .method_hash(
10638                    [182, 89, 4, 17],
10639                    (
10640                        queue_id,
10641                        name,
10642                        authority,
10643                        unpermissioned_feeds_enabled,
10644                        max_size,
10645                        reward,
10646                        oracle_timeout,
10647                    ),
10648                )
10649                .expect("method not found (this should never happen)")
10650        }
10651        ///Calls the contract's `setOracleQueuePermission` (0x01fc1ba2) function
10652        pub fn set_oracle_queue_permission(
10653            &self,
10654            queue_id: ::ethers::core::types::Address,
10655            grantee: ::ethers::core::types::Address,
10656            permission: ::ethers::core::types::U256,
10657            on: bool,
10658        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10659            self.0
10660                .method_hash([1, 252, 27, 162], (queue_id, grantee, permission, on))
10661                .expect("method not found (this should never happen)")
10662        }
10663        ///Calls the contract's `setStakingConfig` (0xf22644c2) function
10664        pub fn set_staking_config(
10665            &self,
10666            queue_id: ::ethers::core::types::Address,
10667            token: ::ethers::core::types::Address,
10668            staking_amount: ::ethers::core::types::U256,
10669            staking_period: ::ethers::core::types::U256,
10670            unstaking_period: ::ethers::core::types::U256,
10671        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10672            self.0
10673                .method_hash(
10674                    [242, 38, 68, 194],
10675                    (
10676                        queue_id,
10677                        token,
10678                        staking_amount,
10679                        staking_period,
10680                        unstaking_period,
10681                    ),
10682                )
10683                .expect("method not found (this should never happen)")
10684        }
10685        ///Calls the contract's `setToleratedTimestampDiscrepancy` (0x101277b2) function
10686        pub fn set_tolerated_timestamp_discrepancy(
10687            &self,
10688            tolerance: ::ethers::core::types::U256,
10689        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10690            self.0
10691                .method_hash([16, 18, 119, 178], tolerance)
10692                .expect("method not found (this should never happen)")
10693        }
10694        ///Calls the contract's `slashStake` (0x98d1c5a8) function
10695        pub fn slash_stake(
10696            &self,
10697            enclave_id: ::ethers::core::types::Address,
10698            amount: ::ethers::core::types::U256,
10699        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10700            self.0
10701                .method_hash([152, 209, 197, 168], (enclave_id, amount))
10702                .expect("method not found (this should never happen)")
10703        }
10704        ///Calls the contract's `supportsInterface` (0x01ffc9a7) function
10705        pub fn supports_interface(
10706            &self,
10707            interface_id: [u8; 4],
10708        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10709            self.0
10710                .method_hash([1, 255, 201, 167], interface_id)
10711                .expect("method not found (this should never happen)")
10712        }
10713        ///Calls the contract's `totalStaked` (0xf21630cb) function
10714        pub fn total_staked(
10715            &self,
10716            queue_id: ::ethers::core::types::Address,
10717            token: ::ethers::core::types::Address,
10718        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
10719            self.0
10720                .method_hash([242, 22, 48, 203], (queue_id, token))
10721                .expect("method not found (this should never happen)")
10722        }
10723        ///Calls the contract's `totalSupply` (0x18160ddd) function
10724        pub fn total_supply(
10725            &self,
10726        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
10727            self.0
10728                .method_hash([24, 22, 13, 221], ())
10729                .expect("method not found (this should never happen)")
10730        }
10731        ///Calls the contract's `transfer` (0xa9059cbb) function
10732        pub fn transfer(
10733            &self,
10734            to: ::ethers::core::types::Address,
10735            value: ::ethers::core::types::U256,
10736        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10737            self.0
10738                .method_hash([169, 5, 156, 187], (to, value))
10739                .expect("method not found (this should never happen)")
10740        }
10741        ///Calls the contract's `transferFrom` (0x23b872dd) function
10742        pub fn transfer_from(
10743            &self,
10744            from: ::ethers::core::types::Address,
10745            to: ::ethers::core::types::Address,
10746            value: ::ethers::core::types::U256,
10747        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
10748            self.0
10749                .method_hash([35, 184, 114, 221], (from, to, value))
10750                .expect("method not found (this should never happen)")
10751        }
10752        ///Calls the contract's `transferOwnership` (0xf2fde38b) function
10753        pub fn transfer_ownership(
10754            &self,
10755            new_owner: ::ethers::core::types::Address,
10756        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10757            self.0
10758                .method_hash([242, 253, 227, 139], new_owner)
10759                .expect("method not found (this should never happen)")
10760        }
10761        ///Calls the contract's `unstake` (0xc2a672e0) function
10762        pub fn unstake(
10763            &self,
10764            enclave_id: ::ethers::core::types::Address,
10765            amount: ::ethers::core::types::U256,
10766        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10767            self.0
10768                .method_hash([194, 166, 114, 224], (enclave_id, amount))
10769                .expect("method not found (this should never happen)")
10770        }
10771        ///Calls the contract's `updateEnclave` (0x5cd6ac0c) function
10772        pub fn update_enclave(
10773            &self,
10774            enclave_id: ::ethers::core::types::Address,
10775            cid: ::ethers::core::types::Bytes,
10776        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10777            self.0
10778                .method_hash([92, 214, 172, 12], (enclave_id, cid))
10779                .expect("method not found (this should never happen)")
10780        }
10781        ///Calls the contract's `updateRoutine` (0x9300c999) function
10782        pub fn update_routine(
10783            &self,
10784            routine_id: ::ethers::core::types::Address,
10785            function_id: ::ethers::core::types::Address,
10786            authority: ::ethers::core::types::Address,
10787            params: ::ethers::core::types::Bytes,
10788            schedule: ::std::string::String,
10789        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10790            self.0
10791                .method_hash(
10792                    [147, 0, 201, 153],
10793                    (routine_id, function_id, authority, params, schedule),
10794                )
10795                .expect("method not found (this should never happen)")
10796        }
10797        ///Calls the contract's `validate` (0x1755a7f8) function
10798        pub fn validate(
10799            &self,
10800            signer: ::ethers::core::types::Address,
10801            attestation_queue_id: ::ethers::core::types::Address,
10802            valid_measurements: ::std::vec::Vec<[u8; 32]>,
10803        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10804            self.0
10805                .method_hash(
10806                    [23, 85, 167, 248],
10807                    (signer, attestation_queue_id, valid_measurements),
10808                )
10809                .expect("method not found (this should never happen)")
10810        }
10811        ///Calls the contract's `verifyCallbackParams` (0x9c5eb6d9) function
10812        pub fn verify_callback_params(
10813            &self,
10814            call_ids: ::std::vec::Vec<::ethers::core::types::Address>,
10815            hashes: ::std::vec::Vec<[u8; 32]>,
10816        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10817            self.0
10818                .method_hash([156, 94, 182, 217], (call_ids, hashes))
10819                .expect("method not found (this should never happen)")
10820        }
10821        ///Calls the contract's `verifyEnclave` (0xef0ebd71) function
10822        pub fn verify_enclave(
10823            &self,
10824            verifier_id: ::ethers::core::types::Address,
10825            enclave_id: ::ethers::core::types::Address,
10826            enclave_idx: ::ethers::core::types::U256,
10827            timestamp: ::ethers::core::types::U256,
10828            mr_enclave: [u8; 32],
10829        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10830            self.0
10831                .method_hash(
10832                    [239, 14, 189, 113],
10833                    (verifier_id, enclave_id, enclave_idx, timestamp, mr_enclave),
10834                )
10835                .expect("method not found (this should never happen)")
10836        }
10837        ///Calls the contract's `verifyFunctionResult` (0x3bd7b617) function
10838        pub fn verify_function_result(
10839            &self,
10840            params: FunctionVerifyParams,
10841        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
10842            self.0
10843                .method_hash([59, 215, 182, 23], (params,))
10844                .expect("method not found (this should never happen)")
10845        }
10846        ///Calls the contract's `viewAggregatorResults` (0xde866484) function
10847        pub fn view_aggregator_results(
10848            &self,
10849            aggregator_id: ::ethers::core::types::Address,
10850        ) -> ::ethers::contract::builders::ContractCall<M, ::std::vec::Vec<Result>> {
10851            self.0
10852                .method_hash([222, 134, 100, 132], aggregator_id)
10853                .expect("method not found (this should never happen)")
10854        }
10855        ///Calls the contract's `viewLatestResult` (0xbdf5edef) function
10856        pub fn view_latest_result(
10857            &self,
10858            aggregator_id: ::ethers::core::types::Address,
10859        ) -> ::ethers::contract::builders::ContractCall<
10860            M,
10861            (::ethers::core::types::I256, ::ethers::core::types::U256),
10862        > {
10863            self.0
10864                .method_hash([189, 245, 237, 239], aggregator_id)
10865                .expect("method not found (this should never happen)")
10866        }
10867        ///Gets the contract's `AddMrEnclave` event
10868        pub fn add_mr_enclave_filter(
10869            &self,
10870        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, AddMrEnclaveFilter>
10871        {
10872            self.0.event()
10873        }
10874        ///Gets the contract's `AggregatorAccountInit` event
10875        pub fn aggregator_account_init_filter(
10876            &self,
10877        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, AggregatorAccountInitFilter>
10878        {
10879            self.0.event()
10880        }
10881        ///Gets the contract's `AggregatorFundEvent` event
10882        pub fn aggregator_fund_event_filter(
10883            &self,
10884        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, AggregatorFundEventFilter>
10885        {
10886            self.0.event()
10887        }
10888        ///Gets the contract's `AggregatorIntervalRefreshed` event
10889        pub fn aggregator_interval_refreshed_filter(
10890            &self,
10891        ) -> ::ethers::contract::builders::Event<
10892            ::std::sync::Arc<M>,
10893            M,
10894            AggregatorIntervalRefreshedFilter,
10895        > {
10896            self.0.event()
10897        }
10898        ///Gets the contract's `AggregatorOpenInterval` event
10899        pub fn aggregator_open_interval_filter(
10900            &self,
10901        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, AggregatorOpenIntervalFilter>
10902        {
10903            self.0.event()
10904        }
10905        ///Gets the contract's `AggregatorRead` event
10906        pub fn aggregator_read_filter(
10907            &self,
10908        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, AggregatorReadFilter>
10909        {
10910            self.0.event()
10911        }
10912        ///Gets the contract's `AggregatorSaveResult` event
10913        pub fn aggregator_save_result_filter(
10914            &self,
10915        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, AggregatorSaveResultFilter>
10916        {
10917            self.0.event()
10918        }
10919        ///Gets the contract's `AggregatorSettingsUpdated` event
10920        pub fn aggregator_settings_updated_filter(
10921            &self,
10922        ) -> ::ethers::contract::builders::Event<
10923            ::std::sync::Arc<M>,
10924            M,
10925            AggregatorSettingsUpdatedFilter,
10926        > {
10927            self.0.event()
10928        }
10929        ///Gets the contract's `AggregatorUpdate` event
10930        pub fn aggregator_update_filter(
10931            &self,
10932        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, AggregatorUpdateFilter>
10933        {
10934            self.0.event()
10935        }
10936        ///Gets the contract's `AggregatorWithdrawEvent` event
10937        pub fn aggregator_withdraw_event_filter(
10938            &self,
10939        ) -> ::ethers::contract::builders::Event<
10940            ::std::sync::Arc<M>,
10941            M,
10942            AggregatorWithdrawEventFilter,
10943        > {
10944            self.0.event()
10945        }
10946        ///Gets the contract's `Approval` event
10947        pub fn approval_filter(
10948            &self,
10949        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, ApprovalFilter> {
10950            self.0.event()
10951        }
10952        ///Gets the contract's `AttestationQueueAccountInit` event
10953        pub fn attestation_queue_account_init_filter(
10954            &self,
10955        ) -> ::ethers::contract::builders::Event<
10956            ::std::sync::Arc<M>,
10957            M,
10958            AttestationQueueAccountInitFilter,
10959        > {
10960            self.0.event()
10961        }
10962        ///Gets the contract's `AttestationQueuePermissionUpdated` event
10963        pub fn attestation_queue_permission_updated_filter(
10964            &self,
10965        ) -> ::ethers::contract::builders::Event<
10966            ::std::sync::Arc<M>,
10967            M,
10968            AttestationQueuePermissionUpdatedFilter,
10969        > {
10970            self.0.event()
10971        }
10972        ///Gets the contract's `AttestationQueueSetConfig` event
10973        pub fn attestation_queue_set_config_filter(
10974            &self,
10975        ) -> ::ethers::contract::builders::Event<
10976            ::std::sync::Arc<M>,
10977            M,
10978            AttestationQueueSetConfigFilter,
10979        > {
10980            self.0.event()
10981        }
10982        ///Gets the contract's `DiamondCut` event
10983        pub fn diamond_cut_filter(
10984            &self,
10985        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, DiamondCutFilter> {
10986            self.0.event()
10987        }
10988        ///Gets the contract's `EnclaveAccountInit` event
10989        pub fn enclave_account_init_filter(
10990            &self,
10991        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, EnclaveAccountInitFilter>
10992        {
10993            self.0.event()
10994        }
10995        ///Gets the contract's `EnclaveGC` event
10996        pub fn enclave_gc_filter(
10997            &self,
10998        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, EnclaveGCFilter> {
10999            self.0.event()
11000        }
11001        ///Gets the contract's `EnclaveHeartbeat` event
11002        pub fn enclave_heartbeat_filter(
11003            &self,
11004        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, EnclaveHeartbeatFilter>
11005        {
11006            self.0.event()
11007        }
11008        ///Gets the contract's `EnclavePayoutEvent` event
11009        pub fn enclave_payout_event_filter(
11010            &self,
11011        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, EnclavePayoutEventFilter>
11012        {
11013            self.0.event()
11014        }
11015        ///Gets the contract's `EnclaveRotateSigner` event
11016        pub fn enclave_rotate_signer_filter(
11017            &self,
11018        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, EnclaveRotateSignerFilter>
11019        {
11020            self.0.event()
11021        }
11022        ///Gets the contract's `EnclaveVerifyRequest` event
11023        pub fn enclave_verify_request_filter(
11024            &self,
11025        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, EnclaveVerifyRequestFilter>
11026        {
11027            self.0.event()
11028        }
11029        ///Gets the contract's `FunctionAccountInit` event
11030        pub fn function_account_init_filter(
11031            &self,
11032        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, FunctionAccountInitFilter>
11033        {
11034            self.0.event()
11035        }
11036        ///Gets the contract's `FunctionCallEvent` event
11037        pub fn function_call_event_filter(
11038            &self,
11039        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, FunctionCallEventFilter>
11040        {
11041            self.0.event()
11042        }
11043        ///Gets the contract's `FunctionCallFund` event
11044        pub fn function_call_fund_filter(
11045            &self,
11046        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, FunctionCallFundFilter>
11047        {
11048            self.0.event()
11049        }
11050        ///Gets the contract's `FunctionFund` event
11051        pub fn function_fund_filter(
11052            &self,
11053        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, FunctionFundFilter>
11054        {
11055            self.0.event()
11056        }
11057        ///Gets the contract's `FunctionWithdraw` event
11058        pub fn function_withdraw_filter(
11059            &self,
11060        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, FunctionWithdrawFilter>
11061        {
11062            self.0.event()
11063        }
11064        ///Gets the contract's `OracleAccountInit` event
11065        pub fn oracle_account_init_filter(
11066            &self,
11067        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OracleAccountInitFilter>
11068        {
11069            self.0.event()
11070        }
11071        ///Gets the contract's `OracleGC` event
11072        pub fn oracle_gc_filter(
11073            &self,
11074        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OracleGCFilter> {
11075            self.0.event()
11076        }
11077        ///Gets the contract's `OracleHeartbeat` event
11078        pub fn oracle_heartbeat_filter(
11079            &self,
11080        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OracleHeartbeatFilter>
11081        {
11082            self.0.event()
11083        }
11084        ///Gets the contract's `OraclePayoutEvent` event
11085        pub fn oracle_payout_event_filter(
11086            &self,
11087        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OraclePayoutEventFilter>
11088        {
11089            self.0.event()
11090        }
11091        ///Gets the contract's `OracleQueueAccountInit` event
11092        pub fn oracle_queue_account_init_filter(
11093            &self,
11094        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OracleQueueAccountInitFilter>
11095        {
11096            self.0.event()
11097        }
11098        ///Gets the contract's `OracleQueueAddMrEnclave` event
11099        pub fn oracle_queue_add_mr_enclave_filter(
11100            &self,
11101        ) -> ::ethers::contract::builders::Event<
11102            ::std::sync::Arc<M>,
11103            M,
11104            OracleQueueAddMrEnclaveFilter,
11105        > {
11106            self.0.event()
11107        }
11108        ///Gets the contract's `OracleQueueRemoveMrEnclave` event
11109        pub fn oracle_queue_remove_mr_enclave_filter(
11110            &self,
11111        ) -> ::ethers::contract::builders::Event<
11112            ::std::sync::Arc<M>,
11113            M,
11114            OracleQueueRemoveMrEnclaveFilter,
11115        > {
11116            self.0.event()
11117        }
11118        ///Gets the contract's `OracleQueueSetAttestationConfig` event
11119        pub fn oracle_queue_set_attestation_config_filter(
11120            &self,
11121        ) -> ::ethers::contract::builders::Event<
11122            ::std::sync::Arc<M>,
11123            M,
11124            OracleQueueSetAttestationConfigFilter,
11125        > {
11126            self.0.event()
11127        }
11128        ///Gets the contract's `OracleQueueSetConfig` event
11129        pub fn oracle_queue_set_config_filter(
11130            &self,
11131        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OracleQueueSetConfigFilter>
11132        {
11133            self.0.event()
11134        }
11135        ///Gets the contract's `OracleQueueSetPermission` event
11136        pub fn oracle_queue_set_permission_filter(
11137            &self,
11138        ) -> ::ethers::contract::builders::Event<
11139            ::std::sync::Arc<M>,
11140            M,
11141            OracleQueueSetPermissionFilter,
11142        > {
11143            self.0.event()
11144        }
11145        ///Gets the contract's `OracleRotateSigner` event
11146        pub fn oracle_rotate_signer_filter(
11147            &self,
11148        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OracleRotateSignerFilter>
11149        {
11150            self.0.event()
11151        }
11152        ///Gets the contract's `OracleSetConfig` event
11153        pub fn oracle_set_config_filter(
11154            &self,
11155        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OracleSetConfigFilter>
11156        {
11157            self.0.event()
11158        }
11159        ///Gets the contract's `OwnershipTransferred` event
11160        pub fn ownership_transferred_filter(
11161            &self,
11162        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, OwnershipTransferredFilter>
11163        {
11164            self.0.event()
11165        }
11166        ///Gets the contract's `RemoveMrEnclave` event
11167        pub fn remove_mr_enclave_filter(
11168            &self,
11169        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, RemoveMrEnclaveFilter>
11170        {
11171            self.0.event()
11172        }
11173        ///Gets the contract's `RequestEvent` event
11174        pub fn request_event_filter(
11175            &self,
11176        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, RequestEventFilter>
11177        {
11178            self.0.event()
11179        }
11180        ///Gets the contract's `RequestFund` event
11181        pub fn request_fund_filter(
11182            &self,
11183        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, RequestFundFilter>
11184        {
11185            self.0.event()
11186        }
11187        ///Gets the contract's `RequestWithdraw` event
11188        pub fn request_withdraw_filter(
11189            &self,
11190        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, RequestWithdrawFilter>
11191        {
11192            self.0.event()
11193        }
11194        ///Gets the contract's `RoutineCreated` event
11195        pub fn routine_created_filter(
11196            &self,
11197        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, RoutineCreatedFilter>
11198        {
11199            self.0.event()
11200        }
11201        ///Gets the contract's `RoutineFund` event
11202        pub fn routine_fund_filter(
11203            &self,
11204        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, RoutineFundFilter>
11205        {
11206            self.0.event()
11207        }
11208        ///Gets the contract's `RoutineWithdraw` event
11209        pub fn routine_withdraw_filter(
11210            &self,
11211        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, RoutineWithdrawFilter>
11212        {
11213            self.0.event()
11214        }
11215        ///Gets the contract's `StakeAdded` event
11216        pub fn stake_added_filter(
11217            &self,
11218        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, StakeAddedFilter> {
11219            self.0.event()
11220        }
11221        ///Gets the contract's `StakeRemoved` event
11222        pub fn stake_removed_filter(
11223            &self,
11224        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, StakeRemovedFilter>
11225        {
11226            self.0.event()
11227        }
11228        ///Gets the contract's `Transfer` event
11229        pub fn transfer_filter(
11230            &self,
11231        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, TransferFilter> {
11232            self.0.event()
11233        }
11234        ///Gets the contract's `Unstaked` event
11235        pub fn unstaked_filter(
11236            &self,
11237        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, UnstakedFilter> {
11238            self.0.event()
11239        }
11240        ///Gets the contract's `VerifyFailed` event
11241        pub fn verify_failed_filter(
11242            &self,
11243        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, VerifyFailedFilter>
11244        {
11245            self.0.event()
11246        }
11247        /// Returns an `Event` builder for all the events of this contract.
11248        pub fn events(
11249            &self,
11250        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, SwitchboardEvents>
11251        {
11252            self.0
11253                .event_with_filter(::core::default::Default::default())
11254        }
11255    }
11256    impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>> for Switchboard<M> {
11257        fn from(contract: ::ethers::contract::Contract<M>) -> Self {
11258            Self::new(contract.address(), contract.client())
11259        }
11260    }
11261    ///Custom Error type `ACLAdminAlreadyInitialized` with signature `ACLAdminAlreadyInitialized()` and selector `0x7373cb0d`
11262    #[derive(
11263        Clone,
11264        ::ethers::contract::EthError,
11265        ::ethers::contract::EthDisplay,
11266        Default,
11267        Debug,
11268        PartialEq,
11269        Eq,
11270        Hash,
11271    )]
11272    #[etherror(
11273        name = "ACLAdminAlreadyInitialized",
11274        abi = "ACLAdminAlreadyInitialized()"
11275    )]
11276    pub struct ACLAdminAlreadyInitialized;
11277    ///Custom Error type `ACLNotAdmin` with signature `ACLNotAdmin(address)` and selector `0x00ea207e`
11278    #[derive(
11279        Clone,
11280        ::ethers::contract::EthError,
11281        ::ethers::contract::EthDisplay,
11282        Default,
11283        Debug,
11284        PartialEq,
11285        Eq,
11286        Hash,
11287    )]
11288    #[etherror(name = "ACLNotAdmin", abi = "ACLNotAdmin(address)")]
11289    pub struct ACLNotAdmin {
11290        pub account: ::ethers::core::types::Address,
11291    }
11292    ///Custom Error type `ACLNotAllowed` with signature `ACLNotAllowed(address)` and selector `0xea9a4ba0`
11293    #[derive(
11294        Clone,
11295        ::ethers::contract::EthError,
11296        ::ethers::contract::EthDisplay,
11297        Default,
11298        Debug,
11299        PartialEq,
11300        Eq,
11301        Hash,
11302    )]
11303    #[etherror(name = "ACLNotAllowed", abi = "ACLNotAllowed(address)")]
11304    pub struct ACLNotAllowed {
11305        pub account: ::ethers::core::types::Address,
11306    }
11307    ///Custom Error type `AggregatorAlreadyExists` with signature `AggregatorAlreadyExists(address)` and selector `0xe65d3ee3`
11308    #[derive(
11309        Clone,
11310        ::ethers::contract::EthError,
11311        ::ethers::contract::EthDisplay,
11312        Default,
11313        Debug,
11314        PartialEq,
11315        Eq,
11316        Hash,
11317    )]
11318    #[etherror(
11319        name = "AggregatorAlreadyExists",
11320        abi = "AggregatorAlreadyExists(address)"
11321    )]
11322    pub struct AggregatorAlreadyExists {
11323        pub aggregator_id: ::ethers::core::types::Address,
11324    }
11325    ///Custom Error type `AggregatorDoesNotExist` with signature `AggregatorDoesNotExist(address)` and selector `0x863b154f`
11326    #[derive(
11327        Clone,
11328        ::ethers::contract::EthError,
11329        ::ethers::contract::EthDisplay,
11330        Default,
11331        Debug,
11332        PartialEq,
11333        Eq,
11334        Hash,
11335    )]
11336    #[etherror(
11337        name = "AggregatorDoesNotExist",
11338        abi = "AggregatorDoesNotExist(address)"
11339    )]
11340    pub struct AggregatorDoesNotExist {
11341        pub aggregator_id: ::ethers::core::types::Address,
11342    }
11343    ///Custom Error type `AlreadyExecuted` with signature `AlreadyExecuted(bytes32)` and selector `0xd1d36dcd`
11344    #[derive(
11345        Clone,
11346        ::ethers::contract::EthError,
11347        ::ethers::contract::EthDisplay,
11348        Default,
11349        Debug,
11350        PartialEq,
11351        Eq,
11352        Hash,
11353    )]
11354    #[etherror(name = "AlreadyExecuted", abi = "AlreadyExecuted(bytes32)")]
11355    pub struct AlreadyExecuted {
11356        pub tx_hash: [u8; 32],
11357    }
11358    ///Custom Error type `AttestationQueueAlreadyExists` with signature `AttestationQueueAlreadyExists(address)` and selector `0x1179fb25`
11359    #[derive(
11360        Clone,
11361        ::ethers::contract::EthError,
11362        ::ethers::contract::EthDisplay,
11363        Default,
11364        Debug,
11365        PartialEq,
11366        Eq,
11367        Hash,
11368    )]
11369    #[etherror(
11370        name = "AttestationQueueAlreadyExists",
11371        abi = "AttestationQueueAlreadyExists(address)"
11372    )]
11373    pub struct AttestationQueueAlreadyExists {
11374        pub attestation_queue_id: ::ethers::core::types::Address,
11375    }
11376    ///Custom Error type `AttestationQueueDoesNotExist` with signature `AttestationQueueDoesNotExist(address)` and selector `0x0da329cf`
11377    #[derive(
11378        Clone,
11379        ::ethers::contract::EthError,
11380        ::ethers::contract::EthDisplay,
11381        Default,
11382        Debug,
11383        PartialEq,
11384        Eq,
11385        Hash,
11386    )]
11387    #[etherror(
11388        name = "AttestationQueueDoesNotExist",
11389        abi = "AttestationQueueDoesNotExist(address)"
11390    )]
11391    pub struct AttestationQueueDoesNotExist {
11392        pub attestation_queue_id: ::ethers::core::types::Address,
11393    }
11394    ///Custom Error type `CallExceededMaxGasCost` with signature `CallExceededMaxGasCost(address,uint256,uint256)` and selector `0x7ec28264`
11395    #[derive(
11396        Clone,
11397        ::ethers::contract::EthError,
11398        ::ethers::contract::EthDisplay,
11399        Default,
11400        Debug,
11401        PartialEq,
11402        Eq,
11403        Hash,
11404    )]
11405    #[etherror(
11406        name = "CallExceededMaxGasCost",
11407        abi = "CallExceededMaxGasCost(address,uint256,uint256)"
11408    )]
11409    pub struct CallExceededMaxGasCost {
11410        pub call_id: ::ethers::core::types::Address,
11411        pub expected: ::ethers::core::types::U256,
11412        pub received: ::ethers::core::types::U256,
11413    }
11414    ///Custom Error type `CallIdAlreadyExists` with signature `CallIdAlreadyExists(address)` and selector `0x2277cabb`
11415    #[derive(
11416        Clone,
11417        ::ethers::contract::EthError,
11418        ::ethers::contract::EthDisplay,
11419        Default,
11420        Debug,
11421        PartialEq,
11422        Eq,
11423        Hash,
11424    )]
11425    #[etherror(name = "CallIdAlreadyExists", abi = "CallIdAlreadyExists(address)")]
11426    pub struct CallIdAlreadyExists {
11427        pub call_id: ::ethers::core::types::Address,
11428    }
11429    ///Custom Error type `ECDSAInvalidSignature` with signature `ECDSAInvalidSignature()` and selector `0xf645eedf`
11430    #[derive(
11431        Clone,
11432        ::ethers::contract::EthError,
11433        ::ethers::contract::EthDisplay,
11434        Default,
11435        Debug,
11436        PartialEq,
11437        Eq,
11438        Hash,
11439    )]
11440    #[etherror(name = "ECDSAInvalidSignature", abi = "ECDSAInvalidSignature()")]
11441    pub struct ECDSAInvalidSignature;
11442    ///Custom Error type `ECDSAInvalidSignatureLength` with signature `ECDSAInvalidSignatureLength(uint256)` and selector `0xfce698f7`
11443    #[derive(
11444        Clone,
11445        ::ethers::contract::EthError,
11446        ::ethers::contract::EthDisplay,
11447        Default,
11448        Debug,
11449        PartialEq,
11450        Eq,
11451        Hash,
11452    )]
11453    #[etherror(
11454        name = "ECDSAInvalidSignatureLength",
11455        abi = "ECDSAInvalidSignatureLength(uint256)"
11456    )]
11457    pub struct ECDSAInvalidSignatureLength {
11458        pub length: ::ethers::core::types::U256,
11459    }
11460    ///Custom Error type `ECDSAInvalidSignatureS` with signature `ECDSAInvalidSignatureS(bytes32)` and selector `0xd78bce0c`
11461    #[derive(
11462        Clone,
11463        ::ethers::contract::EthError,
11464        ::ethers::contract::EthDisplay,
11465        Default,
11466        Debug,
11467        PartialEq,
11468        Eq,
11469        Hash,
11470    )]
11471    #[etherror(
11472        name = "ECDSAInvalidSignatureS",
11473        abi = "ECDSAInvalidSignatureS(bytes32)"
11474    )]
11475    pub struct ECDSAInvalidSignatureS {
11476        pub s: [u8; 32],
11477    }
11478    ///Custom Error type `EarlyOracleResponse` with signature `EarlyOracleResponse(address)` and selector `0x9fcea1ba`
11479    #[derive(
11480        Clone,
11481        ::ethers::contract::EthError,
11482        ::ethers::contract::EthDisplay,
11483        Default,
11484        Debug,
11485        PartialEq,
11486        Eq,
11487        Hash,
11488    )]
11489    #[etherror(name = "EarlyOracleResponse", abi = "EarlyOracleResponse(address)")]
11490    pub struct EarlyOracleResponse {
11491        pub oracle_id: ::ethers::core::types::Address,
11492    }
11493    ///Custom Error type `EnclaveAlreadyExists` with signature `EnclaveAlreadyExists(address)` and selector `0x3af924d6`
11494    #[derive(
11495        Clone,
11496        ::ethers::contract::EthError,
11497        ::ethers::contract::EthDisplay,
11498        Default,
11499        Debug,
11500        PartialEq,
11501        Eq,
11502        Hash,
11503    )]
11504    #[etherror(name = "EnclaveAlreadyExists", abi = "EnclaveAlreadyExists(address)")]
11505    pub struct EnclaveAlreadyExists {
11506        pub enclave_id: ::ethers::core::types::Address,
11507    }
11508    ///Custom Error type `EnclaveDoesNotExist` with signature `EnclaveDoesNotExist(address)` and selector `0x5c3197cc`
11509    #[derive(
11510        Clone,
11511        ::ethers::contract::EthError,
11512        ::ethers::contract::EthDisplay,
11513        Default,
11514        Debug,
11515        PartialEq,
11516        Eq,
11517        Hash,
11518    )]
11519    #[etherror(name = "EnclaveDoesNotExist", abi = "EnclaveDoesNotExist(address)")]
11520    pub struct EnclaveDoesNotExist {
11521        pub enclave_id: ::ethers::core::types::Address,
11522    }
11523    ///Custom Error type `EnclaveExpired` with signature `EnclaveExpired(address)` and selector `0xbc41a993`
11524    #[derive(
11525        Clone,
11526        ::ethers::contract::EthError,
11527        ::ethers::contract::EthDisplay,
11528        Default,
11529        Debug,
11530        PartialEq,
11531        Eq,
11532        Hash,
11533    )]
11534    #[etherror(name = "EnclaveExpired", abi = "EnclaveExpired(address)")]
11535    pub struct EnclaveExpired {
11536        pub enclave_id: ::ethers::core::types::Address,
11537    }
11538    ///Custom Error type `EnclaveNotAtQueueIdx` with signature `EnclaveNotAtQueueIdx(address,address,uint256)` and selector `0x1967584e`
11539    #[derive(
11540        Clone,
11541        ::ethers::contract::EthError,
11542        ::ethers::contract::EthDisplay,
11543        Default,
11544        Debug,
11545        PartialEq,
11546        Eq,
11547        Hash,
11548    )]
11549    #[etherror(
11550        name = "EnclaveNotAtQueueIdx",
11551        abi = "EnclaveNotAtQueueIdx(address,address,uint256)"
11552    )]
11553    pub struct EnclaveNotAtQueueIdx {
11554        pub queue_id: ::ethers::core::types::Address,
11555        pub enclave_id: ::ethers::core::types::Address,
11556        pub enclave_idx: ::ethers::core::types::U256,
11557    }
11558    ///Custom Error type `EnclaveNotFullyStaked` with signature `EnclaveNotFullyStaked(address)` and selector `0x784ed478`
11559    #[derive(
11560        Clone,
11561        ::ethers::contract::EthError,
11562        ::ethers::contract::EthDisplay,
11563        Default,
11564        Debug,
11565        PartialEq,
11566        Eq,
11567        Hash,
11568    )]
11569    #[etherror(name = "EnclaveNotFullyStaked", abi = "EnclaveNotFullyStaked(address)")]
11570    pub struct EnclaveNotFullyStaked {
11571        pub enclave_id: ::ethers::core::types::Address,
11572    }
11573    ///Custom Error type `EnclaveNotOnQueue` with signature `EnclaveNotOnQueue(address,address)` and selector `0x4d7fe4fc`
11574    #[derive(
11575        Clone,
11576        ::ethers::contract::EthError,
11577        ::ethers::contract::EthDisplay,
11578        Default,
11579        Debug,
11580        PartialEq,
11581        Eq,
11582        Hash,
11583    )]
11584    #[etherror(name = "EnclaveNotOnQueue", abi = "EnclaveNotOnQueue(address,address)")]
11585    pub struct EnclaveNotOnQueue {
11586        pub queue_id: ::ethers::core::types::Address,
11587        pub enclave_id: ::ethers::core::types::Address,
11588    }
11589    ///Custom Error type `EnclaveNotReadyForVerification` with signature `EnclaveNotReadyForVerification(address)` and selector `0x089afb2c`
11590    #[derive(
11591        Clone,
11592        ::ethers::contract::EthError,
11593        ::ethers::contract::EthDisplay,
11594        Default,
11595        Debug,
11596        PartialEq,
11597        Eq,
11598        Hash,
11599    )]
11600    #[etherror(
11601        name = "EnclaveNotReadyForVerification",
11602        abi = "EnclaveNotReadyForVerification(address)"
11603    )]
11604    pub struct EnclaveNotReadyForVerification {
11605        pub enclave_id: ::ethers::core::types::Address,
11606    }
11607    ///Custom Error type `EnclaveUnverified` with signature `EnclaveUnverified(address)` and selector `0x9eb833a0`
11608    #[derive(
11609        Clone,
11610        ::ethers::contract::EthError,
11611        ::ethers::contract::EthDisplay,
11612        Default,
11613        Debug,
11614        PartialEq,
11615        Eq,
11616        Hash,
11617    )]
11618    #[etherror(name = "EnclaveUnverified", abi = "EnclaveUnverified(address)")]
11619    pub struct EnclaveUnverified {
11620        pub enclave_id: ::ethers::core::types::Address,
11621    }
11622    ///Custom Error type `ExcessiveGasSpent` with signature `ExcessiveGasSpent(uint256,uint256)` and selector `0x67c42515`
11623    #[derive(
11624        Clone,
11625        ::ethers::contract::EthError,
11626        ::ethers::contract::EthDisplay,
11627        Default,
11628        Debug,
11629        PartialEq,
11630        Eq,
11631        Hash,
11632    )]
11633    #[etherror(name = "ExcessiveGasSpent", abi = "ExcessiveGasSpent(uint256,uint256)")]
11634    pub struct ExcessiveGasSpent {
11635        pub gas_limit: ::ethers::core::types::U256,
11636        pub gas_spent: ::ethers::core::types::U256,
11637    }
11638    ///Custom Error type `ForceOverrideNotReady` with signature `ForceOverrideNotReady(address)` and selector `0xb209a6cc`
11639    #[derive(
11640        Clone,
11641        ::ethers::contract::EthError,
11642        ::ethers::contract::EthDisplay,
11643        Default,
11644        Debug,
11645        PartialEq,
11646        Eq,
11647        Hash,
11648    )]
11649    #[etherror(name = "ForceOverrideNotReady", abi = "ForceOverrideNotReady(address)")]
11650    pub struct ForceOverrideNotReady {
11651        pub queue_id: ::ethers::core::types::Address,
11652    }
11653    ///Custom Error type `FunctionAlreadyExists` with signature `FunctionAlreadyExists(address)` and selector `0x8f939dfd`
11654    #[derive(
11655        Clone,
11656        ::ethers::contract::EthError,
11657        ::ethers::contract::EthDisplay,
11658        Default,
11659        Debug,
11660        PartialEq,
11661        Eq,
11662        Hash,
11663    )]
11664    #[etherror(name = "FunctionAlreadyExists", abi = "FunctionAlreadyExists(address)")]
11665    pub struct FunctionAlreadyExists {
11666        pub function_id: ::ethers::core::types::Address,
11667    }
11668    ///Custom Error type `FunctionCallerNotPermitted` with signature `FunctionCallerNotPermitted(address,address)` and selector `0x3926c8c8`
11669    #[derive(
11670        Clone,
11671        ::ethers::contract::EthError,
11672        ::ethers::contract::EthDisplay,
11673        Default,
11674        Debug,
11675        PartialEq,
11676        Eq,
11677        Hash,
11678    )]
11679    #[etherror(
11680        name = "FunctionCallerNotPermitted",
11681        abi = "FunctionCallerNotPermitted(address,address)"
11682    )]
11683    pub struct FunctionCallerNotPermitted {
11684        pub function_id: ::ethers::core::types::Address,
11685        pub sender: ::ethers::core::types::Address,
11686    }
11687    ///Custom Error type `FunctionDoesNotExist` with signature `FunctionDoesNotExist(address)` and selector `0x3c3b1d62`
11688    #[derive(
11689        Clone,
11690        ::ethers::contract::EthError,
11691        ::ethers::contract::EthDisplay,
11692        Default,
11693        Debug,
11694        PartialEq,
11695        Eq,
11696        Hash,
11697    )]
11698    #[etherror(name = "FunctionDoesNotExist", abi = "FunctionDoesNotExist(address)")]
11699    pub struct FunctionDoesNotExist {
11700        pub function_id: ::ethers::core::types::Address,
11701    }
11702    ///Custom Error type `FunctionFeeTooLow` with signature `FunctionFeeTooLow(address,uint256,uint256)` and selector `0xf3663dbf`
11703    #[derive(
11704        Clone,
11705        ::ethers::contract::EthError,
11706        ::ethers::contract::EthDisplay,
11707        Default,
11708        Debug,
11709        PartialEq,
11710        Eq,
11711        Hash,
11712    )]
11713    #[etherror(
11714        name = "FunctionFeeTooLow",
11715        abi = "FunctionFeeTooLow(address,uint256,uint256)"
11716    )]
11717    pub struct FunctionFeeTooLow {
11718        pub function_id: ::ethers::core::types::Address,
11719        pub expected: ::ethers::core::types::U256,
11720        pub received: ::ethers::core::types::U256,
11721    }
11722    ///Custom Error type `FunctionIncorrectTarget` with signature `FunctionIncorrectTarget(address,address)` and selector `0xe726bd72`
11723    #[derive(
11724        Clone,
11725        ::ethers::contract::EthError,
11726        ::ethers::contract::EthDisplay,
11727        Default,
11728        Debug,
11729        PartialEq,
11730        Eq,
11731        Hash,
11732    )]
11733    #[etherror(
11734        name = "FunctionIncorrectTarget",
11735        abi = "FunctionIncorrectTarget(address,address)"
11736    )]
11737    pub struct FunctionIncorrectTarget {
11738        pub function_id: ::ethers::core::types::Address,
11739        pub received: ::ethers::core::types::Address,
11740    }
11741    ///Custom Error type `FunctionMrEnclaveMismatch` with signature `FunctionMrEnclaveMismatch(bytes32,bytes32)` and selector `0x552d918e`
11742    #[derive(
11743        Clone,
11744        ::ethers::contract::EthError,
11745        ::ethers::contract::EthDisplay,
11746        Default,
11747        Debug,
11748        PartialEq,
11749        Eq,
11750        Hash,
11751    )]
11752    #[etherror(
11753        name = "FunctionMrEnclaveMismatch",
11754        abi = "FunctionMrEnclaveMismatch(bytes32,bytes32)"
11755    )]
11756    pub struct FunctionMrEnclaveMismatch {
11757        pub expected: [u8; 32],
11758        pub received: [u8; 32],
11759    }
11760    ///Custom Error type `FunctionSignerAlreadySet` with signature `FunctionSignerAlreadySet(address,address)` and selector `0xe2c62da7`
11761    #[derive(
11762        Clone,
11763        ::ethers::contract::EthError,
11764        ::ethers::contract::EthDisplay,
11765        Default,
11766        Debug,
11767        PartialEq,
11768        Eq,
11769        Hash,
11770    )]
11771    #[etherror(
11772        name = "FunctionSignerAlreadySet",
11773        abi = "FunctionSignerAlreadySet(address,address)"
11774    )]
11775    pub struct FunctionSignerAlreadySet {
11776        pub current: ::ethers::core::types::Address,
11777        pub received: ::ethers::core::types::Address,
11778    }
11779    ///Custom Error type `GasLimitExceeded` with signature `GasLimitExceeded(uint256,uint256)` and selector `0x1935f531`
11780    #[derive(
11781        Clone,
11782        ::ethers::contract::EthError,
11783        ::ethers::contract::EthDisplay,
11784        Default,
11785        Debug,
11786        PartialEq,
11787        Eq,
11788        Hash,
11789    )]
11790    #[etherror(name = "GasLimitExceeded", abi = "GasLimitExceeded(uint256,uint256)")]
11791    pub struct GasLimitExceeded {
11792        pub limit: ::ethers::core::types::U256,
11793        pub used: ::ethers::core::types::U256,
11794    }
11795    ///Custom Error type `Generic` with signature `Generic()` and selector `0xbf25017a`
11796    #[derive(
11797        Clone,
11798        ::ethers::contract::EthError,
11799        ::ethers::contract::EthDisplay,
11800        Default,
11801        Debug,
11802        PartialEq,
11803        Eq,
11804        Hash,
11805    )]
11806    #[etherror(name = "Generic", abi = "Generic()")]
11807    pub struct Generic;
11808    ///Custom Error type `IncorrectFunctionId` with signature `IncorrectFunctionId(address,address)` and selector `0xcf9ccae6`
11809    #[derive(
11810        Clone,
11811        ::ethers::contract::EthError,
11812        ::ethers::contract::EthDisplay,
11813        Default,
11814        Debug,
11815        PartialEq,
11816        Eq,
11817        Hash,
11818    )]
11819    #[etherror(
11820        name = "IncorrectFunctionId",
11821        abi = "IncorrectFunctionId(address,address)"
11822    )]
11823    pub struct IncorrectFunctionId {
11824        pub expected: ::ethers::core::types::Address,
11825        pub received: ::ethers::core::types::Address,
11826    }
11827    ///Custom Error type `IncorrectReportedTime` with signature `IncorrectReportedTime(uint256,uint256)` and selector `0x3ff1de92`
11828    #[derive(
11829        Clone,
11830        ::ethers::contract::EthError,
11831        ::ethers::contract::EthDisplay,
11832        Default,
11833        Debug,
11834        PartialEq,
11835        Eq,
11836        Hash,
11837    )]
11838    #[etherror(
11839        name = "IncorrectReportedTime",
11840        abi = "IncorrectReportedTime(uint256,uint256)"
11841    )]
11842    pub struct IncorrectReportedTime {
11843        pub max_expected_time: ::ethers::core::types::U256,
11844        pub reported_time: ::ethers::core::types::U256,
11845    }
11846    ///Custom Error type `IncorrectToken` with signature `IncorrectToken(address,address)` and selector `0x9334834f`
11847    #[derive(
11848        Clone,
11849        ::ethers::contract::EthError,
11850        ::ethers::contract::EthDisplay,
11851        Default,
11852        Debug,
11853        PartialEq,
11854        Eq,
11855        Hash,
11856    )]
11857    #[etherror(name = "IncorrectToken", abi = "IncorrectToken(address,address)")]
11858    pub struct IncorrectToken {
11859        pub expected: ::ethers::core::types::Address,
11860        pub received: ::ethers::core::types::Address,
11861    }
11862    ///Custom Error type `InitializationFunctionReverted` with signature `InitializationFunctionReverted(address,bytes)` and selector `0x192105d7`
11863    #[derive(
11864        Clone,
11865        ::ethers::contract::EthError,
11866        ::ethers::contract::EthDisplay,
11867        Default,
11868        Debug,
11869        PartialEq,
11870        Eq,
11871        Hash,
11872    )]
11873    #[etherror(
11874        name = "InitializationFunctionReverted",
11875        abi = "InitializationFunctionReverted(address,bytes)"
11876    )]
11877    pub struct InitializationFunctionReverted {
11878        pub initialization_contract_address: ::ethers::core::types::Address,
11879        pub calldata: ::ethers::core::types::Bytes,
11880    }
11881    ///Custom Error type `InsufficientBalance` with signature `InsufficientBalance(uint256,uint256)` and selector `0xcf479181`
11882    #[derive(
11883        Clone,
11884        ::ethers::contract::EthError,
11885        ::ethers::contract::EthDisplay,
11886        Default,
11887        Debug,
11888        PartialEq,
11889        Eq,
11890        Hash,
11891    )]
11892    #[etherror(
11893        name = "InsufficientBalance",
11894        abi = "InsufficientBalance(uint256,uint256)"
11895    )]
11896    pub struct InsufficientBalance {
11897        pub expected_balance: ::ethers::core::types::U256,
11898        pub received_balance: ::ethers::core::types::U256,
11899    }
11900    ///Custom Error type `InsufficientCallBalance` with signature `InsufficientCallBalance(address,uint256,uint256)` and selector `0x7bfbdd60`
11901    #[derive(
11902        Clone,
11903        ::ethers::contract::EthError,
11904        ::ethers::contract::EthDisplay,
11905        Default,
11906        Debug,
11907        PartialEq,
11908        Eq,
11909        Hash,
11910    )]
11911    #[etherror(
11912        name = "InsufficientCallBalance",
11913        abi = "InsufficientCallBalance(address,uint256,uint256)"
11914    )]
11915    pub struct InsufficientCallBalance {
11916        pub call_id: ::ethers::core::types::Address,
11917        pub expected: ::ethers::core::types::U256,
11918        pub received: ::ethers::core::types::U256,
11919    }
11920    ///Custom Error type `InsufficientCallFeePaid` with signature `InsufficientCallFeePaid(address,uint256,uint256)` and selector `0xc6477cc1`
11921    #[derive(
11922        Clone,
11923        ::ethers::contract::EthError,
11924        ::ethers::contract::EthDisplay,
11925        Default,
11926        Debug,
11927        PartialEq,
11928        Eq,
11929        Hash,
11930    )]
11931    #[etherror(
11932        name = "InsufficientCallFeePaid",
11933        abi = "InsufficientCallFeePaid(address,uint256,uint256)"
11934    )]
11935    pub struct InsufficientCallFeePaid {
11936        pub call_id: ::ethers::core::types::Address,
11937        pub expected: ::ethers::core::types::U256,
11938        pub received: ::ethers::core::types::U256,
11939    }
11940    ///Custom Error type `InsufficientNodes` with signature `InsufficientNodes(uint256,uint256)` and selector `0x3c1222b1`
11941    #[derive(
11942        Clone,
11943        ::ethers::contract::EthError,
11944        ::ethers::contract::EthDisplay,
11945        Default,
11946        Debug,
11947        PartialEq,
11948        Eq,
11949        Hash,
11950    )]
11951    #[etherror(name = "InsufficientNodes", abi = "InsufficientNodes(uint256,uint256)")]
11952    pub struct InsufficientNodes {
11953        pub expected: ::ethers::core::types::U256,
11954        pub received: ::ethers::core::types::U256,
11955    }
11956    ///Custom Error type `InsufficientSamples` with signature `InsufficientSamples(uint256,uint256)` and selector `0x53b15160`
11957    #[derive(
11958        Clone,
11959        ::ethers::contract::EthError,
11960        ::ethers::contract::EthDisplay,
11961        Default,
11962        Debug,
11963        PartialEq,
11964        Eq,
11965        Hash,
11966    )]
11967    #[etherror(
11968        name = "InsufficientSamples",
11969        abi = "InsufficientSamples(uint256,uint256)"
11970    )]
11971    pub struct InsufficientSamples {
11972        pub expected: ::ethers::core::types::U256,
11973        pub received: ::ethers::core::types::U256,
11974    }
11975    ///Custom Error type `IntervalHistoryNotRecorded` with signature `IntervalHistoryNotRecorded(address)` and selector `0xedfa5607`
11976    #[derive(
11977        Clone,
11978        ::ethers::contract::EthError,
11979        ::ethers::contract::EthDisplay,
11980        Default,
11981        Debug,
11982        PartialEq,
11983        Eq,
11984        Hash,
11985    )]
11986    #[etherror(
11987        name = "IntervalHistoryNotRecorded",
11988        abi = "IntervalHistoryNotRecorded(address)"
11989    )]
11990    pub struct IntervalHistoryNotRecorded {
11991        pub aggregator_id: ::ethers::core::types::Address,
11992    }
11993    ///Custom Error type `InvalidArgument` with signature `InvalidArgument(uint256)` and selector `0xd14e7c9b`
11994    #[derive(
11995        Clone,
11996        ::ethers::contract::EthError,
11997        ::ethers::contract::EthDisplay,
11998        Default,
11999        Debug,
12000        PartialEq,
12001        Eq,
12002        Hash,
12003    )]
12004    #[etherror(name = "InvalidArgument", abi = "InvalidArgument(uint256)")]
12005    pub struct InvalidArgument {
12006        pub argument_index: ::ethers::core::types::U256,
12007    }
12008    ///Custom Error type `InvalidAuthority` with signature `InvalidAuthority(address,address)` and selector `0xbf89df83`
12009    #[derive(
12010        Clone,
12011        ::ethers::contract::EthError,
12012        ::ethers::contract::EthDisplay,
12013        Default,
12014        Debug,
12015        PartialEq,
12016        Eq,
12017        Hash,
12018    )]
12019    #[etherror(name = "InvalidAuthority", abi = "InvalidAuthority(address,address)")]
12020    pub struct InvalidAuthority {
12021        pub expected_authority: ::ethers::core::types::Address,
12022        pub received_authority: ::ethers::core::types::Address,
12023    }
12024    ///Custom Error type `InvalidCallId` with signature `InvalidCallId(address)` and selector `0xddd63c15`
12025    #[derive(
12026        Clone,
12027        ::ethers::contract::EthError,
12028        ::ethers::contract::EthDisplay,
12029        Default,
12030        Debug,
12031        PartialEq,
12032        Eq,
12033        Hash,
12034    )]
12035    #[etherror(name = "InvalidCallId", abi = "InvalidCallId(address)")]
12036    pub struct InvalidCallId {
12037        pub call_id: ::ethers::core::types::Address,
12038    }
12039    ///Custom Error type `InvalidCallbackParams` with signature `InvalidCallbackParams(address,bytes32)` and selector `0x1c6cea40`
12040    #[derive(
12041        Clone,
12042        ::ethers::contract::EthError,
12043        ::ethers::contract::EthDisplay,
12044        Default,
12045        Debug,
12046        PartialEq,
12047        Eq,
12048        Hash,
12049    )]
12050    #[etherror(
12051        name = "InvalidCallbackParams",
12052        abi = "InvalidCallbackParams(address,bytes32)"
12053    )]
12054    pub struct InvalidCallbackParams {
12055        pub call_id: ::ethers::core::types::Address,
12056        pub hash: [u8; 32],
12057    }
12058    ///Custom Error type `InvalidEnclave` with signature `InvalidEnclave(address)` and selector `0x8bec1a4e`
12059    #[derive(
12060        Clone,
12061        ::ethers::contract::EthError,
12062        ::ethers::contract::EthDisplay,
12063        Default,
12064        Debug,
12065        PartialEq,
12066        Eq,
12067        Hash,
12068    )]
12069    #[etherror(name = "InvalidEnclave", abi = "InvalidEnclave(address)")]
12070    pub struct InvalidEnclave {
12071        pub enclave_id: ::ethers::core::types::Address,
12072    }
12073    ///Custom Error type `InvalidEntry` with signature `InvalidEntry()` and selector `0x887efaa5`
12074    #[derive(
12075        Clone,
12076        ::ethers::contract::EthError,
12077        ::ethers::contract::EthDisplay,
12078        Default,
12079        Debug,
12080        PartialEq,
12081        Eq,
12082        Hash,
12083    )]
12084    #[etherror(name = "InvalidEntry", abi = "InvalidEntry()")]
12085    pub struct InvalidEntry;
12086    ///Custom Error type `InvalidRoutineId` with signature `InvalidRoutineId(address)` and selector `0x0b532497`
12087    #[derive(
12088        Clone,
12089        ::ethers::contract::EthError,
12090        ::ethers::contract::EthDisplay,
12091        Default,
12092        Debug,
12093        PartialEq,
12094        Eq,
12095        Hash,
12096    )]
12097    #[etherror(name = "InvalidRoutineId", abi = "InvalidRoutineId(address)")]
12098    pub struct InvalidRoutineId {
12099        pub routine_id: ::ethers::core::types::Address,
12100    }
12101    ///Custom Error type `InvalidSignature` with signature `InvalidSignature(address,bytes32,bytes)` and selector `0xd491963d`
12102    #[derive(
12103        Clone,
12104        ::ethers::contract::EthError,
12105        ::ethers::contract::EthDisplay,
12106        Default,
12107        Debug,
12108        PartialEq,
12109        Eq,
12110        Hash,
12111    )]
12112    #[etherror(
12113        name = "InvalidSignature",
12114        abi = "InvalidSignature(address,bytes32,bytes)"
12115    )]
12116    pub struct InvalidSignature {
12117        pub expected_sender: ::ethers::core::types::Address,
12118        pub tx_hash: [u8; 32],
12119        pub signature: ::ethers::core::types::Bytes,
12120    }
12121    ///Custom Error type `InvalidSigner` with signature `InvalidSigner(address,address)` and selector `0x7ba5ffb5`
12122    #[derive(
12123        Clone,
12124        ::ethers::contract::EthError,
12125        ::ethers::contract::EthDisplay,
12126        Default,
12127        Debug,
12128        PartialEq,
12129        Eq,
12130        Hash,
12131    )]
12132    #[etherror(name = "InvalidSigner", abi = "InvalidSigner(address,address)")]
12133    pub struct InvalidSigner {
12134        pub expected_signer: ::ethers::core::types::Address,
12135        pub received_signer: ::ethers::core::types::Address,
12136    }
12137    ///Custom Error type `InvalidStatus` with signature `InvalidStatus(address,uint256,uint256)` and selector `0xee56daf8`
12138    #[derive(
12139        Clone,
12140        ::ethers::contract::EthError,
12141        ::ethers::contract::EthDisplay,
12142        Default,
12143        Debug,
12144        PartialEq,
12145        Eq,
12146        Hash,
12147    )]
12148    #[etherror(name = "InvalidStatus", abi = "InvalidStatus(address,uint256,uint256)")]
12149    pub struct InvalidStatus {
12150        pub account: ::ethers::core::types::Address,
12151        pub expected: ::ethers::core::types::U256,
12152        pub received: ::ethers::core::types::U256,
12153    }
12154    ///Custom Error type `MrEnclaveNotAllowed` with signature `MrEnclaveNotAllowed(address,bytes32)` and selector `0x93fc1a13`
12155    #[derive(
12156        Clone,
12157        ::ethers::contract::EthError,
12158        ::ethers::contract::EthDisplay,
12159        Default,
12160        Debug,
12161        PartialEq,
12162        Eq,
12163        Hash,
12164    )]
12165    #[etherror(
12166        name = "MrEnclaveNotAllowed",
12167        abi = "MrEnclaveNotAllowed(address,bytes32)"
12168    )]
12169    pub struct MrEnclaveNotAllowed {
12170        pub queue_id: ::ethers::core::types::Address,
12171        pub mr_enclave: [u8; 32],
12172    }
12173    ///Custom Error type `OracleAlreadyExists` with signature `OracleAlreadyExists(address)` and selector `0x07fefd1f`
12174    #[derive(
12175        Clone,
12176        ::ethers::contract::EthError,
12177        ::ethers::contract::EthDisplay,
12178        Default,
12179        Debug,
12180        PartialEq,
12181        Eq,
12182        Hash,
12183    )]
12184    #[etherror(name = "OracleAlreadyExists", abi = "OracleAlreadyExists(address)")]
12185    pub struct OracleAlreadyExists {
12186        pub oracle_id: ::ethers::core::types::Address,
12187    }
12188    ///Custom Error type `OracleExpired` with signature `OracleExpired(address)` and selector `0xf7eac043`
12189    #[derive(
12190        Clone,
12191        ::ethers::contract::EthError,
12192        ::ethers::contract::EthDisplay,
12193        Default,
12194        Debug,
12195        PartialEq,
12196        Eq,
12197        Hash,
12198    )]
12199    #[etherror(name = "OracleExpired", abi = "OracleExpired(address)")]
12200    pub struct OracleExpired {
12201        pub oracle_id: ::ethers::core::types::Address,
12202    }
12203    ///Custom Error type `OracleNotAtQueueIdx` with signature `OracleNotAtQueueIdx(address,address,uint256)` and selector `0x6dddf077`
12204    #[derive(
12205        Clone,
12206        ::ethers::contract::EthError,
12207        ::ethers::contract::EthDisplay,
12208        Default,
12209        Debug,
12210        PartialEq,
12211        Eq,
12212        Hash,
12213    )]
12214    #[etherror(
12215        name = "OracleNotAtQueueIdx",
12216        abi = "OracleNotAtQueueIdx(address,address,uint256)"
12217    )]
12218    pub struct OracleNotAtQueueIdx {
12219        pub queue_id: ::ethers::core::types::Address,
12220        pub oracle_id: ::ethers::core::types::Address,
12221        pub oracle_idx: ::ethers::core::types::U256,
12222    }
12223    ///Custom Error type `OracleNotOnQueue` with signature `OracleNotOnQueue(address,address)` and selector `0xcd5d2b06`
12224    #[derive(
12225        Clone,
12226        ::ethers::contract::EthError,
12227        ::ethers::contract::EthDisplay,
12228        Default,
12229        Debug,
12230        PartialEq,
12231        Eq,
12232        Hash,
12233    )]
12234    #[etherror(name = "OracleNotOnQueue", abi = "OracleNotOnQueue(address,address)")]
12235    pub struct OracleNotOnQueue {
12236        pub queue_id: ::ethers::core::types::Address,
12237        pub oracle_id: ::ethers::core::types::Address,
12238    }
12239    ///Custom Error type `OracleQueueDoesNotExist` with signature `OracleQueueDoesNotExist(address)` and selector `0xaf9b8e16`
12240    #[derive(
12241        Clone,
12242        ::ethers::contract::EthError,
12243        ::ethers::contract::EthDisplay,
12244        Default,
12245        Debug,
12246        PartialEq,
12247        Eq,
12248        Hash,
12249    )]
12250    #[etherror(
12251        name = "OracleQueueDoesNotExist",
12252        abi = "OracleQueueDoesNotExist(address)"
12253    )]
12254    pub struct OracleQueueDoesNotExist {
12255        pub oracle_queue_id: ::ethers::core::types::Address,
12256    }
12257    ///Custom Error type `PermissionDenied` with signature `PermissionDenied(address,address,uint256)` and selector `0xe65cb5d3`
12258    #[derive(
12259        Clone,
12260        ::ethers::contract::EthError,
12261        ::ethers::contract::EthDisplay,
12262        Default,
12263        Debug,
12264        PartialEq,
12265        Eq,
12266        Hash,
12267    )]
12268    #[etherror(
12269        name = "PermissionDenied",
12270        abi = "PermissionDenied(address,address,uint256)"
12271    )]
12272    pub struct PermissionDenied {
12273        pub granter: ::ethers::core::types::Address,
12274        pub grantee: ::ethers::core::types::Address,
12275        pub permission: ::ethers::core::types::U256,
12276    }
12277    ///Custom Error type `QueuesDoNotMatch` with signature `QueuesDoNotMatch(address,address)` and selector `0x2b69267c`
12278    #[derive(
12279        Clone,
12280        ::ethers::contract::EthError,
12281        ::ethers::contract::EthDisplay,
12282        Default,
12283        Debug,
12284        PartialEq,
12285        Eq,
12286        Hash,
12287    )]
12288    #[etherror(name = "QueuesDoNotMatch", abi = "QueuesDoNotMatch(address,address)")]
12289    pub struct QueuesDoNotMatch {
12290        pub expected_queue_id: ::ethers::core::types::Address,
12291        pub received_queue_id: ::ethers::core::types::Address,
12292    }
12293    ///Custom Error type `RequestAlreadyExists` with signature `RequestAlreadyExists(address)` and selector `0x0b5bc361`
12294    #[derive(
12295        Clone,
12296        ::ethers::contract::EthError,
12297        ::ethers::contract::EthDisplay,
12298        Default,
12299        Debug,
12300        PartialEq,
12301        Eq,
12302        Hash,
12303    )]
12304    #[etherror(name = "RequestAlreadyExists", abi = "RequestAlreadyExists(address)")]
12305    pub struct RequestAlreadyExists {
12306        pub request_id: ::ethers::core::types::Address,
12307    }
12308    ///Custom Error type `RequestIdAlreadyExists` with signature `RequestIdAlreadyExists(address)` and selector `0xfefd00d8`
12309    #[derive(
12310        Clone,
12311        ::ethers::contract::EthError,
12312        ::ethers::contract::EthDisplay,
12313        Default,
12314        Debug,
12315        PartialEq,
12316        Eq,
12317        Hash,
12318    )]
12319    #[etherror(
12320        name = "RequestIdAlreadyExists",
12321        abi = "RequestIdAlreadyExists(address)"
12322    )]
12323    pub struct RequestIdAlreadyExists {
12324        pub request_id: ::ethers::core::types::Address,
12325    }
12326    ///Custom Error type `RoutineIdAlreadyExists` with signature `RoutineIdAlreadyExists(address)` and selector `0x704f61ed`
12327    #[derive(
12328        Clone,
12329        ::ethers::contract::EthError,
12330        ::ethers::contract::EthDisplay,
12331        Default,
12332        Debug,
12333        PartialEq,
12334        Eq,
12335        Hash,
12336    )]
12337    #[etherror(
12338        name = "RoutineIdAlreadyExists",
12339        abi = "RoutineIdAlreadyExists(address)"
12340    )]
12341    pub struct RoutineIdAlreadyExists {
12342        pub routine_id: ::ethers::core::types::Address,
12343    }
12344    ///Custom Error type `RoutinesDisabled` with signature `RoutinesDisabled(address)` and selector `0xe71fe28b`
12345    #[derive(
12346        Clone,
12347        ::ethers::contract::EthError,
12348        ::ethers::contract::EthDisplay,
12349        Default,
12350        Debug,
12351        PartialEq,
12352        Eq,
12353        Hash,
12354    )]
12355    #[etherror(name = "RoutinesDisabled", abi = "RoutinesDisabled(address)")]
12356    pub struct RoutinesDisabled {
12357        pub function_id: ::ethers::core::types::Address,
12358    }
12359    ///Custom Error type `StakeNotReady` with signature `StakeNotReady(address,address,uint256)` and selector `0x8be9b6b3`
12360    #[derive(
12361        Clone,
12362        ::ethers::contract::EthError,
12363        ::ethers::contract::EthDisplay,
12364        Default,
12365        Debug,
12366        PartialEq,
12367        Eq,
12368        Hash,
12369    )]
12370    #[etherror(name = "StakeNotReady", abi = "StakeNotReady(address,address,uint256)")]
12371    pub struct StakeNotReady {
12372        pub queue_id: ::ethers::core::types::Address,
12373        pub staker: ::ethers::core::types::Address,
12374        pub ready_at: ::ethers::core::types::U256,
12375    }
12376    ///Custom Error type `StakeNotReadyForWithdrawal` with signature `StakeNotReadyForWithdrawal(address,address,uint256)` and selector `0xc026a454`
12377    #[derive(
12378        Clone,
12379        ::ethers::contract::EthError,
12380        ::ethers::contract::EthDisplay,
12381        Default,
12382        Debug,
12383        PartialEq,
12384        Eq,
12385        Hash,
12386    )]
12387    #[etherror(
12388        name = "StakeNotReadyForWithdrawal",
12389        abi = "StakeNotReadyForWithdrawal(address,address,uint256)"
12390    )]
12391    pub struct StakeNotReadyForWithdrawal {
12392        pub queue_id: ::ethers::core::types::Address,
12393        pub staker: ::ethers::core::types::Address,
12394        pub ready_at: ::ethers::core::types::U256,
12395    }
12396    ///Custom Error type `SubmittedResultsMismatch` with signature `SubmittedResultsMismatch(uint256,uint256)` and selector `0xc7d91853`
12397    #[derive(
12398        Clone,
12399        ::ethers::contract::EthError,
12400        ::ethers::contract::EthDisplay,
12401        Default,
12402        Debug,
12403        PartialEq,
12404        Eq,
12405        Hash,
12406    )]
12407    #[etherror(
12408        name = "SubmittedResultsMismatch",
12409        abi = "SubmittedResultsMismatch(uint256,uint256)"
12410    )]
12411    pub struct SubmittedResultsMismatch {
12412        pub aggregators: ::ethers::core::types::U256,
12413        pub results: ::ethers::core::types::U256,
12414    }
12415    ///Custom Error type `TokenTransferFailure` with signature `TokenTransferFailure(address,address,uint256)` and selector `0x95eb946f`
12416    #[derive(
12417        Clone,
12418        ::ethers::contract::EthError,
12419        ::ethers::contract::EthDisplay,
12420        Default,
12421        Debug,
12422        PartialEq,
12423        Eq,
12424        Hash,
12425    )]
12426    #[etherror(
12427        name = "TokenTransferFailure",
12428        abi = "TokenTransferFailure(address,address,uint256)"
12429    )]
12430    pub struct TokenTransferFailure {
12431        pub token: ::ethers::core::types::Address,
12432        pub to: ::ethers::core::types::Address,
12433        pub amount: ::ethers::core::types::U256,
12434    }
12435    ///Custom Error type `TransactionExpired` with signature `TransactionExpired(uint256)` and selector `0x6634e923`
12436    #[derive(
12437        Clone,
12438        ::ethers::contract::EthError,
12439        ::ethers::contract::EthDisplay,
12440        Default,
12441        Debug,
12442        PartialEq,
12443        Eq,
12444        Hash,
12445    )]
12446    #[etherror(name = "TransactionExpired", abi = "TransactionExpired(uint256)")]
12447    pub struct TransactionExpired {
12448        pub expiration_time: ::ethers::core::types::U256,
12449    }
12450    ///Container type for all of the contract's custom errors
12451    #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
12452    pub enum SwitchboardErrors {
12453        ACLAdminAlreadyInitialized(ACLAdminAlreadyInitialized),
12454        ACLNotAdmin(ACLNotAdmin),
12455        ACLNotAllowed(ACLNotAllowed),
12456        AggregatorAlreadyExists(AggregatorAlreadyExists),
12457        AggregatorDoesNotExist(AggregatorDoesNotExist),
12458        AlreadyExecuted(AlreadyExecuted),
12459        AttestationQueueAlreadyExists(AttestationQueueAlreadyExists),
12460        AttestationQueueDoesNotExist(AttestationQueueDoesNotExist),
12461        CallExceededMaxGasCost(CallExceededMaxGasCost),
12462        CallIdAlreadyExists(CallIdAlreadyExists),
12463        ECDSAInvalidSignature(ECDSAInvalidSignature),
12464        ECDSAInvalidSignatureLength(ECDSAInvalidSignatureLength),
12465        ECDSAInvalidSignatureS(ECDSAInvalidSignatureS),
12466        EarlyOracleResponse(EarlyOracleResponse),
12467        EnclaveAlreadyExists(EnclaveAlreadyExists),
12468        EnclaveDoesNotExist(EnclaveDoesNotExist),
12469        EnclaveExpired(EnclaveExpired),
12470        EnclaveNotAtQueueIdx(EnclaveNotAtQueueIdx),
12471        EnclaveNotFullyStaked(EnclaveNotFullyStaked),
12472        EnclaveNotOnQueue(EnclaveNotOnQueue),
12473        EnclaveNotReadyForVerification(EnclaveNotReadyForVerification),
12474        EnclaveUnverified(EnclaveUnverified),
12475        ExcessiveGasSpent(ExcessiveGasSpent),
12476        ForceOverrideNotReady(ForceOverrideNotReady),
12477        FunctionAlreadyExists(FunctionAlreadyExists),
12478        FunctionCallerNotPermitted(FunctionCallerNotPermitted),
12479        FunctionDoesNotExist(FunctionDoesNotExist),
12480        FunctionFeeTooLow(FunctionFeeTooLow),
12481        FunctionIncorrectTarget(FunctionIncorrectTarget),
12482        FunctionMrEnclaveMismatch(FunctionMrEnclaveMismatch),
12483        FunctionSignerAlreadySet(FunctionSignerAlreadySet),
12484        GasLimitExceeded(GasLimitExceeded),
12485        Generic(Generic),
12486        IncorrectFunctionId(IncorrectFunctionId),
12487        IncorrectReportedTime(IncorrectReportedTime),
12488        IncorrectToken(IncorrectToken),
12489        InitializationFunctionReverted(InitializationFunctionReverted),
12490        InsufficientBalance(InsufficientBalance),
12491        InsufficientCallBalance(InsufficientCallBalance),
12492        InsufficientCallFeePaid(InsufficientCallFeePaid),
12493        InsufficientNodes(InsufficientNodes),
12494        InsufficientSamples(InsufficientSamples),
12495        IntervalHistoryNotRecorded(IntervalHistoryNotRecorded),
12496        InvalidArgument(InvalidArgument),
12497        InvalidAuthority(InvalidAuthority),
12498        InvalidCallId(InvalidCallId),
12499        InvalidCallbackParams(InvalidCallbackParams),
12500        InvalidEnclave(InvalidEnclave),
12501        InvalidEntry(InvalidEntry),
12502        InvalidRoutineId(InvalidRoutineId),
12503        InvalidSignature(InvalidSignature),
12504        InvalidSigner(InvalidSigner),
12505        InvalidStatus(InvalidStatus),
12506        MrEnclaveNotAllowed(MrEnclaveNotAllowed),
12507        OracleAlreadyExists(OracleAlreadyExists),
12508        OracleExpired(OracleExpired),
12509        OracleNotAtQueueIdx(OracleNotAtQueueIdx),
12510        OracleNotOnQueue(OracleNotOnQueue),
12511        OracleQueueDoesNotExist(OracleQueueDoesNotExist),
12512        PermissionDenied(PermissionDenied),
12513        QueuesDoNotMatch(QueuesDoNotMatch),
12514        RequestAlreadyExists(RequestAlreadyExists),
12515        RequestIdAlreadyExists(RequestIdAlreadyExists),
12516        RoutineIdAlreadyExists(RoutineIdAlreadyExists),
12517        RoutinesDisabled(RoutinesDisabled),
12518        StakeNotReady(StakeNotReady),
12519        StakeNotReadyForWithdrawal(StakeNotReadyForWithdrawal),
12520        SubmittedResultsMismatch(SubmittedResultsMismatch),
12521        TokenTransferFailure(TokenTransferFailure),
12522        TransactionExpired(TransactionExpired),
12523        /// The standard solidity revert string, with selector
12524        /// Error(string) -- 0x08c379a0
12525        RevertString(::std::string::String),
12526    }
12527    impl ::ethers::core::abi::AbiDecode for SwitchboardErrors {
12528        fn decode(
12529            data: impl AsRef<[u8]>,
12530        ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
12531            let data = data.as_ref();
12532            if let Ok(decoded) =
12533                <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data)
12534            {
12535                return Ok(Self::RevertString(decoded));
12536            }
12537            if let Ok(decoded) =
12538                <ACLAdminAlreadyInitialized as ::ethers::core::abi::AbiDecode>::decode(data)
12539            {
12540                return Ok(Self::ACLAdminAlreadyInitialized(decoded));
12541            }
12542            if let Ok(decoded) = <ACLNotAdmin as ::ethers::core::abi::AbiDecode>::decode(data) {
12543                return Ok(Self::ACLNotAdmin(decoded));
12544            }
12545            if let Ok(decoded) = <ACLNotAllowed as ::ethers::core::abi::AbiDecode>::decode(data) {
12546                return Ok(Self::ACLNotAllowed(decoded));
12547            }
12548            if let Ok(decoded) =
12549                <AggregatorAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12550            {
12551                return Ok(Self::AggregatorAlreadyExists(decoded));
12552            }
12553            if let Ok(decoded) =
12554                <AggregatorDoesNotExist as ::ethers::core::abi::AbiDecode>::decode(data)
12555            {
12556                return Ok(Self::AggregatorDoesNotExist(decoded));
12557            }
12558            if let Ok(decoded) = <AlreadyExecuted as ::ethers::core::abi::AbiDecode>::decode(data) {
12559                return Ok(Self::AlreadyExecuted(decoded));
12560            }
12561            if let Ok(decoded) =
12562                <AttestationQueueAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12563            {
12564                return Ok(Self::AttestationQueueAlreadyExists(decoded));
12565            }
12566            if let Ok(decoded) =
12567                <AttestationQueueDoesNotExist as ::ethers::core::abi::AbiDecode>::decode(data)
12568            {
12569                return Ok(Self::AttestationQueueDoesNotExist(decoded));
12570            }
12571            if let Ok(decoded) =
12572                <CallExceededMaxGasCost as ::ethers::core::abi::AbiDecode>::decode(data)
12573            {
12574                return Ok(Self::CallExceededMaxGasCost(decoded));
12575            }
12576            if let Ok(decoded) =
12577                <CallIdAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12578            {
12579                return Ok(Self::CallIdAlreadyExists(decoded));
12580            }
12581            if let Ok(decoded) =
12582                <ECDSAInvalidSignature as ::ethers::core::abi::AbiDecode>::decode(data)
12583            {
12584                return Ok(Self::ECDSAInvalidSignature(decoded));
12585            }
12586            if let Ok(decoded) =
12587                <ECDSAInvalidSignatureLength as ::ethers::core::abi::AbiDecode>::decode(data)
12588            {
12589                return Ok(Self::ECDSAInvalidSignatureLength(decoded));
12590            }
12591            if let Ok(decoded) =
12592                <ECDSAInvalidSignatureS as ::ethers::core::abi::AbiDecode>::decode(data)
12593            {
12594                return Ok(Self::ECDSAInvalidSignatureS(decoded));
12595            }
12596            if let Ok(decoded) =
12597                <EarlyOracleResponse as ::ethers::core::abi::AbiDecode>::decode(data)
12598            {
12599                return Ok(Self::EarlyOracleResponse(decoded));
12600            }
12601            if let Ok(decoded) =
12602                <EnclaveAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12603            {
12604                return Ok(Self::EnclaveAlreadyExists(decoded));
12605            }
12606            if let Ok(decoded) =
12607                <EnclaveDoesNotExist as ::ethers::core::abi::AbiDecode>::decode(data)
12608            {
12609                return Ok(Self::EnclaveDoesNotExist(decoded));
12610            }
12611            if let Ok(decoded) = <EnclaveExpired as ::ethers::core::abi::AbiDecode>::decode(data) {
12612                return Ok(Self::EnclaveExpired(decoded));
12613            }
12614            if let Ok(decoded) =
12615                <EnclaveNotAtQueueIdx as ::ethers::core::abi::AbiDecode>::decode(data)
12616            {
12617                return Ok(Self::EnclaveNotAtQueueIdx(decoded));
12618            }
12619            if let Ok(decoded) =
12620                <EnclaveNotFullyStaked as ::ethers::core::abi::AbiDecode>::decode(data)
12621            {
12622                return Ok(Self::EnclaveNotFullyStaked(decoded));
12623            }
12624            if let Ok(decoded) = <EnclaveNotOnQueue as ::ethers::core::abi::AbiDecode>::decode(data)
12625            {
12626                return Ok(Self::EnclaveNotOnQueue(decoded));
12627            }
12628            if let Ok(decoded) =
12629                <EnclaveNotReadyForVerification as ::ethers::core::abi::AbiDecode>::decode(data)
12630            {
12631                return Ok(Self::EnclaveNotReadyForVerification(decoded));
12632            }
12633            if let Ok(decoded) = <EnclaveUnverified as ::ethers::core::abi::AbiDecode>::decode(data)
12634            {
12635                return Ok(Self::EnclaveUnverified(decoded));
12636            }
12637            if let Ok(decoded) = <ExcessiveGasSpent as ::ethers::core::abi::AbiDecode>::decode(data)
12638            {
12639                return Ok(Self::ExcessiveGasSpent(decoded));
12640            }
12641            if let Ok(decoded) =
12642                <ForceOverrideNotReady as ::ethers::core::abi::AbiDecode>::decode(data)
12643            {
12644                return Ok(Self::ForceOverrideNotReady(decoded));
12645            }
12646            if let Ok(decoded) =
12647                <FunctionAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12648            {
12649                return Ok(Self::FunctionAlreadyExists(decoded));
12650            }
12651            if let Ok(decoded) =
12652                <FunctionCallerNotPermitted as ::ethers::core::abi::AbiDecode>::decode(data)
12653            {
12654                return Ok(Self::FunctionCallerNotPermitted(decoded));
12655            }
12656            if let Ok(decoded) =
12657                <FunctionDoesNotExist as ::ethers::core::abi::AbiDecode>::decode(data)
12658            {
12659                return Ok(Self::FunctionDoesNotExist(decoded));
12660            }
12661            if let Ok(decoded) = <FunctionFeeTooLow as ::ethers::core::abi::AbiDecode>::decode(data)
12662            {
12663                return Ok(Self::FunctionFeeTooLow(decoded));
12664            }
12665            if let Ok(decoded) =
12666                <FunctionIncorrectTarget as ::ethers::core::abi::AbiDecode>::decode(data)
12667            {
12668                return Ok(Self::FunctionIncorrectTarget(decoded));
12669            }
12670            if let Ok(decoded) =
12671                <FunctionMrEnclaveMismatch as ::ethers::core::abi::AbiDecode>::decode(data)
12672            {
12673                return Ok(Self::FunctionMrEnclaveMismatch(decoded));
12674            }
12675            if let Ok(decoded) =
12676                <FunctionSignerAlreadySet as ::ethers::core::abi::AbiDecode>::decode(data)
12677            {
12678                return Ok(Self::FunctionSignerAlreadySet(decoded));
12679            }
12680            if let Ok(decoded) = <GasLimitExceeded as ::ethers::core::abi::AbiDecode>::decode(data)
12681            {
12682                return Ok(Self::GasLimitExceeded(decoded));
12683            }
12684            if let Ok(decoded) = <Generic as ::ethers::core::abi::AbiDecode>::decode(data) {
12685                return Ok(Self::Generic(decoded));
12686            }
12687            if let Ok(decoded) =
12688                <IncorrectFunctionId as ::ethers::core::abi::AbiDecode>::decode(data)
12689            {
12690                return Ok(Self::IncorrectFunctionId(decoded));
12691            }
12692            if let Ok(decoded) =
12693                <IncorrectReportedTime as ::ethers::core::abi::AbiDecode>::decode(data)
12694            {
12695                return Ok(Self::IncorrectReportedTime(decoded));
12696            }
12697            if let Ok(decoded) = <IncorrectToken as ::ethers::core::abi::AbiDecode>::decode(data) {
12698                return Ok(Self::IncorrectToken(decoded));
12699            }
12700            if let Ok(decoded) =
12701                <InitializationFunctionReverted as ::ethers::core::abi::AbiDecode>::decode(data)
12702            {
12703                return Ok(Self::InitializationFunctionReverted(decoded));
12704            }
12705            if let Ok(decoded) =
12706                <InsufficientBalance as ::ethers::core::abi::AbiDecode>::decode(data)
12707            {
12708                return Ok(Self::InsufficientBalance(decoded));
12709            }
12710            if let Ok(decoded) =
12711                <InsufficientCallBalance as ::ethers::core::abi::AbiDecode>::decode(data)
12712            {
12713                return Ok(Self::InsufficientCallBalance(decoded));
12714            }
12715            if let Ok(decoded) =
12716                <InsufficientCallFeePaid as ::ethers::core::abi::AbiDecode>::decode(data)
12717            {
12718                return Ok(Self::InsufficientCallFeePaid(decoded));
12719            }
12720            if let Ok(decoded) = <InsufficientNodes as ::ethers::core::abi::AbiDecode>::decode(data)
12721            {
12722                return Ok(Self::InsufficientNodes(decoded));
12723            }
12724            if let Ok(decoded) =
12725                <InsufficientSamples as ::ethers::core::abi::AbiDecode>::decode(data)
12726            {
12727                return Ok(Self::InsufficientSamples(decoded));
12728            }
12729            if let Ok(decoded) =
12730                <IntervalHistoryNotRecorded as ::ethers::core::abi::AbiDecode>::decode(data)
12731            {
12732                return Ok(Self::IntervalHistoryNotRecorded(decoded));
12733            }
12734            if let Ok(decoded) = <InvalidArgument as ::ethers::core::abi::AbiDecode>::decode(data) {
12735                return Ok(Self::InvalidArgument(decoded));
12736            }
12737            if let Ok(decoded) = <InvalidAuthority as ::ethers::core::abi::AbiDecode>::decode(data)
12738            {
12739                return Ok(Self::InvalidAuthority(decoded));
12740            }
12741            if let Ok(decoded) = <InvalidCallId as ::ethers::core::abi::AbiDecode>::decode(data) {
12742                return Ok(Self::InvalidCallId(decoded));
12743            }
12744            if let Ok(decoded) =
12745                <InvalidCallbackParams as ::ethers::core::abi::AbiDecode>::decode(data)
12746            {
12747                return Ok(Self::InvalidCallbackParams(decoded));
12748            }
12749            if let Ok(decoded) = <InvalidEnclave as ::ethers::core::abi::AbiDecode>::decode(data) {
12750                return Ok(Self::InvalidEnclave(decoded));
12751            }
12752            if let Ok(decoded) = <InvalidEntry as ::ethers::core::abi::AbiDecode>::decode(data) {
12753                return Ok(Self::InvalidEntry(decoded));
12754            }
12755            if let Ok(decoded) = <InvalidRoutineId as ::ethers::core::abi::AbiDecode>::decode(data)
12756            {
12757                return Ok(Self::InvalidRoutineId(decoded));
12758            }
12759            if let Ok(decoded) = <InvalidSignature as ::ethers::core::abi::AbiDecode>::decode(data)
12760            {
12761                return Ok(Self::InvalidSignature(decoded));
12762            }
12763            if let Ok(decoded) = <InvalidSigner as ::ethers::core::abi::AbiDecode>::decode(data) {
12764                return Ok(Self::InvalidSigner(decoded));
12765            }
12766            if let Ok(decoded) = <InvalidStatus as ::ethers::core::abi::AbiDecode>::decode(data) {
12767                return Ok(Self::InvalidStatus(decoded));
12768            }
12769            if let Ok(decoded) =
12770                <MrEnclaveNotAllowed as ::ethers::core::abi::AbiDecode>::decode(data)
12771            {
12772                return Ok(Self::MrEnclaveNotAllowed(decoded));
12773            }
12774            if let Ok(decoded) =
12775                <OracleAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12776            {
12777                return Ok(Self::OracleAlreadyExists(decoded));
12778            }
12779            if let Ok(decoded) = <OracleExpired as ::ethers::core::abi::AbiDecode>::decode(data) {
12780                return Ok(Self::OracleExpired(decoded));
12781            }
12782            if let Ok(decoded) =
12783                <OracleNotAtQueueIdx as ::ethers::core::abi::AbiDecode>::decode(data)
12784            {
12785                return Ok(Self::OracleNotAtQueueIdx(decoded));
12786            }
12787            if let Ok(decoded) = <OracleNotOnQueue as ::ethers::core::abi::AbiDecode>::decode(data)
12788            {
12789                return Ok(Self::OracleNotOnQueue(decoded));
12790            }
12791            if let Ok(decoded) =
12792                <OracleQueueDoesNotExist as ::ethers::core::abi::AbiDecode>::decode(data)
12793            {
12794                return Ok(Self::OracleQueueDoesNotExist(decoded));
12795            }
12796            if let Ok(decoded) = <PermissionDenied as ::ethers::core::abi::AbiDecode>::decode(data)
12797            {
12798                return Ok(Self::PermissionDenied(decoded));
12799            }
12800            if let Ok(decoded) = <QueuesDoNotMatch as ::ethers::core::abi::AbiDecode>::decode(data)
12801            {
12802                return Ok(Self::QueuesDoNotMatch(decoded));
12803            }
12804            if let Ok(decoded) =
12805                <RequestAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12806            {
12807                return Ok(Self::RequestAlreadyExists(decoded));
12808            }
12809            if let Ok(decoded) =
12810                <RequestIdAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12811            {
12812                return Ok(Self::RequestIdAlreadyExists(decoded));
12813            }
12814            if let Ok(decoded) =
12815                <RoutineIdAlreadyExists as ::ethers::core::abi::AbiDecode>::decode(data)
12816            {
12817                return Ok(Self::RoutineIdAlreadyExists(decoded));
12818            }
12819            if let Ok(decoded) = <RoutinesDisabled as ::ethers::core::abi::AbiDecode>::decode(data)
12820            {
12821                return Ok(Self::RoutinesDisabled(decoded));
12822            }
12823            if let Ok(decoded) = <StakeNotReady as ::ethers::core::abi::AbiDecode>::decode(data) {
12824                return Ok(Self::StakeNotReady(decoded));
12825            }
12826            if let Ok(decoded) =
12827                <StakeNotReadyForWithdrawal as ::ethers::core::abi::AbiDecode>::decode(data)
12828            {
12829                return Ok(Self::StakeNotReadyForWithdrawal(decoded));
12830            }
12831            if let Ok(decoded) =
12832                <SubmittedResultsMismatch as ::ethers::core::abi::AbiDecode>::decode(data)
12833            {
12834                return Ok(Self::SubmittedResultsMismatch(decoded));
12835            }
12836            if let Ok(decoded) =
12837                <TokenTransferFailure as ::ethers::core::abi::AbiDecode>::decode(data)
12838            {
12839                return Ok(Self::TokenTransferFailure(decoded));
12840            }
12841            if let Ok(decoded) =
12842                <TransactionExpired as ::ethers::core::abi::AbiDecode>::decode(data)
12843            {
12844                return Ok(Self::TransactionExpired(decoded));
12845            }
12846            Err(::ethers::core::abi::Error::InvalidData.into())
12847        }
12848    }
12849    impl ::ethers::core::abi::AbiEncode for SwitchboardErrors {
12850        fn encode(self) -> ::std::vec::Vec<u8> {
12851            match self {
12852                Self::ACLAdminAlreadyInitialized(element) => {
12853                    ::ethers::core::abi::AbiEncode::encode(element)
12854                }
12855                Self::ACLNotAdmin(element) => ::ethers::core::abi::AbiEncode::encode(element),
12856                Self::ACLNotAllowed(element) => ::ethers::core::abi::AbiEncode::encode(element),
12857                Self::AggregatorAlreadyExists(element) => {
12858                    ::ethers::core::abi::AbiEncode::encode(element)
12859                }
12860                Self::AggregatorDoesNotExist(element) => {
12861                    ::ethers::core::abi::AbiEncode::encode(element)
12862                }
12863                Self::AlreadyExecuted(element) => ::ethers::core::abi::AbiEncode::encode(element),
12864                Self::AttestationQueueAlreadyExists(element) => {
12865                    ::ethers::core::abi::AbiEncode::encode(element)
12866                }
12867                Self::AttestationQueueDoesNotExist(element) => {
12868                    ::ethers::core::abi::AbiEncode::encode(element)
12869                }
12870                Self::CallExceededMaxGasCost(element) => {
12871                    ::ethers::core::abi::AbiEncode::encode(element)
12872                }
12873                Self::CallIdAlreadyExists(element) => {
12874                    ::ethers::core::abi::AbiEncode::encode(element)
12875                }
12876                Self::ECDSAInvalidSignature(element) => {
12877                    ::ethers::core::abi::AbiEncode::encode(element)
12878                }
12879                Self::ECDSAInvalidSignatureLength(element) => {
12880                    ::ethers::core::abi::AbiEncode::encode(element)
12881                }
12882                Self::ECDSAInvalidSignatureS(element) => {
12883                    ::ethers::core::abi::AbiEncode::encode(element)
12884                }
12885                Self::EarlyOracleResponse(element) => {
12886                    ::ethers::core::abi::AbiEncode::encode(element)
12887                }
12888                Self::EnclaveAlreadyExists(element) => {
12889                    ::ethers::core::abi::AbiEncode::encode(element)
12890                }
12891                Self::EnclaveDoesNotExist(element) => {
12892                    ::ethers::core::abi::AbiEncode::encode(element)
12893                }
12894                Self::EnclaveExpired(element) => ::ethers::core::abi::AbiEncode::encode(element),
12895                Self::EnclaveNotAtQueueIdx(element) => {
12896                    ::ethers::core::abi::AbiEncode::encode(element)
12897                }
12898                Self::EnclaveNotFullyStaked(element) => {
12899                    ::ethers::core::abi::AbiEncode::encode(element)
12900                }
12901                Self::EnclaveNotOnQueue(element) => ::ethers::core::abi::AbiEncode::encode(element),
12902                Self::EnclaveNotReadyForVerification(element) => {
12903                    ::ethers::core::abi::AbiEncode::encode(element)
12904                }
12905                Self::EnclaveUnverified(element) => ::ethers::core::abi::AbiEncode::encode(element),
12906                Self::ExcessiveGasSpent(element) => ::ethers::core::abi::AbiEncode::encode(element),
12907                Self::ForceOverrideNotReady(element) => {
12908                    ::ethers::core::abi::AbiEncode::encode(element)
12909                }
12910                Self::FunctionAlreadyExists(element) => {
12911                    ::ethers::core::abi::AbiEncode::encode(element)
12912                }
12913                Self::FunctionCallerNotPermitted(element) => {
12914                    ::ethers::core::abi::AbiEncode::encode(element)
12915                }
12916                Self::FunctionDoesNotExist(element) => {
12917                    ::ethers::core::abi::AbiEncode::encode(element)
12918                }
12919                Self::FunctionFeeTooLow(element) => ::ethers::core::abi::AbiEncode::encode(element),
12920                Self::FunctionIncorrectTarget(element) => {
12921                    ::ethers::core::abi::AbiEncode::encode(element)
12922                }
12923                Self::FunctionMrEnclaveMismatch(element) => {
12924                    ::ethers::core::abi::AbiEncode::encode(element)
12925                }
12926                Self::FunctionSignerAlreadySet(element) => {
12927                    ::ethers::core::abi::AbiEncode::encode(element)
12928                }
12929                Self::GasLimitExceeded(element) => ::ethers::core::abi::AbiEncode::encode(element),
12930                Self::Generic(element) => ::ethers::core::abi::AbiEncode::encode(element),
12931                Self::IncorrectFunctionId(element) => {
12932                    ::ethers::core::abi::AbiEncode::encode(element)
12933                }
12934                Self::IncorrectReportedTime(element) => {
12935                    ::ethers::core::abi::AbiEncode::encode(element)
12936                }
12937                Self::IncorrectToken(element) => ::ethers::core::abi::AbiEncode::encode(element),
12938                Self::InitializationFunctionReverted(element) => {
12939                    ::ethers::core::abi::AbiEncode::encode(element)
12940                }
12941                Self::InsufficientBalance(element) => {
12942                    ::ethers::core::abi::AbiEncode::encode(element)
12943                }
12944                Self::InsufficientCallBalance(element) => {
12945                    ::ethers::core::abi::AbiEncode::encode(element)
12946                }
12947                Self::InsufficientCallFeePaid(element) => {
12948                    ::ethers::core::abi::AbiEncode::encode(element)
12949                }
12950                Self::InsufficientNodes(element) => ::ethers::core::abi::AbiEncode::encode(element),
12951                Self::InsufficientSamples(element) => {
12952                    ::ethers::core::abi::AbiEncode::encode(element)
12953                }
12954                Self::IntervalHistoryNotRecorded(element) => {
12955                    ::ethers::core::abi::AbiEncode::encode(element)
12956                }
12957                Self::InvalidArgument(element) => ::ethers::core::abi::AbiEncode::encode(element),
12958                Self::InvalidAuthority(element) => ::ethers::core::abi::AbiEncode::encode(element),
12959                Self::InvalidCallId(element) => ::ethers::core::abi::AbiEncode::encode(element),
12960                Self::InvalidCallbackParams(element) => {
12961                    ::ethers::core::abi::AbiEncode::encode(element)
12962                }
12963                Self::InvalidEnclave(element) => ::ethers::core::abi::AbiEncode::encode(element),
12964                Self::InvalidEntry(element) => ::ethers::core::abi::AbiEncode::encode(element),
12965                Self::InvalidRoutineId(element) => ::ethers::core::abi::AbiEncode::encode(element),
12966                Self::InvalidSignature(element) => ::ethers::core::abi::AbiEncode::encode(element),
12967                Self::InvalidSigner(element) => ::ethers::core::abi::AbiEncode::encode(element),
12968                Self::InvalidStatus(element) => ::ethers::core::abi::AbiEncode::encode(element),
12969                Self::MrEnclaveNotAllowed(element) => {
12970                    ::ethers::core::abi::AbiEncode::encode(element)
12971                }
12972                Self::OracleAlreadyExists(element) => {
12973                    ::ethers::core::abi::AbiEncode::encode(element)
12974                }
12975                Self::OracleExpired(element) => ::ethers::core::abi::AbiEncode::encode(element),
12976                Self::OracleNotAtQueueIdx(element) => {
12977                    ::ethers::core::abi::AbiEncode::encode(element)
12978                }
12979                Self::OracleNotOnQueue(element) => ::ethers::core::abi::AbiEncode::encode(element),
12980                Self::OracleQueueDoesNotExist(element) => {
12981                    ::ethers::core::abi::AbiEncode::encode(element)
12982                }
12983                Self::PermissionDenied(element) => ::ethers::core::abi::AbiEncode::encode(element),
12984                Self::QueuesDoNotMatch(element) => ::ethers::core::abi::AbiEncode::encode(element),
12985                Self::RequestAlreadyExists(element) => {
12986                    ::ethers::core::abi::AbiEncode::encode(element)
12987                }
12988                Self::RequestIdAlreadyExists(element) => {
12989                    ::ethers::core::abi::AbiEncode::encode(element)
12990                }
12991                Self::RoutineIdAlreadyExists(element) => {
12992                    ::ethers::core::abi::AbiEncode::encode(element)
12993                }
12994                Self::RoutinesDisabled(element) => ::ethers::core::abi::AbiEncode::encode(element),
12995                Self::StakeNotReady(element) => ::ethers::core::abi::AbiEncode::encode(element),
12996                Self::StakeNotReadyForWithdrawal(element) => {
12997                    ::ethers::core::abi::AbiEncode::encode(element)
12998                }
12999                Self::SubmittedResultsMismatch(element) => {
13000                    ::ethers::core::abi::AbiEncode::encode(element)
13001                }
13002                Self::TokenTransferFailure(element) => {
13003                    ::ethers::core::abi::AbiEncode::encode(element)
13004                }
13005                Self::TransactionExpired(element) => {
13006                    ::ethers::core::abi::AbiEncode::encode(element)
13007                }
13008                Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s),
13009            }
13010        }
13011    }
13012    impl ::ethers::contract::ContractRevert for SwitchboardErrors {
13013        fn valid_selector(selector: [u8; 4]) -> bool {
13014            match selector {
13015                [0x08, 0xc3, 0x79, 0xa0] => true,
13016                _ if selector
13017                    == <ACLAdminAlreadyInitialized as ::ethers::contract::EthError>::selector() => {
13018                    true
13019                }
13020                _ if selector
13021                    == <ACLNotAdmin as ::ethers::contract::EthError>::selector() => true,
13022                _ if selector
13023                    == <ACLNotAllowed as ::ethers::contract::EthError>::selector() => {
13024                    true
13025                }
13026                _ if selector
13027                    == <AggregatorAlreadyExists as ::ethers::contract::EthError>::selector() => {
13028                    true
13029                }
13030                _ if selector
13031                    == <AggregatorDoesNotExist as ::ethers::contract::EthError>::selector() => {
13032                    true
13033                }
13034                _ if selector
13035                    == <AlreadyExecuted as ::ethers::contract::EthError>::selector() => {
13036                    true
13037                }
13038                _ if selector
13039                    == <AttestationQueueAlreadyExists as ::ethers::contract::EthError>::selector() => {
13040                    true
13041                }
13042                _ if selector
13043                    == <AttestationQueueDoesNotExist as ::ethers::contract::EthError>::selector() => {
13044                    true
13045                }
13046                _ if selector
13047                    == <CallExceededMaxGasCost as ::ethers::contract::EthError>::selector() => {
13048                    true
13049                }
13050                _ if selector
13051                    == <CallIdAlreadyExists as ::ethers::contract::EthError>::selector() => {
13052                    true
13053                }
13054                _ if selector
13055                    == <ECDSAInvalidSignature as ::ethers::contract::EthError>::selector() => {
13056                    true
13057                }
13058                _ if selector
13059                    == <ECDSAInvalidSignatureLength as ::ethers::contract::EthError>::selector() => {
13060                    true
13061                }
13062                _ if selector
13063                    == <ECDSAInvalidSignatureS as ::ethers::contract::EthError>::selector() => {
13064                    true
13065                }
13066                _ if selector
13067                    == <EarlyOracleResponse as ::ethers::contract::EthError>::selector() => {
13068                    true
13069                }
13070                _ if selector
13071                    == <EnclaveAlreadyExists as ::ethers::contract::EthError>::selector() => {
13072                    true
13073                }
13074                _ if selector
13075                    == <EnclaveDoesNotExist as ::ethers::contract::EthError>::selector() => {
13076                    true
13077                }
13078                _ if selector
13079                    == <EnclaveExpired as ::ethers::contract::EthError>::selector() => {
13080                    true
13081                }
13082                _ if selector
13083                    == <EnclaveNotAtQueueIdx as ::ethers::contract::EthError>::selector() => {
13084                    true
13085                }
13086                _ if selector
13087                    == <EnclaveNotFullyStaked as ::ethers::contract::EthError>::selector() => {
13088                    true
13089                }
13090                _ if selector
13091                    == <EnclaveNotOnQueue as ::ethers::contract::EthError>::selector() => {
13092                    true
13093                }
13094                _ if selector
13095                    == <EnclaveNotReadyForVerification as ::ethers::contract::EthError>::selector() => {
13096                    true
13097                }
13098                _ if selector
13099                    == <EnclaveUnverified as ::ethers::contract::EthError>::selector() => {
13100                    true
13101                }
13102                _ if selector
13103                    == <ExcessiveGasSpent as ::ethers::contract::EthError>::selector() => {
13104                    true
13105                }
13106                _ if selector
13107                    == <ForceOverrideNotReady as ::ethers::contract::EthError>::selector() => {
13108                    true
13109                }
13110                _ if selector
13111                    == <FunctionAlreadyExists as ::ethers::contract::EthError>::selector() => {
13112                    true
13113                }
13114                _ if selector
13115                    == <FunctionCallerNotPermitted as ::ethers::contract::EthError>::selector() => {
13116                    true
13117                }
13118                _ if selector
13119                    == <FunctionDoesNotExist as ::ethers::contract::EthError>::selector() => {
13120                    true
13121                }
13122                _ if selector
13123                    == <FunctionFeeTooLow as ::ethers::contract::EthError>::selector() => {
13124                    true
13125                }
13126                _ if selector
13127                    == <FunctionIncorrectTarget as ::ethers::contract::EthError>::selector() => {
13128                    true
13129                }
13130                _ if selector
13131                    == <FunctionMrEnclaveMismatch as ::ethers::contract::EthError>::selector() => {
13132                    true
13133                }
13134                _ if selector
13135                    == <FunctionSignerAlreadySet as ::ethers::contract::EthError>::selector() => {
13136                    true
13137                }
13138                _ if selector
13139                    == <GasLimitExceeded as ::ethers::contract::EthError>::selector() => {
13140                    true
13141                }
13142                _ if selector
13143                    == <Generic as ::ethers::contract::EthError>::selector() => true,
13144                _ if selector
13145                    == <IncorrectFunctionId as ::ethers::contract::EthError>::selector() => {
13146                    true
13147                }
13148                _ if selector
13149                    == <IncorrectReportedTime as ::ethers::contract::EthError>::selector() => {
13150                    true
13151                }
13152                _ if selector
13153                    == <IncorrectToken as ::ethers::contract::EthError>::selector() => {
13154                    true
13155                }
13156                _ if selector
13157                    == <InitializationFunctionReverted as ::ethers::contract::EthError>::selector() => {
13158                    true
13159                }
13160                _ if selector
13161                    == <InsufficientBalance as ::ethers::contract::EthError>::selector() => {
13162                    true
13163                }
13164                _ if selector
13165                    == <InsufficientCallBalance as ::ethers::contract::EthError>::selector() => {
13166                    true
13167                }
13168                _ if selector
13169                    == <InsufficientCallFeePaid as ::ethers::contract::EthError>::selector() => {
13170                    true
13171                }
13172                _ if selector
13173                    == <InsufficientNodes as ::ethers::contract::EthError>::selector() => {
13174                    true
13175                }
13176                _ if selector
13177                    == <InsufficientSamples as ::ethers::contract::EthError>::selector() => {
13178                    true
13179                }
13180                _ if selector
13181                    == <IntervalHistoryNotRecorded as ::ethers::contract::EthError>::selector() => {
13182                    true
13183                }
13184                _ if selector
13185                    == <InvalidArgument as ::ethers::contract::EthError>::selector() => {
13186                    true
13187                }
13188                _ if selector
13189                    == <InvalidAuthority as ::ethers::contract::EthError>::selector() => {
13190                    true
13191                }
13192                _ if selector
13193                    == <InvalidCallId as ::ethers::contract::EthError>::selector() => {
13194                    true
13195                }
13196                _ if selector
13197                    == <InvalidCallbackParams as ::ethers::contract::EthError>::selector() => {
13198                    true
13199                }
13200                _ if selector
13201                    == <InvalidEnclave as ::ethers::contract::EthError>::selector() => {
13202                    true
13203                }
13204                _ if selector
13205                    == <InvalidEntry as ::ethers::contract::EthError>::selector() => true,
13206                _ if selector
13207                    == <InvalidRoutineId as ::ethers::contract::EthError>::selector() => {
13208                    true
13209                }
13210                _ if selector
13211                    == <InvalidSignature as ::ethers::contract::EthError>::selector() => {
13212                    true
13213                }
13214                _ if selector
13215                    == <InvalidSigner as ::ethers::contract::EthError>::selector() => {
13216                    true
13217                }
13218                _ if selector
13219                    == <InvalidStatus as ::ethers::contract::EthError>::selector() => {
13220                    true
13221                }
13222                _ if selector
13223                    == <MrEnclaveNotAllowed as ::ethers::contract::EthError>::selector() => {
13224                    true
13225                }
13226                _ if selector
13227                    == <OracleAlreadyExists as ::ethers::contract::EthError>::selector() => {
13228                    true
13229                }
13230                _ if selector
13231                    == <OracleExpired as ::ethers::contract::EthError>::selector() => {
13232                    true
13233                }
13234                _ if selector
13235                    == <OracleNotAtQueueIdx as ::ethers::contract::EthError>::selector() => {
13236                    true
13237                }
13238                _ if selector
13239                    == <OracleNotOnQueue as ::ethers::contract::EthError>::selector() => {
13240                    true
13241                }
13242                _ if selector
13243                    == <OracleQueueDoesNotExist as ::ethers::contract::EthError>::selector() => {
13244                    true
13245                }
13246                _ if selector
13247                    == <PermissionDenied as ::ethers::contract::EthError>::selector() => {
13248                    true
13249                }
13250                _ if selector
13251                    == <QueuesDoNotMatch as ::ethers::contract::EthError>::selector() => {
13252                    true
13253                }
13254                _ if selector
13255                    == <RequestAlreadyExists as ::ethers::contract::EthError>::selector() => {
13256                    true
13257                }
13258                _ if selector
13259                    == <RequestIdAlreadyExists as ::ethers::contract::EthError>::selector() => {
13260                    true
13261                }
13262                _ if selector
13263                    == <RoutineIdAlreadyExists as ::ethers::contract::EthError>::selector() => {
13264                    true
13265                }
13266                _ if selector
13267                    == <RoutinesDisabled as ::ethers::contract::EthError>::selector() => {
13268                    true
13269                }
13270                _ if selector
13271                    == <StakeNotReady as ::ethers::contract::EthError>::selector() => {
13272                    true
13273                }
13274                _ if selector
13275                    == <StakeNotReadyForWithdrawal as ::ethers::contract::EthError>::selector() => {
13276                    true
13277                }
13278                _ if selector
13279                    == <SubmittedResultsMismatch as ::ethers::contract::EthError>::selector() => {
13280                    true
13281                }
13282                _ if selector
13283                    == <TokenTransferFailure as ::ethers::contract::EthError>::selector() => {
13284                    true
13285                }
13286                _ if selector
13287                    == <TransactionExpired as ::ethers::contract::EthError>::selector() => {
13288                    true
13289                }
13290                _ => false,
13291            }
13292        }
13293    }
13294    impl ::core::fmt::Display for SwitchboardErrors {
13295        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13296            match self {
13297                Self::ACLAdminAlreadyInitialized(element) => ::core::fmt::Display::fmt(element, f),
13298                Self::ACLNotAdmin(element) => ::core::fmt::Display::fmt(element, f),
13299                Self::ACLNotAllowed(element) => ::core::fmt::Display::fmt(element, f),
13300                Self::AggregatorAlreadyExists(element) => ::core::fmt::Display::fmt(element, f),
13301                Self::AggregatorDoesNotExist(element) => ::core::fmt::Display::fmt(element, f),
13302                Self::AlreadyExecuted(element) => ::core::fmt::Display::fmt(element, f),
13303                Self::AttestationQueueAlreadyExists(element) => {
13304                    ::core::fmt::Display::fmt(element, f)
13305                }
13306                Self::AttestationQueueDoesNotExist(element) => {
13307                    ::core::fmt::Display::fmt(element, f)
13308                }
13309                Self::CallExceededMaxGasCost(element) => ::core::fmt::Display::fmt(element, f),
13310                Self::CallIdAlreadyExists(element) => ::core::fmt::Display::fmt(element, f),
13311                Self::ECDSAInvalidSignature(element) => ::core::fmt::Display::fmt(element, f),
13312                Self::ECDSAInvalidSignatureLength(element) => ::core::fmt::Display::fmt(element, f),
13313                Self::ECDSAInvalidSignatureS(element) => ::core::fmt::Display::fmt(element, f),
13314                Self::EarlyOracleResponse(element) => ::core::fmt::Display::fmt(element, f),
13315                Self::EnclaveAlreadyExists(element) => ::core::fmt::Display::fmt(element, f),
13316                Self::EnclaveDoesNotExist(element) => ::core::fmt::Display::fmt(element, f),
13317                Self::EnclaveExpired(element) => ::core::fmt::Display::fmt(element, f),
13318                Self::EnclaveNotAtQueueIdx(element) => ::core::fmt::Display::fmt(element, f),
13319                Self::EnclaveNotFullyStaked(element) => ::core::fmt::Display::fmt(element, f),
13320                Self::EnclaveNotOnQueue(element) => ::core::fmt::Display::fmt(element, f),
13321                Self::EnclaveNotReadyForVerification(element) => {
13322                    ::core::fmt::Display::fmt(element, f)
13323                }
13324                Self::EnclaveUnverified(element) => ::core::fmt::Display::fmt(element, f),
13325                Self::ExcessiveGasSpent(element) => ::core::fmt::Display::fmt(element, f),
13326                Self::ForceOverrideNotReady(element) => ::core::fmt::Display::fmt(element, f),
13327                Self::FunctionAlreadyExists(element) => ::core::fmt::Display::fmt(element, f),
13328                Self::FunctionCallerNotPermitted(element) => ::core::fmt::Display::fmt(element, f),
13329                Self::FunctionDoesNotExist(element) => ::core::fmt::Display::fmt(element, f),
13330                Self::FunctionFeeTooLow(element) => ::core::fmt::Display::fmt(element, f),
13331                Self::FunctionIncorrectTarget(element) => ::core::fmt::Display::fmt(element, f),
13332                Self::FunctionMrEnclaveMismatch(element) => ::core::fmt::Display::fmt(element, f),
13333                Self::FunctionSignerAlreadySet(element) => ::core::fmt::Display::fmt(element, f),
13334                Self::GasLimitExceeded(element) => ::core::fmt::Display::fmt(element, f),
13335                Self::Generic(element) => ::core::fmt::Display::fmt(element, f),
13336                Self::IncorrectFunctionId(element) => ::core::fmt::Display::fmt(element, f),
13337                Self::IncorrectReportedTime(element) => ::core::fmt::Display::fmt(element, f),
13338                Self::IncorrectToken(element) => ::core::fmt::Display::fmt(element, f),
13339                Self::InitializationFunctionReverted(element) => {
13340                    ::core::fmt::Display::fmt(element, f)
13341                }
13342                Self::InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f),
13343                Self::InsufficientCallBalance(element) => ::core::fmt::Display::fmt(element, f),
13344                Self::InsufficientCallFeePaid(element) => ::core::fmt::Display::fmt(element, f),
13345                Self::InsufficientNodes(element) => ::core::fmt::Display::fmt(element, f),
13346                Self::InsufficientSamples(element) => ::core::fmt::Display::fmt(element, f),
13347                Self::IntervalHistoryNotRecorded(element) => ::core::fmt::Display::fmt(element, f),
13348                Self::InvalidArgument(element) => ::core::fmt::Display::fmt(element, f),
13349                Self::InvalidAuthority(element) => ::core::fmt::Display::fmt(element, f),
13350                Self::InvalidCallId(element) => ::core::fmt::Display::fmt(element, f),
13351                Self::InvalidCallbackParams(element) => ::core::fmt::Display::fmt(element, f),
13352                Self::InvalidEnclave(element) => ::core::fmt::Display::fmt(element, f),
13353                Self::InvalidEntry(element) => ::core::fmt::Display::fmt(element, f),
13354                Self::InvalidRoutineId(element) => ::core::fmt::Display::fmt(element, f),
13355                Self::InvalidSignature(element) => ::core::fmt::Display::fmt(element, f),
13356                Self::InvalidSigner(element) => ::core::fmt::Display::fmt(element, f),
13357                Self::InvalidStatus(element) => ::core::fmt::Display::fmt(element, f),
13358                Self::MrEnclaveNotAllowed(element) => ::core::fmt::Display::fmt(element, f),
13359                Self::OracleAlreadyExists(element) => ::core::fmt::Display::fmt(element, f),
13360                Self::OracleExpired(element) => ::core::fmt::Display::fmt(element, f),
13361                Self::OracleNotAtQueueIdx(element) => ::core::fmt::Display::fmt(element, f),
13362                Self::OracleNotOnQueue(element) => ::core::fmt::Display::fmt(element, f),
13363                Self::OracleQueueDoesNotExist(element) => ::core::fmt::Display::fmt(element, f),
13364                Self::PermissionDenied(element) => ::core::fmt::Display::fmt(element, f),
13365                Self::QueuesDoNotMatch(element) => ::core::fmt::Display::fmt(element, f),
13366                Self::RequestAlreadyExists(element) => ::core::fmt::Display::fmt(element, f),
13367                Self::RequestIdAlreadyExists(element) => ::core::fmt::Display::fmt(element, f),
13368                Self::RoutineIdAlreadyExists(element) => ::core::fmt::Display::fmt(element, f),
13369                Self::RoutinesDisabled(element) => ::core::fmt::Display::fmt(element, f),
13370                Self::StakeNotReady(element) => ::core::fmt::Display::fmt(element, f),
13371                Self::StakeNotReadyForWithdrawal(element) => ::core::fmt::Display::fmt(element, f),
13372                Self::SubmittedResultsMismatch(element) => ::core::fmt::Display::fmt(element, f),
13373                Self::TokenTransferFailure(element) => ::core::fmt::Display::fmt(element, f),
13374                Self::TransactionExpired(element) => ::core::fmt::Display::fmt(element, f),
13375                Self::RevertString(s) => ::core::fmt::Display::fmt(s, f),
13376            }
13377        }
13378    }
13379    impl ::core::convert::From<::std::string::String> for SwitchboardErrors {
13380        fn from(value: String) -> Self {
13381            Self::RevertString(value)
13382        }
13383    }
13384    impl ::core::convert::From<ACLAdminAlreadyInitialized> for SwitchboardErrors {
13385        fn from(value: ACLAdminAlreadyInitialized) -> Self {
13386            Self::ACLAdminAlreadyInitialized(value)
13387        }
13388    }
13389    impl ::core::convert::From<ACLNotAdmin> for SwitchboardErrors {
13390        fn from(value: ACLNotAdmin) -> Self {
13391            Self::ACLNotAdmin(value)
13392        }
13393    }
13394    impl ::core::convert::From<ACLNotAllowed> for SwitchboardErrors {
13395        fn from(value: ACLNotAllowed) -> Self {
13396            Self::ACLNotAllowed(value)
13397        }
13398    }
13399    impl ::core::convert::From<AggregatorAlreadyExists> for SwitchboardErrors {
13400        fn from(value: AggregatorAlreadyExists) -> Self {
13401            Self::AggregatorAlreadyExists(value)
13402        }
13403    }
13404    impl ::core::convert::From<AggregatorDoesNotExist> for SwitchboardErrors {
13405        fn from(value: AggregatorDoesNotExist) -> Self {
13406            Self::AggregatorDoesNotExist(value)
13407        }
13408    }
13409    impl ::core::convert::From<AlreadyExecuted> for SwitchboardErrors {
13410        fn from(value: AlreadyExecuted) -> Self {
13411            Self::AlreadyExecuted(value)
13412        }
13413    }
13414    impl ::core::convert::From<AttestationQueueAlreadyExists> for SwitchboardErrors {
13415        fn from(value: AttestationQueueAlreadyExists) -> Self {
13416            Self::AttestationQueueAlreadyExists(value)
13417        }
13418    }
13419    impl ::core::convert::From<AttestationQueueDoesNotExist> for SwitchboardErrors {
13420        fn from(value: AttestationQueueDoesNotExist) -> Self {
13421            Self::AttestationQueueDoesNotExist(value)
13422        }
13423    }
13424    impl ::core::convert::From<CallExceededMaxGasCost> for SwitchboardErrors {
13425        fn from(value: CallExceededMaxGasCost) -> Self {
13426            Self::CallExceededMaxGasCost(value)
13427        }
13428    }
13429    impl ::core::convert::From<CallIdAlreadyExists> for SwitchboardErrors {
13430        fn from(value: CallIdAlreadyExists) -> Self {
13431            Self::CallIdAlreadyExists(value)
13432        }
13433    }
13434    impl ::core::convert::From<ECDSAInvalidSignature> for SwitchboardErrors {
13435        fn from(value: ECDSAInvalidSignature) -> Self {
13436            Self::ECDSAInvalidSignature(value)
13437        }
13438    }
13439    impl ::core::convert::From<ECDSAInvalidSignatureLength> for SwitchboardErrors {
13440        fn from(value: ECDSAInvalidSignatureLength) -> Self {
13441            Self::ECDSAInvalidSignatureLength(value)
13442        }
13443    }
13444    impl ::core::convert::From<ECDSAInvalidSignatureS> for SwitchboardErrors {
13445        fn from(value: ECDSAInvalidSignatureS) -> Self {
13446            Self::ECDSAInvalidSignatureS(value)
13447        }
13448    }
13449    impl ::core::convert::From<EarlyOracleResponse> for SwitchboardErrors {
13450        fn from(value: EarlyOracleResponse) -> Self {
13451            Self::EarlyOracleResponse(value)
13452        }
13453    }
13454    impl ::core::convert::From<EnclaveAlreadyExists> for SwitchboardErrors {
13455        fn from(value: EnclaveAlreadyExists) -> Self {
13456            Self::EnclaveAlreadyExists(value)
13457        }
13458    }
13459    impl ::core::convert::From<EnclaveDoesNotExist> for SwitchboardErrors {
13460        fn from(value: EnclaveDoesNotExist) -> Self {
13461            Self::EnclaveDoesNotExist(value)
13462        }
13463    }
13464    impl ::core::convert::From<EnclaveExpired> for SwitchboardErrors {
13465        fn from(value: EnclaveExpired) -> Self {
13466            Self::EnclaveExpired(value)
13467        }
13468    }
13469    impl ::core::convert::From<EnclaveNotAtQueueIdx> for SwitchboardErrors {
13470        fn from(value: EnclaveNotAtQueueIdx) -> Self {
13471            Self::EnclaveNotAtQueueIdx(value)
13472        }
13473    }
13474    impl ::core::convert::From<EnclaveNotFullyStaked> for SwitchboardErrors {
13475        fn from(value: EnclaveNotFullyStaked) -> Self {
13476            Self::EnclaveNotFullyStaked(value)
13477        }
13478    }
13479    impl ::core::convert::From<EnclaveNotOnQueue> for SwitchboardErrors {
13480        fn from(value: EnclaveNotOnQueue) -> Self {
13481            Self::EnclaveNotOnQueue(value)
13482        }
13483    }
13484    impl ::core::convert::From<EnclaveNotReadyForVerification> for SwitchboardErrors {
13485        fn from(value: EnclaveNotReadyForVerification) -> Self {
13486            Self::EnclaveNotReadyForVerification(value)
13487        }
13488    }
13489    impl ::core::convert::From<EnclaveUnverified> for SwitchboardErrors {
13490        fn from(value: EnclaveUnverified) -> Self {
13491            Self::EnclaveUnverified(value)
13492        }
13493    }
13494    impl ::core::convert::From<ExcessiveGasSpent> for SwitchboardErrors {
13495        fn from(value: ExcessiveGasSpent) -> Self {
13496            Self::ExcessiveGasSpent(value)
13497        }
13498    }
13499    impl ::core::convert::From<ForceOverrideNotReady> for SwitchboardErrors {
13500        fn from(value: ForceOverrideNotReady) -> Self {
13501            Self::ForceOverrideNotReady(value)
13502        }
13503    }
13504    impl ::core::convert::From<FunctionAlreadyExists> for SwitchboardErrors {
13505        fn from(value: FunctionAlreadyExists) -> Self {
13506            Self::FunctionAlreadyExists(value)
13507        }
13508    }
13509    impl ::core::convert::From<FunctionCallerNotPermitted> for SwitchboardErrors {
13510        fn from(value: FunctionCallerNotPermitted) -> Self {
13511            Self::FunctionCallerNotPermitted(value)
13512        }
13513    }
13514    impl ::core::convert::From<FunctionDoesNotExist> for SwitchboardErrors {
13515        fn from(value: FunctionDoesNotExist) -> Self {
13516            Self::FunctionDoesNotExist(value)
13517        }
13518    }
13519    impl ::core::convert::From<FunctionFeeTooLow> for SwitchboardErrors {
13520        fn from(value: FunctionFeeTooLow) -> Self {
13521            Self::FunctionFeeTooLow(value)
13522        }
13523    }
13524    impl ::core::convert::From<FunctionIncorrectTarget> for SwitchboardErrors {
13525        fn from(value: FunctionIncorrectTarget) -> Self {
13526            Self::FunctionIncorrectTarget(value)
13527        }
13528    }
13529    impl ::core::convert::From<FunctionMrEnclaveMismatch> for SwitchboardErrors {
13530        fn from(value: FunctionMrEnclaveMismatch) -> Self {
13531            Self::FunctionMrEnclaveMismatch(value)
13532        }
13533    }
13534    impl ::core::convert::From<FunctionSignerAlreadySet> for SwitchboardErrors {
13535        fn from(value: FunctionSignerAlreadySet) -> Self {
13536            Self::FunctionSignerAlreadySet(value)
13537        }
13538    }
13539    impl ::core::convert::From<GasLimitExceeded> for SwitchboardErrors {
13540        fn from(value: GasLimitExceeded) -> Self {
13541            Self::GasLimitExceeded(value)
13542        }
13543    }
13544    impl ::core::convert::From<Generic> for SwitchboardErrors {
13545        fn from(value: Generic) -> Self {
13546            Self::Generic(value)
13547        }
13548    }
13549    impl ::core::convert::From<IncorrectFunctionId> for SwitchboardErrors {
13550        fn from(value: IncorrectFunctionId) -> Self {
13551            Self::IncorrectFunctionId(value)
13552        }
13553    }
13554    impl ::core::convert::From<IncorrectReportedTime> for SwitchboardErrors {
13555        fn from(value: IncorrectReportedTime) -> Self {
13556            Self::IncorrectReportedTime(value)
13557        }
13558    }
13559    impl ::core::convert::From<IncorrectToken> for SwitchboardErrors {
13560        fn from(value: IncorrectToken) -> Self {
13561            Self::IncorrectToken(value)
13562        }
13563    }
13564    impl ::core::convert::From<InitializationFunctionReverted> for SwitchboardErrors {
13565        fn from(value: InitializationFunctionReverted) -> Self {
13566            Self::InitializationFunctionReverted(value)
13567        }
13568    }
13569    impl ::core::convert::From<InsufficientBalance> for SwitchboardErrors {
13570        fn from(value: InsufficientBalance) -> Self {
13571            Self::InsufficientBalance(value)
13572        }
13573    }
13574    impl ::core::convert::From<InsufficientCallBalance> for SwitchboardErrors {
13575        fn from(value: InsufficientCallBalance) -> Self {
13576            Self::InsufficientCallBalance(value)
13577        }
13578    }
13579    impl ::core::convert::From<InsufficientCallFeePaid> for SwitchboardErrors {
13580        fn from(value: InsufficientCallFeePaid) -> Self {
13581            Self::InsufficientCallFeePaid(value)
13582        }
13583    }
13584    impl ::core::convert::From<InsufficientNodes> for SwitchboardErrors {
13585        fn from(value: InsufficientNodes) -> Self {
13586            Self::InsufficientNodes(value)
13587        }
13588    }
13589    impl ::core::convert::From<InsufficientSamples> for SwitchboardErrors {
13590        fn from(value: InsufficientSamples) -> Self {
13591            Self::InsufficientSamples(value)
13592        }
13593    }
13594    impl ::core::convert::From<IntervalHistoryNotRecorded> for SwitchboardErrors {
13595        fn from(value: IntervalHistoryNotRecorded) -> Self {
13596            Self::IntervalHistoryNotRecorded(value)
13597        }
13598    }
13599    impl ::core::convert::From<InvalidArgument> for SwitchboardErrors {
13600        fn from(value: InvalidArgument) -> Self {
13601            Self::InvalidArgument(value)
13602        }
13603    }
13604    impl ::core::convert::From<InvalidAuthority> for SwitchboardErrors {
13605        fn from(value: InvalidAuthority) -> Self {
13606            Self::InvalidAuthority(value)
13607        }
13608    }
13609    impl ::core::convert::From<InvalidCallId> for SwitchboardErrors {
13610        fn from(value: InvalidCallId) -> Self {
13611            Self::InvalidCallId(value)
13612        }
13613    }
13614    impl ::core::convert::From<InvalidCallbackParams> for SwitchboardErrors {
13615        fn from(value: InvalidCallbackParams) -> Self {
13616            Self::InvalidCallbackParams(value)
13617        }
13618    }
13619    impl ::core::convert::From<InvalidEnclave> for SwitchboardErrors {
13620        fn from(value: InvalidEnclave) -> Self {
13621            Self::InvalidEnclave(value)
13622        }
13623    }
13624    impl ::core::convert::From<InvalidEntry> for SwitchboardErrors {
13625        fn from(value: InvalidEntry) -> Self {
13626            Self::InvalidEntry(value)
13627        }
13628    }
13629    impl ::core::convert::From<InvalidRoutineId> for SwitchboardErrors {
13630        fn from(value: InvalidRoutineId) -> Self {
13631            Self::InvalidRoutineId(value)
13632        }
13633    }
13634    impl ::core::convert::From<InvalidSignature> for SwitchboardErrors {
13635        fn from(value: InvalidSignature) -> Self {
13636            Self::InvalidSignature(value)
13637        }
13638    }
13639    impl ::core::convert::From<InvalidSigner> for SwitchboardErrors {
13640        fn from(value: InvalidSigner) -> Self {
13641            Self::InvalidSigner(value)
13642        }
13643    }
13644    impl ::core::convert::From<InvalidStatus> for SwitchboardErrors {
13645        fn from(value: InvalidStatus) -> Self {
13646            Self::InvalidStatus(value)
13647        }
13648    }
13649    impl ::core::convert::From<MrEnclaveNotAllowed> for SwitchboardErrors {
13650        fn from(value: MrEnclaveNotAllowed) -> Self {
13651            Self::MrEnclaveNotAllowed(value)
13652        }
13653    }
13654    impl ::core::convert::From<OracleAlreadyExists> for SwitchboardErrors {
13655        fn from(value: OracleAlreadyExists) -> Self {
13656            Self::OracleAlreadyExists(value)
13657        }
13658    }
13659    impl ::core::convert::From<OracleExpired> for SwitchboardErrors {
13660        fn from(value: OracleExpired) -> Self {
13661            Self::OracleExpired(value)
13662        }
13663    }
13664    impl ::core::convert::From<OracleNotAtQueueIdx> for SwitchboardErrors {
13665        fn from(value: OracleNotAtQueueIdx) -> Self {
13666            Self::OracleNotAtQueueIdx(value)
13667        }
13668    }
13669    impl ::core::convert::From<OracleNotOnQueue> for SwitchboardErrors {
13670        fn from(value: OracleNotOnQueue) -> Self {
13671            Self::OracleNotOnQueue(value)
13672        }
13673    }
13674    impl ::core::convert::From<OracleQueueDoesNotExist> for SwitchboardErrors {
13675        fn from(value: OracleQueueDoesNotExist) -> Self {
13676            Self::OracleQueueDoesNotExist(value)
13677        }
13678    }
13679    impl ::core::convert::From<PermissionDenied> for SwitchboardErrors {
13680        fn from(value: PermissionDenied) -> Self {
13681            Self::PermissionDenied(value)
13682        }
13683    }
13684    impl ::core::convert::From<QueuesDoNotMatch> for SwitchboardErrors {
13685        fn from(value: QueuesDoNotMatch) -> Self {
13686            Self::QueuesDoNotMatch(value)
13687        }
13688    }
13689    impl ::core::convert::From<RequestAlreadyExists> for SwitchboardErrors {
13690        fn from(value: RequestAlreadyExists) -> Self {
13691            Self::RequestAlreadyExists(value)
13692        }
13693    }
13694    impl ::core::convert::From<RequestIdAlreadyExists> for SwitchboardErrors {
13695        fn from(value: RequestIdAlreadyExists) -> Self {
13696            Self::RequestIdAlreadyExists(value)
13697        }
13698    }
13699    impl ::core::convert::From<RoutineIdAlreadyExists> for SwitchboardErrors {
13700        fn from(value: RoutineIdAlreadyExists) -> Self {
13701            Self::RoutineIdAlreadyExists(value)
13702        }
13703    }
13704    impl ::core::convert::From<RoutinesDisabled> for SwitchboardErrors {
13705        fn from(value: RoutinesDisabled) -> Self {
13706            Self::RoutinesDisabled(value)
13707        }
13708    }
13709    impl ::core::convert::From<StakeNotReady> for SwitchboardErrors {
13710        fn from(value: StakeNotReady) -> Self {
13711            Self::StakeNotReady(value)
13712        }
13713    }
13714    impl ::core::convert::From<StakeNotReadyForWithdrawal> for SwitchboardErrors {
13715        fn from(value: StakeNotReadyForWithdrawal) -> Self {
13716            Self::StakeNotReadyForWithdrawal(value)
13717        }
13718    }
13719    impl ::core::convert::From<SubmittedResultsMismatch> for SwitchboardErrors {
13720        fn from(value: SubmittedResultsMismatch) -> Self {
13721            Self::SubmittedResultsMismatch(value)
13722        }
13723    }
13724    impl ::core::convert::From<TokenTransferFailure> for SwitchboardErrors {
13725        fn from(value: TokenTransferFailure) -> Self {
13726            Self::TokenTransferFailure(value)
13727        }
13728    }
13729    impl ::core::convert::From<TransactionExpired> for SwitchboardErrors {
13730        fn from(value: TransactionExpired) -> Self {
13731            Self::TransactionExpired(value)
13732        }
13733    }
13734    #[derive(
13735        Clone,
13736        ::ethers::contract::EthEvent,
13737        ::ethers::contract::EthDisplay,
13738        Default,
13739        Debug,
13740        PartialEq,
13741        Eq,
13742        Hash,
13743    )]
13744    #[ethevent(name = "AddMrEnclave", abi = "AddMrEnclave(address,bytes32)")]
13745    pub struct AddMrEnclaveFilter {
13746        #[ethevent(indexed)]
13747        pub queue_id: ::ethers::core::types::Address,
13748        pub mr_enclave: [u8; 32],
13749    }
13750    #[derive(
13751        Clone,
13752        ::ethers::contract::EthEvent,
13753        ::ethers::contract::EthDisplay,
13754        Default,
13755        Debug,
13756        PartialEq,
13757        Eq,
13758        Hash,
13759    )]
13760    #[ethevent(
13761        name = "AggregatorAccountInit",
13762        abi = "AggregatorAccountInit(address,address,uint256)"
13763    )]
13764    pub struct AggregatorAccountInitFilter {
13765        #[ethevent(indexed)]
13766        pub authority: ::ethers::core::types::Address,
13767        #[ethevent(indexed)]
13768        pub account_id: ::ethers::core::types::Address,
13769        pub timestamp: ::ethers::core::types::U256,
13770    }
13771    #[derive(
13772        Clone,
13773        ::ethers::contract::EthEvent,
13774        ::ethers::contract::EthDisplay,
13775        Default,
13776        Debug,
13777        PartialEq,
13778        Eq,
13779        Hash,
13780    )]
13781    #[ethevent(
13782        name = "AggregatorFundEvent",
13783        abi = "AggregatorFundEvent(address,address,uint256)"
13784    )]
13785    pub struct AggregatorFundEventFilter {
13786        #[ethevent(indexed)]
13787        pub aggregator_id: ::ethers::core::types::Address,
13788        #[ethevent(indexed)]
13789        pub funder: ::ethers::core::types::Address,
13790        #[ethevent(indexed)]
13791        pub amount: ::ethers::core::types::U256,
13792    }
13793    #[derive(
13794        Clone,
13795        ::ethers::contract::EthEvent,
13796        ::ethers::contract::EthDisplay,
13797        Default,
13798        Debug,
13799        PartialEq,
13800        Eq,
13801        Hash,
13802    )]
13803    #[ethevent(
13804        name = "AggregatorIntervalRefreshed",
13805        abi = "AggregatorIntervalRefreshed(address,uint256,uint256)"
13806    )]
13807    pub struct AggregatorIntervalRefreshedFilter {
13808        #[ethevent(indexed)]
13809        pub aggregator_id: ::ethers::core::types::Address,
13810        #[ethevent(indexed)]
13811        pub interval_id: ::ethers::core::types::U256,
13812        #[ethevent(indexed)]
13813        pub balance_left_for_interval: ::ethers::core::types::U256,
13814    }
13815    #[derive(
13816        Clone,
13817        ::ethers::contract::EthEvent,
13818        ::ethers::contract::EthDisplay,
13819        Default,
13820        Debug,
13821        PartialEq,
13822        Eq,
13823        Hash,
13824    )]
13825    #[ethevent(
13826        name = "AggregatorOpenInterval",
13827        abi = "AggregatorOpenInterval(address,uint256)"
13828    )]
13829    pub struct AggregatorOpenIntervalFilter {
13830        #[ethevent(indexed)]
13831        pub aggregator_id: ::ethers::core::types::Address,
13832        #[ethevent(indexed)]
13833        pub interval_id: ::ethers::core::types::U256,
13834    }
13835    #[derive(
13836        Clone,
13837        ::ethers::contract::EthEvent,
13838        ::ethers::contract::EthDisplay,
13839        Default,
13840        Debug,
13841        PartialEq,
13842        Eq,
13843        Hash,
13844    )]
13845    #[ethevent(
13846        name = "AggregatorRead",
13847        abi = "AggregatorRead(address,address,int256)"
13848    )]
13849    pub struct AggregatorReadFilter {
13850        #[ethevent(indexed)]
13851        pub aggregator_id: ::ethers::core::types::Address,
13852        #[ethevent(indexed)]
13853        pub reader: ::ethers::core::types::Address,
13854        pub value: ::ethers::core::types::I256,
13855    }
13856    #[derive(
13857        Clone,
13858        ::ethers::contract::EthEvent,
13859        ::ethers::contract::EthDisplay,
13860        Default,
13861        Debug,
13862        PartialEq,
13863        Eq,
13864        Hash,
13865    )]
13866    #[ethevent(
13867        name = "AggregatorSaveResult",
13868        abi = "AggregatorSaveResult(address,address,int256)"
13869    )]
13870    pub struct AggregatorSaveResultFilter {
13871        #[ethevent(indexed)]
13872        pub aggregator_id: ::ethers::core::types::Address,
13873        #[ethevent(indexed)]
13874        pub oracle: ::ethers::core::types::Address,
13875        #[ethevent(indexed)]
13876        pub value: ::ethers::core::types::I256,
13877    }
13878    #[derive(
13879        Clone,
13880        ::ethers::contract::EthEvent,
13881        ::ethers::contract::EthDisplay,
13882        Default,
13883        Debug,
13884        PartialEq,
13885        Eq,
13886        Hash,
13887    )]
13888    #[ethevent(
13889        name = "AggregatorSettingsUpdated",
13890        abi = "AggregatorSettingsUpdated(address,uint256,uint256,uint256,uint256,uint256)"
13891    )]
13892    pub struct AggregatorSettingsUpdatedFilter {
13893        #[ethevent(indexed)]
13894        pub aggregator_id: ::ethers::core::types::Address,
13895        pub min_update_delay_seconds: ::ethers::core::types::U256,
13896        pub min_oracle_results: ::ethers::core::types::U256,
13897        pub variance_threshold: ::ethers::core::types::U256,
13898        pub min_job_results: ::ethers::core::types::U256,
13899        pub force_report_period: ::ethers::core::types::U256,
13900    }
13901    #[derive(
13902        Clone,
13903        ::ethers::contract::EthEvent,
13904        ::ethers::contract::EthDisplay,
13905        Default,
13906        Debug,
13907        PartialEq,
13908        Eq,
13909        Hash,
13910    )]
13911    #[ethevent(
13912        name = "AggregatorUpdate",
13913        abi = "AggregatorUpdate(address,int256,uint256)"
13914    )]
13915    pub struct AggregatorUpdateFilter {
13916        #[ethevent(indexed)]
13917        pub aggregator_id: ::ethers::core::types::Address,
13918        #[ethevent(indexed)]
13919        pub value: ::ethers::core::types::I256,
13920        pub timestamp: ::ethers::core::types::U256,
13921    }
13922    #[derive(
13923        Clone,
13924        ::ethers::contract::EthEvent,
13925        ::ethers::contract::EthDisplay,
13926        Default,
13927        Debug,
13928        PartialEq,
13929        Eq,
13930        Hash,
13931    )]
13932    #[ethevent(
13933        name = "AggregatorWithdrawEvent",
13934        abi = "AggregatorWithdrawEvent(address,address,uint256)"
13935    )]
13936    pub struct AggregatorWithdrawEventFilter {
13937        #[ethevent(indexed)]
13938        pub aggregator_id: ::ethers::core::types::Address,
13939        #[ethevent(indexed)]
13940        pub funder: ::ethers::core::types::Address,
13941        #[ethevent(indexed)]
13942        pub amount: ::ethers::core::types::U256,
13943    }
13944    #[derive(
13945        Clone,
13946        ::ethers::contract::EthEvent,
13947        ::ethers::contract::EthDisplay,
13948        Default,
13949        Debug,
13950        PartialEq,
13951        Eq,
13952        Hash,
13953    )]
13954    #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
13955    pub struct ApprovalFilter {
13956        #[ethevent(indexed)]
13957        pub owner: ::ethers::core::types::Address,
13958        #[ethevent(indexed)]
13959        pub spender: ::ethers::core::types::Address,
13960        pub value: ::ethers::core::types::U256,
13961    }
13962    #[derive(
13963        Clone,
13964        ::ethers::contract::EthEvent,
13965        ::ethers::contract::EthDisplay,
13966        Default,
13967        Debug,
13968        PartialEq,
13969        Eq,
13970        Hash,
13971    )]
13972    #[ethevent(
13973        name = "AttestationQueueAccountInit",
13974        abi = "AttestationQueueAccountInit(address,address)"
13975    )]
13976    pub struct AttestationQueueAccountInitFilter {
13977        #[ethevent(indexed)]
13978        pub authority: ::ethers::core::types::Address,
13979        #[ethevent(indexed)]
13980        pub account_id: ::ethers::core::types::Address,
13981    }
13982    #[derive(
13983        Clone,
13984        ::ethers::contract::EthEvent,
13985        ::ethers::contract::EthDisplay,
13986        Default,
13987        Debug,
13988        PartialEq,
13989        Eq,
13990        Hash,
13991    )]
13992    #[ethevent(
13993        name = "AttestationQueuePermissionUpdated",
13994        abi = "AttestationQueuePermissionUpdated(address,address,address,uint256)"
13995    )]
13996    pub struct AttestationQueuePermissionUpdatedFilter {
13997        #[ethevent(indexed)]
13998        pub queue_id: ::ethers::core::types::Address,
13999        #[ethevent(indexed)]
14000        pub granter: ::ethers::core::types::Address,
14001        #[ethevent(indexed)]
14002        pub grantee: ::ethers::core::types::Address,
14003        pub permission: ::ethers::core::types::U256,
14004    }
14005    #[derive(
14006        Clone,
14007        ::ethers::contract::EthEvent,
14008        ::ethers::contract::EthDisplay,
14009        Default,
14010        Debug,
14011        PartialEq,
14012        Eq,
14013        Hash,
14014    )]
14015    #[ethevent(
14016        name = "AttestationQueueSetConfig",
14017        abi = "AttestationQueueSetConfig(address,address)"
14018    )]
14019    pub struct AttestationQueueSetConfigFilter {
14020        #[ethevent(indexed)]
14021        pub queue_id: ::ethers::core::types::Address,
14022        #[ethevent(indexed)]
14023        pub authority: ::ethers::core::types::Address,
14024    }
14025    #[derive(
14026        Clone,
14027        ::ethers::contract::EthEvent,
14028        ::ethers::contract::EthDisplay,
14029        Default,
14030        Debug,
14031        PartialEq,
14032        Eq,
14033        Hash,
14034    )]
14035    #[ethevent(
14036        name = "DiamondCut",
14037        abi = "DiamondCut((address,uint8,bytes4[])[],address,bytes)"
14038    )]
14039    pub struct DiamondCutFilter {
14040        pub diamond_cut: ::std::vec::Vec<FacetCut>,
14041        pub init: ::ethers::core::types::Address,
14042        pub calldata: ::ethers::core::types::Bytes,
14043    }
14044    #[derive(
14045        Clone,
14046        ::ethers::contract::EthEvent,
14047        ::ethers::contract::EthDisplay,
14048        Default,
14049        Debug,
14050        PartialEq,
14051        Eq,
14052        Hash,
14053    )]
14054    #[ethevent(
14055        name = "EnclaveAccountInit",
14056        abi = "EnclaveAccountInit(address,address)"
14057    )]
14058    pub struct EnclaveAccountInitFilter {
14059        #[ethevent(indexed)]
14060        pub signer: ::ethers::core::types::Address,
14061        #[ethevent(indexed)]
14062        pub account_id: ::ethers::core::types::Address,
14063    }
14064    #[derive(
14065        Clone,
14066        ::ethers::contract::EthEvent,
14067        ::ethers::contract::EthDisplay,
14068        Default,
14069        Debug,
14070        PartialEq,
14071        Eq,
14072        Hash,
14073    )]
14074    #[ethevent(name = "EnclaveGC", abi = "EnclaveGC(address,address)")]
14075    pub struct EnclaveGCFilter {
14076        #[ethevent(indexed)]
14077        pub enclave_id: ::ethers::core::types::Address,
14078        #[ethevent(indexed)]
14079        pub queue: ::ethers::core::types::Address,
14080    }
14081    #[derive(
14082        Clone,
14083        ::ethers::contract::EthEvent,
14084        ::ethers::contract::EthDisplay,
14085        Default,
14086        Debug,
14087        PartialEq,
14088        Eq,
14089        Hash,
14090    )]
14091    #[ethevent(name = "EnclaveHeartbeat", abi = "EnclaveHeartbeat(address,address)")]
14092    pub struct EnclaveHeartbeatFilter {
14093        #[ethevent(indexed)]
14094        pub enclave_id: ::ethers::core::types::Address,
14095        #[ethevent(indexed)]
14096        pub signer: ::ethers::core::types::Address,
14097    }
14098    #[derive(
14099        Clone,
14100        ::ethers::contract::EthEvent,
14101        ::ethers::contract::EthDisplay,
14102        Default,
14103        Debug,
14104        PartialEq,
14105        Eq,
14106        Hash,
14107    )]
14108    #[ethevent(
14109        name = "EnclavePayoutEvent",
14110        abi = "EnclavePayoutEvent(address,address,uint256)"
14111    )]
14112    pub struct EnclavePayoutEventFilter {
14113        #[ethevent(indexed)]
14114        pub node_id: ::ethers::core::types::Address,
14115        #[ethevent(indexed)]
14116        pub enclave_id: ::ethers::core::types::Address,
14117        #[ethevent(indexed)]
14118        pub amount: ::ethers::core::types::U256,
14119    }
14120    #[derive(
14121        Clone,
14122        ::ethers::contract::EthEvent,
14123        ::ethers::contract::EthDisplay,
14124        Default,
14125        Debug,
14126        PartialEq,
14127        Eq,
14128        Hash,
14129    )]
14130    #[ethevent(
14131        name = "EnclaveRotateSigner",
14132        abi = "EnclaveRotateSigner(address,address,address)"
14133    )]
14134    pub struct EnclaveRotateSignerFilter {
14135        #[ethevent(indexed)]
14136        pub queue_id: ::ethers::core::types::Address,
14137        #[ethevent(indexed)]
14138        pub old_signer: ::ethers::core::types::Address,
14139        #[ethevent(indexed)]
14140        pub new_signer: ::ethers::core::types::Address,
14141    }
14142    #[derive(
14143        Clone,
14144        ::ethers::contract::EthEvent,
14145        ::ethers::contract::EthDisplay,
14146        Default,
14147        Debug,
14148        PartialEq,
14149        Eq,
14150        Hash,
14151    )]
14152    #[ethevent(
14153        name = "EnclaveVerifyRequest",
14154        abi = "EnclaveVerifyRequest(address,address,address)"
14155    )]
14156    pub struct EnclaveVerifyRequestFilter {
14157        #[ethevent(indexed)]
14158        pub queue_id: ::ethers::core::types::Address,
14159        #[ethevent(indexed)]
14160        pub verifier: ::ethers::core::types::Address,
14161        #[ethevent(indexed)]
14162        pub verifiee: ::ethers::core::types::Address,
14163    }
14164    #[derive(
14165        Clone,
14166        ::ethers::contract::EthEvent,
14167        ::ethers::contract::EthDisplay,
14168        Default,
14169        Debug,
14170        PartialEq,
14171        Eq,
14172        Hash,
14173    )]
14174    #[ethevent(
14175        name = "FunctionAccountInit",
14176        abi = "FunctionAccountInit(address,address)"
14177    )]
14178    pub struct FunctionAccountInitFilter {
14179        #[ethevent(indexed)]
14180        pub authority: ::ethers::core::types::Address,
14181        #[ethevent(indexed)]
14182        pub account_id: ::ethers::core::types::Address,
14183    }
14184    #[derive(
14185        Clone,
14186        ::ethers::contract::EthEvent,
14187        ::ethers::contract::EthDisplay,
14188        Default,
14189        Debug,
14190        PartialEq,
14191        Eq,
14192        Hash,
14193    )]
14194    #[ethevent(
14195        name = "FunctionCallEvent",
14196        abi = "FunctionCallEvent(address,address,address,bytes)"
14197    )]
14198    pub struct FunctionCallEventFilter {
14199        #[ethevent(indexed)]
14200        pub function_id: ::ethers::core::types::Address,
14201        #[ethevent(indexed)]
14202        pub sender: ::ethers::core::types::Address,
14203        #[ethevent(indexed)]
14204        pub call_id: ::ethers::core::types::Address,
14205        pub params: ::ethers::core::types::Bytes,
14206    }
14207    #[derive(
14208        Clone,
14209        ::ethers::contract::EthEvent,
14210        ::ethers::contract::EthDisplay,
14211        Default,
14212        Debug,
14213        PartialEq,
14214        Eq,
14215        Hash,
14216    )]
14217    #[ethevent(
14218        name = "FunctionCallFund",
14219        abi = "FunctionCallFund(address,address,uint256)"
14220    )]
14221    pub struct FunctionCallFundFilter {
14222        #[ethevent(indexed)]
14223        pub function_id: ::ethers::core::types::Address,
14224        #[ethevent(indexed)]
14225        pub funder: ::ethers::core::types::Address,
14226        #[ethevent(indexed)]
14227        pub amount: ::ethers::core::types::U256,
14228    }
14229    #[derive(
14230        Clone,
14231        ::ethers::contract::EthEvent,
14232        ::ethers::contract::EthDisplay,
14233        Default,
14234        Debug,
14235        PartialEq,
14236        Eq,
14237        Hash,
14238    )]
14239    #[ethevent(name = "FunctionFund", abi = "FunctionFund(address,address,uint256)")]
14240    pub struct FunctionFundFilter {
14241        #[ethevent(indexed)]
14242        pub function_id: ::ethers::core::types::Address,
14243        #[ethevent(indexed)]
14244        pub funder: ::ethers::core::types::Address,
14245        #[ethevent(indexed)]
14246        pub amount: ::ethers::core::types::U256,
14247    }
14248    #[derive(
14249        Clone,
14250        ::ethers::contract::EthEvent,
14251        ::ethers::contract::EthDisplay,
14252        Default,
14253        Debug,
14254        PartialEq,
14255        Eq,
14256        Hash,
14257    )]
14258    #[ethevent(
14259        name = "FunctionWithdraw",
14260        abi = "FunctionWithdraw(address,address,uint256)"
14261    )]
14262    pub struct FunctionWithdrawFilter {
14263        #[ethevent(indexed)]
14264        pub function_id: ::ethers::core::types::Address,
14265        #[ethevent(indexed)]
14266        pub withdrawer: ::ethers::core::types::Address,
14267        #[ethevent(indexed)]
14268        pub amount: ::ethers::core::types::U256,
14269    }
14270    #[derive(
14271        Clone,
14272        ::ethers::contract::EthEvent,
14273        ::ethers::contract::EthDisplay,
14274        Default,
14275        Debug,
14276        PartialEq,
14277        Eq,
14278        Hash,
14279    )]
14280    #[ethevent(name = "OracleAccountInit", abi = "OracleAccountInit(address,address)")]
14281    pub struct OracleAccountInitFilter {
14282        #[ethevent(indexed)]
14283        pub signer: ::ethers::core::types::Address,
14284        #[ethevent(indexed)]
14285        pub account_id: ::ethers::core::types::Address,
14286    }
14287    #[derive(
14288        Clone,
14289        ::ethers::contract::EthEvent,
14290        ::ethers::contract::EthDisplay,
14291        Default,
14292        Debug,
14293        PartialEq,
14294        Eq,
14295        Hash,
14296    )]
14297    #[ethevent(name = "OracleGC", abi = "OracleGC(address,address)")]
14298    pub struct OracleGCFilter {
14299        #[ethevent(indexed)]
14300        pub oracle_id: ::ethers::core::types::Address,
14301        #[ethevent(indexed)]
14302        pub queue_id: ::ethers::core::types::Address,
14303    }
14304    #[derive(
14305        Clone,
14306        ::ethers::contract::EthEvent,
14307        ::ethers::contract::EthDisplay,
14308        Default,
14309        Debug,
14310        PartialEq,
14311        Eq,
14312        Hash,
14313    )]
14314    #[ethevent(name = "OracleHeartbeat", abi = "OracleHeartbeat(address)")]
14315    pub struct OracleHeartbeatFilter {
14316        #[ethevent(indexed)]
14317        pub oracle_id: ::ethers::core::types::Address,
14318    }
14319    #[derive(
14320        Clone,
14321        ::ethers::contract::EthEvent,
14322        ::ethers::contract::EthDisplay,
14323        Default,
14324        Debug,
14325        PartialEq,
14326        Eq,
14327        Hash,
14328    )]
14329    #[ethevent(
14330        name = "OraclePayoutEvent",
14331        abi = "OraclePayoutEvent(address,address,uint256)"
14332    )]
14333    pub struct OraclePayoutEventFilter {
14334        #[ethevent(indexed)]
14335        pub oracle_id: ::ethers::core::types::Address,
14336        #[ethevent(indexed)]
14337        pub aggregator_id: ::ethers::core::types::Address,
14338        #[ethevent(indexed)]
14339        pub amount: ::ethers::core::types::U256,
14340    }
14341    #[derive(
14342        Clone,
14343        ::ethers::contract::EthEvent,
14344        ::ethers::contract::EthDisplay,
14345        Default,
14346        Debug,
14347        PartialEq,
14348        Eq,
14349        Hash,
14350    )]
14351    #[ethevent(
14352        name = "OracleQueueAccountInit",
14353        abi = "OracleQueueAccountInit(address,address)"
14354    )]
14355    pub struct OracleQueueAccountInitFilter {
14356        #[ethevent(indexed)]
14357        pub authority: ::ethers::core::types::Address,
14358        #[ethevent(indexed)]
14359        pub account_id: ::ethers::core::types::Address,
14360    }
14361    #[derive(
14362        Clone,
14363        ::ethers::contract::EthEvent,
14364        ::ethers::contract::EthDisplay,
14365        Default,
14366        Debug,
14367        PartialEq,
14368        Eq,
14369        Hash,
14370    )]
14371    #[ethevent(
14372        name = "OracleQueueAddMrEnclave",
14373        abi = "OracleQueueAddMrEnclave(address,address,bytes32)"
14374    )]
14375    pub struct OracleQueueAddMrEnclaveFilter {
14376        #[ethevent(indexed)]
14377        pub queue_id: ::ethers::core::types::Address,
14378        #[ethevent(indexed)]
14379        pub attestation_queue_id: ::ethers::core::types::Address,
14380        pub mr_enclave: [u8; 32],
14381    }
14382    #[derive(
14383        Clone,
14384        ::ethers::contract::EthEvent,
14385        ::ethers::contract::EthDisplay,
14386        Default,
14387        Debug,
14388        PartialEq,
14389        Eq,
14390        Hash,
14391    )]
14392    #[ethevent(
14393        name = "OracleQueueRemoveMrEnclave",
14394        abi = "OracleQueueRemoveMrEnclave(address,address,bytes32)"
14395    )]
14396    pub struct OracleQueueRemoveMrEnclaveFilter {
14397        #[ethevent(indexed)]
14398        pub queue_id: ::ethers::core::types::Address,
14399        #[ethevent(indexed)]
14400        pub attestation_queue_id: ::ethers::core::types::Address,
14401        pub mr_enclave: [u8; 32],
14402    }
14403    #[derive(
14404        Clone,
14405        ::ethers::contract::EthEvent,
14406        ::ethers::contract::EthDisplay,
14407        Default,
14408        Debug,
14409        PartialEq,
14410        Eq,
14411        Hash,
14412    )]
14413    #[ethevent(
14414        name = "OracleQueueSetAttestationConfig",
14415        abi = "OracleQueueSetAttestationConfig(address,address)"
14416    )]
14417    pub struct OracleQueueSetAttestationConfigFilter {
14418        #[ethevent(indexed)]
14419        pub queue_id: ::ethers::core::types::Address,
14420        #[ethevent(indexed)]
14421        pub attestation_queue_id: ::ethers::core::types::Address,
14422    }
14423    #[derive(
14424        Clone,
14425        ::ethers::contract::EthEvent,
14426        ::ethers::contract::EthDisplay,
14427        Default,
14428        Debug,
14429        PartialEq,
14430        Eq,
14431        Hash,
14432    )]
14433    #[ethevent(
14434        name = "OracleQueueSetConfig",
14435        abi = "OracleQueueSetConfig(address,address)"
14436    )]
14437    pub struct OracleQueueSetConfigFilter {
14438        #[ethevent(indexed)]
14439        pub queue_id: ::ethers::core::types::Address,
14440        #[ethevent(indexed)]
14441        pub authority: ::ethers::core::types::Address,
14442    }
14443    #[derive(
14444        Clone,
14445        ::ethers::contract::EthEvent,
14446        ::ethers::contract::EthDisplay,
14447        Default,
14448        Debug,
14449        PartialEq,
14450        Eq,
14451        Hash,
14452    )]
14453    #[ethevent(
14454        name = "OracleQueueSetPermission",
14455        abi = "OracleQueueSetPermission(address,address,address,uint256)"
14456    )]
14457    pub struct OracleQueueSetPermissionFilter {
14458        #[ethevent(indexed)]
14459        pub queue_id: ::ethers::core::types::Address,
14460        #[ethevent(indexed)]
14461        pub granter: ::ethers::core::types::Address,
14462        #[ethevent(indexed)]
14463        pub grantee: ::ethers::core::types::Address,
14464        pub permission: ::ethers::core::types::U256,
14465    }
14466    #[derive(
14467        Clone,
14468        ::ethers::contract::EthEvent,
14469        ::ethers::contract::EthDisplay,
14470        Default,
14471        Debug,
14472        PartialEq,
14473        Eq,
14474        Hash,
14475    )]
14476    #[ethevent(
14477        name = "OracleRotateSigner",
14478        abi = "OracleRotateSigner(address,address,address)"
14479    )]
14480    pub struct OracleRotateSignerFilter {
14481        #[ethevent(indexed)]
14482        pub queue_id: ::ethers::core::types::Address,
14483        #[ethevent(indexed)]
14484        pub old_signer: ::ethers::core::types::Address,
14485        #[ethevent(indexed)]
14486        pub new_signer: ::ethers::core::types::Address,
14487    }
14488    #[derive(
14489        Clone,
14490        ::ethers::contract::EthEvent,
14491        ::ethers::contract::EthDisplay,
14492        Default,
14493        Debug,
14494        PartialEq,
14495        Eq,
14496        Hash,
14497    )]
14498    #[ethevent(
14499        name = "OracleSetConfig",
14500        abi = "OracleSetConfig(address,string,address,address,address)"
14501    )]
14502    pub struct OracleSetConfigFilter {
14503        #[ethevent(indexed)]
14504        pub oracle_id: ::ethers::core::types::Address,
14505        pub name: ::std::string::String,
14506        #[ethevent(indexed)]
14507        pub signer: ::ethers::core::types::Address,
14508        #[ethevent(indexed)]
14509        pub queue_id: ::ethers::core::types::Address,
14510        pub authority: ::ethers::core::types::Address,
14511    }
14512    #[derive(
14513        Clone,
14514        ::ethers::contract::EthEvent,
14515        ::ethers::contract::EthDisplay,
14516        Default,
14517        Debug,
14518        PartialEq,
14519        Eq,
14520        Hash,
14521    )]
14522    #[ethevent(
14523        name = "OwnershipTransferred",
14524        abi = "OwnershipTransferred(address,address)"
14525    )]
14526    pub struct OwnershipTransferredFilter {
14527        #[ethevent(indexed)]
14528        pub previous_owner: ::ethers::core::types::Address,
14529        #[ethevent(indexed)]
14530        pub new_owner: ::ethers::core::types::Address,
14531    }
14532    #[derive(
14533        Clone,
14534        ::ethers::contract::EthEvent,
14535        ::ethers::contract::EthDisplay,
14536        Default,
14537        Debug,
14538        PartialEq,
14539        Eq,
14540        Hash,
14541    )]
14542    #[ethevent(name = "RemoveMrEnclave", abi = "RemoveMrEnclave(address,bytes32)")]
14543    pub struct RemoveMrEnclaveFilter {
14544        #[ethevent(indexed)]
14545        pub queue_id: ::ethers::core::types::Address,
14546        pub mr_enclave: [u8; 32],
14547    }
14548    #[derive(
14549        Clone,
14550        ::ethers::contract::EthEvent,
14551        ::ethers::contract::EthDisplay,
14552        Default,
14553        Debug,
14554        PartialEq,
14555        Eq,
14556        Hash,
14557    )]
14558    #[ethevent(
14559        name = "RequestEvent",
14560        abi = "RequestEvent(address,address,address,bytes)"
14561    )]
14562    pub struct RequestEventFilter {
14563        #[ethevent(indexed)]
14564        pub function_id: ::ethers::core::types::Address,
14565        #[ethevent(indexed)]
14566        pub sender: ::ethers::core::types::Address,
14567        #[ethevent(indexed)]
14568        pub request_id: ::ethers::core::types::Address,
14569        pub params: ::ethers::core::types::Bytes,
14570    }
14571    #[derive(
14572        Clone,
14573        ::ethers::contract::EthEvent,
14574        ::ethers::contract::EthDisplay,
14575        Default,
14576        Debug,
14577        PartialEq,
14578        Eq,
14579        Hash,
14580    )]
14581    #[ethevent(name = "RequestFund", abi = "RequestFund(address,address,uint256)")]
14582    pub struct RequestFundFilter {
14583        #[ethevent(indexed)]
14584        pub function_id: ::ethers::core::types::Address,
14585        #[ethevent(indexed)]
14586        pub funder: ::ethers::core::types::Address,
14587        pub amount: ::ethers::core::types::U256,
14588    }
14589    #[derive(
14590        Clone,
14591        ::ethers::contract::EthEvent,
14592        ::ethers::contract::EthDisplay,
14593        Default,
14594        Debug,
14595        PartialEq,
14596        Eq,
14597        Hash,
14598    )]
14599    #[ethevent(
14600        name = "RequestWithdraw",
14601        abi = "RequestWithdraw(address,address,uint256)"
14602    )]
14603    pub struct RequestWithdrawFilter {
14604        #[ethevent(indexed)]
14605        pub function_id: ::ethers::core::types::Address,
14606        #[ethevent(indexed)]
14607        pub funder: ::ethers::core::types::Address,
14608        pub amount: ::ethers::core::types::U256,
14609    }
14610    #[derive(
14611        Clone,
14612        ::ethers::contract::EthEvent,
14613        ::ethers::contract::EthDisplay,
14614        Default,
14615        Debug,
14616        PartialEq,
14617        Eq,
14618        Hash,
14619    )]
14620    #[ethevent(
14621        name = "RoutineCreated",
14622        abi = "RoutineCreated(address,address,address,bytes)"
14623    )]
14624    pub struct RoutineCreatedFilter {
14625        #[ethevent(indexed)]
14626        pub function_id: ::ethers::core::types::Address,
14627        #[ethevent(indexed)]
14628        pub sender: ::ethers::core::types::Address,
14629        #[ethevent(indexed)]
14630        pub routine_id: ::ethers::core::types::Address,
14631        pub params: ::ethers::core::types::Bytes,
14632    }
14633    #[derive(
14634        Clone,
14635        ::ethers::contract::EthEvent,
14636        ::ethers::contract::EthDisplay,
14637        Default,
14638        Debug,
14639        PartialEq,
14640        Eq,
14641        Hash,
14642    )]
14643    #[ethevent(name = "RoutineFund", abi = "RoutineFund(address,address,uint256)")]
14644    pub struct RoutineFundFilter {
14645        #[ethevent(indexed)]
14646        pub function_id: ::ethers::core::types::Address,
14647        #[ethevent(indexed)]
14648        pub funder: ::ethers::core::types::Address,
14649        pub amount: ::ethers::core::types::U256,
14650    }
14651    #[derive(
14652        Clone,
14653        ::ethers::contract::EthEvent,
14654        ::ethers::contract::EthDisplay,
14655        Default,
14656        Debug,
14657        PartialEq,
14658        Eq,
14659        Hash,
14660    )]
14661    #[ethevent(
14662        name = "RoutineWithdraw",
14663        abi = "RoutineWithdraw(address,address,uint256)"
14664    )]
14665    pub struct RoutineWithdrawFilter {
14666        #[ethevent(indexed)]
14667        pub function_id: ::ethers::core::types::Address,
14668        #[ethevent(indexed)]
14669        pub funder: ::ethers::core::types::Address,
14670        pub amount: ::ethers::core::types::U256,
14671    }
14672    #[derive(
14673        Clone,
14674        ::ethers::contract::EthEvent,
14675        ::ethers::contract::EthDisplay,
14676        Default,
14677        Debug,
14678        PartialEq,
14679        Eq,
14680        Hash,
14681    )]
14682    #[ethevent(
14683        name = "StakeAdded",
14684        abi = "StakeAdded(address,address,uint256,address)"
14685    )]
14686    pub struct StakeAddedFilter {
14687        #[ethevent(indexed)]
14688        pub queue_id: ::ethers::core::types::Address,
14689        #[ethevent(indexed)]
14690        pub staker: ::ethers::core::types::Address,
14691        pub amount: ::ethers::core::types::U256,
14692        pub sender: ::ethers::core::types::Address,
14693    }
14694    #[derive(
14695        Clone,
14696        ::ethers::contract::EthEvent,
14697        ::ethers::contract::EthDisplay,
14698        Default,
14699        Debug,
14700        PartialEq,
14701        Eq,
14702        Hash,
14703    )]
14704    #[ethevent(
14705        name = "StakeRemoved",
14706        abi = "StakeRemoved(address,address,uint256,address)"
14707    )]
14708    pub struct StakeRemovedFilter {
14709        #[ethevent(indexed)]
14710        pub queue_id: ::ethers::core::types::Address,
14711        #[ethevent(indexed)]
14712        pub staker: ::ethers::core::types::Address,
14713        pub amount: ::ethers::core::types::U256,
14714        pub sender: ::ethers::core::types::Address,
14715    }
14716    #[derive(
14717        Clone,
14718        ::ethers::contract::EthEvent,
14719        ::ethers::contract::EthDisplay,
14720        Default,
14721        Debug,
14722        PartialEq,
14723        Eq,
14724        Hash,
14725    )]
14726    #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
14727    pub struct TransferFilter {
14728        #[ethevent(indexed)]
14729        pub from: ::ethers::core::types::Address,
14730        #[ethevent(indexed)]
14731        pub to: ::ethers::core::types::Address,
14732        pub value: ::ethers::core::types::U256,
14733    }
14734    #[derive(
14735        Clone,
14736        ::ethers::contract::EthEvent,
14737        ::ethers::contract::EthDisplay,
14738        Default,
14739        Debug,
14740        PartialEq,
14741        Eq,
14742        Hash,
14743    )]
14744    #[ethevent(name = "Unstaked", abi = "Unstaked(address,address,uint256,address)")]
14745    pub struct UnstakedFilter {
14746        #[ethevent(indexed)]
14747        pub queue_id: ::ethers::core::types::Address,
14748        #[ethevent(indexed)]
14749        pub staker: ::ethers::core::types::Address,
14750        pub amount: ::ethers::core::types::U256,
14751        pub sender: ::ethers::core::types::Address,
14752    }
14753    #[derive(
14754        Clone,
14755        ::ethers::contract::EthEvent,
14756        ::ethers::contract::EthDisplay,
14757        Default,
14758        Debug,
14759        PartialEq,
14760        Eq,
14761        Hash,
14762    )]
14763    #[ethevent(name = "VerifyFailed", abi = "VerifyFailed(address,address,uint256)")]
14764    pub struct VerifyFailedFilter {
14765        #[ethevent(indexed)]
14766        pub function_id: ::ethers::core::types::Address,
14767        #[ethevent(indexed)]
14768        pub call_id: ::ethers::core::types::Address,
14769        #[ethevent(indexed)]
14770        pub code: ::ethers::core::types::U256,
14771    }
14772    ///Container type for all of the contract's events
14773    #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
14774    pub enum SwitchboardEvents {
14775        AddMrEnclaveFilter(AddMrEnclaveFilter),
14776        AggregatorAccountInitFilter(AggregatorAccountInitFilter),
14777        AggregatorFundEventFilter(AggregatorFundEventFilter),
14778        AggregatorIntervalRefreshedFilter(AggregatorIntervalRefreshedFilter),
14779        AggregatorOpenIntervalFilter(AggregatorOpenIntervalFilter),
14780        AggregatorReadFilter(AggregatorReadFilter),
14781        AggregatorSaveResultFilter(AggregatorSaveResultFilter),
14782        AggregatorSettingsUpdatedFilter(AggregatorSettingsUpdatedFilter),
14783        AggregatorUpdateFilter(AggregatorUpdateFilter),
14784        AggregatorWithdrawEventFilter(AggregatorWithdrawEventFilter),
14785        ApprovalFilter(ApprovalFilter),
14786        AttestationQueueAccountInitFilter(AttestationQueueAccountInitFilter),
14787        AttestationQueuePermissionUpdatedFilter(AttestationQueuePermissionUpdatedFilter),
14788        AttestationQueueSetConfigFilter(AttestationQueueSetConfigFilter),
14789        DiamondCutFilter(DiamondCutFilter),
14790        EnclaveAccountInitFilter(EnclaveAccountInitFilter),
14791        EnclaveGCFilter(EnclaveGCFilter),
14792        EnclaveHeartbeatFilter(EnclaveHeartbeatFilter),
14793        EnclavePayoutEventFilter(EnclavePayoutEventFilter),
14794        EnclaveRotateSignerFilter(EnclaveRotateSignerFilter),
14795        EnclaveVerifyRequestFilter(EnclaveVerifyRequestFilter),
14796        FunctionAccountInitFilter(FunctionAccountInitFilter),
14797        FunctionCallEventFilter(FunctionCallEventFilter),
14798        FunctionCallFundFilter(FunctionCallFundFilter),
14799        FunctionFundFilter(FunctionFundFilter),
14800        FunctionWithdrawFilter(FunctionWithdrawFilter),
14801        OracleAccountInitFilter(OracleAccountInitFilter),
14802        OracleGCFilter(OracleGCFilter),
14803        OracleHeartbeatFilter(OracleHeartbeatFilter),
14804        OraclePayoutEventFilter(OraclePayoutEventFilter),
14805        OracleQueueAccountInitFilter(OracleQueueAccountInitFilter),
14806        OracleQueueAddMrEnclaveFilter(OracleQueueAddMrEnclaveFilter),
14807        OracleQueueRemoveMrEnclaveFilter(OracleQueueRemoveMrEnclaveFilter),
14808        OracleQueueSetAttestationConfigFilter(OracleQueueSetAttestationConfigFilter),
14809        OracleQueueSetConfigFilter(OracleQueueSetConfigFilter),
14810        OracleQueueSetPermissionFilter(OracleQueueSetPermissionFilter),
14811        OracleRotateSignerFilter(OracleRotateSignerFilter),
14812        OracleSetConfigFilter(OracleSetConfigFilter),
14813        OwnershipTransferredFilter(OwnershipTransferredFilter),
14814        RemoveMrEnclaveFilter(RemoveMrEnclaveFilter),
14815        RequestEventFilter(RequestEventFilter),
14816        RequestFundFilter(RequestFundFilter),
14817        RequestWithdrawFilter(RequestWithdrawFilter),
14818        RoutineCreatedFilter(RoutineCreatedFilter),
14819        RoutineFundFilter(RoutineFundFilter),
14820        RoutineWithdrawFilter(RoutineWithdrawFilter),
14821        StakeAddedFilter(StakeAddedFilter),
14822        StakeRemovedFilter(StakeRemovedFilter),
14823        TransferFilter(TransferFilter),
14824        UnstakedFilter(UnstakedFilter),
14825        VerifyFailedFilter(VerifyFailedFilter),
14826    }
14827    impl ::ethers::contract::EthLogDecode for SwitchboardEvents {
14828        fn decode_log(
14829            log: &::ethers::core::abi::RawLog,
14830        ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
14831            if let Ok(decoded) = AddMrEnclaveFilter::decode_log(log) {
14832                return Ok(SwitchboardEvents::AddMrEnclaveFilter(decoded));
14833            }
14834            if let Ok(decoded) = AggregatorAccountInitFilter::decode_log(log) {
14835                return Ok(SwitchboardEvents::AggregatorAccountInitFilter(decoded));
14836            }
14837            if let Ok(decoded) = AggregatorFundEventFilter::decode_log(log) {
14838                return Ok(SwitchboardEvents::AggregatorFundEventFilter(decoded));
14839            }
14840            if let Ok(decoded) = AggregatorIntervalRefreshedFilter::decode_log(log) {
14841                return Ok(SwitchboardEvents::AggregatorIntervalRefreshedFilter(
14842                    decoded,
14843                ));
14844            }
14845            if let Ok(decoded) = AggregatorOpenIntervalFilter::decode_log(log) {
14846                return Ok(SwitchboardEvents::AggregatorOpenIntervalFilter(decoded));
14847            }
14848            if let Ok(decoded) = AggregatorReadFilter::decode_log(log) {
14849                return Ok(SwitchboardEvents::AggregatorReadFilter(decoded));
14850            }
14851            if let Ok(decoded) = AggregatorSaveResultFilter::decode_log(log) {
14852                return Ok(SwitchboardEvents::AggregatorSaveResultFilter(decoded));
14853            }
14854            if let Ok(decoded) = AggregatorSettingsUpdatedFilter::decode_log(log) {
14855                return Ok(SwitchboardEvents::AggregatorSettingsUpdatedFilter(decoded));
14856            }
14857            if let Ok(decoded) = AggregatorUpdateFilter::decode_log(log) {
14858                return Ok(SwitchboardEvents::AggregatorUpdateFilter(decoded));
14859            }
14860            if let Ok(decoded) = AggregatorWithdrawEventFilter::decode_log(log) {
14861                return Ok(SwitchboardEvents::AggregatorWithdrawEventFilter(decoded));
14862            }
14863            if let Ok(decoded) = ApprovalFilter::decode_log(log) {
14864                return Ok(SwitchboardEvents::ApprovalFilter(decoded));
14865            }
14866            if let Ok(decoded) = AttestationQueueAccountInitFilter::decode_log(log) {
14867                return Ok(SwitchboardEvents::AttestationQueueAccountInitFilter(
14868                    decoded,
14869                ));
14870            }
14871            if let Ok(decoded) = AttestationQueuePermissionUpdatedFilter::decode_log(log) {
14872                return Ok(SwitchboardEvents::AttestationQueuePermissionUpdatedFilter(
14873                    decoded,
14874                ));
14875            }
14876            if let Ok(decoded) = AttestationQueueSetConfigFilter::decode_log(log) {
14877                return Ok(SwitchboardEvents::AttestationQueueSetConfigFilter(decoded));
14878            }
14879            if let Ok(decoded) = DiamondCutFilter::decode_log(log) {
14880                return Ok(SwitchboardEvents::DiamondCutFilter(decoded));
14881            }
14882            if let Ok(decoded) = EnclaveAccountInitFilter::decode_log(log) {
14883                return Ok(SwitchboardEvents::EnclaveAccountInitFilter(decoded));
14884            }
14885            if let Ok(decoded) = EnclaveGCFilter::decode_log(log) {
14886                return Ok(SwitchboardEvents::EnclaveGCFilter(decoded));
14887            }
14888            if let Ok(decoded) = EnclaveHeartbeatFilter::decode_log(log) {
14889                return Ok(SwitchboardEvents::EnclaveHeartbeatFilter(decoded));
14890            }
14891            if let Ok(decoded) = EnclavePayoutEventFilter::decode_log(log) {
14892                return Ok(SwitchboardEvents::EnclavePayoutEventFilter(decoded));
14893            }
14894            if let Ok(decoded) = EnclaveRotateSignerFilter::decode_log(log) {
14895                return Ok(SwitchboardEvents::EnclaveRotateSignerFilter(decoded));
14896            }
14897            if let Ok(decoded) = EnclaveVerifyRequestFilter::decode_log(log) {
14898                return Ok(SwitchboardEvents::EnclaveVerifyRequestFilter(decoded));
14899            }
14900            if let Ok(decoded) = FunctionAccountInitFilter::decode_log(log) {
14901                return Ok(SwitchboardEvents::FunctionAccountInitFilter(decoded));
14902            }
14903            if let Ok(decoded) = FunctionCallEventFilter::decode_log(log) {
14904                return Ok(SwitchboardEvents::FunctionCallEventFilter(decoded));
14905            }
14906            if let Ok(decoded) = FunctionCallFundFilter::decode_log(log) {
14907                return Ok(SwitchboardEvents::FunctionCallFundFilter(decoded));
14908            }
14909            if let Ok(decoded) = FunctionFundFilter::decode_log(log) {
14910                return Ok(SwitchboardEvents::FunctionFundFilter(decoded));
14911            }
14912            if let Ok(decoded) = FunctionWithdrawFilter::decode_log(log) {
14913                return Ok(SwitchboardEvents::FunctionWithdrawFilter(decoded));
14914            }
14915            if let Ok(decoded) = OracleAccountInitFilter::decode_log(log) {
14916                return Ok(SwitchboardEvents::OracleAccountInitFilter(decoded));
14917            }
14918            if let Ok(decoded) = OracleGCFilter::decode_log(log) {
14919                return Ok(SwitchboardEvents::OracleGCFilter(decoded));
14920            }
14921            if let Ok(decoded) = OracleHeartbeatFilter::decode_log(log) {
14922                return Ok(SwitchboardEvents::OracleHeartbeatFilter(decoded));
14923            }
14924            if let Ok(decoded) = OraclePayoutEventFilter::decode_log(log) {
14925                return Ok(SwitchboardEvents::OraclePayoutEventFilter(decoded));
14926            }
14927            if let Ok(decoded) = OracleQueueAccountInitFilter::decode_log(log) {
14928                return Ok(SwitchboardEvents::OracleQueueAccountInitFilter(decoded));
14929            }
14930            if let Ok(decoded) = OracleQueueAddMrEnclaveFilter::decode_log(log) {
14931                return Ok(SwitchboardEvents::OracleQueueAddMrEnclaveFilter(decoded));
14932            }
14933            if let Ok(decoded) = OracleQueueRemoveMrEnclaveFilter::decode_log(log) {
14934                return Ok(SwitchboardEvents::OracleQueueRemoveMrEnclaveFilter(decoded));
14935            }
14936            if let Ok(decoded) = OracleQueueSetAttestationConfigFilter::decode_log(log) {
14937                return Ok(SwitchboardEvents::OracleQueueSetAttestationConfigFilter(
14938                    decoded,
14939                ));
14940            }
14941            if let Ok(decoded) = OracleQueueSetConfigFilter::decode_log(log) {
14942                return Ok(SwitchboardEvents::OracleQueueSetConfigFilter(decoded));
14943            }
14944            if let Ok(decoded) = OracleQueueSetPermissionFilter::decode_log(log) {
14945                return Ok(SwitchboardEvents::OracleQueueSetPermissionFilter(decoded));
14946            }
14947            if let Ok(decoded) = OracleRotateSignerFilter::decode_log(log) {
14948                return Ok(SwitchboardEvents::OracleRotateSignerFilter(decoded));
14949            }
14950            if let Ok(decoded) = OracleSetConfigFilter::decode_log(log) {
14951                return Ok(SwitchboardEvents::OracleSetConfigFilter(decoded));
14952            }
14953            if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) {
14954                return Ok(SwitchboardEvents::OwnershipTransferredFilter(decoded));
14955            }
14956            if let Ok(decoded) = RemoveMrEnclaveFilter::decode_log(log) {
14957                return Ok(SwitchboardEvents::RemoveMrEnclaveFilter(decoded));
14958            }
14959            if let Ok(decoded) = RequestEventFilter::decode_log(log) {
14960                return Ok(SwitchboardEvents::RequestEventFilter(decoded));
14961            }
14962            if let Ok(decoded) = RequestFundFilter::decode_log(log) {
14963                return Ok(SwitchboardEvents::RequestFundFilter(decoded));
14964            }
14965            if let Ok(decoded) = RequestWithdrawFilter::decode_log(log) {
14966                return Ok(SwitchboardEvents::RequestWithdrawFilter(decoded));
14967            }
14968            if let Ok(decoded) = RoutineCreatedFilter::decode_log(log) {
14969                return Ok(SwitchboardEvents::RoutineCreatedFilter(decoded));
14970            }
14971            if let Ok(decoded) = RoutineFundFilter::decode_log(log) {
14972                return Ok(SwitchboardEvents::RoutineFundFilter(decoded));
14973            }
14974            if let Ok(decoded) = RoutineWithdrawFilter::decode_log(log) {
14975                return Ok(SwitchboardEvents::RoutineWithdrawFilter(decoded));
14976            }
14977            if let Ok(decoded) = StakeAddedFilter::decode_log(log) {
14978                return Ok(SwitchboardEvents::StakeAddedFilter(decoded));
14979            }
14980            if let Ok(decoded) = StakeRemovedFilter::decode_log(log) {
14981                return Ok(SwitchboardEvents::StakeRemovedFilter(decoded));
14982            }
14983            if let Ok(decoded) = TransferFilter::decode_log(log) {
14984                return Ok(SwitchboardEvents::TransferFilter(decoded));
14985            }
14986            if let Ok(decoded) = UnstakedFilter::decode_log(log) {
14987                return Ok(SwitchboardEvents::UnstakedFilter(decoded));
14988            }
14989            if let Ok(decoded) = VerifyFailedFilter::decode_log(log) {
14990                return Ok(SwitchboardEvents::VerifyFailedFilter(decoded));
14991            }
14992            Err(::ethers::core::abi::Error::InvalidData)
14993        }
14994    }
14995    impl ::core::fmt::Display for SwitchboardEvents {
14996        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14997            match self {
14998                Self::AddMrEnclaveFilter(element) => ::core::fmt::Display::fmt(element, f),
14999                Self::AggregatorAccountInitFilter(element) => ::core::fmt::Display::fmt(element, f),
15000                Self::AggregatorFundEventFilter(element) => ::core::fmt::Display::fmt(element, f),
15001                Self::AggregatorIntervalRefreshedFilter(element) => {
15002                    ::core::fmt::Display::fmt(element, f)
15003                }
15004                Self::AggregatorOpenIntervalFilter(element) => {
15005                    ::core::fmt::Display::fmt(element, f)
15006                }
15007                Self::AggregatorReadFilter(element) => ::core::fmt::Display::fmt(element, f),
15008                Self::AggregatorSaveResultFilter(element) => ::core::fmt::Display::fmt(element, f),
15009                Self::AggregatorSettingsUpdatedFilter(element) => {
15010                    ::core::fmt::Display::fmt(element, f)
15011                }
15012                Self::AggregatorUpdateFilter(element) => ::core::fmt::Display::fmt(element, f),
15013                Self::AggregatorWithdrawEventFilter(element) => {
15014                    ::core::fmt::Display::fmt(element, f)
15015                }
15016                Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f),
15017                Self::AttestationQueueAccountInitFilter(element) => {
15018                    ::core::fmt::Display::fmt(element, f)
15019                }
15020                Self::AttestationQueuePermissionUpdatedFilter(element) => {
15021                    ::core::fmt::Display::fmt(element, f)
15022                }
15023                Self::AttestationQueueSetConfigFilter(element) => {
15024                    ::core::fmt::Display::fmt(element, f)
15025                }
15026                Self::DiamondCutFilter(element) => ::core::fmt::Display::fmt(element, f),
15027                Self::EnclaveAccountInitFilter(element) => ::core::fmt::Display::fmt(element, f),
15028                Self::EnclaveGCFilter(element) => ::core::fmt::Display::fmt(element, f),
15029                Self::EnclaveHeartbeatFilter(element) => ::core::fmt::Display::fmt(element, f),
15030                Self::EnclavePayoutEventFilter(element) => ::core::fmt::Display::fmt(element, f),
15031                Self::EnclaveRotateSignerFilter(element) => ::core::fmt::Display::fmt(element, f),
15032                Self::EnclaveVerifyRequestFilter(element) => ::core::fmt::Display::fmt(element, f),
15033                Self::FunctionAccountInitFilter(element) => ::core::fmt::Display::fmt(element, f),
15034                Self::FunctionCallEventFilter(element) => ::core::fmt::Display::fmt(element, f),
15035                Self::FunctionCallFundFilter(element) => ::core::fmt::Display::fmt(element, f),
15036                Self::FunctionFundFilter(element) => ::core::fmt::Display::fmt(element, f),
15037                Self::FunctionWithdrawFilter(element) => ::core::fmt::Display::fmt(element, f),
15038                Self::OracleAccountInitFilter(element) => ::core::fmt::Display::fmt(element, f),
15039                Self::OracleGCFilter(element) => ::core::fmt::Display::fmt(element, f),
15040                Self::OracleHeartbeatFilter(element) => ::core::fmt::Display::fmt(element, f),
15041                Self::OraclePayoutEventFilter(element) => ::core::fmt::Display::fmt(element, f),
15042                Self::OracleQueueAccountInitFilter(element) => {
15043                    ::core::fmt::Display::fmt(element, f)
15044                }
15045                Self::OracleQueueAddMrEnclaveFilter(element) => {
15046                    ::core::fmt::Display::fmt(element, f)
15047                }
15048                Self::OracleQueueRemoveMrEnclaveFilter(element) => {
15049                    ::core::fmt::Display::fmt(element, f)
15050                }
15051                Self::OracleQueueSetAttestationConfigFilter(element) => {
15052                    ::core::fmt::Display::fmt(element, f)
15053                }
15054                Self::OracleQueueSetConfigFilter(element) => ::core::fmt::Display::fmt(element, f),
15055                Self::OracleQueueSetPermissionFilter(element) => {
15056                    ::core::fmt::Display::fmt(element, f)
15057                }
15058                Self::OracleRotateSignerFilter(element) => ::core::fmt::Display::fmt(element, f),
15059                Self::OracleSetConfigFilter(element) => ::core::fmt::Display::fmt(element, f),
15060                Self::OwnershipTransferredFilter(element) => ::core::fmt::Display::fmt(element, f),
15061                Self::RemoveMrEnclaveFilter(element) => ::core::fmt::Display::fmt(element, f),
15062                Self::RequestEventFilter(element) => ::core::fmt::Display::fmt(element, f),
15063                Self::RequestFundFilter(element) => ::core::fmt::Display::fmt(element, f),
15064                Self::RequestWithdrawFilter(element) => ::core::fmt::Display::fmt(element, f),
15065                Self::RoutineCreatedFilter(element) => ::core::fmt::Display::fmt(element, f),
15066                Self::RoutineFundFilter(element) => ::core::fmt::Display::fmt(element, f),
15067                Self::RoutineWithdrawFilter(element) => ::core::fmt::Display::fmt(element, f),
15068                Self::StakeAddedFilter(element) => ::core::fmt::Display::fmt(element, f),
15069                Self::StakeRemovedFilter(element) => ::core::fmt::Display::fmt(element, f),
15070                Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f),
15071                Self::UnstakedFilter(element) => ::core::fmt::Display::fmt(element, f),
15072                Self::VerifyFailedFilter(element) => ::core::fmt::Display::fmt(element, f),
15073            }
15074        }
15075    }
15076    impl ::core::convert::From<AddMrEnclaveFilter> for SwitchboardEvents {
15077        fn from(value: AddMrEnclaveFilter) -> Self {
15078            Self::AddMrEnclaveFilter(value)
15079        }
15080    }
15081    impl ::core::convert::From<AggregatorAccountInitFilter> for SwitchboardEvents {
15082        fn from(value: AggregatorAccountInitFilter) -> Self {
15083            Self::AggregatorAccountInitFilter(value)
15084        }
15085    }
15086    impl ::core::convert::From<AggregatorFundEventFilter> for SwitchboardEvents {
15087        fn from(value: AggregatorFundEventFilter) -> Self {
15088            Self::AggregatorFundEventFilter(value)
15089        }
15090    }
15091    impl ::core::convert::From<AggregatorIntervalRefreshedFilter> for SwitchboardEvents {
15092        fn from(value: AggregatorIntervalRefreshedFilter) -> Self {
15093            Self::AggregatorIntervalRefreshedFilter(value)
15094        }
15095    }
15096    impl ::core::convert::From<AggregatorOpenIntervalFilter> for SwitchboardEvents {
15097        fn from(value: AggregatorOpenIntervalFilter) -> Self {
15098            Self::AggregatorOpenIntervalFilter(value)
15099        }
15100    }
15101    impl ::core::convert::From<AggregatorReadFilter> for SwitchboardEvents {
15102        fn from(value: AggregatorReadFilter) -> Self {
15103            Self::AggregatorReadFilter(value)
15104        }
15105    }
15106    impl ::core::convert::From<AggregatorSaveResultFilter> for SwitchboardEvents {
15107        fn from(value: AggregatorSaveResultFilter) -> Self {
15108            Self::AggregatorSaveResultFilter(value)
15109        }
15110    }
15111    impl ::core::convert::From<AggregatorSettingsUpdatedFilter> for SwitchboardEvents {
15112        fn from(value: AggregatorSettingsUpdatedFilter) -> Self {
15113            Self::AggregatorSettingsUpdatedFilter(value)
15114        }
15115    }
15116    impl ::core::convert::From<AggregatorUpdateFilter> for SwitchboardEvents {
15117        fn from(value: AggregatorUpdateFilter) -> Self {
15118            Self::AggregatorUpdateFilter(value)
15119        }
15120    }
15121    impl ::core::convert::From<AggregatorWithdrawEventFilter> for SwitchboardEvents {
15122        fn from(value: AggregatorWithdrawEventFilter) -> Self {
15123            Self::AggregatorWithdrawEventFilter(value)
15124        }
15125    }
15126    impl ::core::convert::From<ApprovalFilter> for SwitchboardEvents {
15127        fn from(value: ApprovalFilter) -> Self {
15128            Self::ApprovalFilter(value)
15129        }
15130    }
15131    impl ::core::convert::From<AttestationQueueAccountInitFilter> for SwitchboardEvents {
15132        fn from(value: AttestationQueueAccountInitFilter) -> Self {
15133            Self::AttestationQueueAccountInitFilter(value)
15134        }
15135    }
15136    impl ::core::convert::From<AttestationQueuePermissionUpdatedFilter> for SwitchboardEvents {
15137        fn from(value: AttestationQueuePermissionUpdatedFilter) -> Self {
15138            Self::AttestationQueuePermissionUpdatedFilter(value)
15139        }
15140    }
15141    impl ::core::convert::From<AttestationQueueSetConfigFilter> for SwitchboardEvents {
15142        fn from(value: AttestationQueueSetConfigFilter) -> Self {
15143            Self::AttestationQueueSetConfigFilter(value)
15144        }
15145    }
15146    impl ::core::convert::From<DiamondCutFilter> for SwitchboardEvents {
15147        fn from(value: DiamondCutFilter) -> Self {
15148            Self::DiamondCutFilter(value)
15149        }
15150    }
15151    impl ::core::convert::From<EnclaveAccountInitFilter> for SwitchboardEvents {
15152        fn from(value: EnclaveAccountInitFilter) -> Self {
15153            Self::EnclaveAccountInitFilter(value)
15154        }
15155    }
15156    impl ::core::convert::From<EnclaveGCFilter> for SwitchboardEvents {
15157        fn from(value: EnclaveGCFilter) -> Self {
15158            Self::EnclaveGCFilter(value)
15159        }
15160    }
15161    impl ::core::convert::From<EnclaveHeartbeatFilter> for SwitchboardEvents {
15162        fn from(value: EnclaveHeartbeatFilter) -> Self {
15163            Self::EnclaveHeartbeatFilter(value)
15164        }
15165    }
15166    impl ::core::convert::From<EnclavePayoutEventFilter> for SwitchboardEvents {
15167        fn from(value: EnclavePayoutEventFilter) -> Self {
15168            Self::EnclavePayoutEventFilter(value)
15169        }
15170    }
15171    impl ::core::convert::From<EnclaveRotateSignerFilter> for SwitchboardEvents {
15172        fn from(value: EnclaveRotateSignerFilter) -> Self {
15173            Self::EnclaveRotateSignerFilter(value)
15174        }
15175    }
15176    impl ::core::convert::From<EnclaveVerifyRequestFilter> for SwitchboardEvents {
15177        fn from(value: EnclaveVerifyRequestFilter) -> Self {
15178            Self::EnclaveVerifyRequestFilter(value)
15179        }
15180    }
15181    impl ::core::convert::From<FunctionAccountInitFilter> for SwitchboardEvents {
15182        fn from(value: FunctionAccountInitFilter) -> Self {
15183            Self::FunctionAccountInitFilter(value)
15184        }
15185    }
15186    impl ::core::convert::From<FunctionCallEventFilter> for SwitchboardEvents {
15187        fn from(value: FunctionCallEventFilter) -> Self {
15188            Self::FunctionCallEventFilter(value)
15189        }
15190    }
15191    impl ::core::convert::From<FunctionCallFundFilter> for SwitchboardEvents {
15192        fn from(value: FunctionCallFundFilter) -> Self {
15193            Self::FunctionCallFundFilter(value)
15194        }
15195    }
15196    impl ::core::convert::From<FunctionFundFilter> for SwitchboardEvents {
15197        fn from(value: FunctionFundFilter) -> Self {
15198            Self::FunctionFundFilter(value)
15199        }
15200    }
15201    impl ::core::convert::From<FunctionWithdrawFilter> for SwitchboardEvents {
15202        fn from(value: FunctionWithdrawFilter) -> Self {
15203            Self::FunctionWithdrawFilter(value)
15204        }
15205    }
15206    impl ::core::convert::From<OracleAccountInitFilter> for SwitchboardEvents {
15207        fn from(value: OracleAccountInitFilter) -> Self {
15208            Self::OracleAccountInitFilter(value)
15209        }
15210    }
15211    impl ::core::convert::From<OracleGCFilter> for SwitchboardEvents {
15212        fn from(value: OracleGCFilter) -> Self {
15213            Self::OracleGCFilter(value)
15214        }
15215    }
15216    impl ::core::convert::From<OracleHeartbeatFilter> for SwitchboardEvents {
15217        fn from(value: OracleHeartbeatFilter) -> Self {
15218            Self::OracleHeartbeatFilter(value)
15219        }
15220    }
15221    impl ::core::convert::From<OraclePayoutEventFilter> for SwitchboardEvents {
15222        fn from(value: OraclePayoutEventFilter) -> Self {
15223            Self::OraclePayoutEventFilter(value)
15224        }
15225    }
15226    impl ::core::convert::From<OracleQueueAccountInitFilter> for SwitchboardEvents {
15227        fn from(value: OracleQueueAccountInitFilter) -> Self {
15228            Self::OracleQueueAccountInitFilter(value)
15229        }
15230    }
15231    impl ::core::convert::From<OracleQueueAddMrEnclaveFilter> for SwitchboardEvents {
15232        fn from(value: OracleQueueAddMrEnclaveFilter) -> Self {
15233            Self::OracleQueueAddMrEnclaveFilter(value)
15234        }
15235    }
15236    impl ::core::convert::From<OracleQueueRemoveMrEnclaveFilter> for SwitchboardEvents {
15237        fn from(value: OracleQueueRemoveMrEnclaveFilter) -> Self {
15238            Self::OracleQueueRemoveMrEnclaveFilter(value)
15239        }
15240    }
15241    impl ::core::convert::From<OracleQueueSetAttestationConfigFilter> for SwitchboardEvents {
15242        fn from(value: OracleQueueSetAttestationConfigFilter) -> Self {
15243            Self::OracleQueueSetAttestationConfigFilter(value)
15244        }
15245    }
15246    impl ::core::convert::From<OracleQueueSetConfigFilter> for SwitchboardEvents {
15247        fn from(value: OracleQueueSetConfigFilter) -> Self {
15248            Self::OracleQueueSetConfigFilter(value)
15249        }
15250    }
15251    impl ::core::convert::From<OracleQueueSetPermissionFilter> for SwitchboardEvents {
15252        fn from(value: OracleQueueSetPermissionFilter) -> Self {
15253            Self::OracleQueueSetPermissionFilter(value)
15254        }
15255    }
15256    impl ::core::convert::From<OracleRotateSignerFilter> for SwitchboardEvents {
15257        fn from(value: OracleRotateSignerFilter) -> Self {
15258            Self::OracleRotateSignerFilter(value)
15259        }
15260    }
15261    impl ::core::convert::From<OracleSetConfigFilter> for SwitchboardEvents {
15262        fn from(value: OracleSetConfigFilter) -> Self {
15263            Self::OracleSetConfigFilter(value)
15264        }
15265    }
15266    impl ::core::convert::From<OwnershipTransferredFilter> for SwitchboardEvents {
15267        fn from(value: OwnershipTransferredFilter) -> Self {
15268            Self::OwnershipTransferredFilter(value)
15269        }
15270    }
15271    impl ::core::convert::From<RemoveMrEnclaveFilter> for SwitchboardEvents {
15272        fn from(value: RemoveMrEnclaveFilter) -> Self {
15273            Self::RemoveMrEnclaveFilter(value)
15274        }
15275    }
15276    impl ::core::convert::From<RequestEventFilter> for SwitchboardEvents {
15277        fn from(value: RequestEventFilter) -> Self {
15278            Self::RequestEventFilter(value)
15279        }
15280    }
15281    impl ::core::convert::From<RequestFundFilter> for SwitchboardEvents {
15282        fn from(value: RequestFundFilter) -> Self {
15283            Self::RequestFundFilter(value)
15284        }
15285    }
15286    impl ::core::convert::From<RequestWithdrawFilter> for SwitchboardEvents {
15287        fn from(value: RequestWithdrawFilter) -> Self {
15288            Self::RequestWithdrawFilter(value)
15289        }
15290    }
15291    impl ::core::convert::From<RoutineCreatedFilter> for SwitchboardEvents {
15292        fn from(value: RoutineCreatedFilter) -> Self {
15293            Self::RoutineCreatedFilter(value)
15294        }
15295    }
15296    impl ::core::convert::From<RoutineFundFilter> for SwitchboardEvents {
15297        fn from(value: RoutineFundFilter) -> Self {
15298            Self::RoutineFundFilter(value)
15299        }
15300    }
15301    impl ::core::convert::From<RoutineWithdrawFilter> for SwitchboardEvents {
15302        fn from(value: RoutineWithdrawFilter) -> Self {
15303            Self::RoutineWithdrawFilter(value)
15304        }
15305    }
15306    impl ::core::convert::From<StakeAddedFilter> for SwitchboardEvents {
15307        fn from(value: StakeAddedFilter) -> Self {
15308            Self::StakeAddedFilter(value)
15309        }
15310    }
15311    impl ::core::convert::From<StakeRemovedFilter> for SwitchboardEvents {
15312        fn from(value: StakeRemovedFilter) -> Self {
15313            Self::StakeRemovedFilter(value)
15314        }
15315    }
15316    impl ::core::convert::From<TransferFilter> for SwitchboardEvents {
15317        fn from(value: TransferFilter) -> Self {
15318            Self::TransferFilter(value)
15319        }
15320    }
15321    impl ::core::convert::From<UnstakedFilter> for SwitchboardEvents {
15322        fn from(value: UnstakedFilter) -> Self {
15323            Self::UnstakedFilter(value)
15324        }
15325    }
15326    impl ::core::convert::From<VerifyFailedFilter> for SwitchboardEvents {
15327        fn from(value: VerifyFailedFilter) -> Self {
15328            Self::VerifyFailedFilter(value)
15329        }
15330    }
15331    ///Container type for all input parameters for the `addMrEnclaveToAttestationQueue` function with signature `addMrEnclaveToAttestationQueue(address,bytes32)` and selector `0xad435b9d`
15332    #[derive(
15333        Clone,
15334        ::ethers::contract::EthCall,
15335        ::ethers::contract::EthDisplay,
15336        Default,
15337        Debug,
15338        PartialEq,
15339        Eq,
15340        Hash,
15341    )]
15342    #[ethcall(
15343        name = "addMrEnclaveToAttestationQueue",
15344        abi = "addMrEnclaveToAttestationQueue(address,bytes32)"
15345    )]
15346    pub struct AddMrEnclaveToAttestationQueueCall {
15347        pub queue_id: ::ethers::core::types::Address,
15348        pub mr_enclave: [u8; 32],
15349    }
15350    ///Container type for all input parameters for the `addMrEnclaveToFunction` function with signature `addMrEnclaveToFunction(address,bytes32)` and selector `0x45fc160c`
15351    #[derive(
15352        Clone,
15353        ::ethers::contract::EthCall,
15354        ::ethers::contract::EthDisplay,
15355        Default,
15356        Debug,
15357        PartialEq,
15358        Eq,
15359        Hash,
15360    )]
15361    #[ethcall(
15362        name = "addMrEnclaveToFunction",
15363        abi = "addMrEnclaveToFunction(address,bytes32)"
15364    )]
15365    pub struct AddMrEnclaveToFunctionCall {
15366        pub function_id: ::ethers::core::types::Address,
15367        pub mr_enclave: [u8; 32],
15368    }
15369    ///Container type for all input parameters for the `addMrEnclaveToOracleQueue` function with signature `addMrEnclaveToOracleQueue(address,bytes32)` and selector `0x51a426d8`
15370    #[derive(
15371        Clone,
15372        ::ethers::contract::EthCall,
15373        ::ethers::contract::EthDisplay,
15374        Default,
15375        Debug,
15376        PartialEq,
15377        Eq,
15378        Hash,
15379    )]
15380    #[ethcall(
15381        name = "addMrEnclaveToOracleQueue",
15382        abi = "addMrEnclaveToOracleQueue(address,bytes32)"
15383    )]
15384    pub struct AddMrEnclaveToOracleQueueCall {
15385        pub queue_id: ::ethers::core::types::Address,
15386        pub mr_enclave: [u8; 32],
15387    }
15388    ///Container type for all input parameters for the `addStake` function with signature `addStake(address,uint256)` and selector `0x6374299e`
15389    #[derive(
15390        Clone,
15391        ::ethers::contract::EthCall,
15392        ::ethers::contract::EthDisplay,
15393        Default,
15394        Debug,
15395        PartialEq,
15396        Eq,
15397        Hash,
15398    )]
15399    #[ethcall(name = "addStake", abi = "addStake(address,uint256)")]
15400    pub struct AddStakeCall {
15401        pub enclave_id: ::ethers::core::types::Address,
15402        pub amount: ::ethers::core::types::U256,
15403    }
15404    ///Container type for all input parameters for the `aggregatorEscrowFund` function with signature `aggregatorEscrowFund(address)` and selector `0xd55dcc5b`
15405    #[derive(
15406        Clone,
15407        ::ethers::contract::EthCall,
15408        ::ethers::contract::EthDisplay,
15409        Default,
15410        Debug,
15411        PartialEq,
15412        Eq,
15413        Hash,
15414    )]
15415    #[ethcall(name = "aggregatorEscrowFund", abi = "aggregatorEscrowFund(address)")]
15416    pub struct AggregatorEscrowFundCall {
15417        pub account_id: ::ethers::core::types::Address,
15418    }
15419    ///Container type for all input parameters for the `aggregatorEscrowWithdraw` function with signature `aggregatorEscrowWithdraw(address,address,uint256)` and selector `0x202dd499`
15420    #[derive(
15421        Clone,
15422        ::ethers::contract::EthCall,
15423        ::ethers::contract::EthDisplay,
15424        Default,
15425        Debug,
15426        PartialEq,
15427        Eq,
15428        Hash,
15429    )]
15430    #[ethcall(
15431        name = "aggregatorEscrowWithdraw",
15432        abi = "aggregatorEscrowWithdraw(address,address,uint256)"
15433    )]
15434    pub struct AggregatorEscrowWithdrawCall {
15435        pub recipient: ::ethers::core::types::Address,
15436        pub aggregator_id: ::ethers::core::types::Address,
15437        pub amount: ::ethers::core::types::U256,
15438    }
15439    ///Container type for all input parameters for the `aggregatorHistory` function with signature `aggregatorHistory(address,uint80)` and selector `0x8625bd08`
15440    #[derive(
15441        Clone,
15442        ::ethers::contract::EthCall,
15443        ::ethers::contract::EthDisplay,
15444        Default,
15445        Debug,
15446        PartialEq,
15447        Eq,
15448        Hash,
15449    )]
15450    #[ethcall(name = "aggregatorHistory", abi = "aggregatorHistory(address,uint80)")]
15451    pub struct AggregatorHistoryCall {
15452        pub aggregator_id: ::ethers::core::types::Address,
15453        pub round_id: u128,
15454    }
15455    ///Container type for all input parameters for the `aggregators` function with signature `aggregators(address)` and selector `0x112cdab9`
15456    #[derive(
15457        Clone,
15458        ::ethers::contract::EthCall,
15459        ::ethers::contract::EthDisplay,
15460        Default,
15461        Debug,
15462        PartialEq,
15463        Eq,
15464        Hash,
15465    )]
15466    #[ethcall(name = "aggregators", abi = "aggregators(address)")]
15467    pub struct AggregatorsCall {
15468        pub aggregator_id: ::ethers::core::types::Address,
15469    }
15470    ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e`
15471    #[derive(
15472        Clone,
15473        ::ethers::contract::EthCall,
15474        ::ethers::contract::EthDisplay,
15475        Default,
15476        Debug,
15477        PartialEq,
15478        Eq,
15479        Hash,
15480    )]
15481    #[ethcall(name = "allowance", abi = "allowance(address,address)")]
15482    pub struct AllowanceCall {
15483        pub owner: ::ethers::core::types::Address,
15484        pub spender: ::ethers::core::types::Address,
15485    }
15486    ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3`
15487    #[derive(
15488        Clone,
15489        ::ethers::contract::EthCall,
15490        ::ethers::contract::EthDisplay,
15491        Default,
15492        Debug,
15493        PartialEq,
15494        Eq,
15495        Hash,
15496    )]
15497    #[ethcall(name = "approve", abi = "approve(address,uint256)")]
15498    pub struct ApproveCall {
15499        pub spender: ::ethers::core::types::Address,
15500        pub value: ::ethers::core::types::U256,
15501    }
15502    ///Container type for all input parameters for the `attestationQueueHasMrEnclave` function with signature `attestationQueueHasMrEnclave(address,bytes32)` and selector `0x63fcd771`
15503    #[derive(
15504        Clone,
15505        ::ethers::contract::EthCall,
15506        ::ethers::contract::EthDisplay,
15507        Default,
15508        Debug,
15509        PartialEq,
15510        Eq,
15511        Hash,
15512    )]
15513    #[ethcall(
15514        name = "attestationQueueHasMrEnclave",
15515        abi = "attestationQueueHasMrEnclave(address,bytes32)"
15516    )]
15517    pub struct AttestationQueueHasMrEnclaveCall {
15518        pub queue_id: ::ethers::core::types::Address,
15519        pub mr_enclave: [u8; 32],
15520    }
15521    ///Container type for all input parameters for the `attestationQueues` function with signature `attestationQueues(address)` and selector `0x8bb3048c`
15522    #[derive(
15523        Clone,
15524        ::ethers::contract::EthCall,
15525        ::ethers::contract::EthDisplay,
15526        Default,
15527        Debug,
15528        PartialEq,
15529        Eq,
15530        Hash,
15531    )]
15532    #[ethcall(name = "attestationQueues", abi = "attestationQueues(address)")]
15533    pub struct AttestationQueuesCall {
15534        pub queue_id: ::ethers::core::types::Address,
15535    }
15536    ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231`
15537    #[derive(
15538        Clone,
15539        ::ethers::contract::EthCall,
15540        ::ethers::contract::EthDisplay,
15541        Default,
15542        Debug,
15543        PartialEq,
15544        Eq,
15545        Hash,
15546    )]
15547    #[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
15548    pub struct BalanceOfCall {
15549        pub account: ::ethers::core::types::Address,
15550    }
15551    ///Container type for all input parameters for the `callBalances` function with signature `callBalances(address[])` and selector `0x0aaeffe5`
15552    #[derive(
15553        Clone,
15554        ::ethers::contract::EthCall,
15555        ::ethers::contract::EthDisplay,
15556        Default,
15557        Debug,
15558        PartialEq,
15559        Eq,
15560        Hash,
15561    )]
15562    #[ethcall(name = "callBalances", abi = "callBalances(address[])")]
15563    pub struct CallBalancesCall {
15564        pub call_ids: ::std::vec::Vec<::ethers::core::types::Address>,
15565    }
15566    ///Container type for all input parameters for the `callFunction` function with signature `callFunction(address,bytes)` and selector `0x9c23da50`
15567    #[derive(
15568        Clone,
15569        ::ethers::contract::EthCall,
15570        ::ethers::contract::EthDisplay,
15571        Default,
15572        Debug,
15573        PartialEq,
15574        Eq,
15575        Hash,
15576    )]
15577    #[ethcall(name = "callFunction", abi = "callFunction(address,bytes)")]
15578    pub struct CallFunctionCall {
15579        pub function_id: ::ethers::core::types::Address,
15580        pub params: ::ethers::core::types::Bytes,
15581    }
15582    ///Container type for all input parameters for the `createAggregator` function with signature `createAggregator(string,address,uint256,uint256,uint256,string,address,uint256,uint256,uint256,bool)` and selector `0x84ed8177`
15583    #[derive(
15584        Clone,
15585        ::ethers::contract::EthCall,
15586        ::ethers::contract::EthDisplay,
15587        Default,
15588        Debug,
15589        PartialEq,
15590        Eq,
15591        Hash,
15592    )]
15593    #[ethcall(
15594        name = "createAggregator",
15595        abi = "createAggregator(string,address,uint256,uint256,uint256,string,address,uint256,uint256,uint256,bool)"
15596    )]
15597    pub struct CreateAggregatorCall {
15598        pub name: ::std::string::String,
15599        pub authority: ::ethers::core::types::Address,
15600        pub batch_size: ::ethers::core::types::U256,
15601        pub min_update_delay_seconds: ::ethers::core::types::U256,
15602        pub min_oracle_results: ::ethers::core::types::U256,
15603        pub jobs_hash: ::std::string::String,
15604        pub queue_id: ::ethers::core::types::Address,
15605        pub variance_threshold: ::ethers::core::types::U256,
15606        pub min_job_results: ::ethers::core::types::U256,
15607        pub force_report_period: ::ethers::core::types::U256,
15608        pub enable_history: bool,
15609    }
15610    ///Container type for all input parameters for the `createAttestationQueue` function with signature `createAttestationQueue(address,uint256,uint256,uint256,uint256,uint256,bool,bool,uint256)` and selector `0xde776851`
15611    #[derive(
15612        Clone,
15613        ::ethers::contract::EthCall,
15614        ::ethers::contract::EthDisplay,
15615        Default,
15616        Debug,
15617        PartialEq,
15618        Eq,
15619        Hash,
15620    )]
15621    #[ethcall(
15622        name = "createAttestationQueue",
15623        abi = "createAttestationQueue(address,uint256,uint256,uint256,uint256,uint256,bool,bool,uint256)"
15624    )]
15625    pub struct CreateAttestationQueueCall {
15626        pub authority: ::ethers::core::types::Address,
15627        pub max_size: ::ethers::core::types::U256,
15628        pub reward: ::ethers::core::types::U256,
15629        pub enclave_timeout: ::ethers::core::types::U256,
15630        pub max_enclave_verification_age: ::ethers::core::types::U256,
15631        pub allow_authority_override_after: ::ethers::core::types::U256,
15632        pub require_authority_heartbeat_permission: bool,
15633        pub require_usage_permissions: bool,
15634        pub max_consecutive_function_failures: ::ethers::core::types::U256,
15635    }
15636    ///Container type for all input parameters for the `createEnclave` function with signature `createEnclave(address,address,address)` and selector `0xcf392e2f`
15637    #[derive(
15638        Clone,
15639        ::ethers::contract::EthCall,
15640        ::ethers::contract::EthDisplay,
15641        Default,
15642        Debug,
15643        PartialEq,
15644        Eq,
15645        Hash,
15646    )]
15647    #[ethcall(name = "createEnclave", abi = "createEnclave(address,address,address)")]
15648    pub struct CreateEnclaveCall {
15649        pub signer: ::ethers::core::types::Address,
15650        pub queue_id: ::ethers::core::types::Address,
15651        pub authority: ::ethers::core::types::Address,
15652    }
15653    ///Container type for all input parameters for the `createEnclaveWithId` function with signature `createEnclaveWithId(address,address,address,address)` and selector `0xc7c1143e`
15654    #[derive(
15655        Clone,
15656        ::ethers::contract::EthCall,
15657        ::ethers::contract::EthDisplay,
15658        Default,
15659        Debug,
15660        PartialEq,
15661        Eq,
15662        Hash,
15663    )]
15664    #[ethcall(
15665        name = "createEnclaveWithId",
15666        abi = "createEnclaveWithId(address,address,address,address)"
15667    )]
15668    pub struct CreateEnclaveWithIdCall {
15669        pub enclave_id: ::ethers::core::types::Address,
15670        pub signer: ::ethers::core::types::Address,
15671        pub queue_id: ::ethers::core::types::Address,
15672        pub authority: ::ethers::core::types::Address,
15673    }
15674    ///Container type for all input parameters for the `createFunction` function with signature `createFunction(string,address,address,string,string,string,string,string,address[])` and selector `0xc4829580`
15675    #[derive(
15676        Clone,
15677        ::ethers::contract::EthCall,
15678        ::ethers::contract::EthDisplay,
15679        Default,
15680        Debug,
15681        PartialEq,
15682        Eq,
15683        Hash,
15684    )]
15685    #[ethcall(
15686        name = "createFunction",
15687        abi = "createFunction(string,address,address,string,string,string,string,string,address[])"
15688    )]
15689    pub struct CreateFunctionCall {
15690        pub name: ::std::string::String,
15691        pub authority: ::ethers::core::types::Address,
15692        pub queue_id: ::ethers::core::types::Address,
15693        pub container_registry: ::std::string::String,
15694        pub container: ::std::string::String,
15695        pub version: ::std::string::String,
15696        pub schedule: ::std::string::String,
15697        pub params_schema: ::std::string::String,
15698        pub permitted_callers: ::std::vec::Vec<::ethers::core::types::Address>,
15699    }
15700    ///Container type for all input parameters for the `createFunctionWithId` function with signature `createFunctionWithId(address,string,address,address,string,string,string,string,string,address[])` and selector `0xcd86c71b`
15701    #[derive(
15702        Clone,
15703        ::ethers::contract::EthCall,
15704        ::ethers::contract::EthDisplay,
15705        Default,
15706        Debug,
15707        PartialEq,
15708        Eq,
15709        Hash,
15710    )]
15711    #[ethcall(
15712        name = "createFunctionWithId",
15713        abi = "createFunctionWithId(address,string,address,address,string,string,string,string,string,address[])"
15714    )]
15715    pub struct CreateFunctionWithIdCall {
15716        pub function_id: ::ethers::core::types::Address,
15717        pub name: ::std::string::String,
15718        pub authority: ::ethers::core::types::Address,
15719        pub queue_id: ::ethers::core::types::Address,
15720        pub container_registry: ::std::string::String,
15721        pub container: ::std::string::String,
15722        pub version: ::std::string::String,
15723        pub schedule: ::std::string::String,
15724        pub params_schema: ::std::string::String,
15725        pub permitted_callers: ::std::vec::Vec<::ethers::core::types::Address>,
15726    }
15727    ///Container type for all input parameters for the `createOracle` function with signature `createOracle(string,address,address,address)` and selector `0xf843b846`
15728    #[derive(
15729        Clone,
15730        ::ethers::contract::EthCall,
15731        ::ethers::contract::EthDisplay,
15732        Default,
15733        Debug,
15734        PartialEq,
15735        Eq,
15736        Hash,
15737    )]
15738    #[ethcall(
15739        name = "createOracle",
15740        abi = "createOracle(string,address,address,address)"
15741    )]
15742    pub struct CreateOracleCall {
15743        pub name: ::std::string::String,
15744        pub signer: ::ethers::core::types::Address,
15745        pub queue_id: ::ethers::core::types::Address,
15746        pub authority: ::ethers::core::types::Address,
15747    }
15748    ///Container type for all input parameters for the `createOracleQueue` function with signature `createOracleQueue(string,address,bool,uint256,uint256,uint256)` and selector `0xe7675651`
15749    #[derive(
15750        Clone,
15751        ::ethers::contract::EthCall,
15752        ::ethers::contract::EthDisplay,
15753        Default,
15754        Debug,
15755        PartialEq,
15756        Eq,
15757        Hash,
15758    )]
15759    #[ethcall(
15760        name = "createOracleQueue",
15761        abi = "createOracleQueue(string,address,bool,uint256,uint256,uint256)"
15762    )]
15763    pub struct CreateOracleQueueCall {
15764        pub name: ::std::string::String,
15765        pub authority: ::ethers::core::types::Address,
15766        pub unpermissioned_feeds_enabled: bool,
15767        pub max_size: ::ethers::core::types::U256,
15768        pub reward: ::ethers::core::types::U256,
15769        pub oracle_timeout: ::ethers::core::types::U256,
15770    }
15771    ///Container type for all input parameters for the `createOracleWithId` function with signature `createOracleWithId(address,string,address,address,address)` and selector `0x16703130`
15772    #[derive(
15773        Clone,
15774        ::ethers::contract::EthCall,
15775        ::ethers::contract::EthDisplay,
15776        Default,
15777        Debug,
15778        PartialEq,
15779        Eq,
15780        Hash,
15781    )]
15782    #[ethcall(
15783        name = "createOracleWithId",
15784        abi = "createOracleWithId(address,string,address,address,address)"
15785    )]
15786    pub struct CreateOracleWithIdCall {
15787        pub oracle_id: ::ethers::core::types::Address,
15788        pub name: ::std::string::String,
15789        pub signer: ::ethers::core::types::Address,
15790        pub queue_id: ::ethers::core::types::Address,
15791        pub authority: ::ethers::core::types::Address,
15792    }
15793    ///Container type for all input parameters for the `createRoutineWithId` function with signature `createRoutineWithId(address,address,address,bytes,string)` and selector `0x410d3013`
15794    #[derive(
15795        Clone,
15796        ::ethers::contract::EthCall,
15797        ::ethers::contract::EthDisplay,
15798        Default,
15799        Debug,
15800        PartialEq,
15801        Eq,
15802        Hash,
15803    )]
15804    #[ethcall(
15805        name = "createRoutineWithId",
15806        abi = "createRoutineWithId(address,address,address,bytes,string)"
15807    )]
15808    pub struct CreateRoutineWithIdCall {
15809        pub routine_id: ::ethers::core::types::Address,
15810        pub function_id: ::ethers::core::types::Address,
15811        pub authority: ::ethers::core::types::Address,
15812        pub params: ::ethers::core::types::Bytes,
15813        pub schedule: ::std::string::String,
15814    }
15815    ///Container type for all input parameters for the `diamondCut` function with signature `diamondCut((address,uint8,bytes4[])[],address,bytes)` and selector `0x1f931c1c`
15816    #[derive(
15817        Clone,
15818        ::ethers::contract::EthCall,
15819        ::ethers::contract::EthDisplay,
15820        Default,
15821        Debug,
15822        PartialEq,
15823        Eq,
15824        Hash,
15825    )]
15826    #[ethcall(
15827        name = "diamondCut",
15828        abi = "diamondCut((address,uint8,bytes4[])[],address,bytes)"
15829    )]
15830    pub struct DiamondCutCall {
15831        pub diamond_cut: ::std::vec::Vec<FacetCut>,
15832        pub init: ::ethers::core::types::Address,
15833        pub calldata: ::ethers::core::types::Bytes,
15834    }
15835    ///Container type for all input parameters for the `enclaveGarbageCollect` function with signature `enclaveGarbageCollect(address,uint256)` and selector `0xc06e4eda`
15836    #[derive(
15837        Clone,
15838        ::ethers::contract::EthCall,
15839        ::ethers::contract::EthDisplay,
15840        Default,
15841        Debug,
15842        PartialEq,
15843        Eq,
15844        Hash,
15845    )]
15846    #[ethcall(
15847        name = "enclaveGarbageCollect",
15848        abi = "enclaveGarbageCollect(address,uint256)"
15849    )]
15850    pub struct EnclaveGarbageCollectCall {
15851        pub enclave_id: ::ethers::core::types::Address,
15852        pub enclave_idx: ::ethers::core::types::U256,
15853    }
15854    ///Container type for all input parameters for the `enclaveHeartbeat` function with signature `enclaveHeartbeat(address)` and selector `0xce834437`
15855    #[derive(
15856        Clone,
15857        ::ethers::contract::EthCall,
15858        ::ethers::contract::EthDisplay,
15859        Default,
15860        Debug,
15861        PartialEq,
15862        Eq,
15863        Hash,
15864    )]
15865    #[ethcall(name = "enclaveHeartbeat", abi = "enclaveHeartbeat(address)")]
15866    pub struct EnclaveHeartbeatCall {
15867        pub enclave_id: ::ethers::core::types::Address,
15868    }
15869    ///Container type for all input parameters for the `enclaveSignerToEnclaveId` function with signature `enclaveSignerToEnclaveId(address)` and selector `0x2ff75ec2`
15870    #[derive(
15871        Clone,
15872        ::ethers::contract::EthCall,
15873        ::ethers::contract::EthDisplay,
15874        Default,
15875        Debug,
15876        PartialEq,
15877        Eq,
15878        Hash,
15879    )]
15880    #[ethcall(
15881        name = "enclaveSignerToEnclaveId",
15882        abi = "enclaveSignerToEnclaveId(address)"
15883    )]
15884    pub struct EnclaveSignerToEnclaveIdCall {
15885        pub signer: ::ethers::core::types::Address,
15886    }
15887    ///Container type for all input parameters for the `enclaves` function with signature `enclaves(address)` and selector `0xfaeedb07`
15888    #[derive(
15889        Clone,
15890        ::ethers::contract::EthCall,
15891        ::ethers::contract::EthDisplay,
15892        Default,
15893        Debug,
15894        PartialEq,
15895        Eq,
15896        Hash,
15897    )]
15898    #[ethcall(name = "enclaves", abi = "enclaves(address)")]
15899    pub struct EnclavesCall {
15900        pub enclave_id: ::ethers::core::types::Address,
15901    }
15902    ///Container type for all input parameters for the `estimatedRunCost` function with signature `estimatedRunCost(address,uint256)` and selector `0x3da87438`
15903    #[derive(
15904        Clone,
15905        ::ethers::contract::EthCall,
15906        ::ethers::contract::EthDisplay,
15907        Default,
15908        Debug,
15909        PartialEq,
15910        Eq,
15911        Hash,
15912    )]
15913    #[ethcall(name = "estimatedRunCost", abi = "estimatedRunCost(address,uint256)")]
15914    pub struct EstimatedRunCostCall {
15915        pub function_id: ::ethers::core::types::Address,
15916        pub gas_price: ::ethers::core::types::U256,
15917    }
15918    ///Container type for all input parameters for the `facetAddress` function with signature `facetAddress(bytes4)` and selector `0xcdffacc6`
15919    #[derive(
15920        Clone,
15921        ::ethers::contract::EthCall,
15922        ::ethers::contract::EthDisplay,
15923        Default,
15924        Debug,
15925        PartialEq,
15926        Eq,
15927        Hash,
15928    )]
15929    #[ethcall(name = "facetAddress", abi = "facetAddress(bytes4)")]
15930    pub struct FacetAddressCall {
15931        pub function_selector: [u8; 4],
15932    }
15933    ///Container type for all input parameters for the `facetAddresses` function with signature `facetAddresses()` and selector `0x52ef6b2c`
15934    #[derive(
15935        Clone,
15936        ::ethers::contract::EthCall,
15937        ::ethers::contract::EthDisplay,
15938        Default,
15939        Debug,
15940        PartialEq,
15941        Eq,
15942        Hash,
15943    )]
15944    #[ethcall(name = "facetAddresses", abi = "facetAddresses()")]
15945    pub struct FacetAddressesCall;
15946    ///Container type for all input parameters for the `facetFunctionSelectors` function with signature `facetFunctionSelectors(address)` and selector `0xadfca15e`
15947    #[derive(
15948        Clone,
15949        ::ethers::contract::EthCall,
15950        ::ethers::contract::EthDisplay,
15951        Default,
15952        Debug,
15953        PartialEq,
15954        Eq,
15955        Hash,
15956    )]
15957    #[ethcall(
15958        name = "facetFunctionSelectors",
15959        abi = "facetFunctionSelectors(address)"
15960    )]
15961    pub struct FacetFunctionSelectorsCall {
15962        pub facet: ::ethers::core::types::Address,
15963    }
15964    ///Container type for all input parameters for the `facets` function with signature `facets()` and selector `0x7a0ed627`
15965    #[derive(
15966        Clone,
15967        ::ethers::contract::EthCall,
15968        ::ethers::contract::EthDisplay,
15969        Default,
15970        Debug,
15971        PartialEq,
15972        Eq,
15973        Hash,
15974    )]
15975    #[ethcall(name = "facets", abi = "facets()")]
15976    pub struct FacetsCall;
15977    ///Container type for all input parameters for the `failEnclave` function with signature `failEnclave(address,address,uint256)` and selector `0x39d920e6`
15978    #[derive(
15979        Clone,
15980        ::ethers::contract::EthCall,
15981        ::ethers::contract::EthDisplay,
15982        Default,
15983        Debug,
15984        PartialEq,
15985        Eq,
15986        Hash,
15987    )]
15988    #[ethcall(name = "failEnclave", abi = "failEnclave(address,address,uint256)")]
15989    pub struct FailEnclaveCall {
15990        pub verifier_id: ::ethers::core::types::Address,
15991        pub enclave_id: ::ethers::core::types::Address,
15992        pub verifier_idx: ::ethers::core::types::U256,
15993    }
15994    ///Container type for all input parameters for the `failFunctionResult` function with signature `failFunctionResult((uint256,address,uint256,uint256,uint8,address[],bytes32[],uint8[]))` and selector `0x52c7cc93`
15995    #[derive(
15996        Clone,
15997        ::ethers::contract::EthCall,
15998        ::ethers::contract::EthDisplay,
15999        Default,
16000        Debug,
16001        PartialEq,
16002        Eq,
16003        Hash,
16004    )]
16005    #[ethcall(
16006        name = "failFunctionResult",
16007        abi = "failFunctionResult((uint256,address,uint256,uint256,uint8,address[],bytes32[],uint8[]))"
16008    )]
16009    pub struct FailFunctionResultCall {
16010        pub params: FunctionFailParams,
16011    }
16012    ///Container type for all input parameters for the `forceOverrideVerify` function with signature `forceOverrideVerify(address)` and selector `0xe231b12f`
16013    #[derive(
16014        Clone,
16015        ::ethers::contract::EthCall,
16016        ::ethers::contract::EthDisplay,
16017        Default,
16018        Debug,
16019        PartialEq,
16020        Eq,
16021        Hash,
16022    )]
16023    #[ethcall(name = "forceOverrideVerify", abi = "forceOverrideVerify(address)")]
16024    pub struct ForceOverrideVerifyCall {
16025        pub enclave_id: ::ethers::core::types::Address,
16026    }
16027    ///Container type for all input parameters for the `forward` function with signature `forward((uint256,uint256,uint256,address,address,bytes)[],bytes[])` and selector `0x7096052c`
16028    #[derive(
16029        Clone,
16030        ::ethers::contract::EthCall,
16031        ::ethers::contract::EthDisplay,
16032        Default,
16033        Debug,
16034        PartialEq,
16035        Eq,
16036        Hash,
16037    )]
16038    #[ethcall(
16039        name = "forward",
16040        abi = "forward((uint256,uint256,uint256,address,address,bytes)[],bytes[])"
16041    )]
16042    pub struct ForwardCall {
16043        pub transactions: ::std::vec::Vec<Transaction>,
16044        pub signatures: ::std::vec::Vec<::ethers::core::types::Bytes>,
16045    }
16046    ///Container type for all input parameters for the `funcs` function with signature `funcs(address)` and selector `0x8ef92003`
16047    #[derive(
16048        Clone,
16049        ::ethers::contract::EthCall,
16050        ::ethers::contract::EthDisplay,
16051        Default,
16052        Debug,
16053        PartialEq,
16054        Eq,
16055        Hash,
16056    )]
16057    #[ethcall(name = "funcs", abi = "funcs(address)")]
16058    pub struct FuncsCall {
16059        pub function_id: ::ethers::core::types::Address,
16060    }
16061    ///Container type for all input parameters for the `functionCallSettings` function with signature `functionCallSettings(address)` and selector `0xa30f8d25`
16062    #[derive(
16063        Clone,
16064        ::ethers::contract::EthCall,
16065        ::ethers::contract::EthDisplay,
16066        Default,
16067        Debug,
16068        PartialEq,
16069        Eq,
16070        Hash,
16071    )]
16072    #[ethcall(name = "functionCallSettings", abi = "functionCallSettings(address)")]
16073    pub struct FunctionCallSettingsCall {
16074        pub function_id: ::ethers::core::types::Address,
16075    }
16076    ///Container type for all input parameters for the `functionCalls` function with signature `functionCalls(address)` and selector `0x826df326`
16077    #[derive(
16078        Clone,
16079        ::ethers::contract::EthCall,
16080        ::ethers::contract::EthDisplay,
16081        Default,
16082        Debug,
16083        PartialEq,
16084        Eq,
16085        Hash,
16086    )]
16087    #[ethcall(name = "functionCalls", abi = "functionCalls(address)")]
16088    pub struct FunctionCallsCall {
16089        pub call_id: ::ethers::core::types::Address,
16090    }
16091    ///Container type for all input parameters for the `functionEscrowFund` function with signature `functionEscrowFund(address)` and selector `0xba93166c`
16092    #[derive(
16093        Clone,
16094        ::ethers::contract::EthCall,
16095        ::ethers::contract::EthDisplay,
16096        Default,
16097        Debug,
16098        PartialEq,
16099        Eq,
16100        Hash,
16101    )]
16102    #[ethcall(name = "functionEscrowFund", abi = "functionEscrowFund(address)")]
16103    pub struct FunctionEscrowFundCall {
16104        pub account_id: ::ethers::core::types::Address,
16105    }
16106    ///Container type for all input parameters for the `functionEscrowWithdraw` function with signature `functionEscrowWithdraw(address,address,uint256)` and selector `0xa29baf1e`
16107    #[derive(
16108        Clone,
16109        ::ethers::contract::EthCall,
16110        ::ethers::contract::EthDisplay,
16111        Default,
16112        Debug,
16113        PartialEq,
16114        Eq,
16115        Hash,
16116    )]
16117    #[ethcall(
16118        name = "functionEscrowWithdraw",
16119        abi = "functionEscrowWithdraw(address,address,uint256)"
16120    )]
16121    pub struct FunctionEscrowWithdrawCall {
16122        pub recipient: ::ethers::core::types::Address,
16123        pub function_id: ::ethers::core::types::Address,
16124        pub amount: ::ethers::core::types::U256,
16125    }
16126    ///Container type for all input parameters for the `functionExists` function with signature `functionExists(address)` and selector `0xa13001c9`
16127    #[derive(
16128        Clone,
16129        ::ethers::contract::EthCall,
16130        ::ethers::contract::EthDisplay,
16131        Default,
16132        Debug,
16133        PartialEq,
16134        Eq,
16135        Hash,
16136    )]
16137    #[ethcall(name = "functionExists", abi = "functionExists(address)")]
16138    pub struct FunctionExistsCall {
16139        pub function_id: ::ethers::core::types::Address,
16140    }
16141    ///Container type for all input parameters for the `functionSettings` function with signature `functionSettings(address)` and selector `0xce77efa6`
16142    #[derive(
16143        Clone,
16144        ::ethers::contract::EthCall,
16145        ::ethers::contract::EthDisplay,
16146        Default,
16147        Debug,
16148        PartialEq,
16149        Eq,
16150        Hash,
16151    )]
16152    #[ethcall(name = "functionSettings", abi = "functionSettings(address)")]
16153    pub struct FunctionSettingsCall {
16154        pub function_id: ::ethers::core::types::Address,
16155    }
16156    ///Container type for all input parameters for the `functionVerify` function with signature `functionVerify(uint256,address,address,uint256,uint256,bool,bytes32,(uint256,uint256,uint256,address,address,bytes)[],bytes[])` and selector `0xa5625b96`
16157    #[derive(
16158        Clone,
16159        ::ethers::contract::EthCall,
16160        ::ethers::contract::EthDisplay,
16161        Default,
16162        Debug,
16163        PartialEq,
16164        Eq,
16165        Hash,
16166    )]
16167    #[ethcall(
16168        name = "functionVerify",
16169        abi = "functionVerify(uint256,address,address,uint256,uint256,bool,bytes32,(uint256,uint256,uint256,address,address,bytes)[],bytes[])"
16170    )]
16171    pub struct FunctionVerifyCall {
16172        pub enclave_idx: ::ethers::core::types::U256,
16173        pub function_id: ::ethers::core::types::Address,
16174        pub delegated_signer_address: ::ethers::core::types::Address,
16175        pub observed_time: ::ethers::core::types::U256,
16176        pub next_allowed_timestamp: ::ethers::core::types::U256,
16177        pub is_failure: bool,
16178        pub mr_enclave: [u8; 32],
16179        pub transactions: ::std::vec::Vec<Transaction>,
16180        pub signatures: ::std::vec::Vec<::ethers::core::types::Bytes>,
16181    }
16182    ///Container type for all input parameters for the `functionVerifyRequest` function with signature `functionVerifyRequest(uint256,address,address,uint256,uint256,bool,bytes32,(uint256,uint256,uint256,address,address,bytes)[],bytes[],address[])` and selector `0xb8390a56`
16183    #[derive(
16184        Clone,
16185        ::ethers::contract::EthCall,
16186        ::ethers::contract::EthDisplay,
16187        Default,
16188        Debug,
16189        PartialEq,
16190        Eq,
16191        Hash,
16192    )]
16193    #[ethcall(
16194        name = "functionVerifyRequest",
16195        abi = "functionVerifyRequest(uint256,address,address,uint256,uint256,bool,bytes32,(uint256,uint256,uint256,address,address,bytes)[],bytes[],address[])"
16196    )]
16197    pub struct FunctionVerifyRequestCall {
16198        pub enclave_idx: ::ethers::core::types::U256,
16199        pub function_id: ::ethers::core::types::Address,
16200        pub delegated_signer_address: ::ethers::core::types::Address,
16201        pub observed_time: ::ethers::core::types::U256,
16202        pub next_allowed_timestamp: ::ethers::core::types::U256,
16203        pub is_failure: bool,
16204        pub mr_enclave: [u8; 32],
16205        pub transactions: ::std::vec::Vec<Transaction>,
16206        pub signatures: ::std::vec::Vec<::ethers::core::types::Bytes>,
16207        pub function_call_ids: ::std::vec::Vec<::ethers::core::types::Address>,
16208    }
16209    ///Container type for all input parameters for the `getActiveFunctionCallsByQueue` function with signature `getActiveFunctionCallsByQueue(address)` and selector `0xfa88c651`
16210    #[derive(
16211        Clone,
16212        ::ethers::contract::EthCall,
16213        ::ethers::contract::EthDisplay,
16214        Default,
16215        Debug,
16216        PartialEq,
16217        Eq,
16218        Hash,
16219    )]
16220    #[ethcall(
16221        name = "getActiveFunctionCallsByQueue",
16222        abi = "getActiveFunctionCallsByQueue(address)"
16223    )]
16224    pub struct GetActiveFunctionCallsByQueueCall {
16225        pub queue_id: ::ethers::core::types::Address,
16226    }
16227    ///Container type for all input parameters for the `getActiveFunctionsByQueue` function with signature `getActiveFunctionsByQueue(address)` and selector `0x1fc747b7`
16228    #[derive(
16229        Clone,
16230        ::ethers::contract::EthCall,
16231        ::ethers::contract::EthDisplay,
16232        Default,
16233        Debug,
16234        PartialEq,
16235        Eq,
16236        Hash,
16237    )]
16238    #[ethcall(
16239        name = "getActiveFunctionsByQueue",
16240        abi = "getActiveFunctionsByQueue(address)"
16241    )]
16242    pub struct GetActiveFunctionsByQueueCall {
16243        pub queue_id: ::ethers::core::types::Address,
16244    }
16245    ///Container type for all input parameters for the `getActiveRequestsByQueue` function with signature `getActiveRequestsByQueue(address)` and selector `0x55c053c3`
16246    #[derive(
16247        Clone,
16248        ::ethers::contract::EthCall,
16249        ::ethers::contract::EthDisplay,
16250        Default,
16251        Debug,
16252        PartialEq,
16253        Eq,
16254        Hash,
16255    )]
16256    #[ethcall(
16257        name = "getActiveRequestsByQueue",
16258        abi = "getActiveRequestsByQueue(address)"
16259    )]
16260    pub struct GetActiveRequestsByQueueCall {
16261        pub queue_id: ::ethers::core::types::Address,
16262    }
16263    ///Container type for all input parameters for the `getActiveRoutinesByQueue` function with signature `getActiveRoutinesByQueue(address)` and selector `0x9da3c6eb`
16264    #[derive(
16265        Clone,
16266        ::ethers::contract::EthCall,
16267        ::ethers::contract::EthDisplay,
16268        Default,
16269        Debug,
16270        PartialEq,
16271        Eq,
16272        Hash,
16273    )]
16274    #[ethcall(
16275        name = "getActiveRoutinesByQueue",
16276        abi = "getActiveRoutinesByQueue(address)"
16277    )]
16278    pub struct GetActiveRoutinesByQueueCall {
16279        pub queue_id: ::ethers::core::types::Address,
16280    }
16281    ///Container type for all input parameters for the `getAggregatorsByAuthority` function with signature `getAggregatorsByAuthority(address)` and selector `0x911c30f3`
16282    #[derive(
16283        Clone,
16284        ::ethers::contract::EthCall,
16285        ::ethers::contract::EthDisplay,
16286        Default,
16287        Debug,
16288        PartialEq,
16289        Eq,
16290        Hash,
16291    )]
16292    #[ethcall(
16293        name = "getAggregatorsByAuthority",
16294        abi = "getAggregatorsByAuthority(address)"
16295    )]
16296    pub struct GetAggregatorsByAuthorityCall {
16297        pub user: ::ethers::core::types::Address,
16298    }
16299    ///Container type for all input parameters for the `getAllAggregators` function with signature `getAllAggregators()` and selector `0x465c65dd`
16300    #[derive(
16301        Clone,
16302        ::ethers::contract::EthCall,
16303        ::ethers::contract::EthDisplay,
16304        Default,
16305        Debug,
16306        PartialEq,
16307        Eq,
16308        Hash,
16309    )]
16310    #[ethcall(name = "getAllAggregators", abi = "getAllAggregators()")]
16311    pub struct GetAllAggregatorsCall;
16312    ///Container type for all input parameters for the `getAllFunctions` function with signature `getAllFunctions()` and selector `0xab6418b4`
16313    #[derive(
16314        Clone,
16315        ::ethers::contract::EthCall,
16316        ::ethers::contract::EthDisplay,
16317        Default,
16318        Debug,
16319        PartialEq,
16320        Eq,
16321        Hash,
16322    )]
16323    #[ethcall(name = "getAllFunctions", abi = "getAllFunctions()")]
16324    pub struct GetAllFunctionsCall;
16325    ///Container type for all input parameters for the `getAttestationQueueMrEnclaves` function with signature `getAttestationQueueMrEnclaves(address)` and selector `0x0f3bc418`
16326    #[derive(
16327        Clone,
16328        ::ethers::contract::EthCall,
16329        ::ethers::contract::EthDisplay,
16330        Default,
16331        Debug,
16332        PartialEq,
16333        Eq,
16334        Hash,
16335    )]
16336    #[ethcall(
16337        name = "getAttestationQueueMrEnclaves",
16338        abi = "getAttestationQueueMrEnclaves(address)"
16339    )]
16340    pub struct GetAttestationQueueMrEnclavesCall {
16341        pub queue_id: ::ethers::core::types::Address,
16342    }
16343    ///Container type for all input parameters for the `getCurrentIntervalId` function with signature `getCurrentIntervalId(address)` and selector `0x1dc1da86`
16344    #[derive(
16345        Clone,
16346        ::ethers::contract::EthCall,
16347        ::ethers::contract::EthDisplay,
16348        Default,
16349        Debug,
16350        PartialEq,
16351        Eq,
16352        Hash,
16353    )]
16354    #[ethcall(name = "getCurrentIntervalId", abi = "getCurrentIntervalId(address)")]
16355    pub struct GetCurrentIntervalIdCall {
16356        pub aggregator_id: ::ethers::core::types::Address,
16357    }
16358    ///Container type for all input parameters for the `getEnclaveIdx` function with signature `getEnclaveIdx(address)` and selector `0x21fb3bbc`
16359    #[derive(
16360        Clone,
16361        ::ethers::contract::EthCall,
16362        ::ethers::contract::EthDisplay,
16363        Default,
16364        Debug,
16365        PartialEq,
16366        Eq,
16367        Hash,
16368    )]
16369    #[ethcall(name = "getEnclaveIdx", abi = "getEnclaveIdx(address)")]
16370    pub struct GetEnclaveIdxCall {
16371        pub enclave_id: ::ethers::core::types::Address,
16372    }
16373    ///Container type for all input parameters for the `getEnclaves` function with signature `getEnclaves(address)` and selector `0x340dd88b`
16374    #[derive(
16375        Clone,
16376        ::ethers::contract::EthCall,
16377        ::ethers::contract::EthDisplay,
16378        Default,
16379        Debug,
16380        PartialEq,
16381        Eq,
16382        Hash,
16383    )]
16384    #[ethcall(name = "getEnclaves", abi = "getEnclaves(address)")]
16385    pub struct GetEnclavesCall {
16386        pub queue_id: ::ethers::core::types::Address,
16387    }
16388    ///Container type for all input parameters for the `getFunctionMrEnclaves` function with signature `getFunctionMrEnclaves(address)` and selector `0x526112ce`
16389    #[derive(
16390        Clone,
16391        ::ethers::contract::EthCall,
16392        ::ethers::contract::EthDisplay,
16393        Default,
16394        Debug,
16395        PartialEq,
16396        Eq,
16397        Hash,
16398    )]
16399    #[ethcall(name = "getFunctionMrEnclaves", abi = "getFunctionMrEnclaves(address)")]
16400    pub struct GetFunctionMrEnclavesCall {
16401        pub function_id: ::ethers::core::types::Address,
16402    }
16403    ///Container type for all input parameters for the `getFunctionPermittedCallers` function with signature `getFunctionPermittedCallers(address)` and selector `0xafdcbd6a`
16404    #[derive(
16405        Clone,
16406        ::ethers::contract::EthCall,
16407        ::ethers::contract::EthDisplay,
16408        Default,
16409        Debug,
16410        PartialEq,
16411        Eq,
16412        Hash,
16413    )]
16414    #[ethcall(
16415        name = "getFunctionPermittedCallers",
16416        abi = "getFunctionPermittedCallers(address)"
16417    )]
16418    pub struct GetFunctionPermittedCallersCall {
16419        pub function_id: ::ethers::core::types::Address,
16420    }
16421    ///Container type for all input parameters for the `getFunctionsByAuthority` function with signature `getFunctionsByAuthority(address)` and selector `0x357f633f`
16422    #[derive(
16423        Clone,
16424        ::ethers::contract::EthCall,
16425        ::ethers::contract::EthDisplay,
16426        Default,
16427        Debug,
16428        PartialEq,
16429        Eq,
16430        Hash,
16431    )]
16432    #[ethcall(
16433        name = "getFunctionsByAuthority",
16434        abi = "getFunctionsByAuthority(address)"
16435    )]
16436    pub struct GetFunctionsByAuthorityCall {
16437        pub user: ::ethers::core::types::Address,
16438    }
16439    ///Container type for all input parameters for the `getIntervalResult` function with signature `getIntervalResult(address,uint80)` and selector `0x3d24ef6e`
16440    #[derive(
16441        Clone,
16442        ::ethers::contract::EthCall,
16443        ::ethers::contract::EthDisplay,
16444        Default,
16445        Debug,
16446        PartialEq,
16447        Eq,
16448        Hash,
16449    )]
16450    #[ethcall(name = "getIntervalResult", abi = "getIntervalResult(address,uint80)")]
16451    pub struct GetIntervalResultCall {
16452        pub aggregator_id: ::ethers::core::types::Address,
16453        pub interval_id: u128,
16454    }
16455    ///Container type for all input parameters for the `getOracleIdx` function with signature `getOracleIdx(address)` and selector `0xd87dd0ac`
16456    #[derive(
16457        Clone,
16458        ::ethers::contract::EthCall,
16459        ::ethers::contract::EthDisplay,
16460        Default,
16461        Debug,
16462        PartialEq,
16463        Eq,
16464        Hash,
16465    )]
16466    #[ethcall(name = "getOracleIdx", abi = "getOracleIdx(address)")]
16467    pub struct GetOracleIdxCall {
16468        pub oracle_id: ::ethers::core::types::Address,
16469    }
16470    ///Container type for all input parameters for the `getOracleQueueAllowedMrEnclaves` function with signature `getOracleQueueAllowedMrEnclaves(address)` and selector `0xf04b0f59`
16471    #[derive(
16472        Clone,
16473        ::ethers::contract::EthCall,
16474        ::ethers::contract::EthDisplay,
16475        Default,
16476        Debug,
16477        PartialEq,
16478        Eq,
16479        Hash,
16480    )]
16481    #[ethcall(
16482        name = "getOracleQueueAllowedMrEnclaves",
16483        abi = "getOracleQueueAllowedMrEnclaves(address)"
16484    )]
16485    pub struct GetOracleQueueAllowedMrEnclavesCall {
16486        pub queue_id: ::ethers::core::types::Address,
16487    }
16488    ///Container type for all input parameters for the `getOracles` function with signature `getOracles(address)` and selector `0x8e749281`
16489    #[derive(
16490        Clone,
16491        ::ethers::contract::EthCall,
16492        ::ethers::contract::EthDisplay,
16493        Default,
16494        Debug,
16495        PartialEq,
16496        Eq,
16497        Hash,
16498    )]
16499    #[ethcall(name = "getOracles", abi = "getOracles(address)")]
16500    pub struct GetOraclesCall {
16501        pub queue_id: ::ethers::core::types::Address,
16502    }
16503    ///Container type for all input parameters for the `getPermission` function with signature `getPermission(address,address)` and selector `0x910185dd`
16504    #[derive(
16505        Clone,
16506        ::ethers::contract::EthCall,
16507        ::ethers::contract::EthDisplay,
16508        Default,
16509        Debug,
16510        PartialEq,
16511        Eq,
16512        Hash,
16513    )]
16514    #[ethcall(name = "getPermission", abi = "getPermission(address,address)")]
16515    pub struct GetPermissionCall {
16516        pub granter: ::ethers::core::types::Address,
16517        pub grantee: ::ethers::core::types::Address,
16518    }
16519    ///Container type for all input parameters for the `getRequestsByFunctionId` function with signature `getRequestsByFunctionId(address)` and selector `0xb68e3ace`
16520    #[derive(
16521        Clone,
16522        ::ethers::contract::EthCall,
16523        ::ethers::contract::EthDisplay,
16524        Default,
16525        Debug,
16526        PartialEq,
16527        Eq,
16528        Hash,
16529    )]
16530    #[ethcall(
16531        name = "getRequestsByFunctionId",
16532        abi = "getRequestsByFunctionId(address)"
16533    )]
16534    pub struct GetRequestsByFunctionIdCall {
16535        pub function_id: ::ethers::core::types::Address,
16536    }
16537    ///Container type for all input parameters for the `getRoutinesByAuthority` function with signature `getRoutinesByAuthority(address)` and selector `0xb36afb5a`
16538    #[derive(
16539        Clone,
16540        ::ethers::contract::EthCall,
16541        ::ethers::contract::EthDisplay,
16542        Default,
16543        Debug,
16544        PartialEq,
16545        Eq,
16546        Hash,
16547    )]
16548    #[ethcall(
16549        name = "getRoutinesByAuthority",
16550        abi = "getRoutinesByAuthority(address)"
16551    )]
16552    pub struct GetRoutinesByAuthorityCall {
16553        pub authority: ::ethers::core::types::Address,
16554    }
16555    ///Container type for all input parameters for the `getRoutinesByFunctionId` function with signature `getRoutinesByFunctionId(address)` and selector `0x27c66c0f`
16556    #[derive(
16557        Clone,
16558        ::ethers::contract::EthCall,
16559        ::ethers::contract::EthDisplay,
16560        Default,
16561        Debug,
16562        PartialEq,
16563        Eq,
16564        Hash,
16565    )]
16566    #[ethcall(
16567        name = "getRoutinesByFunctionId",
16568        abi = "getRoutinesByFunctionId(address)"
16569    )]
16570    pub struct GetRoutinesByFunctionIdCall {
16571        pub function_id: ::ethers::core::types::Address,
16572    }
16573    ///Container type for all input parameters for the `getStakeForEnclave` function with signature `getStakeForEnclave(address)` and selector `0x376d9b41`
16574    #[derive(
16575        Clone,
16576        ::ethers::contract::EthCall,
16577        ::ethers::contract::EthDisplay,
16578        Default,
16579        Debug,
16580        PartialEq,
16581        Eq,
16582        Hash,
16583    )]
16584    #[ethcall(name = "getStakeForEnclave", abi = "getStakeForEnclave(address)")]
16585    pub struct GetStakeForEnclaveCall {
16586        pub enclave_id: ::ethers::core::types::Address,
16587    }
16588    ///Container type for all input parameters for the `getStakeForEnclaveWithToken` function with signature `getStakeForEnclaveWithToken(address,address)` and selector `0x3ff8f2af`
16589    #[derive(
16590        Clone,
16591        ::ethers::contract::EthCall,
16592        ::ethers::contract::EthDisplay,
16593        Default,
16594        Debug,
16595        PartialEq,
16596        Eq,
16597        Hash,
16598    )]
16599    #[ethcall(
16600        name = "getStakeForEnclaveWithToken",
16601        abi = "getStakeForEnclaveWithToken(address,address)"
16602    )]
16603    pub struct GetStakeForEnclaveWithTokenCall {
16604        pub enclave_id: ::ethers::core::types::Address,
16605        pub token: ::ethers::core::types::Address,
16606    }
16607    ///Container type for all input parameters for the `getStakingConfig` function with signature `getStakingConfig(address)` and selector `0x5133a68c`
16608    #[derive(
16609        Clone,
16610        ::ethers::contract::EthCall,
16611        ::ethers::contract::EthDisplay,
16612        Default,
16613        Debug,
16614        PartialEq,
16615        Eq,
16616        Hash,
16617    )]
16618    #[ethcall(name = "getStakingConfig", abi = "getStakingConfig(address)")]
16619    pub struct GetStakingConfigCall {
16620        pub queue_id: ::ethers::core::types::Address,
16621    }
16622    ///Container type for all input parameters for the `getTransactionHash` function with signature `getTransactionHash(uint256,uint256,uint256,address,address,bytes)` and selector `0xd93f1970`
16623    #[derive(
16624        Clone,
16625        ::ethers::contract::EthCall,
16626        ::ethers::contract::EthDisplay,
16627        Default,
16628        Debug,
16629        PartialEq,
16630        Eq,
16631        Hash,
16632    )]
16633    #[ethcall(
16634        name = "getTransactionHash",
16635        abi = "getTransactionHash(uint256,uint256,uint256,address,address,bytes)"
16636    )]
16637    pub struct GetTransactionHashCall {
16638        pub expiration_time_seconds: ::ethers::core::types::U256,
16639        pub gas_limit: ::ethers::core::types::U256,
16640        pub value: ::ethers::core::types::U256,
16641        pub to: ::ethers::core::types::Address,
16642        pub from: ::ethers::core::types::Address,
16643        pub data: ::ethers::core::types::Bytes,
16644    }
16645    ///Container type for all input parameters for the `hasPermission` function with signature `hasPermission(address,address,uint256)` and selector `0x8b01813d`
16646    #[derive(
16647        Clone,
16648        ::ethers::contract::EthCall,
16649        ::ethers::contract::EthDisplay,
16650        Default,
16651        Debug,
16652        PartialEq,
16653        Eq,
16654        Hash,
16655    )]
16656    #[ethcall(name = "hasPermission", abi = "hasPermission(address,address,uint256)")]
16657    pub struct HasPermissionCall {
16658        pub granter: ::ethers::core::types::Address,
16659        pub grantee: ::ethers::core::types::Address,
16660        pub permission: ::ethers::core::types::U256,
16661    }
16662    ///Container type for all input parameters for the `init` function with signature `init()` and selector `0xe1c7392a`
16663    #[derive(
16664        Clone,
16665        ::ethers::contract::EthCall,
16666        ::ethers::contract::EthDisplay,
16667        Default,
16668        Debug,
16669        PartialEq,
16670        Eq,
16671        Hash,
16672    )]
16673    #[ethcall(name = "init", abi = "init()")]
16674    pub struct InitCall;
16675    ///Container type for all input parameters for the `initialize` function with signature `initialize()` and selector `0x8129fc1c`
16676    #[derive(
16677        Clone,
16678        ::ethers::contract::EthCall,
16679        ::ethers::contract::EthDisplay,
16680        Default,
16681        Debug,
16682        PartialEq,
16683        Eq,
16684        Hash,
16685    )]
16686    #[ethcall(name = "initialize", abi = "initialize()")]
16687    pub struct InitializeCall;
16688    ///Container type for all input parameters for the `isAdmin` function with signature `isAdmin(address)` and selector `0x24d7806c`
16689    #[derive(
16690        Clone,
16691        ::ethers::contract::EthCall,
16692        ::ethers::contract::EthDisplay,
16693        Default,
16694        Debug,
16695        PartialEq,
16696        Eq,
16697        Hash,
16698    )]
16699    #[ethcall(name = "isAdmin", abi = "isAdmin(address)")]
16700    pub struct IsAdminCall {
16701        pub sender: ::ethers::core::types::Address,
16702    }
16703    ///Container type for all input parameters for the `isAllowed` function with signature `isAllowed(address)` and selector `0xbabcc539`
16704    #[derive(
16705        Clone,
16706        ::ethers::contract::EthCall,
16707        ::ethers::contract::EthDisplay,
16708        Default,
16709        Debug,
16710        PartialEq,
16711        Eq,
16712        Hash,
16713    )]
16714    #[ethcall(name = "isAllowed", abi = "isAllowed(address)")]
16715    pub struct IsAllowedCall {
16716        pub sender: ::ethers::core::types::Address,
16717    }
16718    ///Container type for all input parameters for the `isEnclaveValid` function with signature `isEnclaveValid(address)` and selector `0xfb4acdfe`
16719    #[derive(
16720        Clone,
16721        ::ethers::contract::EthCall,
16722        ::ethers::contract::EthDisplay,
16723        Default,
16724        Debug,
16725        PartialEq,
16726        Eq,
16727        Hash,
16728    )]
16729    #[ethcall(name = "isEnclaveValid", abi = "isEnclaveValid(address)")]
16730    pub struct IsEnclaveValidCall {
16731        pub enclave_id: ::ethers::core::types::Address,
16732    }
16733    ///Container type for all input parameters for the `isTrustedForwarder` function with signature `isTrustedForwarder(address)` and selector `0x572b6c05`
16734    #[derive(
16735        Clone,
16736        ::ethers::contract::EthCall,
16737        ::ethers::contract::EthDisplay,
16738        Default,
16739        Debug,
16740        PartialEq,
16741        Eq,
16742        Hash,
16743    )]
16744    #[ethcall(name = "isTrustedForwarder", abi = "isTrustedForwarder(address)")]
16745    pub struct IsTrustedForwarderCall(pub ::ethers::core::types::Address);
16746    ///Container type for all input parameters for the `latestResult` function with signature `latestResult(address)` and selector `0xfab005a2`
16747    #[derive(
16748        Clone,
16749        ::ethers::contract::EthCall,
16750        ::ethers::contract::EthDisplay,
16751        Default,
16752        Debug,
16753        PartialEq,
16754        Eq,
16755        Hash,
16756    )]
16757    #[ethcall(name = "latestResult", abi = "latestResult(address)")]
16758    pub struct LatestResultCall {
16759        pub aggregator_id: ::ethers::core::types::Address,
16760    }
16761    ///Container type for all input parameters for the `openInterval` function with signature `openInterval(address)` and selector `0x0f2544be`
16762    #[derive(
16763        Clone,
16764        ::ethers::contract::EthCall,
16765        ::ethers::contract::EthDisplay,
16766        Default,
16767        Debug,
16768        PartialEq,
16769        Eq,
16770        Hash,
16771    )]
16772    #[ethcall(name = "openInterval", abi = "openInterval(address)")]
16773    pub struct OpenIntervalCall {
16774        pub aggregator_id: ::ethers::core::types::Address,
16775    }
16776    ///Container type for all input parameters for the `oracleGarbageCollect` function with signature `oracleGarbageCollect(address,uint256)` and selector `0x71da68ff`
16777    #[derive(
16778        Clone,
16779        ::ethers::contract::EthCall,
16780        ::ethers::contract::EthDisplay,
16781        Default,
16782        Debug,
16783        PartialEq,
16784        Eq,
16785        Hash,
16786    )]
16787    #[ethcall(
16788        name = "oracleGarbageCollect",
16789        abi = "oracleGarbageCollect(address,uint256)"
16790    )]
16791    pub struct OracleGarbageCollectCall {
16792        pub oracle_id: ::ethers::core::types::Address,
16793        pub oracle_idx: ::ethers::core::types::U256,
16794    }
16795    ///Container type for all input parameters for the `oracleHeartbeat` function with signature `oracleHeartbeat(address)` and selector `0xf53b638c`
16796    #[derive(
16797        Clone,
16798        ::ethers::contract::EthCall,
16799        ::ethers::contract::EthDisplay,
16800        Default,
16801        Debug,
16802        PartialEq,
16803        Eq,
16804        Hash,
16805    )]
16806    #[ethcall(name = "oracleHeartbeat", abi = "oracleHeartbeat(address)")]
16807    pub struct OracleHeartbeatCall {
16808        pub oracle_id: ::ethers::core::types::Address,
16809    }
16810    ///Container type for all input parameters for the `oracleQueues` function with signature `oracleQueues(address)` and selector `0xf2378e88`
16811    #[derive(
16812        Clone,
16813        ::ethers::contract::EthCall,
16814        ::ethers::contract::EthDisplay,
16815        Default,
16816        Debug,
16817        PartialEq,
16818        Eq,
16819        Hash,
16820    )]
16821    #[ethcall(name = "oracleQueues", abi = "oracleQueues(address)")]
16822    pub struct OracleQueuesCall {
16823        pub queue_id: ::ethers::core::types::Address,
16824    }
16825    ///Container type for all input parameters for the `oracles` function with signature `oracles(address)` and selector `0xaddd5099`
16826    #[derive(
16827        Clone,
16828        ::ethers::contract::EthCall,
16829        ::ethers::contract::EthDisplay,
16830        Default,
16831        Debug,
16832        PartialEq,
16833        Eq,
16834        Hash,
16835    )]
16836    #[ethcall(name = "oracles", abi = "oracles(address)")]
16837    pub struct OraclesCall {
16838        pub oracle_id: ::ethers::core::types::Address,
16839    }
16840    ///Container type for all input parameters for the `owner` function with signature `owner()` and selector `0x8da5cb5b`
16841    #[derive(
16842        Clone,
16843        ::ethers::contract::EthCall,
16844        ::ethers::contract::EthDisplay,
16845        Default,
16846        Debug,
16847        PartialEq,
16848        Eq,
16849        Hash,
16850    )]
16851    #[ethcall(name = "owner", abi = "owner()")]
16852    pub struct OwnerCall;
16853    ///Container type for all input parameters for the `prepareUnstake` function with signature `prepareUnstake(address)` and selector `0xb8d35d6a`
16854    #[derive(
16855        Clone,
16856        ::ethers::contract::EthCall,
16857        ::ethers::contract::EthDisplay,
16858        Default,
16859        Debug,
16860        PartialEq,
16861        Eq,
16862        Hash,
16863    )]
16864    #[ethcall(name = "prepareUnstake", abi = "prepareUnstake(address)")]
16865    pub struct PrepareUnstakeCall {
16866        pub enclave_id: ::ethers::core::types::Address,
16867    }
16868    ///Container type for all input parameters for the `queueAttestationConfigs` function with signature `queueAttestationConfigs(address)` and selector `0x6ddc9122`
16869    #[derive(
16870        Clone,
16871        ::ethers::contract::EthCall,
16872        ::ethers::contract::EthDisplay,
16873        Default,
16874        Debug,
16875        PartialEq,
16876        Eq,
16877        Hash,
16878    )]
16879    #[ethcall(
16880        name = "queueAttestationConfigs",
16881        abi = "queueAttestationConfigs(address)"
16882    )]
16883    pub struct QueueAttestationConfigsCall {
16884        pub queue_id: ::ethers::core::types::Address,
16885    }
16886    ///Container type for all input parameters for the `recoverStakeWithToken` function with signature `recoverStakeWithToken(address,address,uint256)` and selector `0x5e8e1ad0`
16887    #[derive(
16888        Clone,
16889        ::ethers::contract::EthCall,
16890        ::ethers::contract::EthDisplay,
16891        Default,
16892        Debug,
16893        PartialEq,
16894        Eq,
16895        Hash,
16896    )]
16897    #[ethcall(
16898        name = "recoverStakeWithToken",
16899        abi = "recoverStakeWithToken(address,address,uint256)"
16900    )]
16901    pub struct RecoverStakeWithTokenCall {
16902        pub enclave_id: ::ethers::core::types::Address,
16903        pub token: ::ethers::core::types::Address,
16904        pub amount: ::ethers::core::types::U256,
16905    }
16906    ///Container type for all input parameters for the `removeMrEnclaveFromAttestationQueue` function with signature `removeMrEnclaveFromAttestationQueue(address,bytes32)` and selector `0x083f30cf`
16907    #[derive(
16908        Clone,
16909        ::ethers::contract::EthCall,
16910        ::ethers::contract::EthDisplay,
16911        Default,
16912        Debug,
16913        PartialEq,
16914        Eq,
16915        Hash,
16916    )]
16917    #[ethcall(
16918        name = "removeMrEnclaveFromAttestationQueue",
16919        abi = "removeMrEnclaveFromAttestationQueue(address,bytes32)"
16920    )]
16921    pub struct RemoveMrEnclaveFromAttestationQueueCall {
16922        pub queue_id: ::ethers::core::types::Address,
16923        pub mr_enclave: [u8; 32],
16924    }
16925    ///Container type for all input parameters for the `removeMrEnclaveFromFunction` function with signature `removeMrEnclaveFromFunction(address,bytes32)` and selector `0xf0184db9`
16926    #[derive(
16927        Clone,
16928        ::ethers::contract::EthCall,
16929        ::ethers::contract::EthDisplay,
16930        Default,
16931        Debug,
16932        PartialEq,
16933        Eq,
16934        Hash,
16935    )]
16936    #[ethcall(
16937        name = "removeMrEnclaveFromFunction",
16938        abi = "removeMrEnclaveFromFunction(address,bytes32)"
16939    )]
16940    pub struct RemoveMrEnclaveFromFunctionCall {
16941        pub function_id: ::ethers::core::types::Address,
16942        pub mr_enclave: [u8; 32],
16943    }
16944    ///Container type for all input parameters for the `removeMrEnclaveFromOracleQueue` function with signature `removeMrEnclaveFromOracleQueue(address,bytes32)` and selector `0x262955d8`
16945    #[derive(
16946        Clone,
16947        ::ethers::contract::EthCall,
16948        ::ethers::contract::EthDisplay,
16949        Default,
16950        Debug,
16951        PartialEq,
16952        Eq,
16953        Hash,
16954    )]
16955    #[ethcall(
16956        name = "removeMrEnclaveFromOracleQueue",
16957        abi = "removeMrEnclaveFromOracleQueue(address,bytes32)"
16958    )]
16959    pub struct RemoveMrEnclaveFromOracleQueueCall {
16960        pub queue_id: ::ethers::core::types::Address,
16961        pub mr_enclave: [u8; 32],
16962    }
16963    ///Container type for all input parameters for the `requestFund` function with signature `requestFund(address)` and selector `0x52a061d7`
16964    #[derive(
16965        Clone,
16966        ::ethers::contract::EthCall,
16967        ::ethers::contract::EthDisplay,
16968        Default,
16969        Debug,
16970        PartialEq,
16971        Eq,
16972        Hash,
16973    )]
16974    #[ethcall(name = "requestFund", abi = "requestFund(address)")]
16975    pub struct RequestFundCall {
16976        pub request_id: ::ethers::core::types::Address,
16977    }
16978    ///Container type for all input parameters for the `requestWithdrawal` function with signature `requestWithdrawal(address,address,uint256)` and selector `0x8985646a`
16979    #[derive(
16980        Clone,
16981        ::ethers::contract::EthCall,
16982        ::ethers::contract::EthDisplay,
16983        Default,
16984        Debug,
16985        PartialEq,
16986        Eq,
16987        Hash,
16988    )]
16989    #[ethcall(
16990        name = "requestWithdrawal",
16991        abi = "requestWithdrawal(address,address,uint256)"
16992    )]
16993    pub struct RequestWithdrawalCall {
16994        pub request_id: ::ethers::core::types::Address,
16995        pub recipient: ::ethers::core::types::Address,
16996        pub amount: ::ethers::core::types::U256,
16997    }
16998    ///Container type for all input parameters for the `requests` function with signature `requests(address)` and selector `0x74adad1d`
16999    #[derive(
17000        Clone,
17001        ::ethers::contract::EthCall,
17002        ::ethers::contract::EthDisplay,
17003        Default,
17004        Debug,
17005        PartialEq,
17006        Eq,
17007        Hash,
17008    )]
17009    #[ethcall(name = "requests", abi = "requests(address)")]
17010    pub struct RequestsCall {
17011        pub request_id: ::ethers::core::types::Address,
17012    }
17013    ///Container type for all input parameters for the `rotateEnclaveSigner` function with signature `rotateEnclaveSigner(address,address)` and selector `0x2628b3a9`
17014    #[derive(
17015        Clone,
17016        ::ethers::contract::EthCall,
17017        ::ethers::contract::EthDisplay,
17018        Default,
17019        Debug,
17020        PartialEq,
17021        Eq,
17022        Hash,
17023    )]
17024    #[ethcall(
17025        name = "rotateEnclaveSigner",
17026        abi = "rotateEnclaveSigner(address,address)"
17027    )]
17028    pub struct RotateEnclaveSignerCall {
17029        pub enclave_id: ::ethers::core::types::Address,
17030        pub new_signer: ::ethers::core::types::Address,
17031    }
17032    ///Container type for all input parameters for the `rotateOracleSigner` function with signature `rotateOracleSigner(address,address)` and selector `0x4d1b776d`
17033    #[derive(
17034        Clone,
17035        ::ethers::contract::EthCall,
17036        ::ethers::contract::EthDisplay,
17037        Default,
17038        Debug,
17039        PartialEq,
17040        Eq,
17041        Hash,
17042    )]
17043    #[ethcall(
17044        name = "rotateOracleSigner",
17045        abi = "rotateOracleSigner(address,address)"
17046    )]
17047    pub struct RotateOracleSignerCall {
17048        pub oracle_id: ::ethers::core::types::Address,
17049        pub new_signer: ::ethers::core::types::Address,
17050    }
17051    ///Container type for all input parameters for the `routineEscrowFund` function with signature `routineEscrowFund(address)` and selector `0x5d4e4594`
17052    #[derive(
17053        Clone,
17054        ::ethers::contract::EthCall,
17055        ::ethers::contract::EthDisplay,
17056        Default,
17057        Debug,
17058        PartialEq,
17059        Eq,
17060        Hash,
17061    )]
17062    #[ethcall(name = "routineEscrowFund", abi = "routineEscrowFund(address)")]
17063    pub struct RoutineEscrowFundCall {
17064        pub routine_id: ::ethers::core::types::Address,
17065    }
17066    ///Container type for all input parameters for the `routineEscrowWithdraw` function with signature `routineEscrowWithdraw(address,uint256)` and selector `0xfab08683`
17067    #[derive(
17068        Clone,
17069        ::ethers::contract::EthCall,
17070        ::ethers::contract::EthDisplay,
17071        Default,
17072        Debug,
17073        PartialEq,
17074        Eq,
17075        Hash,
17076    )]
17077    #[ethcall(
17078        name = "routineEscrowWithdraw",
17079        abi = "routineEscrowWithdraw(address,uint256)"
17080    )]
17081    pub struct RoutineEscrowWithdrawCall {
17082        pub routine_id: ::ethers::core::types::Address,
17083        pub amount: ::ethers::core::types::U256,
17084    }
17085    ///Container type for all input parameters for the `routineExists` function with signature `routineExists(address)` and selector `0xc98d9be8`
17086    #[derive(
17087        Clone,
17088        ::ethers::contract::EthCall,
17089        ::ethers::contract::EthDisplay,
17090        Default,
17091        Debug,
17092        PartialEq,
17093        Eq,
17094        Hash,
17095    )]
17096    #[ethcall(name = "routineExists", abi = "routineExists(address)")]
17097    pub struct RoutineExistsCall {
17098        pub routine_id: ::ethers::core::types::Address,
17099    }
17100    ///Container type for all input parameters for the `routines` function with signature `routines(address)` and selector `0xfdcc54d2`
17101    #[derive(
17102        Clone,
17103        ::ethers::contract::EthCall,
17104        ::ethers::contract::EthDisplay,
17105        Default,
17106        Debug,
17107        PartialEq,
17108        Eq,
17109        Hash,
17110    )]
17111    #[ethcall(name = "routines", abi = "routines(address)")]
17112    pub struct RoutinesCall {
17113        pub routine_id: ::ethers::core::types::Address,
17114    }
17115    ///Container type for all input parameters for the `saveResults` function with signature `saveResults(address[],int256[],address,uint256)` and selector `0x735e3555`
17116    #[derive(
17117        Clone,
17118        ::ethers::contract::EthCall,
17119        ::ethers::contract::EthDisplay,
17120        Default,
17121        Debug,
17122        PartialEq,
17123        Eq,
17124        Hash,
17125    )]
17126    #[ethcall(
17127        name = "saveResults",
17128        abi = "saveResults(address[],int256[],address,uint256)"
17129    )]
17130    pub struct SaveResultsCall {
17131        pub ids: ::std::vec::Vec<::ethers::core::types::Address>,
17132        pub results: ::std::vec::Vec<::ethers::core::types::I256>,
17133        pub queue_id: ::ethers::core::types::Address,
17134        pub oracle_idx: ::ethers::core::types::U256,
17135    }
17136    ///Container type for all input parameters for the `sendDelayedRequest` function with signature `sendDelayedRequest(address,address,bytes,uint256)` and selector `0x80eb181e`
17137    #[derive(
17138        Clone,
17139        ::ethers::contract::EthCall,
17140        ::ethers::contract::EthDisplay,
17141        Default,
17142        Debug,
17143        PartialEq,
17144        Eq,
17145        Hash,
17146    )]
17147    #[ethcall(
17148        name = "sendDelayedRequest",
17149        abi = "sendDelayedRequest(address,address,bytes,uint256)"
17150    )]
17151    pub struct SendDelayedRequestCall {
17152        pub request_id: ::ethers::core::types::Address,
17153        pub function_id: ::ethers::core::types::Address,
17154        pub params: ::ethers::core::types::Bytes,
17155        pub start_after: ::ethers::core::types::U256,
17156    }
17157    ///Container type for all input parameters for the `sendRequest` function with signature `sendRequest(address,bytes)` and selector `0x62d3fe46`
17158    #[derive(
17159        Clone,
17160        ::ethers::contract::EthCall,
17161        ::ethers::contract::EthDisplay,
17162        Default,
17163        Debug,
17164        PartialEq,
17165        Eq,
17166        Hash,
17167    )]
17168    #[ethcall(name = "sendRequest", abi = "sendRequest(address,bytes)")]
17169    pub struct SendRequestCall {
17170        pub function_id: ::ethers::core::types::Address,
17171        pub params: ::ethers::core::types::Bytes,
17172    }
17173    ///Container type for all input parameters for the `sendRequestWithId` function with signature `sendRequestWithId(address,address,bytes)` and selector `0x264c1450`
17174    #[derive(
17175        Clone,
17176        ::ethers::contract::EthCall,
17177        ::ethers::contract::EthDisplay,
17178        Default,
17179        Debug,
17180        PartialEq,
17181        Eq,
17182        Hash,
17183    )]
17184    #[ethcall(
17185        name = "sendRequestWithId",
17186        abi = "sendRequestWithId(address,address,bytes)"
17187    )]
17188    pub struct SendRequestWithIdCall {
17189        pub request_id: ::ethers::core::types::Address,
17190        pub function_id: ::ethers::core::types::Address,
17191        pub params: ::ethers::core::types::Bytes,
17192    }
17193    ///Container type for all input parameters for the `setAdmin` function with signature `setAdmin(address,bool)` and selector `0x4b0bddd2`
17194    #[derive(
17195        Clone,
17196        ::ethers::contract::EthCall,
17197        ::ethers::contract::EthDisplay,
17198        Default,
17199        Debug,
17200        PartialEq,
17201        Eq,
17202        Hash,
17203    )]
17204    #[ethcall(name = "setAdmin", abi = "setAdmin(address,bool)")]
17205    pub struct SetAdminCall {
17206        pub sender: ::ethers::core::types::Address,
17207        pub status: bool,
17208    }
17209    ///Container type for all input parameters for the `setAggregatorConfig` function with signature `setAggregatorConfig(address,string,address,uint256,uint256,uint256,string,address,uint256,uint256,uint256,bool)` and selector `0xdd0ad73a`
17210    #[derive(
17211        Clone,
17212        ::ethers::contract::EthCall,
17213        ::ethers::contract::EthDisplay,
17214        Default,
17215        Debug,
17216        PartialEq,
17217        Eq,
17218        Hash,
17219    )]
17220    #[ethcall(
17221        name = "setAggregatorConfig",
17222        abi = "setAggregatorConfig(address,string,address,uint256,uint256,uint256,string,address,uint256,uint256,uint256,bool)"
17223    )]
17224    pub struct SetAggregatorConfigCall {
17225        pub aggregator_id: ::ethers::core::types::Address,
17226        pub name: ::std::string::String,
17227        pub authority: ::ethers::core::types::Address,
17228        pub batch_size: ::ethers::core::types::U256,
17229        pub min_update_delay_seconds: ::ethers::core::types::U256,
17230        pub min_oracle_results: ::ethers::core::types::U256,
17231        pub jobs_hash: ::std::string::String,
17232        pub queue_id: ::ethers::core::types::Address,
17233        pub variance_threshold: ::ethers::core::types::U256,
17234        pub min_job_results: ::ethers::core::types::U256,
17235        pub force_report_period: ::ethers::core::types::U256,
17236        pub enable_history: bool,
17237    }
17238    ///Container type for all input parameters for the `setAllowed` function with signature `setAllowed(address,bool)` and selector `0x4697f05d`
17239    #[derive(
17240        Clone,
17241        ::ethers::contract::EthCall,
17242        ::ethers::contract::EthDisplay,
17243        Default,
17244        Debug,
17245        PartialEq,
17246        Eq,
17247        Hash,
17248    )]
17249    #[ethcall(name = "setAllowed", abi = "setAllowed(address,bool)")]
17250    pub struct SetAllowedCall {
17251        pub sender: ::ethers::core::types::Address,
17252        pub status: bool,
17253    }
17254    ///Container type for all input parameters for the `setAttestationQueueConfig` function with signature `setAttestationQueueConfig(address,address,uint256,uint256,uint256,uint256,uint256,bool,bool,uint256)` and selector `0xf7d48307`
17255    #[derive(
17256        Clone,
17257        ::ethers::contract::EthCall,
17258        ::ethers::contract::EthDisplay,
17259        Default,
17260        Debug,
17261        PartialEq,
17262        Eq,
17263        Hash,
17264    )]
17265    #[ethcall(
17266        name = "setAttestationQueueConfig",
17267        abi = "setAttestationQueueConfig(address,address,uint256,uint256,uint256,uint256,uint256,bool,bool,uint256)"
17268    )]
17269    pub struct SetAttestationQueueConfigCall {
17270        pub queue_id: ::ethers::core::types::Address,
17271        pub authority: ::ethers::core::types::Address,
17272        pub max_size: ::ethers::core::types::U256,
17273        pub reward: ::ethers::core::types::U256,
17274        pub enclave_timeout: ::ethers::core::types::U256,
17275        pub max_enclave_verification_age: ::ethers::core::types::U256,
17276        pub allow_authority_override_after: ::ethers::core::types::U256,
17277        pub require_authority_heartbeat_permission: bool,
17278        pub require_usage_permissions: bool,
17279        pub max_consecutive_function_failures: ::ethers::core::types::U256,
17280    }
17281    ///Container type for all input parameters for the `setAttestationQueuePermission` function with signature `setAttestationQueuePermission(address,address,uint256,bool)` and selector `0xa77a07d3`
17282    #[derive(
17283        Clone,
17284        ::ethers::contract::EthCall,
17285        ::ethers::contract::EthDisplay,
17286        Default,
17287        Debug,
17288        PartialEq,
17289        Eq,
17290        Hash,
17291    )]
17292    #[ethcall(
17293        name = "setAttestationQueuePermission",
17294        abi = "setAttestationQueuePermission(address,address,uint256,bool)"
17295    )]
17296    pub struct SetAttestationQueuePermissionCall {
17297        pub queue_id: ::ethers::core::types::Address,
17298        pub grantee: ::ethers::core::types::Address,
17299        pub permission: ::ethers::core::types::U256,
17300        pub on: bool,
17301    }
17302    ///Container type for all input parameters for the `setFunctionCallSettings` function with signature `setFunctionCallSettings(address,bool,uint256,uint256,bool,bool)` and selector `0x6b7ef38b`
17303    #[derive(
17304        Clone,
17305        ::ethers::contract::EthCall,
17306        ::ethers::contract::EthDisplay,
17307        Default,
17308        Debug,
17309        PartialEq,
17310        Eq,
17311        Hash,
17312    )]
17313    #[ethcall(
17314        name = "setFunctionCallSettings",
17315        abi = "setFunctionCallSettings(address,bool,uint256,uint256,bool,bool)"
17316    )]
17317    pub struct SetFunctionCallSettingsCall {
17318        pub function_id: ::ethers::core::types::Address,
17319        pub require_estimated_run_cost_fee: bool,
17320        pub minimum_fee: ::ethers::core::types::U256,
17321        pub max_gas_cost: ::ethers::core::types::U256,
17322        pub require_caller_pay_full_cost: bool,
17323        pub require_sender_be_return_address: bool,
17324    }
17325    ///Container type for all input parameters for the `setFunctionConfig` function with signature `setFunctionConfig(address,string,address,string,string,string,string,string,address[])` and selector `0x822e99d5`
17326    #[derive(
17327        Clone,
17328        ::ethers::contract::EthCall,
17329        ::ethers::contract::EthDisplay,
17330        Default,
17331        Debug,
17332        PartialEq,
17333        Eq,
17334        Hash,
17335    )]
17336    #[ethcall(
17337        name = "setFunctionConfig",
17338        abi = "setFunctionConfig(address,string,address,string,string,string,string,string,address[])"
17339    )]
17340    pub struct SetFunctionConfigCall {
17341        pub function_id: ::ethers::core::types::Address,
17342        pub name: ::std::string::String,
17343        pub authority: ::ethers::core::types::Address,
17344        pub container_registry: ::std::string::String,
17345        pub container: ::std::string::String,
17346        pub version: ::std::string::String,
17347        pub schedule: ::std::string::String,
17348        pub params_schema: ::std::string::String,
17349        pub permitted_callers: ::std::vec::Vec<::ethers::core::types::Address>,
17350    }
17351    ///Container type for all input parameters for the `setFunctionDeactivated` function with signature `setFunctionDeactivated(address)` and selector `0x725483a5`
17352    #[derive(
17353        Clone,
17354        ::ethers::contract::EthCall,
17355        ::ethers::contract::EthDisplay,
17356        Default,
17357        Debug,
17358        PartialEq,
17359        Eq,
17360        Hash,
17361    )]
17362    #[ethcall(
17363        name = "setFunctionDeactivated",
17364        abi = "setFunctionDeactivated(address)"
17365    )]
17366    pub struct SetFunctionDeactivatedCall {
17367        pub function_id: ::ethers::core::types::Address,
17368    }
17369    ///Container type for all input parameters for the `setFunctionSettings` function with signature `setFunctionSettings(address,(uint256,bool,bool,bool,uint256,bool,uint256,bool))` and selector `0xfeb0de89`
17370    #[derive(
17371        Clone,
17372        ::ethers::contract::EthCall,
17373        ::ethers::contract::EthDisplay,
17374        Default,
17375        Debug,
17376        PartialEq,
17377        Eq,
17378        Hash,
17379    )]
17380    #[ethcall(
17381        name = "setFunctionSettings",
17382        abi = "setFunctionSettings(address,(uint256,bool,bool,bool,uint256,bool,uint256,bool))"
17383    )]
17384    pub struct SetFunctionSettingsCall {
17385        pub function_id: ::ethers::core::types::Address,
17386        pub settings: FunctionSettings,
17387    }
17388    ///Container type for all input parameters for the `setOracleConfig` function with signature `setOracleConfig(address,string,address,address,address)` and selector `0xf50b5ed0`
17389    #[derive(
17390        Clone,
17391        ::ethers::contract::EthCall,
17392        ::ethers::contract::EthDisplay,
17393        Default,
17394        Debug,
17395        PartialEq,
17396        Eq,
17397        Hash,
17398    )]
17399    #[ethcall(
17400        name = "setOracleConfig",
17401        abi = "setOracleConfig(address,string,address,address,address)"
17402    )]
17403    pub struct SetOracleConfigCall {
17404        pub oracle_id: ::ethers::core::types::Address,
17405        pub name: ::std::string::String,
17406        pub signer: ::ethers::core::types::Address,
17407        pub queue_id: ::ethers::core::types::Address,
17408        pub authority: ::ethers::core::types::Address,
17409    }
17410    ///Container type for all input parameters for the `setOracleQueueAttestationConfig` function with signature `setOracleQueueAttestationConfig(address,address,bytes32[],bool,bool)` and selector `0x88033af5`
17411    #[derive(
17412        Clone,
17413        ::ethers::contract::EthCall,
17414        ::ethers::contract::EthDisplay,
17415        Default,
17416        Debug,
17417        PartialEq,
17418        Eq,
17419        Hash,
17420    )]
17421    #[ethcall(
17422        name = "setOracleQueueAttestationConfig",
17423        abi = "setOracleQueueAttestationConfig(address,address,bytes32[],bool,bool)"
17424    )]
17425    pub struct SetOracleQueueAttestationConfigCall {
17426        pub queue_id: ::ethers::core::types::Address,
17427        pub attestation_queue_id: ::ethers::core::types::Address,
17428        pub mr_enclaves: ::std::vec::Vec<[u8; 32]>,
17429        pub require_valid_enclave: bool,
17430        pub require_heartbeat_permission: bool,
17431    }
17432    ///Container type for all input parameters for the `setOracleQueueConfig` function with signature `setOracleQueueConfig(address,string,address,bool,uint256,uint256,uint256)` and selector `0xb6590411`
17433    #[derive(
17434        Clone,
17435        ::ethers::contract::EthCall,
17436        ::ethers::contract::EthDisplay,
17437        Default,
17438        Debug,
17439        PartialEq,
17440        Eq,
17441        Hash,
17442    )]
17443    #[ethcall(
17444        name = "setOracleQueueConfig",
17445        abi = "setOracleQueueConfig(address,string,address,bool,uint256,uint256,uint256)"
17446    )]
17447    pub struct SetOracleQueueConfigCall {
17448        pub queue_id: ::ethers::core::types::Address,
17449        pub name: ::std::string::String,
17450        pub authority: ::ethers::core::types::Address,
17451        pub unpermissioned_feeds_enabled: bool,
17452        pub max_size: ::ethers::core::types::U256,
17453        pub reward: ::ethers::core::types::U256,
17454        pub oracle_timeout: ::ethers::core::types::U256,
17455    }
17456    ///Container type for all input parameters for the `setOracleQueuePermission` function with signature `setOracleQueuePermission(address,address,uint256,bool)` and selector `0x01fc1ba2`
17457    #[derive(
17458        Clone,
17459        ::ethers::contract::EthCall,
17460        ::ethers::contract::EthDisplay,
17461        Default,
17462        Debug,
17463        PartialEq,
17464        Eq,
17465        Hash,
17466    )]
17467    #[ethcall(
17468        name = "setOracleQueuePermission",
17469        abi = "setOracleQueuePermission(address,address,uint256,bool)"
17470    )]
17471    pub struct SetOracleQueuePermissionCall {
17472        pub queue_id: ::ethers::core::types::Address,
17473        pub grantee: ::ethers::core::types::Address,
17474        pub permission: ::ethers::core::types::U256,
17475        pub on: bool,
17476    }
17477    ///Container type for all input parameters for the `setStakingConfig` function with signature `setStakingConfig(address,address,uint256,uint256,uint256)` and selector `0xf22644c2`
17478    #[derive(
17479        Clone,
17480        ::ethers::contract::EthCall,
17481        ::ethers::contract::EthDisplay,
17482        Default,
17483        Debug,
17484        PartialEq,
17485        Eq,
17486        Hash,
17487    )]
17488    #[ethcall(
17489        name = "setStakingConfig",
17490        abi = "setStakingConfig(address,address,uint256,uint256,uint256)"
17491    )]
17492    pub struct SetStakingConfigCall {
17493        pub queue_id: ::ethers::core::types::Address,
17494        pub token: ::ethers::core::types::Address,
17495        pub staking_amount: ::ethers::core::types::U256,
17496        pub staking_period: ::ethers::core::types::U256,
17497        pub unstaking_period: ::ethers::core::types::U256,
17498    }
17499    ///Container type for all input parameters for the `setToleratedTimestampDiscrepancy` function with signature `setToleratedTimestampDiscrepancy(uint256)` and selector `0x101277b2`
17500    #[derive(
17501        Clone,
17502        ::ethers::contract::EthCall,
17503        ::ethers::contract::EthDisplay,
17504        Default,
17505        Debug,
17506        PartialEq,
17507        Eq,
17508        Hash,
17509    )]
17510    #[ethcall(
17511        name = "setToleratedTimestampDiscrepancy",
17512        abi = "setToleratedTimestampDiscrepancy(uint256)"
17513    )]
17514    pub struct SetToleratedTimestampDiscrepancyCall {
17515        pub tolerance: ::ethers::core::types::U256,
17516    }
17517    ///Container type for all input parameters for the `slashStake` function with signature `slashStake(address,uint256)` and selector `0x98d1c5a8`
17518    #[derive(
17519        Clone,
17520        ::ethers::contract::EthCall,
17521        ::ethers::contract::EthDisplay,
17522        Default,
17523        Debug,
17524        PartialEq,
17525        Eq,
17526        Hash,
17527    )]
17528    #[ethcall(name = "slashStake", abi = "slashStake(address,uint256)")]
17529    pub struct SlashStakeCall {
17530        pub enclave_id: ::ethers::core::types::Address,
17531        pub amount: ::ethers::core::types::U256,
17532    }
17533    ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
17534    #[derive(
17535        Clone,
17536        ::ethers::contract::EthCall,
17537        ::ethers::contract::EthDisplay,
17538        Default,
17539        Debug,
17540        PartialEq,
17541        Eq,
17542        Hash,
17543    )]
17544    #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")]
17545    pub struct SupportsInterfaceCall {
17546        pub interface_id: [u8; 4],
17547    }
17548    ///Container type for all input parameters for the `totalStaked` function with signature `totalStaked(address,address)` and selector `0xf21630cb`
17549    #[derive(
17550        Clone,
17551        ::ethers::contract::EthCall,
17552        ::ethers::contract::EthDisplay,
17553        Default,
17554        Debug,
17555        PartialEq,
17556        Eq,
17557        Hash,
17558    )]
17559    #[ethcall(name = "totalStaked", abi = "totalStaked(address,address)")]
17560    pub struct TotalStakedCall {
17561        pub queue_id: ::ethers::core::types::Address,
17562        pub token: ::ethers::core::types::Address,
17563    }
17564    ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd`
17565    #[derive(
17566        Clone,
17567        ::ethers::contract::EthCall,
17568        ::ethers::contract::EthDisplay,
17569        Default,
17570        Debug,
17571        PartialEq,
17572        Eq,
17573        Hash,
17574    )]
17575    #[ethcall(name = "totalSupply", abi = "totalSupply()")]
17576    pub struct TotalSupplyCall;
17577    ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb`
17578    #[derive(
17579        Clone,
17580        ::ethers::contract::EthCall,
17581        ::ethers::contract::EthDisplay,
17582        Default,
17583        Debug,
17584        PartialEq,
17585        Eq,
17586        Hash,
17587    )]
17588    #[ethcall(name = "transfer", abi = "transfer(address,uint256)")]
17589    pub struct TransferCall {
17590        pub to: ::ethers::core::types::Address,
17591        pub value: ::ethers::core::types::U256,
17592    }
17593    ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd`
17594    #[derive(
17595        Clone,
17596        ::ethers::contract::EthCall,
17597        ::ethers::contract::EthDisplay,
17598        Default,
17599        Debug,
17600        PartialEq,
17601        Eq,
17602        Hash,
17603    )]
17604    #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
17605    pub struct TransferFromCall {
17606        pub from: ::ethers::core::types::Address,
17607        pub to: ::ethers::core::types::Address,
17608        pub value: ::ethers::core::types::U256,
17609    }
17610    ///Container type for all input parameters for the `transferOwnership` function with signature `transferOwnership(address)` and selector `0xf2fde38b`
17611    #[derive(
17612        Clone,
17613        ::ethers::contract::EthCall,
17614        ::ethers::contract::EthDisplay,
17615        Default,
17616        Debug,
17617        PartialEq,
17618        Eq,
17619        Hash,
17620    )]
17621    #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")]
17622    pub struct TransferOwnershipCall {
17623        pub new_owner: ::ethers::core::types::Address,
17624    }
17625    ///Container type for all input parameters for the `unstake` function with signature `unstake(address,uint256)` and selector `0xc2a672e0`
17626    #[derive(
17627        Clone,
17628        ::ethers::contract::EthCall,
17629        ::ethers::contract::EthDisplay,
17630        Default,
17631        Debug,
17632        PartialEq,
17633        Eq,
17634        Hash,
17635    )]
17636    #[ethcall(name = "unstake", abi = "unstake(address,uint256)")]
17637    pub struct UnstakeCall {
17638        pub enclave_id: ::ethers::core::types::Address,
17639        pub amount: ::ethers::core::types::U256,
17640    }
17641    ///Container type for all input parameters for the `updateEnclave` function with signature `updateEnclave(address,bytes)` and selector `0x5cd6ac0c`
17642    #[derive(
17643        Clone,
17644        ::ethers::contract::EthCall,
17645        ::ethers::contract::EthDisplay,
17646        Default,
17647        Debug,
17648        PartialEq,
17649        Eq,
17650        Hash,
17651    )]
17652    #[ethcall(name = "updateEnclave", abi = "updateEnclave(address,bytes)")]
17653    pub struct UpdateEnclaveCall {
17654        pub enclave_id: ::ethers::core::types::Address,
17655        pub cid: ::ethers::core::types::Bytes,
17656    }
17657    ///Container type for all input parameters for the `updateRoutine` function with signature `updateRoutine(address,address,address,bytes,string)` and selector `0x9300c999`
17658    #[derive(
17659        Clone,
17660        ::ethers::contract::EthCall,
17661        ::ethers::contract::EthDisplay,
17662        Default,
17663        Debug,
17664        PartialEq,
17665        Eq,
17666        Hash,
17667    )]
17668    #[ethcall(
17669        name = "updateRoutine",
17670        abi = "updateRoutine(address,address,address,bytes,string)"
17671    )]
17672    pub struct UpdateRoutineCall {
17673        pub routine_id: ::ethers::core::types::Address,
17674        pub function_id: ::ethers::core::types::Address,
17675        pub authority: ::ethers::core::types::Address,
17676        pub params: ::ethers::core::types::Bytes,
17677        pub schedule: ::std::string::String,
17678    }
17679    ///Container type for all input parameters for the `validate` function with signature `validate(address,address,bytes32[])` and selector `0x1755a7f8`
17680    #[derive(
17681        Clone,
17682        ::ethers::contract::EthCall,
17683        ::ethers::contract::EthDisplay,
17684        Default,
17685        Debug,
17686        PartialEq,
17687        Eq,
17688        Hash,
17689    )]
17690    #[ethcall(name = "validate", abi = "validate(address,address,bytes32[])")]
17691    pub struct ValidateCall {
17692        pub signer: ::ethers::core::types::Address,
17693        pub attestation_queue_id: ::ethers::core::types::Address,
17694        pub valid_measurements: ::std::vec::Vec<[u8; 32]>,
17695    }
17696    ///Container type for all input parameters for the `verifyCallbackParams` function with signature `verifyCallbackParams(address[],bytes32[])` and selector `0x9c5eb6d9`
17697    #[derive(
17698        Clone,
17699        ::ethers::contract::EthCall,
17700        ::ethers::contract::EthDisplay,
17701        Default,
17702        Debug,
17703        PartialEq,
17704        Eq,
17705        Hash,
17706    )]
17707    #[ethcall(
17708        name = "verifyCallbackParams",
17709        abi = "verifyCallbackParams(address[],bytes32[])"
17710    )]
17711    pub struct VerifyCallbackParamsCall {
17712        pub call_ids: ::std::vec::Vec<::ethers::core::types::Address>,
17713        pub hashes: ::std::vec::Vec<[u8; 32]>,
17714    }
17715    ///Container type for all input parameters for the `verifyEnclave` function with signature `verifyEnclave(address,address,uint256,uint256,bytes32)` and selector `0xef0ebd71`
17716    #[derive(
17717        Clone,
17718        ::ethers::contract::EthCall,
17719        ::ethers::contract::EthDisplay,
17720        Default,
17721        Debug,
17722        PartialEq,
17723        Eq,
17724        Hash,
17725    )]
17726    #[ethcall(
17727        name = "verifyEnclave",
17728        abi = "verifyEnclave(address,address,uint256,uint256,bytes32)"
17729    )]
17730    pub struct VerifyEnclaveCall {
17731        pub verifier_id: ::ethers::core::types::Address,
17732        pub enclave_id: ::ethers::core::types::Address,
17733        pub enclave_idx: ::ethers::core::types::U256,
17734        pub timestamp: ::ethers::core::types::U256,
17735        pub mr_enclave: [u8; 32],
17736    }
17737    ///Container type for all input parameters for the `verifyFunctionResult` function with signature `verifyFunctionResult((uint256,address,address,uint256,uint256,bytes32,(uint256,uint256,uint256,address,address,bytes)[],bytes[],address[],bytes32[],uint8[]))` and selector `0x3bd7b617`
17738    #[derive(
17739        Clone,
17740        ::ethers::contract::EthCall,
17741        ::ethers::contract::EthDisplay,
17742        Default,
17743        Debug,
17744        PartialEq,
17745        Eq,
17746        Hash,
17747    )]
17748    #[ethcall(
17749        name = "verifyFunctionResult",
17750        abi = "verifyFunctionResult((uint256,address,address,uint256,uint256,bytes32,(uint256,uint256,uint256,address,address,bytes)[],bytes[],address[],bytes32[],uint8[]))"
17751    )]
17752    pub struct VerifyFunctionResultCall {
17753        pub params: FunctionVerifyParams,
17754    }
17755    ///Container type for all input parameters for the `viewAggregatorResults` function with signature `viewAggregatorResults(address)` and selector `0xde866484`
17756    #[derive(
17757        Clone,
17758        ::ethers::contract::EthCall,
17759        ::ethers::contract::EthDisplay,
17760        Default,
17761        Debug,
17762        PartialEq,
17763        Eq,
17764        Hash,
17765    )]
17766    #[ethcall(name = "viewAggregatorResults", abi = "viewAggregatorResults(address)")]
17767    pub struct ViewAggregatorResultsCall {
17768        pub aggregator_id: ::ethers::core::types::Address,
17769    }
17770    ///Container type for all input parameters for the `viewLatestResult` function with signature `viewLatestResult(address)` and selector `0xbdf5edef`
17771    #[derive(
17772        Clone,
17773        ::ethers::contract::EthCall,
17774        ::ethers::contract::EthDisplay,
17775        Default,
17776        Debug,
17777        PartialEq,
17778        Eq,
17779        Hash,
17780    )]
17781    #[ethcall(name = "viewLatestResult", abi = "viewLatestResult(address)")]
17782    pub struct ViewLatestResultCall {
17783        pub aggregator_id: ::ethers::core::types::Address,
17784    }
17785    ///Container type for all of the contract's call
17786    #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
17787    pub enum SwitchboardCalls {
17788        AddMrEnclaveToAttestationQueue(AddMrEnclaveToAttestationQueueCall),
17789        AddMrEnclaveToFunction(AddMrEnclaveToFunctionCall),
17790        AddMrEnclaveToOracleQueue(AddMrEnclaveToOracleQueueCall),
17791        AddStake(AddStakeCall),
17792        AggregatorEscrowFund(AggregatorEscrowFundCall),
17793        AggregatorEscrowWithdraw(AggregatorEscrowWithdrawCall),
17794        AggregatorHistory(AggregatorHistoryCall),
17795        Aggregators(AggregatorsCall),
17796        Allowance(AllowanceCall),
17797        Approve(ApproveCall),
17798        AttestationQueueHasMrEnclave(AttestationQueueHasMrEnclaveCall),
17799        AttestationQueues(AttestationQueuesCall),
17800        BalanceOf(BalanceOfCall),
17801        CallBalances(CallBalancesCall),
17802        CallFunction(CallFunctionCall),
17803        CreateAggregator(CreateAggregatorCall),
17804        CreateAttestationQueue(CreateAttestationQueueCall),
17805        CreateEnclave(CreateEnclaveCall),
17806        CreateEnclaveWithId(CreateEnclaveWithIdCall),
17807        CreateFunction(CreateFunctionCall),
17808        CreateFunctionWithId(CreateFunctionWithIdCall),
17809        CreateOracle(CreateOracleCall),
17810        CreateOracleQueue(CreateOracleQueueCall),
17811        CreateOracleWithId(CreateOracleWithIdCall),
17812        CreateRoutineWithId(CreateRoutineWithIdCall),
17813        DiamondCut(DiamondCutCall),
17814        EnclaveGarbageCollect(EnclaveGarbageCollectCall),
17815        EnclaveHeartbeat(EnclaveHeartbeatCall),
17816        EnclaveSignerToEnclaveId(EnclaveSignerToEnclaveIdCall),
17817        Enclaves(EnclavesCall),
17818        EstimatedRunCost(EstimatedRunCostCall),
17819        FacetAddress(FacetAddressCall),
17820        FacetAddresses(FacetAddressesCall),
17821        FacetFunctionSelectors(FacetFunctionSelectorsCall),
17822        Facets(FacetsCall),
17823        FailEnclave(FailEnclaveCall),
17824        FailFunctionResult(FailFunctionResultCall),
17825        ForceOverrideVerify(ForceOverrideVerifyCall),
17826        Forward(ForwardCall),
17827        Funcs(FuncsCall),
17828        FunctionCallSettings(FunctionCallSettingsCall),
17829        FunctionCalls(FunctionCallsCall),
17830        FunctionEscrowFund(FunctionEscrowFundCall),
17831        FunctionEscrowWithdraw(FunctionEscrowWithdrawCall),
17832        FunctionExists(FunctionExistsCall),
17833        FunctionSettings(FunctionSettingsCall),
17834        FunctionVerify(FunctionVerifyCall),
17835        FunctionVerifyRequest(FunctionVerifyRequestCall),
17836        GetActiveFunctionCallsByQueue(GetActiveFunctionCallsByQueueCall),
17837        GetActiveFunctionsByQueue(GetActiveFunctionsByQueueCall),
17838        GetActiveRequestsByQueue(GetActiveRequestsByQueueCall),
17839        GetActiveRoutinesByQueue(GetActiveRoutinesByQueueCall),
17840        GetAggregatorsByAuthority(GetAggregatorsByAuthorityCall),
17841        GetAllAggregators(GetAllAggregatorsCall),
17842        GetAllFunctions(GetAllFunctionsCall),
17843        GetAttestationQueueMrEnclaves(GetAttestationQueueMrEnclavesCall),
17844        GetCurrentIntervalId(GetCurrentIntervalIdCall),
17845        GetEnclaveIdx(GetEnclaveIdxCall),
17846        GetEnclaves(GetEnclavesCall),
17847        GetFunctionMrEnclaves(GetFunctionMrEnclavesCall),
17848        GetFunctionPermittedCallers(GetFunctionPermittedCallersCall),
17849        GetFunctionsByAuthority(GetFunctionsByAuthorityCall),
17850        GetIntervalResult(GetIntervalResultCall),
17851        GetOracleIdx(GetOracleIdxCall),
17852        GetOracleQueueAllowedMrEnclaves(GetOracleQueueAllowedMrEnclavesCall),
17853        GetOracles(GetOraclesCall),
17854        GetPermission(GetPermissionCall),
17855        GetRequestsByFunctionId(GetRequestsByFunctionIdCall),
17856        GetRoutinesByAuthority(GetRoutinesByAuthorityCall),
17857        GetRoutinesByFunctionId(GetRoutinesByFunctionIdCall),
17858        GetStakeForEnclave(GetStakeForEnclaveCall),
17859        GetStakeForEnclaveWithToken(GetStakeForEnclaveWithTokenCall),
17860        GetStakingConfig(GetStakingConfigCall),
17861        GetTransactionHash(GetTransactionHashCall),
17862        HasPermission(HasPermissionCall),
17863        Init(InitCall),
17864        Initialize(InitializeCall),
17865        IsAdmin(IsAdminCall),
17866        IsAllowed(IsAllowedCall),
17867        IsEnclaveValid(IsEnclaveValidCall),
17868        IsTrustedForwarder(IsTrustedForwarderCall),
17869        LatestResult(LatestResultCall),
17870        OpenInterval(OpenIntervalCall),
17871        OracleGarbageCollect(OracleGarbageCollectCall),
17872        OracleHeartbeat(OracleHeartbeatCall),
17873        OracleQueues(OracleQueuesCall),
17874        Oracles(OraclesCall),
17875        Owner(OwnerCall),
17876        PrepareUnstake(PrepareUnstakeCall),
17877        QueueAttestationConfigs(QueueAttestationConfigsCall),
17878        RecoverStakeWithToken(RecoverStakeWithTokenCall),
17879        RemoveMrEnclaveFromAttestationQueue(RemoveMrEnclaveFromAttestationQueueCall),
17880        RemoveMrEnclaveFromFunction(RemoveMrEnclaveFromFunctionCall),
17881        RemoveMrEnclaveFromOracleQueue(RemoveMrEnclaveFromOracleQueueCall),
17882        RequestFund(RequestFundCall),
17883        RequestWithdrawal(RequestWithdrawalCall),
17884        Requests(RequestsCall),
17885        RotateEnclaveSigner(RotateEnclaveSignerCall),
17886        RotateOracleSigner(RotateOracleSignerCall),
17887        RoutineEscrowFund(RoutineEscrowFundCall),
17888        RoutineEscrowWithdraw(RoutineEscrowWithdrawCall),
17889        RoutineExists(RoutineExistsCall),
17890        Routines(RoutinesCall),
17891        SaveResults(SaveResultsCall),
17892        SendDelayedRequest(SendDelayedRequestCall),
17893        SendRequest(SendRequestCall),
17894        SendRequestWithId(SendRequestWithIdCall),
17895        SetAdmin(SetAdminCall),
17896        SetAggregatorConfig(SetAggregatorConfigCall),
17897        SetAllowed(SetAllowedCall),
17898        SetAttestationQueueConfig(SetAttestationQueueConfigCall),
17899        SetAttestationQueuePermission(SetAttestationQueuePermissionCall),
17900        SetFunctionCallSettings(SetFunctionCallSettingsCall),
17901        SetFunctionConfig(SetFunctionConfigCall),
17902        SetFunctionDeactivated(SetFunctionDeactivatedCall),
17903        SetFunctionSettings(SetFunctionSettingsCall),
17904        SetOracleConfig(SetOracleConfigCall),
17905        SetOracleQueueAttestationConfig(SetOracleQueueAttestationConfigCall),
17906        SetOracleQueueConfig(SetOracleQueueConfigCall),
17907        SetOracleQueuePermission(SetOracleQueuePermissionCall),
17908        SetStakingConfig(SetStakingConfigCall),
17909        SetToleratedTimestampDiscrepancy(SetToleratedTimestampDiscrepancyCall),
17910        SlashStake(SlashStakeCall),
17911        SupportsInterface(SupportsInterfaceCall),
17912        TotalStaked(TotalStakedCall),
17913        TotalSupply(TotalSupplyCall),
17914        Transfer(TransferCall),
17915        TransferFrom(TransferFromCall),
17916        TransferOwnership(TransferOwnershipCall),
17917        Unstake(UnstakeCall),
17918        UpdateEnclave(UpdateEnclaveCall),
17919        UpdateRoutine(UpdateRoutineCall),
17920        Validate(ValidateCall),
17921        VerifyCallbackParams(VerifyCallbackParamsCall),
17922        VerifyEnclave(VerifyEnclaveCall),
17923        VerifyFunctionResult(VerifyFunctionResultCall),
17924        ViewAggregatorResults(ViewAggregatorResultsCall),
17925        ViewLatestResult(ViewLatestResultCall),
17926    }
17927    impl ::ethers::core::abi::AbiDecode for SwitchboardCalls {
17928        fn decode(
17929            data: impl AsRef<[u8]>,
17930        ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
17931            let data = data.as_ref();
17932            if let Ok(decoded) =
17933                <AddMrEnclaveToAttestationQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
17934            {
17935                return Ok(Self::AddMrEnclaveToAttestationQueue(decoded));
17936            }
17937            if let Ok(decoded) =
17938                <AddMrEnclaveToFunctionCall as ::ethers::core::abi::AbiDecode>::decode(data)
17939            {
17940                return Ok(Self::AddMrEnclaveToFunction(decoded));
17941            }
17942            if let Ok(decoded) =
17943                <AddMrEnclaveToOracleQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
17944            {
17945                return Ok(Self::AddMrEnclaveToOracleQueue(decoded));
17946            }
17947            if let Ok(decoded) = <AddStakeCall as ::ethers::core::abi::AbiDecode>::decode(data) {
17948                return Ok(Self::AddStake(decoded));
17949            }
17950            if let Ok(decoded) =
17951                <AggregatorEscrowFundCall as ::ethers::core::abi::AbiDecode>::decode(data)
17952            {
17953                return Ok(Self::AggregatorEscrowFund(decoded));
17954            }
17955            if let Ok(decoded) =
17956                <AggregatorEscrowWithdrawCall as ::ethers::core::abi::AbiDecode>::decode(data)
17957            {
17958                return Ok(Self::AggregatorEscrowWithdraw(decoded));
17959            }
17960            if let Ok(decoded) =
17961                <AggregatorHistoryCall as ::ethers::core::abi::AbiDecode>::decode(data)
17962            {
17963                return Ok(Self::AggregatorHistory(decoded));
17964            }
17965            if let Ok(decoded) = <AggregatorsCall as ::ethers::core::abi::AbiDecode>::decode(data) {
17966                return Ok(Self::Aggregators(decoded));
17967            }
17968            if let Ok(decoded) = <AllowanceCall as ::ethers::core::abi::AbiDecode>::decode(data) {
17969                return Ok(Self::Allowance(decoded));
17970            }
17971            if let Ok(decoded) = <ApproveCall as ::ethers::core::abi::AbiDecode>::decode(data) {
17972                return Ok(Self::Approve(decoded));
17973            }
17974            if let Ok(decoded) =
17975                <AttestationQueueHasMrEnclaveCall as ::ethers::core::abi::AbiDecode>::decode(data)
17976            {
17977                return Ok(Self::AttestationQueueHasMrEnclave(decoded));
17978            }
17979            if let Ok(decoded) =
17980                <AttestationQueuesCall as ::ethers::core::abi::AbiDecode>::decode(data)
17981            {
17982                return Ok(Self::AttestationQueues(decoded));
17983            }
17984            if let Ok(decoded) = <BalanceOfCall as ::ethers::core::abi::AbiDecode>::decode(data) {
17985                return Ok(Self::BalanceOf(decoded));
17986            }
17987            if let Ok(decoded) = <CallBalancesCall as ::ethers::core::abi::AbiDecode>::decode(data)
17988            {
17989                return Ok(Self::CallBalances(decoded));
17990            }
17991            if let Ok(decoded) = <CallFunctionCall as ::ethers::core::abi::AbiDecode>::decode(data)
17992            {
17993                return Ok(Self::CallFunction(decoded));
17994            }
17995            if let Ok(decoded) =
17996                <CreateAggregatorCall as ::ethers::core::abi::AbiDecode>::decode(data)
17997            {
17998                return Ok(Self::CreateAggregator(decoded));
17999            }
18000            if let Ok(decoded) =
18001                <CreateAttestationQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
18002            {
18003                return Ok(Self::CreateAttestationQueue(decoded));
18004            }
18005            if let Ok(decoded) = <CreateEnclaveCall as ::ethers::core::abi::AbiDecode>::decode(data)
18006            {
18007                return Ok(Self::CreateEnclave(decoded));
18008            }
18009            if let Ok(decoded) =
18010                <CreateEnclaveWithIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18011            {
18012                return Ok(Self::CreateEnclaveWithId(decoded));
18013            }
18014            if let Ok(decoded) =
18015                <CreateFunctionCall as ::ethers::core::abi::AbiDecode>::decode(data)
18016            {
18017                return Ok(Self::CreateFunction(decoded));
18018            }
18019            if let Ok(decoded) =
18020                <CreateFunctionWithIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18021            {
18022                return Ok(Self::CreateFunctionWithId(decoded));
18023            }
18024            if let Ok(decoded) = <CreateOracleCall as ::ethers::core::abi::AbiDecode>::decode(data)
18025            {
18026                return Ok(Self::CreateOracle(decoded));
18027            }
18028            if let Ok(decoded) =
18029                <CreateOracleQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
18030            {
18031                return Ok(Self::CreateOracleQueue(decoded));
18032            }
18033            if let Ok(decoded) =
18034                <CreateOracleWithIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18035            {
18036                return Ok(Self::CreateOracleWithId(decoded));
18037            }
18038            if let Ok(decoded) =
18039                <CreateRoutineWithIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18040            {
18041                return Ok(Self::CreateRoutineWithId(decoded));
18042            }
18043            if let Ok(decoded) = <DiamondCutCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18044                return Ok(Self::DiamondCut(decoded));
18045            }
18046            if let Ok(decoded) =
18047                <EnclaveGarbageCollectCall as ::ethers::core::abi::AbiDecode>::decode(data)
18048            {
18049                return Ok(Self::EnclaveGarbageCollect(decoded));
18050            }
18051            if let Ok(decoded) =
18052                <EnclaveHeartbeatCall as ::ethers::core::abi::AbiDecode>::decode(data)
18053            {
18054                return Ok(Self::EnclaveHeartbeat(decoded));
18055            }
18056            if let Ok(decoded) =
18057                <EnclaveSignerToEnclaveIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18058            {
18059                return Ok(Self::EnclaveSignerToEnclaveId(decoded));
18060            }
18061            if let Ok(decoded) = <EnclavesCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18062                return Ok(Self::Enclaves(decoded));
18063            }
18064            if let Ok(decoded) =
18065                <EstimatedRunCostCall as ::ethers::core::abi::AbiDecode>::decode(data)
18066            {
18067                return Ok(Self::EstimatedRunCost(decoded));
18068            }
18069            if let Ok(decoded) = <FacetAddressCall as ::ethers::core::abi::AbiDecode>::decode(data)
18070            {
18071                return Ok(Self::FacetAddress(decoded));
18072            }
18073            if let Ok(decoded) =
18074                <FacetAddressesCall as ::ethers::core::abi::AbiDecode>::decode(data)
18075            {
18076                return Ok(Self::FacetAddresses(decoded));
18077            }
18078            if let Ok(decoded) =
18079                <FacetFunctionSelectorsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18080            {
18081                return Ok(Self::FacetFunctionSelectors(decoded));
18082            }
18083            if let Ok(decoded) = <FacetsCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18084                return Ok(Self::Facets(decoded));
18085            }
18086            if let Ok(decoded) = <FailEnclaveCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18087                return Ok(Self::FailEnclave(decoded));
18088            }
18089            if let Ok(decoded) =
18090                <FailFunctionResultCall as ::ethers::core::abi::AbiDecode>::decode(data)
18091            {
18092                return Ok(Self::FailFunctionResult(decoded));
18093            }
18094            if let Ok(decoded) =
18095                <ForceOverrideVerifyCall as ::ethers::core::abi::AbiDecode>::decode(data)
18096            {
18097                return Ok(Self::ForceOverrideVerify(decoded));
18098            }
18099            if let Ok(decoded) = <ForwardCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18100                return Ok(Self::Forward(decoded));
18101            }
18102            if let Ok(decoded) = <FuncsCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18103                return Ok(Self::Funcs(decoded));
18104            }
18105            if let Ok(decoded) =
18106                <FunctionCallSettingsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18107            {
18108                return Ok(Self::FunctionCallSettings(decoded));
18109            }
18110            if let Ok(decoded) = <FunctionCallsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18111            {
18112                return Ok(Self::FunctionCalls(decoded));
18113            }
18114            if let Ok(decoded) =
18115                <FunctionEscrowFundCall as ::ethers::core::abi::AbiDecode>::decode(data)
18116            {
18117                return Ok(Self::FunctionEscrowFund(decoded));
18118            }
18119            if let Ok(decoded) =
18120                <FunctionEscrowWithdrawCall as ::ethers::core::abi::AbiDecode>::decode(data)
18121            {
18122                return Ok(Self::FunctionEscrowWithdraw(decoded));
18123            }
18124            if let Ok(decoded) =
18125                <FunctionExistsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18126            {
18127                return Ok(Self::FunctionExists(decoded));
18128            }
18129            if let Ok(decoded) =
18130                <FunctionSettingsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18131            {
18132                return Ok(Self::FunctionSettings(decoded));
18133            }
18134            if let Ok(decoded) =
18135                <FunctionVerifyCall as ::ethers::core::abi::AbiDecode>::decode(data)
18136            {
18137                return Ok(Self::FunctionVerify(decoded));
18138            }
18139            if let Ok(decoded) =
18140                <FunctionVerifyRequestCall as ::ethers::core::abi::AbiDecode>::decode(data)
18141            {
18142                return Ok(Self::FunctionVerifyRequest(decoded));
18143            }
18144            if let Ok(decoded) =
18145                <GetActiveFunctionCallsByQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
18146            {
18147                return Ok(Self::GetActiveFunctionCallsByQueue(decoded));
18148            }
18149            if let Ok(decoded) =
18150                <GetActiveFunctionsByQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
18151            {
18152                return Ok(Self::GetActiveFunctionsByQueue(decoded));
18153            }
18154            if let Ok(decoded) =
18155                <GetActiveRequestsByQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
18156            {
18157                return Ok(Self::GetActiveRequestsByQueue(decoded));
18158            }
18159            if let Ok(decoded) =
18160                <GetActiveRoutinesByQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
18161            {
18162                return Ok(Self::GetActiveRoutinesByQueue(decoded));
18163            }
18164            if let Ok(decoded) =
18165                <GetAggregatorsByAuthorityCall as ::ethers::core::abi::AbiDecode>::decode(data)
18166            {
18167                return Ok(Self::GetAggregatorsByAuthority(decoded));
18168            }
18169            if let Ok(decoded) =
18170                <GetAllAggregatorsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18171            {
18172                return Ok(Self::GetAllAggregators(decoded));
18173            }
18174            if let Ok(decoded) =
18175                <GetAllFunctionsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18176            {
18177                return Ok(Self::GetAllFunctions(decoded));
18178            }
18179            if let Ok(decoded) =
18180                <GetAttestationQueueMrEnclavesCall as ::ethers::core::abi::AbiDecode>::decode(data)
18181            {
18182                return Ok(Self::GetAttestationQueueMrEnclaves(decoded));
18183            }
18184            if let Ok(decoded) =
18185                <GetCurrentIntervalIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18186            {
18187                return Ok(Self::GetCurrentIntervalId(decoded));
18188            }
18189            if let Ok(decoded) = <GetEnclaveIdxCall as ::ethers::core::abi::AbiDecode>::decode(data)
18190            {
18191                return Ok(Self::GetEnclaveIdx(decoded));
18192            }
18193            if let Ok(decoded) = <GetEnclavesCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18194                return Ok(Self::GetEnclaves(decoded));
18195            }
18196            if let Ok(decoded) =
18197                <GetFunctionMrEnclavesCall as ::ethers::core::abi::AbiDecode>::decode(data)
18198            {
18199                return Ok(Self::GetFunctionMrEnclaves(decoded));
18200            }
18201            if let Ok(decoded) =
18202                <GetFunctionPermittedCallersCall as ::ethers::core::abi::AbiDecode>::decode(data)
18203            {
18204                return Ok(Self::GetFunctionPermittedCallers(decoded));
18205            }
18206            if let Ok(decoded) =
18207                <GetFunctionsByAuthorityCall as ::ethers::core::abi::AbiDecode>::decode(data)
18208            {
18209                return Ok(Self::GetFunctionsByAuthority(decoded));
18210            }
18211            if let Ok(decoded) =
18212                <GetIntervalResultCall as ::ethers::core::abi::AbiDecode>::decode(data)
18213            {
18214                return Ok(Self::GetIntervalResult(decoded));
18215            }
18216            if let Ok(decoded) = <GetOracleIdxCall as ::ethers::core::abi::AbiDecode>::decode(data)
18217            {
18218                return Ok(Self::GetOracleIdx(decoded));
18219            }
18220            if let Ok(decoded) =
18221                <GetOracleQueueAllowedMrEnclavesCall as ::ethers::core::abi::AbiDecode>::decode(
18222                    data,
18223                )
18224            {
18225                return Ok(Self::GetOracleQueueAllowedMrEnclaves(decoded));
18226            }
18227            if let Ok(decoded) = <GetOraclesCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18228                return Ok(Self::GetOracles(decoded));
18229            }
18230            if let Ok(decoded) = <GetPermissionCall as ::ethers::core::abi::AbiDecode>::decode(data)
18231            {
18232                return Ok(Self::GetPermission(decoded));
18233            }
18234            if let Ok(decoded) =
18235                <GetRequestsByFunctionIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18236            {
18237                return Ok(Self::GetRequestsByFunctionId(decoded));
18238            }
18239            if let Ok(decoded) =
18240                <GetRoutinesByAuthorityCall as ::ethers::core::abi::AbiDecode>::decode(data)
18241            {
18242                return Ok(Self::GetRoutinesByAuthority(decoded));
18243            }
18244            if let Ok(decoded) =
18245                <GetRoutinesByFunctionIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18246            {
18247                return Ok(Self::GetRoutinesByFunctionId(decoded));
18248            }
18249            if let Ok(decoded) =
18250                <GetStakeForEnclaveCall as ::ethers::core::abi::AbiDecode>::decode(data)
18251            {
18252                return Ok(Self::GetStakeForEnclave(decoded));
18253            }
18254            if let Ok(decoded) =
18255                <GetStakeForEnclaveWithTokenCall as ::ethers::core::abi::AbiDecode>::decode(data)
18256            {
18257                return Ok(Self::GetStakeForEnclaveWithToken(decoded));
18258            }
18259            if let Ok(decoded) =
18260                <GetStakingConfigCall as ::ethers::core::abi::AbiDecode>::decode(data)
18261            {
18262                return Ok(Self::GetStakingConfig(decoded));
18263            }
18264            if let Ok(decoded) =
18265                <GetTransactionHashCall as ::ethers::core::abi::AbiDecode>::decode(data)
18266            {
18267                return Ok(Self::GetTransactionHash(decoded));
18268            }
18269            if let Ok(decoded) = <HasPermissionCall as ::ethers::core::abi::AbiDecode>::decode(data)
18270            {
18271                return Ok(Self::HasPermission(decoded));
18272            }
18273            if let Ok(decoded) = <InitCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18274                return Ok(Self::Init(decoded));
18275            }
18276            if let Ok(decoded) = <InitializeCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18277                return Ok(Self::Initialize(decoded));
18278            }
18279            if let Ok(decoded) = <IsAdminCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18280                return Ok(Self::IsAdmin(decoded));
18281            }
18282            if let Ok(decoded) = <IsAllowedCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18283                return Ok(Self::IsAllowed(decoded));
18284            }
18285            if let Ok(decoded) =
18286                <IsEnclaveValidCall as ::ethers::core::abi::AbiDecode>::decode(data)
18287            {
18288                return Ok(Self::IsEnclaveValid(decoded));
18289            }
18290            if let Ok(decoded) =
18291                <IsTrustedForwarderCall as ::ethers::core::abi::AbiDecode>::decode(data)
18292            {
18293                return Ok(Self::IsTrustedForwarder(decoded));
18294            }
18295            if let Ok(decoded) = <LatestResultCall as ::ethers::core::abi::AbiDecode>::decode(data)
18296            {
18297                return Ok(Self::LatestResult(decoded));
18298            }
18299            if let Ok(decoded) = <OpenIntervalCall as ::ethers::core::abi::AbiDecode>::decode(data)
18300            {
18301                return Ok(Self::OpenInterval(decoded));
18302            }
18303            if let Ok(decoded) =
18304                <OracleGarbageCollectCall as ::ethers::core::abi::AbiDecode>::decode(data)
18305            {
18306                return Ok(Self::OracleGarbageCollect(decoded));
18307            }
18308            if let Ok(decoded) =
18309                <OracleHeartbeatCall as ::ethers::core::abi::AbiDecode>::decode(data)
18310            {
18311                return Ok(Self::OracleHeartbeat(decoded));
18312            }
18313            if let Ok(decoded) = <OracleQueuesCall as ::ethers::core::abi::AbiDecode>::decode(data)
18314            {
18315                return Ok(Self::OracleQueues(decoded));
18316            }
18317            if let Ok(decoded) = <OraclesCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18318                return Ok(Self::Oracles(decoded));
18319            }
18320            if let Ok(decoded) = <OwnerCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18321                return Ok(Self::Owner(decoded));
18322            }
18323            if let Ok(decoded) =
18324                <PrepareUnstakeCall as ::ethers::core::abi::AbiDecode>::decode(data)
18325            {
18326                return Ok(Self::PrepareUnstake(decoded));
18327            }
18328            if let Ok(decoded) =
18329                <QueueAttestationConfigsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18330            {
18331                return Ok(Self::QueueAttestationConfigs(decoded));
18332            }
18333            if let Ok(decoded) =
18334                <RecoverStakeWithTokenCall as ::ethers::core::abi::AbiDecode>::decode(data)
18335            {
18336                return Ok(Self::RecoverStakeWithToken(decoded));
18337            }
18338            if let Ok(decoded) =
18339                <RemoveMrEnclaveFromAttestationQueueCall as ::ethers::core::abi::AbiDecode>::decode(
18340                    data,
18341                )
18342            {
18343                return Ok(Self::RemoveMrEnclaveFromAttestationQueue(decoded));
18344            }
18345            if let Ok(decoded) =
18346                <RemoveMrEnclaveFromFunctionCall as ::ethers::core::abi::AbiDecode>::decode(data)
18347            {
18348                return Ok(Self::RemoveMrEnclaveFromFunction(decoded));
18349            }
18350            if let Ok(decoded) =
18351                <RemoveMrEnclaveFromOracleQueueCall as ::ethers::core::abi::AbiDecode>::decode(data)
18352            {
18353                return Ok(Self::RemoveMrEnclaveFromOracleQueue(decoded));
18354            }
18355            if let Ok(decoded) = <RequestFundCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18356                return Ok(Self::RequestFund(decoded));
18357            }
18358            if let Ok(decoded) =
18359                <RequestWithdrawalCall as ::ethers::core::abi::AbiDecode>::decode(data)
18360            {
18361                return Ok(Self::RequestWithdrawal(decoded));
18362            }
18363            if let Ok(decoded) = <RequestsCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18364                return Ok(Self::Requests(decoded));
18365            }
18366            if let Ok(decoded) =
18367                <RotateEnclaveSignerCall as ::ethers::core::abi::AbiDecode>::decode(data)
18368            {
18369                return Ok(Self::RotateEnclaveSigner(decoded));
18370            }
18371            if let Ok(decoded) =
18372                <RotateOracleSignerCall as ::ethers::core::abi::AbiDecode>::decode(data)
18373            {
18374                return Ok(Self::RotateOracleSigner(decoded));
18375            }
18376            if let Ok(decoded) =
18377                <RoutineEscrowFundCall as ::ethers::core::abi::AbiDecode>::decode(data)
18378            {
18379                return Ok(Self::RoutineEscrowFund(decoded));
18380            }
18381            if let Ok(decoded) =
18382                <RoutineEscrowWithdrawCall as ::ethers::core::abi::AbiDecode>::decode(data)
18383            {
18384                return Ok(Self::RoutineEscrowWithdraw(decoded));
18385            }
18386            if let Ok(decoded) = <RoutineExistsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18387            {
18388                return Ok(Self::RoutineExists(decoded));
18389            }
18390            if let Ok(decoded) = <RoutinesCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18391                return Ok(Self::Routines(decoded));
18392            }
18393            if let Ok(decoded) = <SaveResultsCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18394                return Ok(Self::SaveResults(decoded));
18395            }
18396            if let Ok(decoded) =
18397                <SendDelayedRequestCall as ::ethers::core::abi::AbiDecode>::decode(data)
18398            {
18399                return Ok(Self::SendDelayedRequest(decoded));
18400            }
18401            if let Ok(decoded) = <SendRequestCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18402                return Ok(Self::SendRequest(decoded));
18403            }
18404            if let Ok(decoded) =
18405                <SendRequestWithIdCall as ::ethers::core::abi::AbiDecode>::decode(data)
18406            {
18407                return Ok(Self::SendRequestWithId(decoded));
18408            }
18409            if let Ok(decoded) = <SetAdminCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18410                return Ok(Self::SetAdmin(decoded));
18411            }
18412            if let Ok(decoded) =
18413                <SetAggregatorConfigCall as ::ethers::core::abi::AbiDecode>::decode(data)
18414            {
18415                return Ok(Self::SetAggregatorConfig(decoded));
18416            }
18417            if let Ok(decoded) = <SetAllowedCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18418                return Ok(Self::SetAllowed(decoded));
18419            }
18420            if let Ok(decoded) =
18421                <SetAttestationQueueConfigCall as ::ethers::core::abi::AbiDecode>::decode(data)
18422            {
18423                return Ok(Self::SetAttestationQueueConfig(decoded));
18424            }
18425            if let Ok(decoded) =
18426                <SetAttestationQueuePermissionCall as ::ethers::core::abi::AbiDecode>::decode(data)
18427            {
18428                return Ok(Self::SetAttestationQueuePermission(decoded));
18429            }
18430            if let Ok(decoded) =
18431                <SetFunctionCallSettingsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18432            {
18433                return Ok(Self::SetFunctionCallSettings(decoded));
18434            }
18435            if let Ok(decoded) =
18436                <SetFunctionConfigCall as ::ethers::core::abi::AbiDecode>::decode(data)
18437            {
18438                return Ok(Self::SetFunctionConfig(decoded));
18439            }
18440            if let Ok(decoded) =
18441                <SetFunctionDeactivatedCall as ::ethers::core::abi::AbiDecode>::decode(data)
18442            {
18443                return Ok(Self::SetFunctionDeactivated(decoded));
18444            }
18445            if let Ok(decoded) =
18446                <SetFunctionSettingsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18447            {
18448                return Ok(Self::SetFunctionSettings(decoded));
18449            }
18450            if let Ok(decoded) =
18451                <SetOracleConfigCall as ::ethers::core::abi::AbiDecode>::decode(data)
18452            {
18453                return Ok(Self::SetOracleConfig(decoded));
18454            }
18455            if let Ok(decoded) =
18456                <SetOracleQueueAttestationConfigCall as ::ethers::core::abi::AbiDecode>::decode(
18457                    data,
18458                )
18459            {
18460                return Ok(Self::SetOracleQueueAttestationConfig(decoded));
18461            }
18462            if let Ok(decoded) =
18463                <SetOracleQueueConfigCall as ::ethers::core::abi::AbiDecode>::decode(data)
18464            {
18465                return Ok(Self::SetOracleQueueConfig(decoded));
18466            }
18467            if let Ok(decoded) =
18468                <SetOracleQueuePermissionCall as ::ethers::core::abi::AbiDecode>::decode(data)
18469            {
18470                return Ok(Self::SetOracleQueuePermission(decoded));
18471            }
18472            if let Ok(decoded) =
18473                <SetStakingConfigCall as ::ethers::core::abi::AbiDecode>::decode(data)
18474            {
18475                return Ok(Self::SetStakingConfig(decoded));
18476            }
18477            if let Ok(decoded) =
18478                <SetToleratedTimestampDiscrepancyCall as ::ethers::core::abi::AbiDecode>::decode(
18479                    data,
18480                )
18481            {
18482                return Ok(Self::SetToleratedTimestampDiscrepancy(decoded));
18483            }
18484            if let Ok(decoded) = <SlashStakeCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18485                return Ok(Self::SlashStake(decoded));
18486            }
18487            if let Ok(decoded) =
18488                <SupportsInterfaceCall as ::ethers::core::abi::AbiDecode>::decode(data)
18489            {
18490                return Ok(Self::SupportsInterface(decoded));
18491            }
18492            if let Ok(decoded) = <TotalStakedCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18493                return Ok(Self::TotalStaked(decoded));
18494            }
18495            if let Ok(decoded) = <TotalSupplyCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18496                return Ok(Self::TotalSupply(decoded));
18497            }
18498            if let Ok(decoded) = <TransferCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18499                return Ok(Self::Transfer(decoded));
18500            }
18501            if let Ok(decoded) = <TransferFromCall as ::ethers::core::abi::AbiDecode>::decode(data)
18502            {
18503                return Ok(Self::TransferFrom(decoded));
18504            }
18505            if let Ok(decoded) =
18506                <TransferOwnershipCall as ::ethers::core::abi::AbiDecode>::decode(data)
18507            {
18508                return Ok(Self::TransferOwnership(decoded));
18509            }
18510            if let Ok(decoded) = <UnstakeCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18511                return Ok(Self::Unstake(decoded));
18512            }
18513            if let Ok(decoded) = <UpdateEnclaveCall as ::ethers::core::abi::AbiDecode>::decode(data)
18514            {
18515                return Ok(Self::UpdateEnclave(decoded));
18516            }
18517            if let Ok(decoded) = <UpdateRoutineCall as ::ethers::core::abi::AbiDecode>::decode(data)
18518            {
18519                return Ok(Self::UpdateRoutine(decoded));
18520            }
18521            if let Ok(decoded) = <ValidateCall as ::ethers::core::abi::AbiDecode>::decode(data) {
18522                return Ok(Self::Validate(decoded));
18523            }
18524            if let Ok(decoded) =
18525                <VerifyCallbackParamsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18526            {
18527                return Ok(Self::VerifyCallbackParams(decoded));
18528            }
18529            if let Ok(decoded) = <VerifyEnclaveCall as ::ethers::core::abi::AbiDecode>::decode(data)
18530            {
18531                return Ok(Self::VerifyEnclave(decoded));
18532            }
18533            if let Ok(decoded) =
18534                <VerifyFunctionResultCall as ::ethers::core::abi::AbiDecode>::decode(data)
18535            {
18536                return Ok(Self::VerifyFunctionResult(decoded));
18537            }
18538            if let Ok(decoded) =
18539                <ViewAggregatorResultsCall as ::ethers::core::abi::AbiDecode>::decode(data)
18540            {
18541                return Ok(Self::ViewAggregatorResults(decoded));
18542            }
18543            if let Ok(decoded) =
18544                <ViewLatestResultCall as ::ethers::core::abi::AbiDecode>::decode(data)
18545            {
18546                return Ok(Self::ViewLatestResult(decoded));
18547            }
18548            Err(::ethers::core::abi::Error::InvalidData.into())
18549        }
18550    }
18551    impl ::ethers::core::abi::AbiEncode for SwitchboardCalls {
18552        fn encode(self) -> Vec<u8> {
18553            match self {
18554                Self::AddMrEnclaveToAttestationQueue(element) => {
18555                    ::ethers::core::abi::AbiEncode::encode(element)
18556                }
18557                Self::AddMrEnclaveToFunction(element) => {
18558                    ::ethers::core::abi::AbiEncode::encode(element)
18559                }
18560                Self::AddMrEnclaveToOracleQueue(element) => {
18561                    ::ethers::core::abi::AbiEncode::encode(element)
18562                }
18563                Self::AddStake(element) => ::ethers::core::abi::AbiEncode::encode(element),
18564                Self::AggregatorEscrowFund(element) => {
18565                    ::ethers::core::abi::AbiEncode::encode(element)
18566                }
18567                Self::AggregatorEscrowWithdraw(element) => {
18568                    ::ethers::core::abi::AbiEncode::encode(element)
18569                }
18570                Self::AggregatorHistory(element) => ::ethers::core::abi::AbiEncode::encode(element),
18571                Self::Aggregators(element) => ::ethers::core::abi::AbiEncode::encode(element),
18572                Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element),
18573                Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element),
18574                Self::AttestationQueueHasMrEnclave(element) => {
18575                    ::ethers::core::abi::AbiEncode::encode(element)
18576                }
18577                Self::AttestationQueues(element) => ::ethers::core::abi::AbiEncode::encode(element),
18578                Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element),
18579                Self::CallBalances(element) => ::ethers::core::abi::AbiEncode::encode(element),
18580                Self::CallFunction(element) => ::ethers::core::abi::AbiEncode::encode(element),
18581                Self::CreateAggregator(element) => ::ethers::core::abi::AbiEncode::encode(element),
18582                Self::CreateAttestationQueue(element) => {
18583                    ::ethers::core::abi::AbiEncode::encode(element)
18584                }
18585                Self::CreateEnclave(element) => ::ethers::core::abi::AbiEncode::encode(element),
18586                Self::CreateEnclaveWithId(element) => {
18587                    ::ethers::core::abi::AbiEncode::encode(element)
18588                }
18589                Self::CreateFunction(element) => ::ethers::core::abi::AbiEncode::encode(element),
18590                Self::CreateFunctionWithId(element) => {
18591                    ::ethers::core::abi::AbiEncode::encode(element)
18592                }
18593                Self::CreateOracle(element) => ::ethers::core::abi::AbiEncode::encode(element),
18594                Self::CreateOracleQueue(element) => ::ethers::core::abi::AbiEncode::encode(element),
18595                Self::CreateOracleWithId(element) => {
18596                    ::ethers::core::abi::AbiEncode::encode(element)
18597                }
18598                Self::CreateRoutineWithId(element) => {
18599                    ::ethers::core::abi::AbiEncode::encode(element)
18600                }
18601                Self::DiamondCut(element) => ::ethers::core::abi::AbiEncode::encode(element),
18602                Self::EnclaveGarbageCollect(element) => {
18603                    ::ethers::core::abi::AbiEncode::encode(element)
18604                }
18605                Self::EnclaveHeartbeat(element) => ::ethers::core::abi::AbiEncode::encode(element),
18606                Self::EnclaveSignerToEnclaveId(element) => {
18607                    ::ethers::core::abi::AbiEncode::encode(element)
18608                }
18609                Self::Enclaves(element) => ::ethers::core::abi::AbiEncode::encode(element),
18610                Self::EstimatedRunCost(element) => ::ethers::core::abi::AbiEncode::encode(element),
18611                Self::FacetAddress(element) => ::ethers::core::abi::AbiEncode::encode(element),
18612                Self::FacetAddresses(element) => ::ethers::core::abi::AbiEncode::encode(element),
18613                Self::FacetFunctionSelectors(element) => {
18614                    ::ethers::core::abi::AbiEncode::encode(element)
18615                }
18616                Self::Facets(element) => ::ethers::core::abi::AbiEncode::encode(element),
18617                Self::FailEnclave(element) => ::ethers::core::abi::AbiEncode::encode(element),
18618                Self::FailFunctionResult(element) => {
18619                    ::ethers::core::abi::AbiEncode::encode(element)
18620                }
18621                Self::ForceOverrideVerify(element) => {
18622                    ::ethers::core::abi::AbiEncode::encode(element)
18623                }
18624                Self::Forward(element) => ::ethers::core::abi::AbiEncode::encode(element),
18625                Self::Funcs(element) => ::ethers::core::abi::AbiEncode::encode(element),
18626                Self::FunctionCallSettings(element) => {
18627                    ::ethers::core::abi::AbiEncode::encode(element)
18628                }
18629                Self::FunctionCalls(element) => ::ethers::core::abi::AbiEncode::encode(element),
18630                Self::FunctionEscrowFund(element) => {
18631                    ::ethers::core::abi::AbiEncode::encode(element)
18632                }
18633                Self::FunctionEscrowWithdraw(element) => {
18634                    ::ethers::core::abi::AbiEncode::encode(element)
18635                }
18636                Self::FunctionExists(element) => ::ethers::core::abi::AbiEncode::encode(element),
18637                Self::FunctionSettings(element) => ::ethers::core::abi::AbiEncode::encode(element),
18638                Self::FunctionVerify(element) => ::ethers::core::abi::AbiEncode::encode(element),
18639                Self::FunctionVerifyRequest(element) => {
18640                    ::ethers::core::abi::AbiEncode::encode(element)
18641                }
18642                Self::GetActiveFunctionCallsByQueue(element) => {
18643                    ::ethers::core::abi::AbiEncode::encode(element)
18644                }
18645                Self::GetActiveFunctionsByQueue(element) => {
18646                    ::ethers::core::abi::AbiEncode::encode(element)
18647                }
18648                Self::GetActiveRequestsByQueue(element) => {
18649                    ::ethers::core::abi::AbiEncode::encode(element)
18650                }
18651                Self::GetActiveRoutinesByQueue(element) => {
18652                    ::ethers::core::abi::AbiEncode::encode(element)
18653                }
18654                Self::GetAggregatorsByAuthority(element) => {
18655                    ::ethers::core::abi::AbiEncode::encode(element)
18656                }
18657                Self::GetAllAggregators(element) => ::ethers::core::abi::AbiEncode::encode(element),
18658                Self::GetAllFunctions(element) => ::ethers::core::abi::AbiEncode::encode(element),
18659                Self::GetAttestationQueueMrEnclaves(element) => {
18660                    ::ethers::core::abi::AbiEncode::encode(element)
18661                }
18662                Self::GetCurrentIntervalId(element) => {
18663                    ::ethers::core::abi::AbiEncode::encode(element)
18664                }
18665                Self::GetEnclaveIdx(element) => ::ethers::core::abi::AbiEncode::encode(element),
18666                Self::GetEnclaves(element) => ::ethers::core::abi::AbiEncode::encode(element),
18667                Self::GetFunctionMrEnclaves(element) => {
18668                    ::ethers::core::abi::AbiEncode::encode(element)
18669                }
18670                Self::GetFunctionPermittedCallers(element) => {
18671                    ::ethers::core::abi::AbiEncode::encode(element)
18672                }
18673                Self::GetFunctionsByAuthority(element) => {
18674                    ::ethers::core::abi::AbiEncode::encode(element)
18675                }
18676                Self::GetIntervalResult(element) => ::ethers::core::abi::AbiEncode::encode(element),
18677                Self::GetOracleIdx(element) => ::ethers::core::abi::AbiEncode::encode(element),
18678                Self::GetOracleQueueAllowedMrEnclaves(element) => {
18679                    ::ethers::core::abi::AbiEncode::encode(element)
18680                }
18681                Self::GetOracles(element) => ::ethers::core::abi::AbiEncode::encode(element),
18682                Self::GetPermission(element) => ::ethers::core::abi::AbiEncode::encode(element),
18683                Self::GetRequestsByFunctionId(element) => {
18684                    ::ethers::core::abi::AbiEncode::encode(element)
18685                }
18686                Self::GetRoutinesByAuthority(element) => {
18687                    ::ethers::core::abi::AbiEncode::encode(element)
18688                }
18689                Self::GetRequestsByFunctionId(element) => {
18690                    ::ethers::core::abi::AbiEncode::encode(element)
18691                }
18692                Self::GetRoutinesByAuthority(element) => {
18693                    ::ethers::core::abi::AbiEncode::encode(element)
18694                }
18695                Self::GetRoutinesByFunctionId(element) => {
18696                    ::ethers::core::abi::AbiEncode::encode(element)
18697                }
18698                Self::GetStakeForEnclave(element) => {
18699                    ::ethers::core::abi::AbiEncode::encode(element)
18700                }
18701                Self::GetStakeForEnclaveWithToken(element) => {
18702                    ::ethers::core::abi::AbiEncode::encode(element)
18703                }
18704                Self::GetStakingConfig(element) => ::ethers::core::abi::AbiEncode::encode(element),
18705                Self::GetTransactionHash(element) => {
18706                    ::ethers::core::abi::AbiEncode::encode(element)
18707                }
18708                Self::HasPermission(element) => ::ethers::core::abi::AbiEncode::encode(element),
18709                Self::Init(element) => ::ethers::core::abi::AbiEncode::encode(element),
18710                Self::Initialize(element) => ::ethers::core::abi::AbiEncode::encode(element),
18711                Self::IsAdmin(element) => ::ethers::core::abi::AbiEncode::encode(element),
18712                Self::IsAllowed(element) => ::ethers::core::abi::AbiEncode::encode(element),
18713                Self::IsEnclaveValid(element) => ::ethers::core::abi::AbiEncode::encode(element),
18714                Self::IsTrustedForwarder(element) => {
18715                    ::ethers::core::abi::AbiEncode::encode(element)
18716                }
18717                Self::LatestResult(element) => ::ethers::core::abi::AbiEncode::encode(element),
18718                Self::OpenInterval(element) => ::ethers::core::abi::AbiEncode::encode(element),
18719                Self::OracleGarbageCollect(element) => {
18720                    ::ethers::core::abi::AbiEncode::encode(element)
18721                }
18722                Self::OracleHeartbeat(element) => ::ethers::core::abi::AbiEncode::encode(element),
18723                Self::OracleQueues(element) => ::ethers::core::abi::AbiEncode::encode(element),
18724                Self::Oracles(element) => ::ethers::core::abi::AbiEncode::encode(element),
18725                Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element),
18726                Self::PrepareUnstake(element) => ::ethers::core::abi::AbiEncode::encode(element),
18727                Self::QueueAttestationConfigs(element) => {
18728                    ::ethers::core::abi::AbiEncode::encode(element)
18729                }
18730                Self::RecoverStakeWithToken(element) => {
18731                    ::ethers::core::abi::AbiEncode::encode(element)
18732                }
18733                Self::RemoveMrEnclaveFromAttestationQueue(element) => {
18734                    ::ethers::core::abi::AbiEncode::encode(element)
18735                }
18736                Self::RemoveMrEnclaveFromFunction(element) => {
18737                    ::ethers::core::abi::AbiEncode::encode(element)
18738                }
18739                Self::RemoveMrEnclaveFromOracleQueue(element) => {
18740                    ::ethers::core::abi::AbiEncode::encode(element)
18741                }
18742                Self::RequestFund(element) => ::ethers::core::abi::AbiEncode::encode(element),
18743                Self::RequestWithdrawal(element) => ::ethers::core::abi::AbiEncode::encode(element),
18744                Self::Requests(element) => ::ethers::core::abi::AbiEncode::encode(element),
18745                Self::RotateEnclaveSigner(element) => {
18746                    ::ethers::core::abi::AbiEncode::encode(element)
18747                }
18748                Self::RotateOracleSigner(element) => {
18749                    ::ethers::core::abi::AbiEncode::encode(element)
18750                }
18751                Self::RoutineEscrowFund(element) => ::ethers::core::abi::AbiEncode::encode(element),
18752                Self::RoutineEscrowWithdraw(element) => {
18753                    ::ethers::core::abi::AbiEncode::encode(element)
18754                }
18755                Self::RoutineExists(element) => ::ethers::core::abi::AbiEncode::encode(element),
18756                Self::Routines(element) => ::ethers::core::abi::AbiEncode::encode(element),
18757                Self::SaveResults(element) => ::ethers::core::abi::AbiEncode::encode(element),
18758                Self::SendDelayedRequest(element) => {
18759                    ::ethers::core::abi::AbiEncode::encode(element)
18760                }
18761                Self::SendRequest(element) => ::ethers::core::abi::AbiEncode::encode(element),
18762                Self::SendRequestWithId(element) => ::ethers::core::abi::AbiEncode::encode(element),
18763                Self::SetAdmin(element) => ::ethers::core::abi::AbiEncode::encode(element),
18764                Self::SetAggregatorConfig(element) => {
18765                    ::ethers::core::abi::AbiEncode::encode(element)
18766                }
18767                Self::SetAllowed(element) => ::ethers::core::abi::AbiEncode::encode(element),
18768                Self::SetAttestationQueueConfig(element) => {
18769                    ::ethers::core::abi::AbiEncode::encode(element)
18770                }
18771                Self::SetAttestationQueuePermission(element) => {
18772                    ::ethers::core::abi::AbiEncode::encode(element)
18773                }
18774                Self::SetFunctionCallSettings(element) => {
18775                    ::ethers::core::abi::AbiEncode::encode(element)
18776                }
18777                Self::SetFunctionConfig(element) => ::ethers::core::abi::AbiEncode::encode(element),
18778                Self::SetFunctionDeactivated(element) => {
18779                    ::ethers::core::abi::AbiEncode::encode(element)
18780                }
18781                Self::SetFunctionSettings(element) => {
18782                    ::ethers::core::abi::AbiEncode::encode(element)
18783                }
18784                Self::SetOracleConfig(element) => ::ethers::core::abi::AbiEncode::encode(element),
18785                Self::SetOracleQueueAttestationConfig(element) => {
18786                    ::ethers::core::abi::AbiEncode::encode(element)
18787                }
18788                Self::SetOracleQueueConfig(element) => {
18789                    ::ethers::core::abi::AbiEncode::encode(element)
18790                }
18791                Self::SetOracleQueuePermission(element) => {
18792                    ::ethers::core::abi::AbiEncode::encode(element)
18793                }
18794                Self::SetStakingConfig(element) => ::ethers::core::abi::AbiEncode::encode(element),
18795                Self::SetToleratedTimestampDiscrepancy(element) => {
18796                    ::ethers::core::abi::AbiEncode::encode(element)
18797                }
18798                Self::SlashStake(element) => ::ethers::core::abi::AbiEncode::encode(element),
18799                Self::SupportsInterface(element) => ::ethers::core::abi::AbiEncode::encode(element),
18800                Self::TotalStaked(element) => ::ethers::core::abi::AbiEncode::encode(element),
18801                Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element),
18802                Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element),
18803                Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element),
18804                Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element),
18805                Self::Unstake(element) => ::ethers::core::abi::AbiEncode::encode(element),
18806                Self::UpdateEnclave(element) => ::ethers::core::abi::AbiEncode::encode(element),
18807                Self::UpdateRoutine(element) => ::ethers::core::abi::AbiEncode::encode(element),
18808                Self::Validate(element) => ::ethers::core::abi::AbiEncode::encode(element),
18809                Self::VerifyCallbackParams(element) => {
18810                    ::ethers::core::abi::AbiEncode::encode(element)
18811                }
18812                Self::VerifyEnclave(element) => ::ethers::core::abi::AbiEncode::encode(element),
18813                Self::VerifyFunctionResult(element) => {
18814                    ::ethers::core::abi::AbiEncode::encode(element)
18815                }
18816                Self::ViewAggregatorResults(element) => {
18817                    ::ethers::core::abi::AbiEncode::encode(element)
18818                }
18819                Self::ViewLatestResult(element) => ::ethers::core::abi::AbiEncode::encode(element),
18820            }
18821        }
18822    }
18823    impl ::core::fmt::Display for SwitchboardCalls {
18824        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18825            match self {
18826                Self::AddMrEnclaveToAttestationQueue(element) => {
18827                    ::core::fmt::Display::fmt(element, f)
18828                }
18829                Self::AddMrEnclaveToFunction(element) => ::core::fmt::Display::fmt(element, f),
18830                Self::AddMrEnclaveToOracleQueue(element) => ::core::fmt::Display::fmt(element, f),
18831                Self::AddStake(element) => ::core::fmt::Display::fmt(element, f),
18832                Self::AggregatorEscrowFund(element) => ::core::fmt::Display::fmt(element, f),
18833                Self::AggregatorEscrowWithdraw(element) => ::core::fmt::Display::fmt(element, f),
18834                Self::AggregatorHistory(element) => ::core::fmt::Display::fmt(element, f),
18835                Self::Aggregators(element) => ::core::fmt::Display::fmt(element, f),
18836                Self::Allowance(element) => ::core::fmt::Display::fmt(element, f),
18837                Self::Approve(element) => ::core::fmt::Display::fmt(element, f),
18838                Self::AttestationQueueHasMrEnclave(element) => {
18839                    ::core::fmt::Display::fmt(element, f)
18840                }
18841                Self::AttestationQueues(element) => ::core::fmt::Display::fmt(element, f),
18842                Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f),
18843                Self::CallBalances(element) => ::core::fmt::Display::fmt(element, f),
18844                Self::CallFunction(element) => ::core::fmt::Display::fmt(element, f),
18845                Self::CreateAggregator(element) => ::core::fmt::Display::fmt(element, f),
18846                Self::CreateAttestationQueue(element) => ::core::fmt::Display::fmt(element, f),
18847                Self::CreateEnclave(element) => ::core::fmt::Display::fmt(element, f),
18848                Self::CreateEnclaveWithId(element) => ::core::fmt::Display::fmt(element, f),
18849                Self::CreateFunction(element) => ::core::fmt::Display::fmt(element, f),
18850                Self::CreateFunctionWithId(element) => ::core::fmt::Display::fmt(element, f),
18851                Self::CreateOracle(element) => ::core::fmt::Display::fmt(element, f),
18852                Self::CreateOracleQueue(element) => ::core::fmt::Display::fmt(element, f),
18853                Self::CreateOracleWithId(element) => ::core::fmt::Display::fmt(element, f),
18854                Self::CreateRoutineWithId(element) => ::core::fmt::Display::fmt(element, f),
18855                Self::DiamondCut(element) => ::core::fmt::Display::fmt(element, f),
18856                Self::EnclaveGarbageCollect(element) => ::core::fmt::Display::fmt(element, f),
18857                Self::EnclaveHeartbeat(element) => ::core::fmt::Display::fmt(element, f),
18858                Self::EnclaveSignerToEnclaveId(element) => ::core::fmt::Display::fmt(element, f),
18859                Self::Enclaves(element) => ::core::fmt::Display::fmt(element, f),
18860                Self::EstimatedRunCost(element) => ::core::fmt::Display::fmt(element, f),
18861                Self::FacetAddress(element) => ::core::fmt::Display::fmt(element, f),
18862                Self::FacetAddresses(element) => ::core::fmt::Display::fmt(element, f),
18863                Self::FacetFunctionSelectors(element) => ::core::fmt::Display::fmt(element, f),
18864                Self::Facets(element) => ::core::fmt::Display::fmt(element, f),
18865                Self::FailEnclave(element) => ::core::fmt::Display::fmt(element, f),
18866                Self::FailFunctionResult(element) => ::core::fmt::Display::fmt(element, f),
18867                Self::ForceOverrideVerify(element) => ::core::fmt::Display::fmt(element, f),
18868                Self::Forward(element) => ::core::fmt::Display::fmt(element, f),
18869                Self::Funcs(element) => ::core::fmt::Display::fmt(element, f),
18870                Self::FunctionCallSettings(element) => ::core::fmt::Display::fmt(element, f),
18871                Self::FunctionCalls(element) => ::core::fmt::Display::fmt(element, f),
18872                Self::FunctionEscrowFund(element) => ::core::fmt::Display::fmt(element, f),
18873                Self::FunctionEscrowWithdraw(element) => ::core::fmt::Display::fmt(element, f),
18874                Self::FunctionExists(element) => ::core::fmt::Display::fmt(element, f),
18875                Self::FunctionSettings(element) => ::core::fmt::Display::fmt(element, f),
18876                Self::FunctionVerify(element) => ::core::fmt::Display::fmt(element, f),
18877                Self::FunctionVerifyRequest(element) => ::core::fmt::Display::fmt(element, f),
18878                Self::GetActiveFunctionCallsByQueue(element) => {
18879                    ::core::fmt::Display::fmt(element, f)
18880                }
18881                Self::GetActiveFunctionsByQueue(element) => ::core::fmt::Display::fmt(element, f),
18882                Self::GetActiveRequestsByQueue(element) => ::core::fmt::Display::fmt(element, f),
18883                Self::GetActiveRoutinesByQueue(element) => ::core::fmt::Display::fmt(element, f),
18884                Self::GetAggregatorsByAuthority(element) => ::core::fmt::Display::fmt(element, f),
18885                Self::GetAllAggregators(element) => ::core::fmt::Display::fmt(element, f),
18886                Self::GetAllFunctions(element) => ::core::fmt::Display::fmt(element, f),
18887                Self::GetAttestationQueueMrEnclaves(element) => {
18888                    ::core::fmt::Display::fmt(element, f)
18889                }
18890                Self::GetCurrentIntervalId(element) => ::core::fmt::Display::fmt(element, f),
18891                Self::GetEnclaveIdx(element) => ::core::fmt::Display::fmt(element, f),
18892                Self::GetEnclaves(element) => ::core::fmt::Display::fmt(element, f),
18893                Self::GetFunctionMrEnclaves(element) => ::core::fmt::Display::fmt(element, f),
18894                Self::GetFunctionPermittedCallers(element) => ::core::fmt::Display::fmt(element, f),
18895                Self::GetFunctionsByAuthority(element) => ::core::fmt::Display::fmt(element, f),
18896                Self::GetIntervalResult(element) => ::core::fmt::Display::fmt(element, f),
18897                Self::GetOracleIdx(element) => ::core::fmt::Display::fmt(element, f),
18898                Self::GetOracleQueueAllowedMrEnclaves(element) => {
18899                    ::core::fmt::Display::fmt(element, f)
18900                }
18901                Self::GetOracles(element) => ::core::fmt::Display::fmt(element, f),
18902                Self::GetPermission(element) => ::core::fmt::Display::fmt(element, f),
18903                Self::GetRequestsByFunctionId(element) => ::core::fmt::Display::fmt(element, f),
18904                Self::GetRoutinesByAuthority(element) => ::core::fmt::Display::fmt(element, f),
18905                Self::GetRoutinesByFunctionId(element) => ::core::fmt::Display::fmt(element, f),
18906                Self::GetStakeForEnclave(element) => ::core::fmt::Display::fmt(element, f),
18907                Self::GetStakeForEnclaveWithToken(element) => ::core::fmt::Display::fmt(element, f),
18908                Self::GetStakingConfig(element) => ::core::fmt::Display::fmt(element, f),
18909                Self::GetTransactionHash(element) => ::core::fmt::Display::fmt(element, f),
18910                Self::HasPermission(element) => ::core::fmt::Display::fmt(element, f),
18911                Self::Init(element) => ::core::fmt::Display::fmt(element, f),
18912                Self::Initialize(element) => ::core::fmt::Display::fmt(element, f),
18913                Self::IsAdmin(element) => ::core::fmt::Display::fmt(element, f),
18914                Self::IsAllowed(element) => ::core::fmt::Display::fmt(element, f),
18915                Self::IsEnclaveValid(element) => ::core::fmt::Display::fmt(element, f),
18916                Self::IsTrustedForwarder(element) => ::core::fmt::Display::fmt(element, f),
18917                Self::LatestResult(element) => ::core::fmt::Display::fmt(element, f),
18918                Self::OpenInterval(element) => ::core::fmt::Display::fmt(element, f),
18919                Self::OracleGarbageCollect(element) => ::core::fmt::Display::fmt(element, f),
18920                Self::OracleHeartbeat(element) => ::core::fmt::Display::fmt(element, f),
18921                Self::OracleQueues(element) => ::core::fmt::Display::fmt(element, f),
18922                Self::Oracles(element) => ::core::fmt::Display::fmt(element, f),
18923                Self::Owner(element) => ::core::fmt::Display::fmt(element, f),
18924                Self::PrepareUnstake(element) => ::core::fmt::Display::fmt(element, f),
18925                Self::QueueAttestationConfigs(element) => ::core::fmt::Display::fmt(element, f),
18926                Self::RecoverStakeWithToken(element) => ::core::fmt::Display::fmt(element, f),
18927                Self::RemoveMrEnclaveFromAttestationQueue(element) => {
18928                    ::core::fmt::Display::fmt(element, f)
18929                }
18930                Self::RemoveMrEnclaveFromFunction(element) => ::core::fmt::Display::fmt(element, f),
18931                Self::RemoveMrEnclaveFromOracleQueue(element) => {
18932                    ::core::fmt::Display::fmt(element, f)
18933                }
18934                Self::RequestFund(element) => ::core::fmt::Display::fmt(element, f),
18935                Self::RequestWithdrawal(element) => ::core::fmt::Display::fmt(element, f),
18936                Self::Requests(element) => ::core::fmt::Display::fmt(element, f),
18937                Self::RotateEnclaveSigner(element) => ::core::fmt::Display::fmt(element, f),
18938                Self::RotateOracleSigner(element) => ::core::fmt::Display::fmt(element, f),
18939                Self::RoutineEscrowFund(element) => ::core::fmt::Display::fmt(element, f),
18940                Self::RoutineEscrowWithdraw(element) => ::core::fmt::Display::fmt(element, f),
18941                Self::RoutineExists(element) => ::core::fmt::Display::fmt(element, f),
18942                Self::Routines(element) => ::core::fmt::Display::fmt(element, f),
18943                Self::SaveResults(element) => ::core::fmt::Display::fmt(element, f),
18944                Self::SendDelayedRequest(element) => ::core::fmt::Display::fmt(element, f),
18945                Self::SendRequest(element) => ::core::fmt::Display::fmt(element, f),
18946                Self::SendRequestWithId(element) => ::core::fmt::Display::fmt(element, f),
18947                Self::SetAdmin(element) => ::core::fmt::Display::fmt(element, f),
18948                Self::SetAggregatorConfig(element) => ::core::fmt::Display::fmt(element, f),
18949                Self::SetAllowed(element) => ::core::fmt::Display::fmt(element, f),
18950                Self::SetAttestationQueueConfig(element) => ::core::fmt::Display::fmt(element, f),
18951                Self::SetAttestationQueuePermission(element) => {
18952                    ::core::fmt::Display::fmt(element, f)
18953                }
18954                Self::SetFunctionCallSettings(element) => ::core::fmt::Display::fmt(element, f),
18955                Self::SetFunctionConfig(element) => ::core::fmt::Display::fmt(element, f),
18956                Self::SetFunctionDeactivated(element) => ::core::fmt::Display::fmt(element, f),
18957                Self::SetFunctionSettings(element) => ::core::fmt::Display::fmt(element, f),
18958                Self::SetOracleConfig(element) => ::core::fmt::Display::fmt(element, f),
18959                Self::SetOracleQueueAttestationConfig(element) => {
18960                    ::core::fmt::Display::fmt(element, f)
18961                }
18962                Self::SetOracleQueueConfig(element) => ::core::fmt::Display::fmt(element, f),
18963                Self::SetOracleQueuePermission(element) => ::core::fmt::Display::fmt(element, f),
18964                Self::SetStakingConfig(element) => ::core::fmt::Display::fmt(element, f),
18965                Self::SetToleratedTimestampDiscrepancy(element) => {
18966                    ::core::fmt::Display::fmt(element, f)
18967                }
18968                Self::SlashStake(element) => ::core::fmt::Display::fmt(element, f),
18969                Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f),
18970                Self::TotalStaked(element) => ::core::fmt::Display::fmt(element, f),
18971                Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f),
18972                Self::Transfer(element) => ::core::fmt::Display::fmt(element, f),
18973                Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f),
18974                Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f),
18975                Self::Unstake(element) => ::core::fmt::Display::fmt(element, f),
18976                Self::UpdateEnclave(element) => ::core::fmt::Display::fmt(element, f),
18977                Self::UpdateRoutine(element) => ::core::fmt::Display::fmt(element, f),
18978                Self::Validate(element) => ::core::fmt::Display::fmt(element, f),
18979                Self::VerifyCallbackParams(element) => ::core::fmt::Display::fmt(element, f),
18980                Self::VerifyEnclave(element) => ::core::fmt::Display::fmt(element, f),
18981                Self::VerifyFunctionResult(element) => ::core::fmt::Display::fmt(element, f),
18982                Self::ViewAggregatorResults(element) => ::core::fmt::Display::fmt(element, f),
18983                Self::ViewLatestResult(element) => ::core::fmt::Display::fmt(element, f),
18984            }
18985        }
18986    }
18987    impl ::core::convert::From<AddMrEnclaveToAttestationQueueCall> for SwitchboardCalls {
18988        fn from(value: AddMrEnclaveToAttestationQueueCall) -> Self {
18989            Self::AddMrEnclaveToAttestationQueue(value)
18990        }
18991    }
18992    impl ::core::convert::From<AddMrEnclaveToFunctionCall> for SwitchboardCalls {
18993        fn from(value: AddMrEnclaveToFunctionCall) -> Self {
18994            Self::AddMrEnclaveToFunction(value)
18995        }
18996    }
18997    impl ::core::convert::From<AddMrEnclaveToOracleQueueCall> for SwitchboardCalls {
18998        fn from(value: AddMrEnclaveToOracleQueueCall) -> Self {
18999            Self::AddMrEnclaveToOracleQueue(value)
19000        }
19001    }
19002    impl ::core::convert::From<AddStakeCall> for SwitchboardCalls {
19003        fn from(value: AddStakeCall) -> Self {
19004            Self::AddStake(value)
19005        }
19006    }
19007    impl ::core::convert::From<AggregatorEscrowFundCall> for SwitchboardCalls {
19008        fn from(value: AggregatorEscrowFundCall) -> Self {
19009            Self::AggregatorEscrowFund(value)
19010        }
19011    }
19012    impl ::core::convert::From<AggregatorEscrowWithdrawCall> for SwitchboardCalls {
19013        fn from(value: AggregatorEscrowWithdrawCall) -> Self {
19014            Self::AggregatorEscrowWithdraw(value)
19015        }
19016    }
19017    impl ::core::convert::From<AggregatorHistoryCall> for SwitchboardCalls {
19018        fn from(value: AggregatorHistoryCall) -> Self {
19019            Self::AggregatorHistory(value)
19020        }
19021    }
19022    impl ::core::convert::From<AggregatorsCall> for SwitchboardCalls {
19023        fn from(value: AggregatorsCall) -> Self {
19024            Self::Aggregators(value)
19025        }
19026    }
19027    impl ::core::convert::From<AllowanceCall> for SwitchboardCalls {
19028        fn from(value: AllowanceCall) -> Self {
19029            Self::Allowance(value)
19030        }
19031    }
19032    impl ::core::convert::From<ApproveCall> for SwitchboardCalls {
19033        fn from(value: ApproveCall) -> Self {
19034            Self::Approve(value)
19035        }
19036    }
19037    impl ::core::convert::From<AttestationQueueHasMrEnclaveCall> for SwitchboardCalls {
19038        fn from(value: AttestationQueueHasMrEnclaveCall) -> Self {
19039            Self::AttestationQueueHasMrEnclave(value)
19040        }
19041    }
19042    impl ::core::convert::From<AttestationQueuesCall> for SwitchboardCalls {
19043        fn from(value: AttestationQueuesCall) -> Self {
19044            Self::AttestationQueues(value)
19045        }
19046    }
19047    impl ::core::convert::From<BalanceOfCall> for SwitchboardCalls {
19048        fn from(value: BalanceOfCall) -> Self {
19049            Self::BalanceOf(value)
19050        }
19051    }
19052    impl ::core::convert::From<CallBalancesCall> for SwitchboardCalls {
19053        fn from(value: CallBalancesCall) -> Self {
19054            Self::CallBalances(value)
19055        }
19056    }
19057    impl ::core::convert::From<CallFunctionCall> for SwitchboardCalls {
19058        fn from(value: CallFunctionCall) -> Self {
19059            Self::CallFunction(value)
19060        }
19061    }
19062    impl ::core::convert::From<CreateAggregatorCall> for SwitchboardCalls {
19063        fn from(value: CreateAggregatorCall) -> Self {
19064            Self::CreateAggregator(value)
19065        }
19066    }
19067    impl ::core::convert::From<CreateAttestationQueueCall> for SwitchboardCalls {
19068        fn from(value: CreateAttestationQueueCall) -> Self {
19069            Self::CreateAttestationQueue(value)
19070        }
19071    }
19072    impl ::core::convert::From<CreateEnclaveCall> for SwitchboardCalls {
19073        fn from(value: CreateEnclaveCall) -> Self {
19074            Self::CreateEnclave(value)
19075        }
19076    }
19077    impl ::core::convert::From<CreateEnclaveWithIdCall> for SwitchboardCalls {
19078        fn from(value: CreateEnclaveWithIdCall) -> Self {
19079            Self::CreateEnclaveWithId(value)
19080        }
19081    }
19082    impl ::core::convert::From<CreateFunctionCall> for SwitchboardCalls {
19083        fn from(value: CreateFunctionCall) -> Self {
19084            Self::CreateFunction(value)
19085        }
19086    }
19087    impl ::core::convert::From<CreateFunctionWithIdCall> for SwitchboardCalls {
19088        fn from(value: CreateFunctionWithIdCall) -> Self {
19089            Self::CreateFunctionWithId(value)
19090        }
19091    }
19092    impl ::core::convert::From<CreateOracleCall> for SwitchboardCalls {
19093        fn from(value: CreateOracleCall) -> Self {
19094            Self::CreateOracle(value)
19095        }
19096    }
19097    impl ::core::convert::From<CreateOracleQueueCall> for SwitchboardCalls {
19098        fn from(value: CreateOracleQueueCall) -> Self {
19099            Self::CreateOracleQueue(value)
19100        }
19101    }
19102    impl ::core::convert::From<CreateOracleWithIdCall> for SwitchboardCalls {
19103        fn from(value: CreateOracleWithIdCall) -> Self {
19104            Self::CreateOracleWithId(value)
19105        }
19106    }
19107    impl ::core::convert::From<CreateRoutineWithIdCall> for SwitchboardCalls {
19108        fn from(value: CreateRoutineWithIdCall) -> Self {
19109            Self::CreateRoutineWithId(value)
19110        }
19111    }
19112    impl ::core::convert::From<DiamondCutCall> for SwitchboardCalls {
19113        fn from(value: DiamondCutCall) -> Self {
19114            Self::DiamondCut(value)
19115        }
19116    }
19117    impl ::core::convert::From<EnclaveGarbageCollectCall> for SwitchboardCalls {
19118        fn from(value: EnclaveGarbageCollectCall) -> Self {
19119            Self::EnclaveGarbageCollect(value)
19120        }
19121    }
19122    impl ::core::convert::From<EnclaveHeartbeatCall> for SwitchboardCalls {
19123        fn from(value: EnclaveHeartbeatCall) -> Self {
19124            Self::EnclaveHeartbeat(value)
19125        }
19126    }
19127    impl ::core::convert::From<EnclaveSignerToEnclaveIdCall> for SwitchboardCalls {
19128        fn from(value: EnclaveSignerToEnclaveIdCall) -> Self {
19129            Self::EnclaveSignerToEnclaveId(value)
19130        }
19131    }
19132    impl ::core::convert::From<EnclavesCall> for SwitchboardCalls {
19133        fn from(value: EnclavesCall) -> Self {
19134            Self::Enclaves(value)
19135        }
19136    }
19137    impl ::core::convert::From<EstimatedRunCostCall> for SwitchboardCalls {
19138        fn from(value: EstimatedRunCostCall) -> Self {
19139            Self::EstimatedRunCost(value)
19140        }
19141    }
19142    impl ::core::convert::From<FacetAddressCall> for SwitchboardCalls {
19143        fn from(value: FacetAddressCall) -> Self {
19144            Self::FacetAddress(value)
19145        }
19146    }
19147    impl ::core::convert::From<FacetAddressesCall> for SwitchboardCalls {
19148        fn from(value: FacetAddressesCall) -> Self {
19149            Self::FacetAddresses(value)
19150        }
19151    }
19152    impl ::core::convert::From<FacetFunctionSelectorsCall> for SwitchboardCalls {
19153        fn from(value: FacetFunctionSelectorsCall) -> Self {
19154            Self::FacetFunctionSelectors(value)
19155        }
19156    }
19157    impl ::core::convert::From<FacetsCall> for SwitchboardCalls {
19158        fn from(value: FacetsCall) -> Self {
19159            Self::Facets(value)
19160        }
19161    }
19162    impl ::core::convert::From<FailEnclaveCall> for SwitchboardCalls {
19163        fn from(value: FailEnclaveCall) -> Self {
19164            Self::FailEnclave(value)
19165        }
19166    }
19167    impl ::core::convert::From<FailFunctionResultCall> for SwitchboardCalls {
19168        fn from(value: FailFunctionResultCall) -> Self {
19169            Self::FailFunctionResult(value)
19170        }
19171    }
19172    impl ::core::convert::From<ForceOverrideVerifyCall> for SwitchboardCalls {
19173        fn from(value: ForceOverrideVerifyCall) -> Self {
19174            Self::ForceOverrideVerify(value)
19175        }
19176    }
19177    impl ::core::convert::From<ForwardCall> for SwitchboardCalls {
19178        fn from(value: ForwardCall) -> Self {
19179            Self::Forward(value)
19180        }
19181    }
19182    impl ::core::convert::From<FuncsCall> for SwitchboardCalls {
19183        fn from(value: FuncsCall) -> Self {
19184            Self::Funcs(value)
19185        }
19186    }
19187    impl ::core::convert::From<FunctionCallSettingsCall> for SwitchboardCalls {
19188        fn from(value: FunctionCallSettingsCall) -> Self {
19189            Self::FunctionCallSettings(value)
19190        }
19191    }
19192    impl ::core::convert::From<FunctionCallsCall> for SwitchboardCalls {
19193        fn from(value: FunctionCallsCall) -> Self {
19194            Self::FunctionCalls(value)
19195        }
19196    }
19197    impl ::core::convert::From<FunctionEscrowFundCall> for SwitchboardCalls {
19198        fn from(value: FunctionEscrowFundCall) -> Self {
19199            Self::FunctionEscrowFund(value)
19200        }
19201    }
19202    impl ::core::convert::From<FunctionEscrowWithdrawCall> for SwitchboardCalls {
19203        fn from(value: FunctionEscrowWithdrawCall) -> Self {
19204            Self::FunctionEscrowWithdraw(value)
19205        }
19206    }
19207    impl ::core::convert::From<FunctionExistsCall> for SwitchboardCalls {
19208        fn from(value: FunctionExistsCall) -> Self {
19209            Self::FunctionExists(value)
19210        }
19211    }
19212    impl ::core::convert::From<FunctionSettingsCall> for SwitchboardCalls {
19213        fn from(value: FunctionSettingsCall) -> Self {
19214            Self::FunctionSettings(value)
19215        }
19216    }
19217    impl ::core::convert::From<FunctionVerifyCall> for SwitchboardCalls {
19218        fn from(value: FunctionVerifyCall) -> Self {
19219            Self::FunctionVerify(value)
19220        }
19221    }
19222    impl ::core::convert::From<FunctionVerifyRequestCall> for SwitchboardCalls {
19223        fn from(value: FunctionVerifyRequestCall) -> Self {
19224            Self::FunctionVerifyRequest(value)
19225        }
19226    }
19227    impl ::core::convert::From<GetActiveFunctionCallsByQueueCall> for SwitchboardCalls {
19228        fn from(value: GetActiveFunctionCallsByQueueCall) -> Self {
19229            Self::GetActiveFunctionCallsByQueue(value)
19230        }
19231    }
19232    impl ::core::convert::From<GetActiveFunctionsByQueueCall> for SwitchboardCalls {
19233        fn from(value: GetActiveFunctionsByQueueCall) -> Self {
19234            Self::GetActiveFunctionsByQueue(value)
19235        }
19236    }
19237    impl ::core::convert::From<GetActiveRequestsByQueueCall> for SwitchboardCalls {
19238        fn from(value: GetActiveRequestsByQueueCall) -> Self {
19239            Self::GetActiveRequestsByQueue(value)
19240        }
19241    }
19242    impl ::core::convert::From<GetActiveRoutinesByQueueCall> for SwitchboardCalls {
19243        fn from(value: GetActiveRoutinesByQueueCall) -> Self {
19244            Self::GetActiveRoutinesByQueue(value)
19245        }
19246    }
19247    impl ::core::convert::From<GetAggregatorsByAuthorityCall> for SwitchboardCalls {
19248        fn from(value: GetAggregatorsByAuthorityCall) -> Self {
19249            Self::GetAggregatorsByAuthority(value)
19250        }
19251    }
19252    impl ::core::convert::From<GetAllAggregatorsCall> for SwitchboardCalls {
19253        fn from(value: GetAllAggregatorsCall) -> Self {
19254            Self::GetAllAggregators(value)
19255        }
19256    }
19257    impl ::core::convert::From<GetAllFunctionsCall> for SwitchboardCalls {
19258        fn from(value: GetAllFunctionsCall) -> Self {
19259            Self::GetAllFunctions(value)
19260        }
19261    }
19262    impl ::core::convert::From<GetAttestationQueueMrEnclavesCall> for SwitchboardCalls {
19263        fn from(value: GetAttestationQueueMrEnclavesCall) -> Self {
19264            Self::GetAttestationQueueMrEnclaves(value)
19265        }
19266    }
19267    impl ::core::convert::From<GetCurrentIntervalIdCall> for SwitchboardCalls {
19268        fn from(value: GetCurrentIntervalIdCall) -> Self {
19269            Self::GetCurrentIntervalId(value)
19270        }
19271    }
19272    impl ::core::convert::From<GetEnclaveIdxCall> for SwitchboardCalls {
19273        fn from(value: GetEnclaveIdxCall) -> Self {
19274            Self::GetEnclaveIdx(value)
19275        }
19276    }
19277    impl ::core::convert::From<GetEnclavesCall> for SwitchboardCalls {
19278        fn from(value: GetEnclavesCall) -> Self {
19279            Self::GetEnclaves(value)
19280        }
19281    }
19282    impl ::core::convert::From<GetFunctionMrEnclavesCall> for SwitchboardCalls {
19283        fn from(value: GetFunctionMrEnclavesCall) -> Self {
19284            Self::GetFunctionMrEnclaves(value)
19285        }
19286    }
19287    impl ::core::convert::From<GetFunctionPermittedCallersCall> for SwitchboardCalls {
19288        fn from(value: GetFunctionPermittedCallersCall) -> Self {
19289            Self::GetFunctionPermittedCallers(value)
19290        }
19291    }
19292    impl ::core::convert::From<GetFunctionsByAuthorityCall> for SwitchboardCalls {
19293        fn from(value: GetFunctionsByAuthorityCall) -> Self {
19294            Self::GetFunctionsByAuthority(value)
19295        }
19296    }
19297    impl ::core::convert::From<GetIntervalResultCall> for SwitchboardCalls {
19298        fn from(value: GetIntervalResultCall) -> Self {
19299            Self::GetIntervalResult(value)
19300        }
19301    }
19302    impl ::core::convert::From<GetOracleIdxCall> for SwitchboardCalls {
19303        fn from(value: GetOracleIdxCall) -> Self {
19304            Self::GetOracleIdx(value)
19305        }
19306    }
19307    impl ::core::convert::From<GetOracleQueueAllowedMrEnclavesCall> for SwitchboardCalls {
19308        fn from(value: GetOracleQueueAllowedMrEnclavesCall) -> Self {
19309            Self::GetOracleQueueAllowedMrEnclaves(value)
19310        }
19311    }
19312    impl ::core::convert::From<GetOraclesCall> for SwitchboardCalls {
19313        fn from(value: GetOraclesCall) -> Self {
19314            Self::GetOracles(value)
19315        }
19316    }
19317    impl ::core::convert::From<GetPermissionCall> for SwitchboardCalls {
19318        fn from(value: GetPermissionCall) -> Self {
19319            Self::GetPermission(value)
19320        }
19321    }
19322    impl ::core::convert::From<GetRequestsByFunctionIdCall> for SwitchboardCalls {
19323        fn from(value: GetRequestsByFunctionIdCall) -> Self {
19324            Self::GetRequestsByFunctionId(value)
19325        }
19326    }
19327    impl ::core::convert::From<GetRoutinesByAuthorityCall> for SwitchboardCalls {
19328        fn from(value: GetRoutinesByAuthorityCall) -> Self {
19329            Self::GetRoutinesByAuthority(value)
19330        }
19331    }
19332    impl ::core::convert::From<GetRoutinesByFunctionIdCall> for SwitchboardCalls {
19333        fn from(value: GetRoutinesByFunctionIdCall) -> Self {
19334            Self::GetRoutinesByFunctionId(value)
19335        }
19336    }
19337    impl ::core::convert::From<GetStakeForEnclaveCall> for SwitchboardCalls {
19338        fn from(value: GetStakeForEnclaveCall) -> Self {
19339            Self::GetStakeForEnclave(value)
19340        }
19341    }
19342    impl ::core::convert::From<GetStakeForEnclaveWithTokenCall> for SwitchboardCalls {
19343        fn from(value: GetStakeForEnclaveWithTokenCall) -> Self {
19344            Self::GetStakeForEnclaveWithToken(value)
19345        }
19346    }
19347    impl ::core::convert::From<GetStakingConfigCall> for SwitchboardCalls {
19348        fn from(value: GetStakingConfigCall) -> Self {
19349            Self::GetStakingConfig(value)
19350        }
19351    }
19352    impl ::core::convert::From<GetTransactionHashCall> for SwitchboardCalls {
19353        fn from(value: GetTransactionHashCall) -> Self {
19354            Self::GetTransactionHash(value)
19355        }
19356    }
19357    impl ::core::convert::From<HasPermissionCall> for SwitchboardCalls {
19358        fn from(value: HasPermissionCall) -> Self {
19359            Self::HasPermission(value)
19360        }
19361    }
19362    impl ::core::convert::From<InitCall> for SwitchboardCalls {
19363        fn from(value: InitCall) -> Self {
19364            Self::Init(value)
19365        }
19366    }
19367    impl ::core::convert::From<InitializeCall> for SwitchboardCalls {
19368        fn from(value: InitializeCall) -> Self {
19369            Self::Initialize(value)
19370        }
19371    }
19372    impl ::core::convert::From<IsAdminCall> for SwitchboardCalls {
19373        fn from(value: IsAdminCall) -> Self {
19374            Self::IsAdmin(value)
19375        }
19376    }
19377    impl ::core::convert::From<IsAllowedCall> for SwitchboardCalls {
19378        fn from(value: IsAllowedCall) -> Self {
19379            Self::IsAllowed(value)
19380        }
19381    }
19382    impl ::core::convert::From<IsEnclaveValidCall> for SwitchboardCalls {
19383        fn from(value: IsEnclaveValidCall) -> Self {
19384            Self::IsEnclaveValid(value)
19385        }
19386    }
19387    impl ::core::convert::From<IsTrustedForwarderCall> for SwitchboardCalls {
19388        fn from(value: IsTrustedForwarderCall) -> Self {
19389            Self::IsTrustedForwarder(value)
19390        }
19391    }
19392    impl ::core::convert::From<LatestResultCall> for SwitchboardCalls {
19393        fn from(value: LatestResultCall) -> Self {
19394            Self::LatestResult(value)
19395        }
19396    }
19397    impl ::core::convert::From<OpenIntervalCall> for SwitchboardCalls {
19398        fn from(value: OpenIntervalCall) -> Self {
19399            Self::OpenInterval(value)
19400        }
19401    }
19402    impl ::core::convert::From<OracleGarbageCollectCall> for SwitchboardCalls {
19403        fn from(value: OracleGarbageCollectCall) -> Self {
19404            Self::OracleGarbageCollect(value)
19405        }
19406    }
19407    impl ::core::convert::From<OracleHeartbeatCall> for SwitchboardCalls {
19408        fn from(value: OracleHeartbeatCall) -> Self {
19409            Self::OracleHeartbeat(value)
19410        }
19411    }
19412    impl ::core::convert::From<OracleQueuesCall> for SwitchboardCalls {
19413        fn from(value: OracleQueuesCall) -> Self {
19414            Self::OracleQueues(value)
19415        }
19416    }
19417    impl ::core::convert::From<OraclesCall> for SwitchboardCalls {
19418        fn from(value: OraclesCall) -> Self {
19419            Self::Oracles(value)
19420        }
19421    }
19422    impl ::core::convert::From<OwnerCall> for SwitchboardCalls {
19423        fn from(value: OwnerCall) -> Self {
19424            Self::Owner(value)
19425        }
19426    }
19427    impl ::core::convert::From<PrepareUnstakeCall> for SwitchboardCalls {
19428        fn from(value: PrepareUnstakeCall) -> Self {
19429            Self::PrepareUnstake(value)
19430        }
19431    }
19432    impl ::core::convert::From<QueueAttestationConfigsCall> for SwitchboardCalls {
19433        fn from(value: QueueAttestationConfigsCall) -> Self {
19434            Self::QueueAttestationConfigs(value)
19435        }
19436    }
19437    impl ::core::convert::From<RecoverStakeWithTokenCall> for SwitchboardCalls {
19438        fn from(value: RecoverStakeWithTokenCall) -> Self {
19439            Self::RecoverStakeWithToken(value)
19440        }
19441    }
19442    impl ::core::convert::From<RemoveMrEnclaveFromAttestationQueueCall> for SwitchboardCalls {
19443        fn from(value: RemoveMrEnclaveFromAttestationQueueCall) -> Self {
19444            Self::RemoveMrEnclaveFromAttestationQueue(value)
19445        }
19446    }
19447    impl ::core::convert::From<RemoveMrEnclaveFromFunctionCall> for SwitchboardCalls {
19448        fn from(value: RemoveMrEnclaveFromFunctionCall) -> Self {
19449            Self::RemoveMrEnclaveFromFunction(value)
19450        }
19451    }
19452    impl ::core::convert::From<RemoveMrEnclaveFromOracleQueueCall> for SwitchboardCalls {
19453        fn from(value: RemoveMrEnclaveFromOracleQueueCall) -> Self {
19454            Self::RemoveMrEnclaveFromOracleQueue(value)
19455        }
19456    }
19457    impl ::core::convert::From<RequestFundCall> for SwitchboardCalls {
19458        fn from(value: RequestFundCall) -> Self {
19459            Self::RequestFund(value)
19460        }
19461    }
19462    impl ::core::convert::From<RequestWithdrawalCall> for SwitchboardCalls {
19463        fn from(value: RequestWithdrawalCall) -> Self {
19464            Self::RequestWithdrawal(value)
19465        }
19466    }
19467    impl ::core::convert::From<RequestsCall> for SwitchboardCalls {
19468        fn from(value: RequestsCall) -> Self {
19469            Self::Requests(value)
19470        }
19471    }
19472    impl ::core::convert::From<RotateEnclaveSignerCall> for SwitchboardCalls {
19473        fn from(value: RotateEnclaveSignerCall) -> Self {
19474            Self::RotateEnclaveSigner(value)
19475        }
19476    }
19477    impl ::core::convert::From<RotateOracleSignerCall> for SwitchboardCalls {
19478        fn from(value: RotateOracleSignerCall) -> Self {
19479            Self::RotateOracleSigner(value)
19480        }
19481    }
19482    impl ::core::convert::From<RoutineEscrowFundCall> for SwitchboardCalls {
19483        fn from(value: RoutineEscrowFundCall) -> Self {
19484            Self::RoutineEscrowFund(value)
19485        }
19486    }
19487    impl ::core::convert::From<RoutineEscrowWithdrawCall> for SwitchboardCalls {
19488        fn from(value: RoutineEscrowWithdrawCall) -> Self {
19489            Self::RoutineEscrowWithdraw(value)
19490        }
19491    }
19492    impl ::core::convert::From<RoutineExistsCall> for SwitchboardCalls {
19493        fn from(value: RoutineExistsCall) -> Self {
19494            Self::RoutineExists(value)
19495        }
19496    }
19497    impl ::core::convert::From<RoutinesCall> for SwitchboardCalls {
19498        fn from(value: RoutinesCall) -> Self {
19499            Self::Routines(value)
19500        }
19501    }
19502    impl ::core::convert::From<SaveResultsCall> for SwitchboardCalls {
19503        fn from(value: SaveResultsCall) -> Self {
19504            Self::SaveResults(value)
19505        }
19506    }
19507    impl ::core::convert::From<SendDelayedRequestCall> for SwitchboardCalls {
19508        fn from(value: SendDelayedRequestCall) -> Self {
19509            Self::SendDelayedRequest(value)
19510        }
19511    }
19512    impl ::core::convert::From<SendRequestCall> for SwitchboardCalls {
19513        fn from(value: SendRequestCall) -> Self {
19514            Self::SendRequest(value)
19515        }
19516    }
19517    impl ::core::convert::From<SendRequestWithIdCall> for SwitchboardCalls {
19518        fn from(value: SendRequestWithIdCall) -> Self {
19519            Self::SendRequestWithId(value)
19520        }
19521    }
19522    impl ::core::convert::From<SetAdminCall> for SwitchboardCalls {
19523        fn from(value: SetAdminCall) -> Self {
19524            Self::SetAdmin(value)
19525        }
19526    }
19527    impl ::core::convert::From<SetAggregatorConfigCall> for SwitchboardCalls {
19528        fn from(value: SetAggregatorConfigCall) -> Self {
19529            Self::SetAggregatorConfig(value)
19530        }
19531    }
19532    impl ::core::convert::From<SetAllowedCall> for SwitchboardCalls {
19533        fn from(value: SetAllowedCall) -> Self {
19534            Self::SetAllowed(value)
19535        }
19536    }
19537    impl ::core::convert::From<SetAttestationQueueConfigCall> for SwitchboardCalls {
19538        fn from(value: SetAttestationQueueConfigCall) -> Self {
19539            Self::SetAttestationQueueConfig(value)
19540        }
19541    }
19542    impl ::core::convert::From<SetAttestationQueuePermissionCall> for SwitchboardCalls {
19543        fn from(value: SetAttestationQueuePermissionCall) -> Self {
19544            Self::SetAttestationQueuePermission(value)
19545        }
19546    }
19547    impl ::core::convert::From<SetFunctionCallSettingsCall> for SwitchboardCalls {
19548        fn from(value: SetFunctionCallSettingsCall) -> Self {
19549            Self::SetFunctionCallSettings(value)
19550        }
19551    }
19552    impl ::core::convert::From<SetFunctionConfigCall> for SwitchboardCalls {
19553        fn from(value: SetFunctionConfigCall) -> Self {
19554            Self::SetFunctionConfig(value)
19555        }
19556    }
19557    impl ::core::convert::From<SetFunctionDeactivatedCall> for SwitchboardCalls {
19558        fn from(value: SetFunctionDeactivatedCall) -> Self {
19559            Self::SetFunctionDeactivated(value)
19560        }
19561    }
19562    impl ::core::convert::From<SetFunctionSettingsCall> for SwitchboardCalls {
19563        fn from(value: SetFunctionSettingsCall) -> Self {
19564            Self::SetFunctionSettings(value)
19565        }
19566    }
19567    impl ::core::convert::From<SetOracleConfigCall> for SwitchboardCalls {
19568        fn from(value: SetOracleConfigCall) -> Self {
19569            Self::SetOracleConfig(value)
19570        }
19571    }
19572    impl ::core::convert::From<SetOracleQueueAttestationConfigCall> for SwitchboardCalls {
19573        fn from(value: SetOracleQueueAttestationConfigCall) -> Self {
19574            Self::SetOracleQueueAttestationConfig(value)
19575        }
19576    }
19577    impl ::core::convert::From<SetOracleQueueConfigCall> for SwitchboardCalls {
19578        fn from(value: SetOracleQueueConfigCall) -> Self {
19579            Self::SetOracleQueueConfig(value)
19580        }
19581    }
19582    impl ::core::convert::From<SetOracleQueuePermissionCall> for SwitchboardCalls {
19583        fn from(value: SetOracleQueuePermissionCall) -> Self {
19584            Self::SetOracleQueuePermission(value)
19585        }
19586    }
19587    impl ::core::convert::From<SetStakingConfigCall> for SwitchboardCalls {
19588        fn from(value: SetStakingConfigCall) -> Self {
19589            Self::SetStakingConfig(value)
19590        }
19591    }
19592    impl ::core::convert::From<SetToleratedTimestampDiscrepancyCall> for SwitchboardCalls {
19593        fn from(value: SetToleratedTimestampDiscrepancyCall) -> Self {
19594            Self::SetToleratedTimestampDiscrepancy(value)
19595        }
19596    }
19597    impl ::core::convert::From<SlashStakeCall> for SwitchboardCalls {
19598        fn from(value: SlashStakeCall) -> Self {
19599            Self::SlashStake(value)
19600        }
19601    }
19602    impl ::core::convert::From<SupportsInterfaceCall> for SwitchboardCalls {
19603        fn from(value: SupportsInterfaceCall) -> Self {
19604            Self::SupportsInterface(value)
19605        }
19606    }
19607    impl ::core::convert::From<TotalStakedCall> for SwitchboardCalls {
19608        fn from(value: TotalStakedCall) -> Self {
19609            Self::TotalStaked(value)
19610        }
19611    }
19612    impl ::core::convert::From<TotalSupplyCall> for SwitchboardCalls {
19613        fn from(value: TotalSupplyCall) -> Self {
19614            Self::TotalSupply(value)
19615        }
19616    }
19617    impl ::core::convert::From<TransferCall> for SwitchboardCalls {
19618        fn from(value: TransferCall) -> Self {
19619            Self::Transfer(value)
19620        }
19621    }
19622    impl ::core::convert::From<TransferFromCall> for SwitchboardCalls {
19623        fn from(value: TransferFromCall) -> Self {
19624            Self::TransferFrom(value)
19625        }
19626    }
19627    impl ::core::convert::From<TransferOwnershipCall> for SwitchboardCalls {
19628        fn from(value: TransferOwnershipCall) -> Self {
19629            Self::TransferOwnership(value)
19630        }
19631    }
19632    impl ::core::convert::From<UnstakeCall> for SwitchboardCalls {
19633        fn from(value: UnstakeCall) -> Self {
19634            Self::Unstake(value)
19635        }
19636    }
19637    impl ::core::convert::From<UpdateEnclaveCall> for SwitchboardCalls {
19638        fn from(value: UpdateEnclaveCall) -> Self {
19639            Self::UpdateEnclave(value)
19640        }
19641    }
19642    impl ::core::convert::From<UpdateRoutineCall> for SwitchboardCalls {
19643        fn from(value: UpdateRoutineCall) -> Self {
19644            Self::UpdateRoutine(value)
19645        }
19646    }
19647    impl ::core::convert::From<ValidateCall> for SwitchboardCalls {
19648        fn from(value: ValidateCall) -> Self {
19649            Self::Validate(value)
19650        }
19651    }
19652    impl ::core::convert::From<VerifyCallbackParamsCall> for SwitchboardCalls {
19653        fn from(value: VerifyCallbackParamsCall) -> Self {
19654            Self::VerifyCallbackParams(value)
19655        }
19656    }
19657    impl ::core::convert::From<VerifyEnclaveCall> for SwitchboardCalls {
19658        fn from(value: VerifyEnclaveCall) -> Self {
19659            Self::VerifyEnclave(value)
19660        }
19661    }
19662    impl ::core::convert::From<VerifyFunctionResultCall> for SwitchboardCalls {
19663        fn from(value: VerifyFunctionResultCall) -> Self {
19664            Self::VerifyFunctionResult(value)
19665        }
19666    }
19667    impl ::core::convert::From<ViewAggregatorResultsCall> for SwitchboardCalls {
19668        fn from(value: ViewAggregatorResultsCall) -> Self {
19669            Self::ViewAggregatorResults(value)
19670        }
19671    }
19672    impl ::core::convert::From<ViewLatestResultCall> for SwitchboardCalls {
19673        fn from(value: ViewLatestResultCall) -> Self {
19674            Self::ViewLatestResult(value)
19675        }
19676    }
19677    ///Container type for all return fields from the `aggregatorHistory` function with signature `aggregatorHistory(address,uint80)` and selector `0x8625bd08`
19678    #[derive(
19679        Clone,
19680        ::ethers::contract::EthAbiType,
19681        ::ethers::contract::EthAbiCodec,
19682        Default,
19683        Debug,
19684        PartialEq,
19685        Eq,
19686        Hash,
19687    )]
19688    pub struct AggregatorHistoryReturn(pub AggregatorHistoryResult);
19689    ///Container type for all return fields from the `aggregators` function with signature `aggregators(address)` and selector `0x112cdab9`
19690    #[derive(
19691        Clone,
19692        ::ethers::contract::EthAbiType,
19693        ::ethers::contract::EthAbiCodec,
19694        Default,
19695        Debug,
19696        PartialEq,
19697        Eq,
19698        Hash,
19699    )]
19700    pub struct AggregatorsReturn(pub Aggregator);
19701    ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e`
19702    #[derive(
19703        Clone,
19704        ::ethers::contract::EthAbiType,
19705        ::ethers::contract::EthAbiCodec,
19706        Default,
19707        Debug,
19708        PartialEq,
19709        Eq,
19710        Hash,
19711    )]
19712    pub struct AllowanceReturn(pub ::ethers::core::types::U256);
19713    ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3`
19714    #[derive(
19715        Clone,
19716        ::ethers::contract::EthAbiType,
19717        ::ethers::contract::EthAbiCodec,
19718        Default,
19719        Debug,
19720        PartialEq,
19721        Eq,
19722        Hash,
19723    )]
19724    pub struct ApproveReturn(pub bool);
19725    ///Container type for all return fields from the `attestationQueueHasMrEnclave` function with signature `attestationQueueHasMrEnclave(address,bytes32)` and selector `0x63fcd771`
19726    #[derive(
19727        Clone,
19728        ::ethers::contract::EthAbiType,
19729        ::ethers::contract::EthAbiCodec,
19730        Default,
19731        Debug,
19732        PartialEq,
19733        Eq,
19734        Hash,
19735    )]
19736    pub struct AttestationQueueHasMrEnclaveReturn(pub bool);
19737    ///Container type for all return fields from the `attestationQueues` function with signature `attestationQueues(address)` and selector `0x8bb3048c`
19738    #[derive(
19739        Clone,
19740        ::ethers::contract::EthAbiType,
19741        ::ethers::contract::EthAbiCodec,
19742        Default,
19743        Debug,
19744        PartialEq,
19745        Eq,
19746        Hash,
19747    )]
19748    pub struct AttestationQueuesReturn(pub AttestationQueue);
19749    ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231`
19750    #[derive(
19751        Clone,
19752        ::ethers::contract::EthAbiType,
19753        ::ethers::contract::EthAbiCodec,
19754        Default,
19755        Debug,
19756        PartialEq,
19757        Eq,
19758        Hash,
19759    )]
19760    pub struct BalanceOfReturn(pub ::ethers::core::types::U256);
19761    ///Container type for all return fields from the `callBalances` function with signature `callBalances(address[])` and selector `0x0aaeffe5`
19762    #[derive(
19763        Clone,
19764        ::ethers::contract::EthAbiType,
19765        ::ethers::contract::EthAbiCodec,
19766        Default,
19767        Debug,
19768        PartialEq,
19769        Eq,
19770        Hash,
19771    )]
19772    pub struct CallBalancesReturn {
19773        pub balances: ::std::vec::Vec<::ethers::core::types::U256>,
19774    }
19775    ///Container type for all return fields from the `callFunction` function with signature `callFunction(address,bytes)` and selector `0x9c23da50`
19776    #[derive(
19777        Clone,
19778        ::ethers::contract::EthAbiType,
19779        ::ethers::contract::EthAbiCodec,
19780        Default,
19781        Debug,
19782        PartialEq,
19783        Eq,
19784        Hash,
19785    )]
19786    pub struct CallFunctionReturn {
19787        pub call_id: ::ethers::core::types::Address,
19788    }
19789    ///Container type for all return fields from the `enclaveSignerToEnclaveId` function with signature `enclaveSignerToEnclaveId(address)` and selector `0x2ff75ec2`
19790    #[derive(
19791        Clone,
19792        ::ethers::contract::EthAbiType,
19793        ::ethers::contract::EthAbiCodec,
19794        Default,
19795        Debug,
19796        PartialEq,
19797        Eq,
19798        Hash,
19799    )]
19800    pub struct EnclaveSignerToEnclaveIdReturn(pub ::ethers::core::types::Address);
19801    ///Container type for all return fields from the `enclaves` function with signature `enclaves(address)` and selector `0xfaeedb07`
19802    #[derive(
19803        Clone,
19804        ::ethers::contract::EthAbiType,
19805        ::ethers::contract::EthAbiCodec,
19806        Default,
19807        Debug,
19808        PartialEq,
19809        Eq,
19810        Hash,
19811    )]
19812    pub struct EnclavesReturn(pub Enclave);
19813    ///Container type for all return fields from the `estimatedRunCost` function with signature `estimatedRunCost(address,uint256)` and selector `0x3da87438`
19814    #[derive(
19815        Clone,
19816        ::ethers::contract::EthAbiType,
19817        ::ethers::contract::EthAbiCodec,
19818        Default,
19819        Debug,
19820        PartialEq,
19821        Eq,
19822        Hash,
19823    )]
19824    pub struct EstimatedRunCostReturn(pub ::ethers::core::types::U256);
19825    ///Container type for all return fields from the `facetAddress` function with signature `facetAddress(bytes4)` and selector `0xcdffacc6`
19826    #[derive(
19827        Clone,
19828        ::ethers::contract::EthAbiType,
19829        ::ethers::contract::EthAbiCodec,
19830        Default,
19831        Debug,
19832        PartialEq,
19833        Eq,
19834        Hash,
19835    )]
19836    pub struct FacetAddressReturn {
19837        pub facet_address: ::ethers::core::types::Address,
19838    }
19839    ///Container type for all return fields from the `facetAddresses` function with signature `facetAddresses()` and selector `0x52ef6b2c`
19840    #[derive(
19841        Clone,
19842        ::ethers::contract::EthAbiType,
19843        ::ethers::contract::EthAbiCodec,
19844        Default,
19845        Debug,
19846        PartialEq,
19847        Eq,
19848        Hash,
19849    )]
19850    pub struct FacetAddressesReturn {
19851        pub facet_addresses: ::std::vec::Vec<::ethers::core::types::Address>,
19852    }
19853    ///Container type for all return fields from the `facetFunctionSelectors` function with signature `facetFunctionSelectors(address)` and selector `0xadfca15e`
19854    #[derive(
19855        Clone,
19856        ::ethers::contract::EthAbiType,
19857        ::ethers::contract::EthAbiCodec,
19858        Default,
19859        Debug,
19860        PartialEq,
19861        Eq,
19862        Hash,
19863    )]
19864    pub struct FacetFunctionSelectorsReturn {
19865        pub facet_function_selectors: ::std::vec::Vec<[u8; 4]>,
19866    }
19867    ///Container type for all return fields from the `facets` function with signature `facets()` and selector `0x7a0ed627`
19868    #[derive(
19869        Clone,
19870        ::ethers::contract::EthAbiType,
19871        ::ethers::contract::EthAbiCodec,
19872        Default,
19873        Debug,
19874        PartialEq,
19875        Eq,
19876        Hash,
19877    )]
19878    pub struct FacetsReturn {
19879        pub facets: ::std::vec::Vec<Facet>,
19880    }
19881    ///Container type for all return fields from the `funcs` function with signature `funcs(address)` and selector `0x8ef92003`
19882    #[derive(
19883        Clone,
19884        ::ethers::contract::EthAbiType,
19885        ::ethers::contract::EthAbiCodec,
19886        Default,
19887        Debug,
19888        PartialEq,
19889        Eq,
19890        Hash,
19891    )]
19892    pub struct FuncsReturn(pub SbFunction);
19893    ///Container type for all return fields from the `functionCallSettings` function with signature `functionCallSettings(address)` and selector `0xa30f8d25`
19894    #[derive(
19895        Clone,
19896        ::ethers::contract::EthAbiType,
19897        ::ethers::contract::EthAbiCodec,
19898        Default,
19899        Debug,
19900        PartialEq,
19901        Eq,
19902        Hash,
19903    )]
19904    pub struct FunctionCallSettingsReturn(pub FunctionCallSettings);
19905    ///Container type for all return fields from the `functionCalls` function with signature `functionCalls(address)` and selector `0x826df326`
19906    #[derive(
19907        Clone,
19908        ::ethers::contract::EthAbiType,
19909        ::ethers::contract::EthAbiCodec,
19910        Default,
19911        Debug,
19912        PartialEq,
19913        Eq,
19914        Hash,
19915    )]
19916    pub struct FunctionCallsReturn(pub FunctionCall);
19917    ///Container type for all return fields from the `functionExists` function with signature `functionExists(address)` and selector `0xa13001c9`
19918    #[derive(
19919        Clone,
19920        ::ethers::contract::EthAbiType,
19921        ::ethers::contract::EthAbiCodec,
19922        Default,
19923        Debug,
19924        PartialEq,
19925        Eq,
19926        Hash,
19927    )]
19928    pub struct FunctionExistsReturn(pub bool);
19929    ///Container type for all return fields from the `functionSettings` function with signature `functionSettings(address)` and selector `0xce77efa6`
19930    #[derive(
19931        Clone,
19932        ::ethers::contract::EthAbiType,
19933        ::ethers::contract::EthAbiCodec,
19934        Default,
19935        Debug,
19936        PartialEq,
19937        Eq,
19938        Hash,
19939    )]
19940    pub struct FunctionSettingsReturn(pub FunctionSettings);
19941    ///Container type for all return fields from the `getActiveFunctionCallsByQueue` function with signature `getActiveFunctionCallsByQueue(address)` and selector `0xfa88c651`
19942    #[derive(
19943        Clone,
19944        ::ethers::contract::EthAbiType,
19945        ::ethers::contract::EthAbiCodec,
19946        Default,
19947        Debug,
19948        PartialEq,
19949        Eq,
19950        Hash,
19951    )]
19952    pub struct GetActiveFunctionCallsByQueueReturn(
19953        pub ::std::vec::Vec<::ethers::core::types::Address>,
19954        pub ::std::vec::Vec<FunctionCall>,
19955    );
19956    ///Container type for all return fields from the `getActiveFunctionsByQueue` function with signature `getActiveFunctionsByQueue(address)` and selector `0x1fc747b7`
19957    #[derive(
19958        Clone,
19959        ::ethers::contract::EthAbiType,
19960        ::ethers::contract::EthAbiCodec,
19961        Default,
19962        Debug,
19963        PartialEq,
19964        Eq,
19965        Hash,
19966    )]
19967    pub struct GetActiveFunctionsByQueueReturn(
19968        pub ::std::vec::Vec<::ethers::core::types::Address>,
19969        pub ::std::vec::Vec<SbFunction>,
19970    );
19971    ///Container type for all return fields from the `getActiveRequestsByQueue` function with signature `getActiveRequestsByQueue(address)` and selector `0x55c053c3`
19972    #[derive(
19973        Clone,
19974        ::ethers::contract::EthAbiType,
19975        ::ethers::contract::EthAbiCodec,
19976        Default,
19977        Debug,
19978        PartialEq,
19979        Eq,
19980        Hash,
19981    )]
19982    pub struct GetActiveRequestsByQueueReturn(
19983        pub ::std::vec::Vec<::ethers::core::types::Address>,
19984        pub ::std::vec::Vec<Request>,
19985    );
19986    ///Container type for all return fields from the `getActiveRoutinesByQueue` function with signature `getActiveRoutinesByQueue(address)` and selector `0x9da3c6eb`
19987    #[derive(
19988        Clone,
19989        ::ethers::contract::EthAbiType,
19990        ::ethers::contract::EthAbiCodec,
19991        Default,
19992        Debug,
19993        PartialEq,
19994        Eq,
19995        Hash,
19996    )]
19997    pub struct GetActiveRoutinesByQueueReturn(
19998        pub ::std::vec::Vec<::ethers::core::types::Address>,
19999        pub ::std::vec::Vec<Routine>,
20000    );
20001    ///Container type for all return fields from the `getAggregatorsByAuthority` function with signature `getAggregatorsByAuthority(address)` and selector `0x911c30f3`
20002    #[derive(
20003        Clone,
20004        ::ethers::contract::EthAbiType,
20005        ::ethers::contract::EthAbiCodec,
20006        Default,
20007        Debug,
20008        PartialEq,
20009        Eq,
20010        Hash,
20011    )]
20012    pub struct GetAggregatorsByAuthorityReturn(
20013        pub ::std::vec::Vec<::ethers::core::types::Address>,
20014        pub ::std::vec::Vec<Aggregator>,
20015    );
20016    ///Container type for all return fields from the `getAllAggregators` function with signature `getAllAggregators()` and selector `0x465c65dd`
20017    #[derive(
20018        Clone,
20019        ::ethers::contract::EthAbiType,
20020        ::ethers::contract::EthAbiCodec,
20021        Default,
20022        Debug,
20023        PartialEq,
20024        Eq,
20025        Hash,
20026    )]
20027    pub struct GetAllAggregatorsReturn(
20028        pub ::std::vec::Vec<::ethers::core::types::Address>,
20029        pub ::std::vec::Vec<Aggregator>,
20030    );
20031    ///Container type for all return fields from the `getAllFunctions` function with signature `getAllFunctions()` and selector `0xab6418b4`
20032    #[derive(
20033        Clone,
20034        ::ethers::contract::EthAbiType,
20035        ::ethers::contract::EthAbiCodec,
20036        Default,
20037        Debug,
20038        PartialEq,
20039        Eq,
20040        Hash,
20041    )]
20042    pub struct GetAllFunctionsReturn(
20043        pub ::std::vec::Vec<::ethers::core::types::Address>,
20044        pub ::std::vec::Vec<SbFunction>,
20045    );
20046    ///Container type for all return fields from the `getAttestationQueueMrEnclaves` function with signature `getAttestationQueueMrEnclaves(address)` and selector `0x0f3bc418`
20047    #[derive(
20048        Clone,
20049        ::ethers::contract::EthAbiType,
20050        ::ethers::contract::EthAbiCodec,
20051        Default,
20052        Debug,
20053        PartialEq,
20054        Eq,
20055        Hash,
20056    )]
20057    pub struct GetAttestationQueueMrEnclavesReturn(pub ::std::vec::Vec<[u8; 32]>);
20058    ///Container type for all return fields from the `getCurrentIntervalId` function with signature `getCurrentIntervalId(address)` and selector `0x1dc1da86`
20059    #[derive(
20060        Clone,
20061        ::ethers::contract::EthAbiType,
20062        ::ethers::contract::EthAbiCodec,
20063        Default,
20064        Debug,
20065        PartialEq,
20066        Eq,
20067        Hash,
20068    )]
20069    pub struct GetCurrentIntervalIdReturn {
20070        pub round_id: u128,
20071    }
20072    ///Container type for all return fields from the `getEnclaveIdx` function with signature `getEnclaveIdx(address)` and selector `0x21fb3bbc`
20073    #[derive(
20074        Clone,
20075        ::ethers::contract::EthAbiType,
20076        ::ethers::contract::EthAbiCodec,
20077        Default,
20078        Debug,
20079        PartialEq,
20080        Eq,
20081        Hash,
20082    )]
20083    pub struct GetEnclaveIdxReturn(pub ::ethers::core::types::I256);
20084    ///Container type for all return fields from the `getEnclaves` function with signature `getEnclaves(address)` and selector `0x340dd88b`
20085    #[derive(
20086        Clone,
20087        ::ethers::contract::EthAbiType,
20088        ::ethers::contract::EthAbiCodec,
20089        Default,
20090        Debug,
20091        PartialEq,
20092        Eq,
20093        Hash,
20094    )]
20095    pub struct GetEnclavesReturn(pub ::std::vec::Vec<::ethers::core::types::Address>);
20096    ///Container type for all return fields from the `getFunctionMrEnclaves` function with signature `getFunctionMrEnclaves(address)` and selector `0x526112ce`
20097    #[derive(
20098        Clone,
20099        ::ethers::contract::EthAbiType,
20100        ::ethers::contract::EthAbiCodec,
20101        Default,
20102        Debug,
20103        PartialEq,
20104        Eq,
20105        Hash,
20106    )]
20107    pub struct GetFunctionMrEnclavesReturn(pub ::std::vec::Vec<[u8; 32]>);
20108    ///Container type for all return fields from the `getFunctionPermittedCallers` function with signature `getFunctionPermittedCallers(address)` and selector `0xafdcbd6a`
20109    #[derive(
20110        Clone,
20111        ::ethers::contract::EthAbiType,
20112        ::ethers::contract::EthAbiCodec,
20113        Default,
20114        Debug,
20115        PartialEq,
20116        Eq,
20117        Hash,
20118    )]
20119    pub struct GetFunctionPermittedCallersReturn(
20120        pub ::std::vec::Vec<::ethers::core::types::Address>,
20121    );
20122    ///Container type for all return fields from the `getFunctionsByAuthority` function with signature `getFunctionsByAuthority(address)` and selector `0x357f633f`
20123    #[derive(
20124        Clone,
20125        ::ethers::contract::EthAbiType,
20126        ::ethers::contract::EthAbiCodec,
20127        Default,
20128        Debug,
20129        PartialEq,
20130        Eq,
20131        Hash,
20132    )]
20133    pub struct GetFunctionsByAuthorityReturn(
20134        pub ::std::vec::Vec<::ethers::core::types::Address>,
20135        pub ::std::vec::Vec<SbFunction>,
20136    );
20137    ///Container type for all return fields from the `getIntervalResult` function with signature `getIntervalResult(address,uint80)` and selector `0x3d24ef6e`
20138    #[derive(
20139        Clone,
20140        ::ethers::contract::EthAbiType,
20141        ::ethers::contract::EthAbiCodec,
20142        Default,
20143        Debug,
20144        PartialEq,
20145        Eq,
20146        Hash,
20147    )]
20148    pub struct GetIntervalResultReturn {
20149        pub value: ::ethers::core::types::I256,
20150        pub timestamp: ::ethers::core::types::U256,
20151        pub median_timestamp: ::ethers::core::types::U256,
20152    }
20153    ///Container type for all return fields from the `getOracleIdx` function with signature `getOracleIdx(address)` and selector `0xd87dd0ac`
20154    #[derive(
20155        Clone,
20156        ::ethers::contract::EthAbiType,
20157        ::ethers::contract::EthAbiCodec,
20158        Default,
20159        Debug,
20160        PartialEq,
20161        Eq,
20162        Hash,
20163    )]
20164    pub struct GetOracleIdxReturn(pub ::ethers::core::types::I256);
20165    ///Container type for all return fields from the `getOracleQueueAllowedMrEnclaves` function with signature `getOracleQueueAllowedMrEnclaves(address)` and selector `0xf04b0f59`
20166    #[derive(
20167        Clone,
20168        ::ethers::contract::EthAbiType,
20169        ::ethers::contract::EthAbiCodec,
20170        Default,
20171        Debug,
20172        PartialEq,
20173        Eq,
20174        Hash,
20175    )]
20176    pub struct GetOracleQueueAllowedMrEnclavesReturn(pub ::std::vec::Vec<[u8; 32]>);
20177    ///Container type for all return fields from the `getOracles` function with signature `getOracles(address)` and selector `0x8e749281`
20178    #[derive(
20179        Clone,
20180        ::ethers::contract::EthAbiType,
20181        ::ethers::contract::EthAbiCodec,
20182        Default,
20183        Debug,
20184        PartialEq,
20185        Eq,
20186        Hash,
20187    )]
20188    pub struct GetOraclesReturn(pub ::std::vec::Vec<::ethers::core::types::Address>);
20189    ///Container type for all return fields from the `getPermission` function with signature `getPermission(address,address)` and selector `0x910185dd`
20190    #[derive(
20191        Clone,
20192        ::ethers::contract::EthAbiType,
20193        ::ethers::contract::EthAbiCodec,
20194        Default,
20195        Debug,
20196        PartialEq,
20197        Eq,
20198        Hash,
20199    )]
20200    pub struct GetPermissionReturn(pub ::ethers::core::types::U256);
20201    ///Container type for all return fields from the `getRequestsByFunctionId` function with signature `getRequestsByFunctionId(address)` and selector `0xb68e3ace`
20202    #[derive(
20203        Clone,
20204        ::ethers::contract::EthAbiType,
20205        ::ethers::contract::EthAbiCodec,
20206        Default,
20207        Debug,
20208        PartialEq,
20209        Eq,
20210        Hash,
20211    )]
20212    pub struct GetRequestsByFunctionIdReturn(
20213        pub ::std::vec::Vec<::ethers::core::types::Address>,
20214        pub ::std::vec::Vec<Request>,
20215    );
20216    ///Container type for all return fields from the `getRoutinesByAuthority` function with signature `getRoutinesByAuthority(address)` and selector `0xb36afb5a`
20217    #[derive(
20218        Clone,
20219        ::ethers::contract::EthAbiType,
20220        ::ethers::contract::EthAbiCodec,
20221        Default,
20222        Debug,
20223        PartialEq,
20224        Eq,
20225        Hash,
20226    )]
20227    pub struct GetRoutinesByAuthorityReturn(
20228        pub ::std::vec::Vec<::ethers::core::types::Address>,
20229        pub ::std::vec::Vec<Routine>,
20230    );
20231    ///Container type for all return fields from the `getRoutinesByFunctionId` function with signature `getRoutinesByFunctionId(address)` and selector `0x27c66c0f`
20232    #[derive(
20233        Clone,
20234        ::ethers::contract::EthAbiType,
20235        ::ethers::contract::EthAbiCodec,
20236        Default,
20237        Debug,
20238        PartialEq,
20239        Eq,
20240        Hash,
20241    )]
20242    pub struct GetRoutinesByFunctionIdReturn(
20243        pub ::std::vec::Vec<::ethers::core::types::Address>,
20244        pub ::std::vec::Vec<Routine>,
20245    );
20246    ///Container type for all return fields from the `getStakeForEnclave` function with signature `getStakeForEnclave(address)` and selector `0x376d9b41`
20247    #[derive(
20248        Clone,
20249        ::ethers::contract::EthAbiType,
20250        ::ethers::contract::EthAbiCodec,
20251        Default,
20252        Debug,
20253        PartialEq,
20254        Eq,
20255        Hash,
20256    )]
20257    pub struct GetStakeForEnclaveReturn(pub Stake);
20258    ///Container type for all return fields from the `getStakeForEnclaveWithToken` function with signature `getStakeForEnclaveWithToken(address,address)` and selector `0x3ff8f2af`
20259    #[derive(
20260        Clone,
20261        ::ethers::contract::EthAbiType,
20262        ::ethers::contract::EthAbiCodec,
20263        Default,
20264        Debug,
20265        PartialEq,
20266        Eq,
20267        Hash,
20268    )]
20269    pub struct GetStakeForEnclaveWithTokenReturn(pub Stake);
20270    ///Container type for all return fields from the `getStakingConfig` function with signature `getStakingConfig(address)` and selector `0x5133a68c`
20271    #[derive(
20272        Clone,
20273        ::ethers::contract::EthAbiType,
20274        ::ethers::contract::EthAbiCodec,
20275        Default,
20276        Debug,
20277        PartialEq,
20278        Eq,
20279        Hash,
20280    )]
20281    pub struct GetStakingConfigReturn(pub StakingConfig);
20282    ///Container type for all return fields from the `getTransactionHash` function with signature `getTransactionHash(uint256,uint256,uint256,address,address,bytes)` and selector `0xd93f1970`
20283    #[derive(
20284        Clone,
20285        ::ethers::contract::EthAbiType,
20286        ::ethers::contract::EthAbiCodec,
20287        Default,
20288        Debug,
20289        PartialEq,
20290        Eq,
20291        Hash,
20292    )]
20293    pub struct GetTransactionHashReturn(pub [u8; 32]);
20294    ///Container type for all return fields from the `hasPermission` function with signature `hasPermission(address,address,uint256)` and selector `0x8b01813d`
20295    #[derive(
20296        Clone,
20297        ::ethers::contract::EthAbiType,
20298        ::ethers::contract::EthAbiCodec,
20299        Default,
20300        Debug,
20301        PartialEq,
20302        Eq,
20303        Hash,
20304    )]
20305    pub struct HasPermissionReturn(pub bool);
20306    ///Container type for all return fields from the `isAdmin` function with signature `isAdmin(address)` and selector `0x24d7806c`
20307    #[derive(
20308        Clone,
20309        ::ethers::contract::EthAbiType,
20310        ::ethers::contract::EthAbiCodec,
20311        Default,
20312        Debug,
20313        PartialEq,
20314        Eq,
20315        Hash,
20316    )]
20317    pub struct IsAdminReturn(pub bool);
20318    ///Container type for all return fields from the `isAllowed` function with signature `isAllowed(address)` and selector `0xbabcc539`
20319    #[derive(
20320        Clone,
20321        ::ethers::contract::EthAbiType,
20322        ::ethers::contract::EthAbiCodec,
20323        Default,
20324        Debug,
20325        PartialEq,
20326        Eq,
20327        Hash,
20328    )]
20329    pub struct IsAllowedReturn(pub bool);
20330    ///Container type for all return fields from the `isEnclaveValid` function with signature `isEnclaveValid(address)` and selector `0xfb4acdfe`
20331    #[derive(
20332        Clone,
20333        ::ethers::contract::EthAbiType,
20334        ::ethers::contract::EthAbiCodec,
20335        Default,
20336        Debug,
20337        PartialEq,
20338        Eq,
20339        Hash,
20340    )]
20341    pub struct IsEnclaveValidReturn(pub bool);
20342    ///Container type for all return fields from the `isTrustedForwarder` function with signature `isTrustedForwarder(address)` and selector `0x572b6c05`
20343    #[derive(
20344        Clone,
20345        ::ethers::contract::EthAbiType,
20346        ::ethers::contract::EthAbiCodec,
20347        Default,
20348        Debug,
20349        PartialEq,
20350        Eq,
20351        Hash,
20352    )]
20353    pub struct IsTrustedForwarderReturn(pub bool);
20354    ///Container type for all return fields from the `latestResult` function with signature `latestResult(address)` and selector `0xfab005a2`
20355    #[derive(
20356        Clone,
20357        ::ethers::contract::EthAbiType,
20358        ::ethers::contract::EthAbiCodec,
20359        Default,
20360        Debug,
20361        PartialEq,
20362        Eq,
20363        Hash,
20364    )]
20365    pub struct LatestResultReturn {
20366        pub value: ::ethers::core::types::I256,
20367        pub timestamp: ::ethers::core::types::U256,
20368    }
20369    ///Container type for all return fields from the `oracleQueues` function with signature `oracleQueues(address)` and selector `0xf2378e88`
20370    #[derive(
20371        Clone,
20372        ::ethers::contract::EthAbiType,
20373        ::ethers::contract::EthAbiCodec,
20374        Default,
20375        Debug,
20376        PartialEq,
20377        Eq,
20378        Hash,
20379    )]
20380    pub struct OracleQueuesReturn(pub OracleQueue);
20381    ///Container type for all return fields from the `oracles` function with signature `oracles(address)` and selector `0xaddd5099`
20382    #[derive(
20383        Clone,
20384        ::ethers::contract::EthAbiType,
20385        ::ethers::contract::EthAbiCodec,
20386        Default,
20387        Debug,
20388        PartialEq,
20389        Eq,
20390        Hash,
20391    )]
20392    pub struct OraclesReturn(pub Oracle);
20393    ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b`
20394    #[derive(
20395        Clone,
20396        ::ethers::contract::EthAbiType,
20397        ::ethers::contract::EthAbiCodec,
20398        Default,
20399        Debug,
20400        PartialEq,
20401        Eq,
20402        Hash,
20403    )]
20404    pub struct OwnerReturn {
20405        pub owner: ::ethers::core::types::Address,
20406    }
20407    ///Container type for all return fields from the `queueAttestationConfigs` function with signature `queueAttestationConfigs(address)` and selector `0x6ddc9122`
20408    #[derive(
20409        Clone,
20410        ::ethers::contract::EthAbiType,
20411        ::ethers::contract::EthAbiCodec,
20412        Default,
20413        Debug,
20414        PartialEq,
20415        Eq,
20416        Hash,
20417    )]
20418    pub struct QueueAttestationConfigsReturn(pub AttestationConfig);
20419    ///Container type for all return fields from the `requests` function with signature `requests(address)` and selector `0x74adad1d`
20420    #[derive(
20421        Clone,
20422        ::ethers::contract::EthAbiType,
20423        ::ethers::contract::EthAbiCodec,
20424        Default,
20425        Debug,
20426        PartialEq,
20427        Eq,
20428        Hash,
20429    )]
20430    pub struct RequestsReturn(pub Request);
20431    ///Container type for all return fields from the `routineExists` function with signature `routineExists(address)` and selector `0xc98d9be8`
20432    #[derive(
20433        Clone,
20434        ::ethers::contract::EthAbiType,
20435        ::ethers::contract::EthAbiCodec,
20436        Default,
20437        Debug,
20438        PartialEq,
20439        Eq,
20440        Hash,
20441    )]
20442    pub struct RoutineExistsReturn(pub bool);
20443    ///Container type for all return fields from the `routines` function with signature `routines(address)` and selector `0xfdcc54d2`
20444    #[derive(
20445        Clone,
20446        ::ethers::contract::EthAbiType,
20447        ::ethers::contract::EthAbiCodec,
20448        Default,
20449        Debug,
20450        PartialEq,
20451        Eq,
20452        Hash,
20453    )]
20454    pub struct RoutinesReturn(pub Routine);
20455    ///Container type for all return fields from the `sendRequest` function with signature `sendRequest(address,bytes)` and selector `0x62d3fe46`
20456    #[derive(
20457        Clone,
20458        ::ethers::contract::EthAbiType,
20459        ::ethers::contract::EthAbiCodec,
20460        Default,
20461        Debug,
20462        PartialEq,
20463        Eq,
20464        Hash,
20465    )]
20466    pub struct SendRequestReturn {
20467        pub id: ::ethers::core::types::Address,
20468    }
20469    ///Container type for all return fields from the `sendRequestWithId` function with signature `sendRequestWithId(address,address,bytes)` and selector `0x264c1450`
20470    #[derive(
20471        Clone,
20472        ::ethers::contract::EthAbiType,
20473        ::ethers::contract::EthAbiCodec,
20474        Default,
20475        Debug,
20476        PartialEq,
20477        Eq,
20478        Hash,
20479    )]
20480    pub struct SendRequestWithIdReturn {
20481        pub id: ::ethers::core::types::Address,
20482    }
20483    ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
20484    #[derive(
20485        Clone,
20486        ::ethers::contract::EthAbiType,
20487        ::ethers::contract::EthAbiCodec,
20488        Default,
20489        Debug,
20490        PartialEq,
20491        Eq,
20492        Hash,
20493    )]
20494    pub struct SupportsInterfaceReturn(pub bool);
20495    ///Container type for all return fields from the `totalStaked` function with signature `totalStaked(address,address)` and selector `0xf21630cb`
20496    #[derive(
20497        Clone,
20498        ::ethers::contract::EthAbiType,
20499        ::ethers::contract::EthAbiCodec,
20500        Default,
20501        Debug,
20502        PartialEq,
20503        Eq,
20504        Hash,
20505    )]
20506    pub struct TotalStakedReturn(pub ::ethers::core::types::U256);
20507    ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd`
20508    #[derive(
20509        Clone,
20510        ::ethers::contract::EthAbiType,
20511        ::ethers::contract::EthAbiCodec,
20512        Default,
20513        Debug,
20514        PartialEq,
20515        Eq,
20516        Hash,
20517    )]
20518    pub struct TotalSupplyReturn(pub ::ethers::core::types::U256);
20519    ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb`
20520    #[derive(
20521        Clone,
20522        ::ethers::contract::EthAbiType,
20523        ::ethers::contract::EthAbiCodec,
20524        Default,
20525        Debug,
20526        PartialEq,
20527        Eq,
20528        Hash,
20529    )]
20530    pub struct TransferReturn(pub bool);
20531    ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd`
20532    #[derive(
20533        Clone,
20534        ::ethers::contract::EthAbiType,
20535        ::ethers::contract::EthAbiCodec,
20536        Default,
20537        Debug,
20538        PartialEq,
20539        Eq,
20540        Hash,
20541    )]
20542    pub struct TransferFromReturn(pub bool);
20543    ///Container type for all return fields from the `viewAggregatorResults` function with signature `viewAggregatorResults(address)` and selector `0xde866484`
20544    #[derive(
20545        Clone,
20546        ::ethers::contract::EthAbiType,
20547        ::ethers::contract::EthAbiCodec,
20548        Default,
20549        Debug,
20550        PartialEq,
20551        Eq,
20552        Hash,
20553    )]
20554    pub struct ViewAggregatorResultsReturn(pub ::std::vec::Vec<Result>);
20555    ///Container type for all return fields from the `viewLatestResult` function with signature `viewLatestResult(address)` and selector `0xbdf5edef`
20556    #[derive(
20557        Clone,
20558        ::ethers::contract::EthAbiType,
20559        ::ethers::contract::EthAbiCodec,
20560        Default,
20561        Debug,
20562        PartialEq,
20563        Eq,
20564        Hash,
20565    )]
20566    pub struct ViewLatestResultReturn {
20567        pub value: ::ethers::core::types::I256,
20568        pub timestamp: ::ethers::core::types::U256,
20569    }
20570    ///`Aggregator(string,address,(int256,uint256,address),(uint256,uint256,uint256,uint256,uint256,uint256),string,address,uint256,uint256,uint80,uint256,bool)`
20571    #[derive(
20572        Clone,
20573        ::ethers::contract::EthAbiType,
20574        ::ethers::contract::EthAbiCodec,
20575        Default,
20576        Debug,
20577        PartialEq,
20578        Eq,
20579        Hash,
20580    )]
20581    pub struct Aggregator {
20582        pub name: ::std::string::String,
20583        pub authority: ::ethers::core::types::Address,
20584        pub latest_result: Result,
20585        pub config: AggregatorConfig,
20586        pub jobs_hash: ::std::string::String,
20587        pub queue_id: ::ethers::core::types::Address,
20588        pub balance_left_for_interval: ::ethers::core::types::U256,
20589        pub next_interval_refresh_time: ::ethers::core::types::U256,
20590        pub interval_id: u128,
20591        pub balance: ::ethers::core::types::U256,
20592        pub history_enabled: bool,
20593    }
20594    ///`AggregatorConfig(uint256,uint256,uint256,uint256,uint256,uint256)`
20595    #[derive(
20596        Clone,
20597        ::ethers::contract::EthAbiType,
20598        ::ethers::contract::EthAbiCodec,
20599        Default,
20600        Debug,
20601        PartialEq,
20602        Eq,
20603        Hash,
20604    )]
20605    pub struct AggregatorConfig {
20606        pub batch_size: ::ethers::core::types::U256,
20607        pub min_update_delay_seconds: ::ethers::core::types::U256,
20608        pub min_oracle_results: ::ethers::core::types::U256,
20609        pub variance_threshold: ::ethers::core::types::U256,
20610        pub min_job_results: ::ethers::core::types::U256,
20611        pub force_report_period: ::ethers::core::types::U256,
20612    }
20613    ///`AggregatorHistoryResult(int256,uint256,uint256)`
20614    #[derive(
20615        Clone,
20616        ::ethers::contract::EthAbiType,
20617        ::ethers::contract::EthAbiCodec,
20618        Default,
20619        Debug,
20620        PartialEq,
20621        Eq,
20622        Hash,
20623    )]
20624    pub struct AggregatorHistoryResult {
20625        pub value: ::ethers::core::types::I256,
20626        pub timestamp: ::ethers::core::types::U256,
20627        pub median_timestamp: ::ethers::core::types::U256,
20628    }
20629    ///`Result(int256,uint256,address)`
20630    #[derive(
20631        Clone,
20632        ::ethers::contract::EthAbiType,
20633        ::ethers::contract::EthAbiCodec,
20634        Default,
20635        Debug,
20636        PartialEq,
20637        Eq,
20638        Hash,
20639    )]
20640    pub struct Result {
20641        pub value: ::ethers::core::types::I256,
20642        pub timestamp: ::ethers::core::types::U256,
20643        pub oracle_id: ::ethers::core::types::Address,
20644    }
20645    ///`AttestationQueue(address,address[],uint256,uint256,uint256,bytes32[],uint256,uint256,uint256,bool,bool,uint256,uint256,uint256)`
20646    #[derive(
20647        Clone,
20648        ::ethers::contract::EthAbiType,
20649        ::ethers::contract::EthAbiCodec,
20650        Default,
20651        Debug,
20652        PartialEq,
20653        Eq,
20654        Hash,
20655    )]
20656    pub struct AttestationQueue {
20657        pub authority: ::ethers::core::types::Address,
20658        pub data: ::std::vec::Vec<::ethers::core::types::Address>,
20659        pub max_size: ::ethers::core::types::U256,
20660        pub reward: ::ethers::core::types::U256,
20661        pub last_heartbeat: ::ethers::core::types::U256,
20662        pub mr_enclaves: ::std::vec::Vec<[u8; 32]>,
20663        pub max_enclave_verification_age: ::ethers::core::types::U256,
20664        pub allow_authority_override_after: ::ethers::core::types::U256,
20665        pub max_consecutive_function_failures: ::ethers::core::types::U256,
20666        pub require_authority_heartbeat_permission: bool,
20667        pub require_usage_permissions: bool,
20668        pub enclave_timeout: ::ethers::core::types::U256,
20669        pub gc_idx: ::ethers::core::types::U256,
20670        pub curr_idx: ::ethers::core::types::U256,
20671    }
20672    ///`Enclave(address,address,address,bytes,uint8,uint256,uint256,bytes32,bool,uint256,uint256)`
20673    #[derive(
20674        Clone,
20675        ::ethers::contract::EthAbiType,
20676        ::ethers::contract::EthAbiCodec,
20677        Default,
20678        Debug,
20679        PartialEq,
20680        Eq,
20681        Hash,
20682    )]
20683    pub struct Enclave {
20684        pub signer: ::ethers::core::types::Address,
20685        pub authority: ::ethers::core::types::Address,
20686        pub queue_id: ::ethers::core::types::Address,
20687        pub cid: ::ethers::core::types::Bytes,
20688        pub verification_status: u8,
20689        pub verification_timestamp: ::ethers::core::types::U256,
20690        pub valid_until: ::ethers::core::types::U256,
20691        pub mr_enclave: [u8; 32],
20692        pub is_on_queue: bool,
20693        pub last_heartbeat: ::ethers::core::types::U256,
20694        pub balance: ::ethers::core::types::U256,
20695    }
20696    ///`FunctionCall(address,address,uint256,bytes,bool,uint256,uint256)`
20697    #[derive(
20698        Clone,
20699        ::ethers::contract::EthAbiType,
20700        ::ethers::contract::EthAbiCodec,
20701        Default,
20702        Debug,
20703        PartialEq,
20704        Eq,
20705        Hash,
20706    )]
20707    pub struct FunctionCall {
20708        pub function_id: ::ethers::core::types::Address,
20709        pub caller: ::ethers::core::types::Address,
20710        pub timestamp: ::ethers::core::types::U256,
20711        pub call_data: ::ethers::core::types::Bytes,
20712        pub executed: bool,
20713        pub consecutive_failures: ::ethers::core::types::U256,
20714        pub fee_paid: ::ethers::core::types::U256,
20715    }
20716    ///`FunctionCallSettings(bool,uint256,uint256,bool,bool)`
20717    #[derive(
20718        Clone,
20719        ::ethers::contract::EthAbiType,
20720        ::ethers::contract::EthAbiCodec,
20721        Default,
20722        Debug,
20723        PartialEq,
20724        Eq,
20725        Hash,
20726    )]
20727    pub struct FunctionCallSettings {
20728        pub require_estimated_run_cost_fee: bool,
20729        pub minimum_fee: ::ethers::core::types::U256,
20730        pub max_gas_cost: ::ethers::core::types::U256,
20731        pub require_caller_pay_full_cost: bool,
20732        pub require_sender_be_return_address: bool,
20733    }
20734    ///`FunctionConfig(string,address[],string,string,string,string,bytes32[],bool,bool)`
20735    #[derive(
20736        Clone,
20737        ::ethers::contract::EthAbiType,
20738        ::ethers::contract::EthAbiCodec,
20739        Default,
20740        Debug,
20741        PartialEq,
20742        Eq,
20743        Hash,
20744    )]
20745    pub struct FunctionConfig {
20746        pub schedule: ::std::string::String,
20747        pub permitted_callers: ::std::vec::Vec<::ethers::core::types::Address>,
20748        pub container_registry: ::std::string::String,
20749        pub container: ::std::string::String,
20750        pub version: ::std::string::String,
20751        pub params_schema: ::std::string::String,
20752        pub mr_enclaves: ::std::vec::Vec<[u8; 32]>,
20753        pub allow_all_fn_calls: bool,
20754        pub use_fn_call_escrow: bool,
20755    }
20756    ///`FunctionState(uint256,uint256,uint256,uint256,uint256,uint256,uint256,bool,uint256)`
20757    #[derive(
20758        Clone,
20759        ::ethers::contract::EthAbiType,
20760        ::ethers::contract::EthAbiCodec,
20761        Default,
20762        Debug,
20763        PartialEq,
20764        Eq,
20765        Hash,
20766    )]
20767    pub struct FunctionState {
20768        pub consecutive_failures: ::ethers::core::types::U256,
20769        pub last_execution_timestamp: ::ethers::core::types::U256,
20770        pub next_allowed_timestamp: ::ethers::core::types::U256,
20771        pub last_execution_gas_cost: ::ethers::core::types::U256,
20772        pub triggered_since: ::ethers::core::types::U256,
20773        pub trigger_count: ::ethers::core::types::U256,
20774        pub queue_idx: ::ethers::core::types::U256,
20775        pub triggered: bool,
20776        pub created_at: ::ethers::core::types::U256,
20777    }
20778    ///`SbFunction(string,address,address,address,uint256,uint8,(string,address[],string,string,string,string,bytes32[],bool,bool),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,bool,uint256))`
20779    #[derive(
20780        Clone,
20781        ::ethers::contract::EthAbiType,
20782        ::ethers::contract::EthAbiCodec,
20783        Default,
20784        Debug,
20785        PartialEq,
20786        Eq,
20787        Hash,
20788    )]
20789    pub struct SbFunction {
20790        pub name: ::std::string::String,
20791        pub authority: ::ethers::core::types::Address,
20792        pub enclave_id: ::ethers::core::types::Address,
20793        pub queue_id: ::ethers::core::types::Address,
20794        pub balance: ::ethers::core::types::U256,
20795        pub status: u8,
20796        pub config: FunctionConfig,
20797        pub state: FunctionState,
20798    }
20799    ///`FunctionSettings(uint256,bool,bool,bool,uint256,bool,uint256,bool)`
20800    #[derive(
20801        Clone,
20802        ::ethers::contract::EthAbiType,
20803        ::ethers::contract::EthAbiCodec,
20804        Default,
20805        Debug,
20806        PartialEq,
20807        Eq,
20808        Hash,
20809    )]
20810    pub struct FunctionSettings {
20811        pub max_gas_cost: ::ethers::core::types::U256,
20812        pub require_isolated_runs: bool,
20813        pub routines_disabled: bool,
20814        pub routines_require_authorization: bool,
20815        pub routine_fee: ::ethers::core::types::U256,
20816        pub requests_disabled: bool,
20817        pub request_fee: ::ethers::core::types::U256,
20818        pub requests_require_authorization: bool,
20819    }
20820    ///`FunctionFailParams(uint256,address,uint256,uint256,uint8,address[],bytes32[],uint8[])`
20821    #[derive(
20822        Clone,
20823        ::ethers::contract::EthAbiType,
20824        ::ethers::contract::EthAbiCodec,
20825        Default,
20826        Debug,
20827        PartialEq,
20828        Eq,
20829        Hash,
20830    )]
20831    pub struct FunctionFailParams {
20832        pub enclave_idx: ::ethers::core::types::U256,
20833        pub function_id: ::ethers::core::types::Address,
20834        pub observed_time: ::ethers::core::types::U256,
20835        pub next_allowed_timestamp: ::ethers::core::types::U256,
20836        pub code: u8,
20837        pub ids: ::std::vec::Vec<::ethers::core::types::Address>,
20838        pub checksums: ::std::vec::Vec<[u8; 32]>,
20839        pub codes: ::std::vec::Vec<u8>,
20840    }
20841    ///`FunctionVerifyParams(uint256,address,address,uint256,uint256,bytes32,(uint256,uint256,uint256,address,address,bytes)[],bytes[],address[],bytes32[],uint8[])`
20842    #[derive(
20843        Clone,
20844        ::ethers::contract::EthAbiType,
20845        ::ethers::contract::EthAbiCodec,
20846        Default,
20847        Debug,
20848        PartialEq,
20849        Eq,
20850        Hash,
20851    )]
20852    pub struct FunctionVerifyParams {
20853        pub enclave_idx: ::ethers::core::types::U256,
20854        pub function_id: ::ethers::core::types::Address,
20855        pub delegated_signer_address: ::ethers::core::types::Address,
20856        pub observed_time: ::ethers::core::types::U256,
20857        pub next_allowed_timestamp: ::ethers::core::types::U256,
20858        pub mr_enclave: [u8; 32],
20859        pub transactions: ::std::vec::Vec<Transaction>,
20860        pub signatures: ::std::vec::Vec<::ethers::core::types::Bytes>,
20861        pub ids: ::std::vec::Vec<::ethers::core::types::Address>,
20862        pub checksums: ::std::vec::Vec<[u8; 32]>,
20863        pub codes: ::std::vec::Vec<u8>,
20864    }
20865    ///`FacetCut(address,uint8,bytes4[])`
20866    #[derive(
20867        Clone,
20868        ::ethers::contract::EthAbiType,
20869        ::ethers::contract::EthAbiCodec,
20870        Default,
20871        Debug,
20872        PartialEq,
20873        Eq,
20874        Hash,
20875    )]
20876    pub struct FacetCut {
20877        pub facet_address: ::ethers::core::types::Address,
20878        pub action: u8,
20879        pub function_selectors: ::std::vec::Vec<[u8; 4]>,
20880    }
20881    ///`Facet(address,bytes4[])`
20882    #[derive(
20883        Clone,
20884        ::ethers::contract::EthAbiType,
20885        ::ethers::contract::EthAbiCodec,
20886        Default,
20887        Debug,
20888        PartialEq,
20889        Eq,
20890        Hash,
20891    )]
20892    pub struct Facet {
20893        pub facet_address: ::ethers::core::types::Address,
20894        pub function_selectors: ::std::vec::Vec<[u8; 4]>,
20895    }
20896    ///`Oracle(string,address,uint8,uint256,address,address)`
20897    #[derive(
20898        Clone,
20899        ::ethers::contract::EthAbiType,
20900        ::ethers::contract::EthAbiCodec,
20901        Default,
20902        Debug,
20903        PartialEq,
20904        Eq,
20905        Hash,
20906    )]
20907    pub struct Oracle {
20908        pub name: ::std::string::String,
20909        pub signer: ::ethers::core::types::Address,
20910        pub num_rows: u8,
20911        pub last_heartbeat: ::ethers::core::types::U256,
20912        pub queue_id: ::ethers::core::types::Address,
20913        pub authority: ::ethers::core::types::Address,
20914    }
20915    ///`AttestationConfig(address,bytes32[],bool,bool)`
20916    #[derive(
20917        Clone,
20918        ::ethers::contract::EthAbiType,
20919        ::ethers::contract::EthAbiCodec,
20920        Default,
20921        Debug,
20922        PartialEq,
20923        Eq,
20924        Hash,
20925    )]
20926    pub struct AttestationConfig {
20927        pub attestation_queue_id: ::ethers::core::types::Address,
20928        pub mr_enclaves: ::std::vec::Vec<[u8; 32]>,
20929        pub require_valid_enclave: bool,
20930        pub require_heartbeat_permission: bool,
20931    }
20932    ///`OracleQueue(string,address,address[],bool,uint256,uint256,uint256,uint256,uint256)`
20933    #[derive(
20934        Clone,
20935        ::ethers::contract::EthAbiType,
20936        ::ethers::contract::EthAbiCodec,
20937        Default,
20938        Debug,
20939        PartialEq,
20940        Eq,
20941        Hash,
20942    )]
20943    pub struct OracleQueue {
20944        pub name: ::std::string::String,
20945        pub authority: ::ethers::core::types::Address,
20946        pub oracles: ::std::vec::Vec<::ethers::core::types::Address>,
20947        pub unpermissioned_feeds_enabled: bool,
20948        pub max_size: ::ethers::core::types::U256,
20949        pub reward: ::ethers::core::types::U256,
20950        pub oracle_timeout: ::ethers::core::types::U256,
20951        pub gc_idx: ::ethers::core::types::U256,
20952        pub curr_idx: ::ethers::core::types::U256,
20953    }
20954    ///`Request(address,address,uint256,bytes,bool,uint256,uint256,uint256,uint8,uint256,uint8)`
20955    #[derive(
20956        Clone,
20957        ::ethers::contract::EthAbiType,
20958        ::ethers::contract::EthAbiCodec,
20959        Default,
20960        Debug,
20961        PartialEq,
20962        Eq,
20963        Hash,
20964    )]
20965    pub struct Request {
20966        pub function_id: ::ethers::core::types::Address,
20967        pub authority: ::ethers::core::types::Address,
20968        pub created_at: ::ethers::core::types::U256,
20969        pub request_data: ::ethers::core::types::Bytes,
20970        pub executed: bool,
20971        pub consecutive_failures: ::ethers::core::types::U256,
20972        pub balance: ::ethers::core::types::U256,
20973        pub start_after: ::ethers::core::types::U256,
20974        pub error_code: u8,
20975        pub executed_at: ::ethers::core::types::U256,
20976        pub status: u8,
20977    }
20978    ///`Routine(address,address,string,bytes,uint256,uint256,uint256,uint8,uint8)`
20979    #[derive(
20980        Clone,
20981        ::ethers::contract::EthAbiType,
20982        ::ethers::contract::EthAbiCodec,
20983        Default,
20984        Debug,
20985        PartialEq,
20986        Eq,
20987        Hash,
20988    )]
20989    pub struct Routine {
20990        pub function_id: ::ethers::core::types::Address,
20991        pub authority: ::ethers::core::types::Address,
20992        pub schedule: ::std::string::String,
20993        pub params: ::ethers::core::types::Bytes,
20994        pub last_called_at: ::ethers::core::types::U256,
20995        pub consecutive_failures: ::ethers::core::types::U256,
20996        pub balance: ::ethers::core::types::U256,
20997        pub status: u8,
20998        pub error_code: u8,
20999    }
21000    ///`Stake(uint256,uint256,uint256,uint256,address)`
21001    #[derive(
21002        Clone,
21003        ::ethers::contract::EthAbiType,
21004        ::ethers::contract::EthAbiCodec,
21005        Default,
21006        Debug,
21007        PartialEq,
21008        Eq,
21009        Hash,
21010    )]
21011    pub struct Stake {
21012        pub amount: ::ethers::core::types::U256,
21013        pub ready_at: ::ethers::core::types::U256,
21014        pub unstake_ready_at: ::ethers::core::types::U256,
21015        pub last_updated: ::ethers::core::types::U256,
21016        pub token: ::ethers::core::types::Address,
21017    }
21018    ///`StakingConfig(address,uint256,uint256,uint256)`
21019    #[derive(
21020        Clone,
21021        ::ethers::contract::EthAbiType,
21022        ::ethers::contract::EthAbiCodec,
21023        Default,
21024        Debug,
21025        PartialEq,
21026        Eq,
21027        Hash,
21028    )]
21029    pub struct StakingConfig {
21030        pub token: ::ethers::core::types::Address,
21031        pub staking_amount: ::ethers::core::types::U256,
21032        pub staking_period: ::ethers::core::types::U256,
21033        pub unstaking_period: ::ethers::core::types::U256,
21034    }
21035    ///`Transaction(uint256,uint256,uint256,address,address,bytes)`
21036    #[derive(
21037        Clone,
21038        ::ethers::contract::EthAbiType,
21039        ::ethers::contract::EthAbiCodec,
21040        Default,
21041        Debug,
21042        PartialEq,
21043        Eq,
21044        Hash,
21045    )]
21046    pub struct Transaction {
21047        pub expiration_time_seconds: ::ethers::core::types::U256,
21048        pub gas_limit: ::ethers::core::types::U256,
21049        pub value: ::ethers::core::types::U256,
21050        pub to: ::ethers::core::types::Address,
21051        pub from: ::ethers::core::types::Address,
21052        pub data: ::ethers::core::types::Bytes,
21053    }
21054}