redgold_safe_bindings/
lib.rs

1#![allow(clippy::all)]
2//! This lib contains abigen! generated bindings for solidity contracts.
3//! This is autogenerated code.
4//! Do not manually edit these files.
5//! These files may be overwritten by the codegen system at any time.
6pub use safe::*;
7/// This module was auto-generated with ethers-rs Abigen.
8/// More information at: <https://github.com/gakonst/ethers-rs>
9#[allow(
10    clippy::enum_variant_names,
11    clippy::too_many_arguments,
12    clippy::upper_case_acronyms,
13    clippy::type_complexity,
14    dead_code,
15    non_camel_case_types,
16)]
17pub mod safe {
18    #[allow(deprecated)]
19    fn __abi() -> ::ethers::core::abi::Abi {
20        ::ethers::core::abi::ethabi::Contract {
21            constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor {
22                inputs: ::std::vec![],
23            }),
24            functions: ::core::convert::From::from([
25                (
26                    ::std::borrow::ToOwned::to_owned("VERSION"),
27                    ::std::vec![
28                        ::ethers::core::abi::ethabi::Function {
29                            name: ::std::borrow::ToOwned::to_owned("VERSION"),
30                            inputs: ::std::vec![],
31                            outputs: ::std::vec![
32                                ::ethers::core::abi::ethabi::Param {
33                                    name: ::std::string::String::new(),
34                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
35                                    internal_type: ::core::option::Option::Some(
36                                        ::std::borrow::ToOwned::to_owned("string"),
37                                    ),
38                                },
39                            ],
40                            constant: ::core::option::Option::None,
41                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
42                        },
43                    ],
44                ),
45                (
46                    ::std::borrow::ToOwned::to_owned("addOwnerWithThreshold"),
47                    ::std::vec![
48                        ::ethers::core::abi::ethabi::Function {
49                            name: ::std::borrow::ToOwned::to_owned(
50                                "addOwnerWithThreshold",
51                            ),
52                            inputs: ::std::vec![
53                                ::ethers::core::abi::ethabi::Param {
54                                    name: ::std::borrow::ToOwned::to_owned("owner"),
55                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
56                                    internal_type: ::core::option::Option::Some(
57                                        ::std::borrow::ToOwned::to_owned("address"),
58                                    ),
59                                },
60                                ::ethers::core::abi::ethabi::Param {
61                                    name: ::std::borrow::ToOwned::to_owned("_threshold"),
62                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
63                                        256usize,
64                                    ),
65                                    internal_type: ::core::option::Option::Some(
66                                        ::std::borrow::ToOwned::to_owned("uint256"),
67                                    ),
68                                },
69                            ],
70                            outputs: ::std::vec![],
71                            constant: ::core::option::Option::None,
72                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
73                        },
74                    ],
75                ),
76                (
77                    ::std::borrow::ToOwned::to_owned("approveHash"),
78                    ::std::vec![
79                        ::ethers::core::abi::ethabi::Function {
80                            name: ::std::borrow::ToOwned::to_owned("approveHash"),
81                            inputs: ::std::vec![
82                                ::ethers::core::abi::ethabi::Param {
83                                    name: ::std::borrow::ToOwned::to_owned("hashToApprove"),
84                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
85                                        32usize,
86                                    ),
87                                    internal_type: ::core::option::Option::Some(
88                                        ::std::borrow::ToOwned::to_owned("bytes32"),
89                                    ),
90                                },
91                            ],
92                            outputs: ::std::vec![],
93                            constant: ::core::option::Option::None,
94                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
95                        },
96                    ],
97                ),
98                (
99                    ::std::borrow::ToOwned::to_owned("approvedHashes"),
100                    ::std::vec![
101                        ::ethers::core::abi::ethabi::Function {
102                            name: ::std::borrow::ToOwned::to_owned("approvedHashes"),
103                            inputs: ::std::vec![
104                                ::ethers::core::abi::ethabi::Param {
105                                    name: ::std::string::String::new(),
106                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
107                                    internal_type: ::core::option::Option::Some(
108                                        ::std::borrow::ToOwned::to_owned("address"),
109                                    ),
110                                },
111                                ::ethers::core::abi::ethabi::Param {
112                                    name: ::std::string::String::new(),
113                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
114                                        32usize,
115                                    ),
116                                    internal_type: ::core::option::Option::Some(
117                                        ::std::borrow::ToOwned::to_owned("bytes32"),
118                                    ),
119                                },
120                            ],
121                            outputs: ::std::vec![
122                                ::ethers::core::abi::ethabi::Param {
123                                    name: ::std::string::String::new(),
124                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
125                                        256usize,
126                                    ),
127                                    internal_type: ::core::option::Option::Some(
128                                        ::std::borrow::ToOwned::to_owned("uint256"),
129                                    ),
130                                },
131                            ],
132                            constant: ::core::option::Option::None,
133                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
134                        },
135                    ],
136                ),
137                (
138                    ::std::borrow::ToOwned::to_owned("changeThreshold"),
139                    ::std::vec![
140                        ::ethers::core::abi::ethabi::Function {
141                            name: ::std::borrow::ToOwned::to_owned("changeThreshold"),
142                            inputs: ::std::vec![
143                                ::ethers::core::abi::ethabi::Param {
144                                    name: ::std::borrow::ToOwned::to_owned("_threshold"),
145                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
146                                        256usize,
147                                    ),
148                                    internal_type: ::core::option::Option::Some(
149                                        ::std::borrow::ToOwned::to_owned("uint256"),
150                                    ),
151                                },
152                            ],
153                            outputs: ::std::vec![],
154                            constant: ::core::option::Option::None,
155                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
156                        },
157                    ],
158                ),
159                (
160                    ::std::borrow::ToOwned::to_owned("checkNSignatures"),
161                    ::std::vec![
162                        ::ethers::core::abi::ethabi::Function {
163                            name: ::std::borrow::ToOwned::to_owned("checkNSignatures"),
164                            inputs: ::std::vec![
165                                ::ethers::core::abi::ethabi::Param {
166                                    name: ::std::borrow::ToOwned::to_owned("dataHash"),
167                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
168                                        32usize,
169                                    ),
170                                    internal_type: ::core::option::Option::Some(
171                                        ::std::borrow::ToOwned::to_owned("bytes32"),
172                                    ),
173                                },
174                                ::ethers::core::abi::ethabi::Param {
175                                    name: ::std::borrow::ToOwned::to_owned("data"),
176                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
177                                    internal_type: ::core::option::Option::Some(
178                                        ::std::borrow::ToOwned::to_owned("bytes"),
179                                    ),
180                                },
181                                ::ethers::core::abi::ethabi::Param {
182                                    name: ::std::borrow::ToOwned::to_owned("signatures"),
183                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
184                                    internal_type: ::core::option::Option::Some(
185                                        ::std::borrow::ToOwned::to_owned("bytes"),
186                                    ),
187                                },
188                                ::ethers::core::abi::ethabi::Param {
189                                    name: ::std::borrow::ToOwned::to_owned(
190                                        "requiredSignatures",
191                                    ),
192                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
193                                        256usize,
194                                    ),
195                                    internal_type: ::core::option::Option::Some(
196                                        ::std::borrow::ToOwned::to_owned("uint256"),
197                                    ),
198                                },
199                            ],
200                            outputs: ::std::vec![],
201                            constant: ::core::option::Option::None,
202                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
203                        },
204                    ],
205                ),
206                (
207                    ::std::borrow::ToOwned::to_owned("checkSignatures"),
208                    ::std::vec![
209                        ::ethers::core::abi::ethabi::Function {
210                            name: ::std::borrow::ToOwned::to_owned("checkSignatures"),
211                            inputs: ::std::vec![
212                                ::ethers::core::abi::ethabi::Param {
213                                    name: ::std::borrow::ToOwned::to_owned("dataHash"),
214                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
215                                        32usize,
216                                    ),
217                                    internal_type: ::core::option::Option::Some(
218                                        ::std::borrow::ToOwned::to_owned("bytes32"),
219                                    ),
220                                },
221                                ::ethers::core::abi::ethabi::Param {
222                                    name: ::std::borrow::ToOwned::to_owned("data"),
223                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
224                                    internal_type: ::core::option::Option::Some(
225                                        ::std::borrow::ToOwned::to_owned("bytes"),
226                                    ),
227                                },
228                                ::ethers::core::abi::ethabi::Param {
229                                    name: ::std::borrow::ToOwned::to_owned("signatures"),
230                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
231                                    internal_type: ::core::option::Option::Some(
232                                        ::std::borrow::ToOwned::to_owned("bytes"),
233                                    ),
234                                },
235                            ],
236                            outputs: ::std::vec![],
237                            constant: ::core::option::Option::None,
238                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
239                        },
240                    ],
241                ),
242                (
243                    ::std::borrow::ToOwned::to_owned("disableModule"),
244                    ::std::vec![
245                        ::ethers::core::abi::ethabi::Function {
246                            name: ::std::borrow::ToOwned::to_owned("disableModule"),
247                            inputs: ::std::vec![
248                                ::ethers::core::abi::ethabi::Param {
249                                    name: ::std::borrow::ToOwned::to_owned("prevModule"),
250                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
251                                    internal_type: ::core::option::Option::Some(
252                                        ::std::borrow::ToOwned::to_owned("address"),
253                                    ),
254                                },
255                                ::ethers::core::abi::ethabi::Param {
256                                    name: ::std::borrow::ToOwned::to_owned("module"),
257                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
258                                    internal_type: ::core::option::Option::Some(
259                                        ::std::borrow::ToOwned::to_owned("address"),
260                                    ),
261                                },
262                            ],
263                            outputs: ::std::vec![],
264                            constant: ::core::option::Option::None,
265                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
266                        },
267                    ],
268                ),
269                (
270                    ::std::borrow::ToOwned::to_owned("domainSeparator"),
271                    ::std::vec![
272                        ::ethers::core::abi::ethabi::Function {
273                            name: ::std::borrow::ToOwned::to_owned("domainSeparator"),
274                            inputs: ::std::vec![],
275                            outputs: ::std::vec![
276                                ::ethers::core::abi::ethabi::Param {
277                                    name: ::std::string::String::new(),
278                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
279                                        32usize,
280                                    ),
281                                    internal_type: ::core::option::Option::Some(
282                                        ::std::borrow::ToOwned::to_owned("bytes32"),
283                                    ),
284                                },
285                            ],
286                            constant: ::core::option::Option::None,
287                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
288                        },
289                    ],
290                ),
291                (
292                    ::std::borrow::ToOwned::to_owned("enableModule"),
293                    ::std::vec![
294                        ::ethers::core::abi::ethabi::Function {
295                            name: ::std::borrow::ToOwned::to_owned("enableModule"),
296                            inputs: ::std::vec![
297                                ::ethers::core::abi::ethabi::Param {
298                                    name: ::std::borrow::ToOwned::to_owned("module"),
299                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
300                                    internal_type: ::core::option::Option::Some(
301                                        ::std::borrow::ToOwned::to_owned("address"),
302                                    ),
303                                },
304                            ],
305                            outputs: ::std::vec![],
306                            constant: ::core::option::Option::None,
307                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
308                        },
309                    ],
310                ),
311                (
312                    ::std::borrow::ToOwned::to_owned("encodeTransactionData"),
313                    ::std::vec![
314                        ::ethers::core::abi::ethabi::Function {
315                            name: ::std::borrow::ToOwned::to_owned(
316                                "encodeTransactionData",
317                            ),
318                            inputs: ::std::vec![
319                                ::ethers::core::abi::ethabi::Param {
320                                    name: ::std::borrow::ToOwned::to_owned("to"),
321                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
322                                    internal_type: ::core::option::Option::Some(
323                                        ::std::borrow::ToOwned::to_owned("address"),
324                                    ),
325                                },
326                                ::ethers::core::abi::ethabi::Param {
327                                    name: ::std::borrow::ToOwned::to_owned("value"),
328                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
329                                        256usize,
330                                    ),
331                                    internal_type: ::core::option::Option::Some(
332                                        ::std::borrow::ToOwned::to_owned("uint256"),
333                                    ),
334                                },
335                                ::ethers::core::abi::ethabi::Param {
336                                    name: ::std::borrow::ToOwned::to_owned("data"),
337                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
338                                    internal_type: ::core::option::Option::Some(
339                                        ::std::borrow::ToOwned::to_owned("bytes"),
340                                    ),
341                                },
342                                ::ethers::core::abi::ethabi::Param {
343                                    name: ::std::borrow::ToOwned::to_owned("operation"),
344                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
345                                    internal_type: ::core::option::Option::Some(
346                                        ::std::borrow::ToOwned::to_owned("enum Enum.Operation"),
347                                    ),
348                                },
349                                ::ethers::core::abi::ethabi::Param {
350                                    name: ::std::borrow::ToOwned::to_owned("safeTxGas"),
351                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
352                                        256usize,
353                                    ),
354                                    internal_type: ::core::option::Option::Some(
355                                        ::std::borrow::ToOwned::to_owned("uint256"),
356                                    ),
357                                },
358                                ::ethers::core::abi::ethabi::Param {
359                                    name: ::std::borrow::ToOwned::to_owned("baseGas"),
360                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
361                                        256usize,
362                                    ),
363                                    internal_type: ::core::option::Option::Some(
364                                        ::std::borrow::ToOwned::to_owned("uint256"),
365                                    ),
366                                },
367                                ::ethers::core::abi::ethabi::Param {
368                                    name: ::std::borrow::ToOwned::to_owned("gasPrice"),
369                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
370                                        256usize,
371                                    ),
372                                    internal_type: ::core::option::Option::Some(
373                                        ::std::borrow::ToOwned::to_owned("uint256"),
374                                    ),
375                                },
376                                ::ethers::core::abi::ethabi::Param {
377                                    name: ::std::borrow::ToOwned::to_owned("gasToken"),
378                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
379                                    internal_type: ::core::option::Option::Some(
380                                        ::std::borrow::ToOwned::to_owned("address"),
381                                    ),
382                                },
383                                ::ethers::core::abi::ethabi::Param {
384                                    name: ::std::borrow::ToOwned::to_owned("refundReceiver"),
385                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
386                                    internal_type: ::core::option::Option::Some(
387                                        ::std::borrow::ToOwned::to_owned("address"),
388                                    ),
389                                },
390                                ::ethers::core::abi::ethabi::Param {
391                                    name: ::std::borrow::ToOwned::to_owned("_nonce"),
392                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
393                                        256usize,
394                                    ),
395                                    internal_type: ::core::option::Option::Some(
396                                        ::std::borrow::ToOwned::to_owned("uint256"),
397                                    ),
398                                },
399                            ],
400                            outputs: ::std::vec![
401                                ::ethers::core::abi::ethabi::Param {
402                                    name: ::std::string::String::new(),
403                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
404                                    internal_type: ::core::option::Option::Some(
405                                        ::std::borrow::ToOwned::to_owned("bytes"),
406                                    ),
407                                },
408                            ],
409                            constant: ::core::option::Option::None,
410                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
411                        },
412                    ],
413                ),
414                (
415                    ::std::borrow::ToOwned::to_owned("execTransaction"),
416                    ::std::vec![
417                        ::ethers::core::abi::ethabi::Function {
418                            name: ::std::borrow::ToOwned::to_owned("execTransaction"),
419                            inputs: ::std::vec![
420                                ::ethers::core::abi::ethabi::Param {
421                                    name: ::std::borrow::ToOwned::to_owned("to"),
422                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
423                                    internal_type: ::core::option::Option::Some(
424                                        ::std::borrow::ToOwned::to_owned("address"),
425                                    ),
426                                },
427                                ::ethers::core::abi::ethabi::Param {
428                                    name: ::std::borrow::ToOwned::to_owned("value"),
429                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
430                                        256usize,
431                                    ),
432                                    internal_type: ::core::option::Option::Some(
433                                        ::std::borrow::ToOwned::to_owned("uint256"),
434                                    ),
435                                },
436                                ::ethers::core::abi::ethabi::Param {
437                                    name: ::std::borrow::ToOwned::to_owned("data"),
438                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
439                                    internal_type: ::core::option::Option::Some(
440                                        ::std::borrow::ToOwned::to_owned("bytes"),
441                                    ),
442                                },
443                                ::ethers::core::abi::ethabi::Param {
444                                    name: ::std::borrow::ToOwned::to_owned("operation"),
445                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
446                                    internal_type: ::core::option::Option::Some(
447                                        ::std::borrow::ToOwned::to_owned("enum Enum.Operation"),
448                                    ),
449                                },
450                                ::ethers::core::abi::ethabi::Param {
451                                    name: ::std::borrow::ToOwned::to_owned("safeTxGas"),
452                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
453                                        256usize,
454                                    ),
455                                    internal_type: ::core::option::Option::Some(
456                                        ::std::borrow::ToOwned::to_owned("uint256"),
457                                    ),
458                                },
459                                ::ethers::core::abi::ethabi::Param {
460                                    name: ::std::borrow::ToOwned::to_owned("baseGas"),
461                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
462                                        256usize,
463                                    ),
464                                    internal_type: ::core::option::Option::Some(
465                                        ::std::borrow::ToOwned::to_owned("uint256"),
466                                    ),
467                                },
468                                ::ethers::core::abi::ethabi::Param {
469                                    name: ::std::borrow::ToOwned::to_owned("gasPrice"),
470                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
471                                        256usize,
472                                    ),
473                                    internal_type: ::core::option::Option::Some(
474                                        ::std::borrow::ToOwned::to_owned("uint256"),
475                                    ),
476                                },
477                                ::ethers::core::abi::ethabi::Param {
478                                    name: ::std::borrow::ToOwned::to_owned("gasToken"),
479                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
480                                    internal_type: ::core::option::Option::Some(
481                                        ::std::borrow::ToOwned::to_owned("address"),
482                                    ),
483                                },
484                                ::ethers::core::abi::ethabi::Param {
485                                    name: ::std::borrow::ToOwned::to_owned("refundReceiver"),
486                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
487                                    internal_type: ::core::option::Option::Some(
488                                        ::std::borrow::ToOwned::to_owned("address payable"),
489                                    ),
490                                },
491                                ::ethers::core::abi::ethabi::Param {
492                                    name: ::std::borrow::ToOwned::to_owned("signatures"),
493                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
494                                    internal_type: ::core::option::Option::Some(
495                                        ::std::borrow::ToOwned::to_owned("bytes"),
496                                    ),
497                                },
498                            ],
499                            outputs: ::std::vec![
500                                ::ethers::core::abi::ethabi::Param {
501                                    name: ::std::borrow::ToOwned::to_owned("success"),
502                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
503                                    internal_type: ::core::option::Option::Some(
504                                        ::std::borrow::ToOwned::to_owned("bool"),
505                                    ),
506                                },
507                            ],
508                            constant: ::core::option::Option::None,
509                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
510                        },
511                    ],
512                ),
513                (
514                    ::std::borrow::ToOwned::to_owned("execTransactionFromModule"),
515                    ::std::vec![
516                        ::ethers::core::abi::ethabi::Function {
517                            name: ::std::borrow::ToOwned::to_owned(
518                                "execTransactionFromModule",
519                            ),
520                            inputs: ::std::vec![
521                                ::ethers::core::abi::ethabi::Param {
522                                    name: ::std::borrow::ToOwned::to_owned("to"),
523                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
524                                    internal_type: ::core::option::Option::Some(
525                                        ::std::borrow::ToOwned::to_owned("address"),
526                                    ),
527                                },
528                                ::ethers::core::abi::ethabi::Param {
529                                    name: ::std::borrow::ToOwned::to_owned("value"),
530                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
531                                        256usize,
532                                    ),
533                                    internal_type: ::core::option::Option::Some(
534                                        ::std::borrow::ToOwned::to_owned("uint256"),
535                                    ),
536                                },
537                                ::ethers::core::abi::ethabi::Param {
538                                    name: ::std::borrow::ToOwned::to_owned("data"),
539                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
540                                    internal_type: ::core::option::Option::Some(
541                                        ::std::borrow::ToOwned::to_owned("bytes"),
542                                    ),
543                                },
544                                ::ethers::core::abi::ethabi::Param {
545                                    name: ::std::borrow::ToOwned::to_owned("operation"),
546                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
547                                    internal_type: ::core::option::Option::Some(
548                                        ::std::borrow::ToOwned::to_owned("enum Enum.Operation"),
549                                    ),
550                                },
551                            ],
552                            outputs: ::std::vec![
553                                ::ethers::core::abi::ethabi::Param {
554                                    name: ::std::borrow::ToOwned::to_owned("success"),
555                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
556                                    internal_type: ::core::option::Option::Some(
557                                        ::std::borrow::ToOwned::to_owned("bool"),
558                                    ),
559                                },
560                            ],
561                            constant: ::core::option::Option::None,
562                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
563                        },
564                    ],
565                ),
566                (
567                    ::std::borrow::ToOwned::to_owned(
568                        "execTransactionFromModuleReturnData",
569                    ),
570                    ::std::vec![
571                        ::ethers::core::abi::ethabi::Function {
572                            name: ::std::borrow::ToOwned::to_owned(
573                                "execTransactionFromModuleReturnData",
574                            ),
575                            inputs: ::std::vec![
576                                ::ethers::core::abi::ethabi::Param {
577                                    name: ::std::borrow::ToOwned::to_owned("to"),
578                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
579                                    internal_type: ::core::option::Option::Some(
580                                        ::std::borrow::ToOwned::to_owned("address"),
581                                    ),
582                                },
583                                ::ethers::core::abi::ethabi::Param {
584                                    name: ::std::borrow::ToOwned::to_owned("value"),
585                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
586                                        256usize,
587                                    ),
588                                    internal_type: ::core::option::Option::Some(
589                                        ::std::borrow::ToOwned::to_owned("uint256"),
590                                    ),
591                                },
592                                ::ethers::core::abi::ethabi::Param {
593                                    name: ::std::borrow::ToOwned::to_owned("data"),
594                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
595                                    internal_type: ::core::option::Option::Some(
596                                        ::std::borrow::ToOwned::to_owned("bytes"),
597                                    ),
598                                },
599                                ::ethers::core::abi::ethabi::Param {
600                                    name: ::std::borrow::ToOwned::to_owned("operation"),
601                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
602                                    internal_type: ::core::option::Option::Some(
603                                        ::std::borrow::ToOwned::to_owned("enum Enum.Operation"),
604                                    ),
605                                },
606                            ],
607                            outputs: ::std::vec![
608                                ::ethers::core::abi::ethabi::Param {
609                                    name: ::std::borrow::ToOwned::to_owned("success"),
610                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
611                                    internal_type: ::core::option::Option::Some(
612                                        ::std::borrow::ToOwned::to_owned("bool"),
613                                    ),
614                                },
615                                ::ethers::core::abi::ethabi::Param {
616                                    name: ::std::borrow::ToOwned::to_owned("returnData"),
617                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
618                                    internal_type: ::core::option::Option::Some(
619                                        ::std::borrow::ToOwned::to_owned("bytes"),
620                                    ),
621                                },
622                            ],
623                            constant: ::core::option::Option::None,
624                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
625                        },
626                    ],
627                ),
628                (
629                    ::std::borrow::ToOwned::to_owned("getChainId"),
630                    ::std::vec![
631                        ::ethers::core::abi::ethabi::Function {
632                            name: ::std::borrow::ToOwned::to_owned("getChainId"),
633                            inputs: ::std::vec![],
634                            outputs: ::std::vec![
635                                ::ethers::core::abi::ethabi::Param {
636                                    name: ::std::string::String::new(),
637                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
638                                        256usize,
639                                    ),
640                                    internal_type: ::core::option::Option::Some(
641                                        ::std::borrow::ToOwned::to_owned("uint256"),
642                                    ),
643                                },
644                            ],
645                            constant: ::core::option::Option::None,
646                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
647                        },
648                    ],
649                ),
650                (
651                    ::std::borrow::ToOwned::to_owned("getModulesPaginated"),
652                    ::std::vec![
653                        ::ethers::core::abi::ethabi::Function {
654                            name: ::std::borrow::ToOwned::to_owned(
655                                "getModulesPaginated",
656                            ),
657                            inputs: ::std::vec![
658                                ::ethers::core::abi::ethabi::Param {
659                                    name: ::std::borrow::ToOwned::to_owned("start"),
660                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
661                                    internal_type: ::core::option::Option::Some(
662                                        ::std::borrow::ToOwned::to_owned("address"),
663                                    ),
664                                },
665                                ::ethers::core::abi::ethabi::Param {
666                                    name: ::std::borrow::ToOwned::to_owned("pageSize"),
667                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
668                                        256usize,
669                                    ),
670                                    internal_type: ::core::option::Option::Some(
671                                        ::std::borrow::ToOwned::to_owned("uint256"),
672                                    ),
673                                },
674                            ],
675                            outputs: ::std::vec![
676                                ::ethers::core::abi::ethabi::Param {
677                                    name: ::std::borrow::ToOwned::to_owned("array"),
678                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
679                                        ::std::boxed::Box::new(
680                                            ::ethers::core::abi::ethabi::ParamType::Address,
681                                        ),
682                                    ),
683                                    internal_type: ::core::option::Option::Some(
684                                        ::std::borrow::ToOwned::to_owned("address[]"),
685                                    ),
686                                },
687                                ::ethers::core::abi::ethabi::Param {
688                                    name: ::std::borrow::ToOwned::to_owned("next"),
689                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
690                                    internal_type: ::core::option::Option::Some(
691                                        ::std::borrow::ToOwned::to_owned("address"),
692                                    ),
693                                },
694                            ],
695                            constant: ::core::option::Option::None,
696                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
697                        },
698                    ],
699                ),
700                (
701                    ::std::borrow::ToOwned::to_owned("getOwners"),
702                    ::std::vec![
703                        ::ethers::core::abi::ethabi::Function {
704                            name: ::std::borrow::ToOwned::to_owned("getOwners"),
705                            inputs: ::std::vec![],
706                            outputs: ::std::vec![
707                                ::ethers::core::abi::ethabi::Param {
708                                    name: ::std::string::String::new(),
709                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
710                                        ::std::boxed::Box::new(
711                                            ::ethers::core::abi::ethabi::ParamType::Address,
712                                        ),
713                                    ),
714                                    internal_type: ::core::option::Option::Some(
715                                        ::std::borrow::ToOwned::to_owned("address[]"),
716                                    ),
717                                },
718                            ],
719                            constant: ::core::option::Option::None,
720                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
721                        },
722                    ],
723                ),
724                (
725                    ::std::borrow::ToOwned::to_owned("getStorageAt"),
726                    ::std::vec![
727                        ::ethers::core::abi::ethabi::Function {
728                            name: ::std::borrow::ToOwned::to_owned("getStorageAt"),
729                            inputs: ::std::vec![
730                                ::ethers::core::abi::ethabi::Param {
731                                    name: ::std::borrow::ToOwned::to_owned("offset"),
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("length"),
741                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
742                                        256usize,
743                                    ),
744                                    internal_type: ::core::option::Option::Some(
745                                        ::std::borrow::ToOwned::to_owned("uint256"),
746                                    ),
747                                },
748                            ],
749                            outputs: ::std::vec![
750                                ::ethers::core::abi::ethabi::Param {
751                                    name: ::std::string::String::new(),
752                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
753                                    internal_type: ::core::option::Option::Some(
754                                        ::std::borrow::ToOwned::to_owned("bytes"),
755                                    ),
756                                },
757                            ],
758                            constant: ::core::option::Option::None,
759                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
760                        },
761                    ],
762                ),
763                (
764                    ::std::borrow::ToOwned::to_owned("getThreshold"),
765                    ::std::vec![
766                        ::ethers::core::abi::ethabi::Function {
767                            name: ::std::borrow::ToOwned::to_owned("getThreshold"),
768                            inputs: ::std::vec![],
769                            outputs: ::std::vec![
770                                ::ethers::core::abi::ethabi::Param {
771                                    name: ::std::string::String::new(),
772                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
773                                        256usize,
774                                    ),
775                                    internal_type: ::core::option::Option::Some(
776                                        ::std::borrow::ToOwned::to_owned("uint256"),
777                                    ),
778                                },
779                            ],
780                            constant: ::core::option::Option::None,
781                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
782                        },
783                    ],
784                ),
785                (
786                    ::std::borrow::ToOwned::to_owned("getTransactionHash"),
787                    ::std::vec![
788                        ::ethers::core::abi::ethabi::Function {
789                            name: ::std::borrow::ToOwned::to_owned("getTransactionHash"),
790                            inputs: ::std::vec![
791                                ::ethers::core::abi::ethabi::Param {
792                                    name: ::std::borrow::ToOwned::to_owned("to"),
793                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
794                                    internal_type: ::core::option::Option::Some(
795                                        ::std::borrow::ToOwned::to_owned("address"),
796                                    ),
797                                },
798                                ::ethers::core::abi::ethabi::Param {
799                                    name: ::std::borrow::ToOwned::to_owned("value"),
800                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
801                                        256usize,
802                                    ),
803                                    internal_type: ::core::option::Option::Some(
804                                        ::std::borrow::ToOwned::to_owned("uint256"),
805                                    ),
806                                },
807                                ::ethers::core::abi::ethabi::Param {
808                                    name: ::std::borrow::ToOwned::to_owned("data"),
809                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
810                                    internal_type: ::core::option::Option::Some(
811                                        ::std::borrow::ToOwned::to_owned("bytes"),
812                                    ),
813                                },
814                                ::ethers::core::abi::ethabi::Param {
815                                    name: ::std::borrow::ToOwned::to_owned("operation"),
816                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
817                                    internal_type: ::core::option::Option::Some(
818                                        ::std::borrow::ToOwned::to_owned("enum Enum.Operation"),
819                                    ),
820                                },
821                                ::ethers::core::abi::ethabi::Param {
822                                    name: ::std::borrow::ToOwned::to_owned("safeTxGas"),
823                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
824                                        256usize,
825                                    ),
826                                    internal_type: ::core::option::Option::Some(
827                                        ::std::borrow::ToOwned::to_owned("uint256"),
828                                    ),
829                                },
830                                ::ethers::core::abi::ethabi::Param {
831                                    name: ::std::borrow::ToOwned::to_owned("baseGas"),
832                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
833                                        256usize,
834                                    ),
835                                    internal_type: ::core::option::Option::Some(
836                                        ::std::borrow::ToOwned::to_owned("uint256"),
837                                    ),
838                                },
839                                ::ethers::core::abi::ethabi::Param {
840                                    name: ::std::borrow::ToOwned::to_owned("gasPrice"),
841                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
842                                        256usize,
843                                    ),
844                                    internal_type: ::core::option::Option::Some(
845                                        ::std::borrow::ToOwned::to_owned("uint256"),
846                                    ),
847                                },
848                                ::ethers::core::abi::ethabi::Param {
849                                    name: ::std::borrow::ToOwned::to_owned("gasToken"),
850                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
851                                    internal_type: ::core::option::Option::Some(
852                                        ::std::borrow::ToOwned::to_owned("address"),
853                                    ),
854                                },
855                                ::ethers::core::abi::ethabi::Param {
856                                    name: ::std::borrow::ToOwned::to_owned("refundReceiver"),
857                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
858                                    internal_type: ::core::option::Option::Some(
859                                        ::std::borrow::ToOwned::to_owned("address"),
860                                    ),
861                                },
862                                ::ethers::core::abi::ethabi::Param {
863                                    name: ::std::borrow::ToOwned::to_owned("_nonce"),
864                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
865                                        256usize,
866                                    ),
867                                    internal_type: ::core::option::Option::Some(
868                                        ::std::borrow::ToOwned::to_owned("uint256"),
869                                    ),
870                                },
871                            ],
872                            outputs: ::std::vec![
873                                ::ethers::core::abi::ethabi::Param {
874                                    name: ::std::string::String::new(),
875                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
876                                        32usize,
877                                    ),
878                                    internal_type: ::core::option::Option::Some(
879                                        ::std::borrow::ToOwned::to_owned("bytes32"),
880                                    ),
881                                },
882                            ],
883                            constant: ::core::option::Option::None,
884                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
885                        },
886                    ],
887                ),
888                (
889                    ::std::borrow::ToOwned::to_owned("isModuleEnabled"),
890                    ::std::vec![
891                        ::ethers::core::abi::ethabi::Function {
892                            name: ::std::borrow::ToOwned::to_owned("isModuleEnabled"),
893                            inputs: ::std::vec![
894                                ::ethers::core::abi::ethabi::Param {
895                                    name: ::std::borrow::ToOwned::to_owned("module"),
896                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
897                                    internal_type: ::core::option::Option::Some(
898                                        ::std::borrow::ToOwned::to_owned("address"),
899                                    ),
900                                },
901                            ],
902                            outputs: ::std::vec![
903                                ::ethers::core::abi::ethabi::Param {
904                                    name: ::std::string::String::new(),
905                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
906                                    internal_type: ::core::option::Option::Some(
907                                        ::std::borrow::ToOwned::to_owned("bool"),
908                                    ),
909                                },
910                            ],
911                            constant: ::core::option::Option::None,
912                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
913                        },
914                    ],
915                ),
916                (
917                    ::std::borrow::ToOwned::to_owned("isOwner"),
918                    ::std::vec![
919                        ::ethers::core::abi::ethabi::Function {
920                            name: ::std::borrow::ToOwned::to_owned("isOwner"),
921                            inputs: ::std::vec![
922                                ::ethers::core::abi::ethabi::Param {
923                                    name: ::std::borrow::ToOwned::to_owned("owner"),
924                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
925                                    internal_type: ::core::option::Option::Some(
926                                        ::std::borrow::ToOwned::to_owned("address"),
927                                    ),
928                                },
929                            ],
930                            outputs: ::std::vec![
931                                ::ethers::core::abi::ethabi::Param {
932                                    name: ::std::string::String::new(),
933                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
934                                    internal_type: ::core::option::Option::Some(
935                                        ::std::borrow::ToOwned::to_owned("bool"),
936                                    ),
937                                },
938                            ],
939                            constant: ::core::option::Option::None,
940                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
941                        },
942                    ],
943                ),
944                (
945                    ::std::borrow::ToOwned::to_owned("nonce"),
946                    ::std::vec![
947                        ::ethers::core::abi::ethabi::Function {
948                            name: ::std::borrow::ToOwned::to_owned("nonce"),
949                            inputs: ::std::vec![],
950                            outputs: ::std::vec![
951                                ::ethers::core::abi::ethabi::Param {
952                                    name: ::std::string::String::new(),
953                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
954                                        256usize,
955                                    ),
956                                    internal_type: ::core::option::Option::Some(
957                                        ::std::borrow::ToOwned::to_owned("uint256"),
958                                    ),
959                                },
960                            ],
961                            constant: ::core::option::Option::None,
962                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
963                        },
964                    ],
965                ),
966                (
967                    ::std::borrow::ToOwned::to_owned("removeOwner"),
968                    ::std::vec![
969                        ::ethers::core::abi::ethabi::Function {
970                            name: ::std::borrow::ToOwned::to_owned("removeOwner"),
971                            inputs: ::std::vec![
972                                ::ethers::core::abi::ethabi::Param {
973                                    name: ::std::borrow::ToOwned::to_owned("prevOwner"),
974                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
975                                    internal_type: ::core::option::Option::Some(
976                                        ::std::borrow::ToOwned::to_owned("address"),
977                                    ),
978                                },
979                                ::ethers::core::abi::ethabi::Param {
980                                    name: ::std::borrow::ToOwned::to_owned("owner"),
981                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
982                                    internal_type: ::core::option::Option::Some(
983                                        ::std::borrow::ToOwned::to_owned("address"),
984                                    ),
985                                },
986                                ::ethers::core::abi::ethabi::Param {
987                                    name: ::std::borrow::ToOwned::to_owned("_threshold"),
988                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
989                                        256usize,
990                                    ),
991                                    internal_type: ::core::option::Option::Some(
992                                        ::std::borrow::ToOwned::to_owned("uint256"),
993                                    ),
994                                },
995                            ],
996                            outputs: ::std::vec![],
997                            constant: ::core::option::Option::None,
998                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
999                        },
1000                    ],
1001                ),
1002                (
1003                    ::std::borrow::ToOwned::to_owned("setFallbackHandler"),
1004                    ::std::vec![
1005                        ::ethers::core::abi::ethabi::Function {
1006                            name: ::std::borrow::ToOwned::to_owned("setFallbackHandler"),
1007                            inputs: ::std::vec![
1008                                ::ethers::core::abi::ethabi::Param {
1009                                    name: ::std::borrow::ToOwned::to_owned("handler"),
1010                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1011                                    internal_type: ::core::option::Option::Some(
1012                                        ::std::borrow::ToOwned::to_owned("address"),
1013                                    ),
1014                                },
1015                            ],
1016                            outputs: ::std::vec![],
1017                            constant: ::core::option::Option::None,
1018                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1019                        },
1020                    ],
1021                ),
1022                (
1023                    ::std::borrow::ToOwned::to_owned("setGuard"),
1024                    ::std::vec![
1025                        ::ethers::core::abi::ethabi::Function {
1026                            name: ::std::borrow::ToOwned::to_owned("setGuard"),
1027                            inputs: ::std::vec![
1028                                ::ethers::core::abi::ethabi::Param {
1029                                    name: ::std::borrow::ToOwned::to_owned("guard"),
1030                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1031                                    internal_type: ::core::option::Option::Some(
1032                                        ::std::borrow::ToOwned::to_owned("address"),
1033                                    ),
1034                                },
1035                            ],
1036                            outputs: ::std::vec![],
1037                            constant: ::core::option::Option::None,
1038                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1039                        },
1040                    ],
1041                ),
1042                (
1043                    ::std::borrow::ToOwned::to_owned("setup"),
1044                    ::std::vec![
1045                        ::ethers::core::abi::ethabi::Function {
1046                            name: ::std::borrow::ToOwned::to_owned("setup"),
1047                            inputs: ::std::vec![
1048                                ::ethers::core::abi::ethabi::Param {
1049                                    name: ::std::borrow::ToOwned::to_owned("_owners"),
1050                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1051                                        ::std::boxed::Box::new(
1052                                            ::ethers::core::abi::ethabi::ParamType::Address,
1053                                        ),
1054                                    ),
1055                                    internal_type: ::core::option::Option::Some(
1056                                        ::std::borrow::ToOwned::to_owned("address[]"),
1057                                    ),
1058                                },
1059                                ::ethers::core::abi::ethabi::Param {
1060                                    name: ::std::borrow::ToOwned::to_owned("_threshold"),
1061                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1062                                        256usize,
1063                                    ),
1064                                    internal_type: ::core::option::Option::Some(
1065                                        ::std::borrow::ToOwned::to_owned("uint256"),
1066                                    ),
1067                                },
1068                                ::ethers::core::abi::ethabi::Param {
1069                                    name: ::std::borrow::ToOwned::to_owned("to"),
1070                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1071                                    internal_type: ::core::option::Option::Some(
1072                                        ::std::borrow::ToOwned::to_owned("address"),
1073                                    ),
1074                                },
1075                                ::ethers::core::abi::ethabi::Param {
1076                                    name: ::std::borrow::ToOwned::to_owned("data"),
1077                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1078                                    internal_type: ::core::option::Option::Some(
1079                                        ::std::borrow::ToOwned::to_owned("bytes"),
1080                                    ),
1081                                },
1082                                ::ethers::core::abi::ethabi::Param {
1083                                    name: ::std::borrow::ToOwned::to_owned("fallbackHandler"),
1084                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1085                                    internal_type: ::core::option::Option::Some(
1086                                        ::std::borrow::ToOwned::to_owned("address"),
1087                                    ),
1088                                },
1089                                ::ethers::core::abi::ethabi::Param {
1090                                    name: ::std::borrow::ToOwned::to_owned("paymentToken"),
1091                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1092                                    internal_type: ::core::option::Option::Some(
1093                                        ::std::borrow::ToOwned::to_owned("address"),
1094                                    ),
1095                                },
1096                                ::ethers::core::abi::ethabi::Param {
1097                                    name: ::std::borrow::ToOwned::to_owned("payment"),
1098                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1099                                        256usize,
1100                                    ),
1101                                    internal_type: ::core::option::Option::Some(
1102                                        ::std::borrow::ToOwned::to_owned("uint256"),
1103                                    ),
1104                                },
1105                                ::ethers::core::abi::ethabi::Param {
1106                                    name: ::std::borrow::ToOwned::to_owned("paymentReceiver"),
1107                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1108                                    internal_type: ::core::option::Option::Some(
1109                                        ::std::borrow::ToOwned::to_owned("address payable"),
1110                                    ),
1111                                },
1112                            ],
1113                            outputs: ::std::vec![],
1114                            constant: ::core::option::Option::None,
1115                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1116                        },
1117                    ],
1118                ),
1119                (
1120                    ::std::borrow::ToOwned::to_owned("signedMessages"),
1121                    ::std::vec![
1122                        ::ethers::core::abi::ethabi::Function {
1123                            name: ::std::borrow::ToOwned::to_owned("signedMessages"),
1124                            inputs: ::std::vec![
1125                                ::ethers::core::abi::ethabi::Param {
1126                                    name: ::std::string::String::new(),
1127                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1128                                        32usize,
1129                                    ),
1130                                    internal_type: ::core::option::Option::Some(
1131                                        ::std::borrow::ToOwned::to_owned("bytes32"),
1132                                    ),
1133                                },
1134                            ],
1135                            outputs: ::std::vec![
1136                                ::ethers::core::abi::ethabi::Param {
1137                                    name: ::std::string::String::new(),
1138                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1139                                        256usize,
1140                                    ),
1141                                    internal_type: ::core::option::Option::Some(
1142                                        ::std::borrow::ToOwned::to_owned("uint256"),
1143                                    ),
1144                                },
1145                            ],
1146                            constant: ::core::option::Option::None,
1147                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1148                        },
1149                    ],
1150                ),
1151                (
1152                    ::std::borrow::ToOwned::to_owned("simulateAndRevert"),
1153                    ::std::vec![
1154                        ::ethers::core::abi::ethabi::Function {
1155                            name: ::std::borrow::ToOwned::to_owned("simulateAndRevert"),
1156                            inputs: ::std::vec![
1157                                ::ethers::core::abi::ethabi::Param {
1158                                    name: ::std::borrow::ToOwned::to_owned("targetContract"),
1159                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1160                                    internal_type: ::core::option::Option::Some(
1161                                        ::std::borrow::ToOwned::to_owned("address"),
1162                                    ),
1163                                },
1164                                ::ethers::core::abi::ethabi::Param {
1165                                    name: ::std::borrow::ToOwned::to_owned("calldataPayload"),
1166                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1167                                    internal_type: ::core::option::Option::Some(
1168                                        ::std::borrow::ToOwned::to_owned("bytes"),
1169                                    ),
1170                                },
1171                            ],
1172                            outputs: ::std::vec![],
1173                            constant: ::core::option::Option::None,
1174                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1175                        },
1176                    ],
1177                ),
1178                (
1179                    ::std::borrow::ToOwned::to_owned("swapOwner"),
1180                    ::std::vec![
1181                        ::ethers::core::abi::ethabi::Function {
1182                            name: ::std::borrow::ToOwned::to_owned("swapOwner"),
1183                            inputs: ::std::vec![
1184                                ::ethers::core::abi::ethabi::Param {
1185                                    name: ::std::borrow::ToOwned::to_owned("prevOwner"),
1186                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1187                                    internal_type: ::core::option::Option::Some(
1188                                        ::std::borrow::ToOwned::to_owned("address"),
1189                                    ),
1190                                },
1191                                ::ethers::core::abi::ethabi::Param {
1192                                    name: ::std::borrow::ToOwned::to_owned("oldOwner"),
1193                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1194                                    internal_type: ::core::option::Option::Some(
1195                                        ::std::borrow::ToOwned::to_owned("address"),
1196                                    ),
1197                                },
1198                                ::ethers::core::abi::ethabi::Param {
1199                                    name: ::std::borrow::ToOwned::to_owned("newOwner"),
1200                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1201                                    internal_type: ::core::option::Option::Some(
1202                                        ::std::borrow::ToOwned::to_owned("address"),
1203                                    ),
1204                                },
1205                            ],
1206                            outputs: ::std::vec![],
1207                            constant: ::core::option::Option::None,
1208                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1209                        },
1210                    ],
1211                ),
1212            ]),
1213            events: ::core::convert::From::from([
1214                (
1215                    ::std::borrow::ToOwned::to_owned("AddedOwner"),
1216                    ::std::vec![
1217                        ::ethers::core::abi::ethabi::Event {
1218                            name: ::std::borrow::ToOwned::to_owned("AddedOwner"),
1219                            inputs: ::std::vec![
1220                                ::ethers::core::abi::ethabi::EventParam {
1221                                    name: ::std::borrow::ToOwned::to_owned("owner"),
1222                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1223                                    indexed: true,
1224                                },
1225                            ],
1226                            anonymous: false,
1227                        },
1228                    ],
1229                ),
1230                (
1231                    ::std::borrow::ToOwned::to_owned("ApproveHash"),
1232                    ::std::vec![
1233                        ::ethers::core::abi::ethabi::Event {
1234                            name: ::std::borrow::ToOwned::to_owned("ApproveHash"),
1235                            inputs: ::std::vec![
1236                                ::ethers::core::abi::ethabi::EventParam {
1237                                    name: ::std::borrow::ToOwned::to_owned("approvedHash"),
1238                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1239                                        32usize,
1240                                    ),
1241                                    indexed: true,
1242                                },
1243                                ::ethers::core::abi::ethabi::EventParam {
1244                                    name: ::std::borrow::ToOwned::to_owned("owner"),
1245                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1246                                    indexed: true,
1247                                },
1248                            ],
1249                            anonymous: false,
1250                        },
1251                    ],
1252                ),
1253                (
1254                    ::std::borrow::ToOwned::to_owned("ChangedFallbackHandler"),
1255                    ::std::vec![
1256                        ::ethers::core::abi::ethabi::Event {
1257                            name: ::std::borrow::ToOwned::to_owned(
1258                                "ChangedFallbackHandler",
1259                            ),
1260                            inputs: ::std::vec![
1261                                ::ethers::core::abi::ethabi::EventParam {
1262                                    name: ::std::borrow::ToOwned::to_owned("handler"),
1263                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1264                                    indexed: true,
1265                                },
1266                            ],
1267                            anonymous: false,
1268                        },
1269                    ],
1270                ),
1271                (
1272                    ::std::borrow::ToOwned::to_owned("ChangedGuard"),
1273                    ::std::vec![
1274                        ::ethers::core::abi::ethabi::Event {
1275                            name: ::std::borrow::ToOwned::to_owned("ChangedGuard"),
1276                            inputs: ::std::vec![
1277                                ::ethers::core::abi::ethabi::EventParam {
1278                                    name: ::std::borrow::ToOwned::to_owned("guard"),
1279                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1280                                    indexed: true,
1281                                },
1282                            ],
1283                            anonymous: false,
1284                        },
1285                    ],
1286                ),
1287                (
1288                    ::std::borrow::ToOwned::to_owned("ChangedThreshold"),
1289                    ::std::vec![
1290                        ::ethers::core::abi::ethabi::Event {
1291                            name: ::std::borrow::ToOwned::to_owned("ChangedThreshold"),
1292                            inputs: ::std::vec![
1293                                ::ethers::core::abi::ethabi::EventParam {
1294                                    name: ::std::borrow::ToOwned::to_owned("threshold"),
1295                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1296                                        256usize,
1297                                    ),
1298                                    indexed: false,
1299                                },
1300                            ],
1301                            anonymous: false,
1302                        },
1303                    ],
1304                ),
1305                (
1306                    ::std::borrow::ToOwned::to_owned("DisabledModule"),
1307                    ::std::vec![
1308                        ::ethers::core::abi::ethabi::Event {
1309                            name: ::std::borrow::ToOwned::to_owned("DisabledModule"),
1310                            inputs: ::std::vec![
1311                                ::ethers::core::abi::ethabi::EventParam {
1312                                    name: ::std::borrow::ToOwned::to_owned("module"),
1313                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1314                                    indexed: true,
1315                                },
1316                            ],
1317                            anonymous: false,
1318                        },
1319                    ],
1320                ),
1321                (
1322                    ::std::borrow::ToOwned::to_owned("EnabledModule"),
1323                    ::std::vec![
1324                        ::ethers::core::abi::ethabi::Event {
1325                            name: ::std::borrow::ToOwned::to_owned("EnabledModule"),
1326                            inputs: ::std::vec![
1327                                ::ethers::core::abi::ethabi::EventParam {
1328                                    name: ::std::borrow::ToOwned::to_owned("module"),
1329                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1330                                    indexed: true,
1331                                },
1332                            ],
1333                            anonymous: false,
1334                        },
1335                    ],
1336                ),
1337                (
1338                    ::std::borrow::ToOwned::to_owned("ExecutionFailure"),
1339                    ::std::vec![
1340                        ::ethers::core::abi::ethabi::Event {
1341                            name: ::std::borrow::ToOwned::to_owned("ExecutionFailure"),
1342                            inputs: ::std::vec![
1343                                ::ethers::core::abi::ethabi::EventParam {
1344                                    name: ::std::borrow::ToOwned::to_owned("txHash"),
1345                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1346                                        32usize,
1347                                    ),
1348                                    indexed: true,
1349                                },
1350                                ::ethers::core::abi::ethabi::EventParam {
1351                                    name: ::std::borrow::ToOwned::to_owned("payment"),
1352                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1353                                        256usize,
1354                                    ),
1355                                    indexed: false,
1356                                },
1357                            ],
1358                            anonymous: false,
1359                        },
1360                    ],
1361                ),
1362                (
1363                    ::std::borrow::ToOwned::to_owned("ExecutionFromModuleFailure"),
1364                    ::std::vec![
1365                        ::ethers::core::abi::ethabi::Event {
1366                            name: ::std::borrow::ToOwned::to_owned(
1367                                "ExecutionFromModuleFailure",
1368                            ),
1369                            inputs: ::std::vec![
1370                                ::ethers::core::abi::ethabi::EventParam {
1371                                    name: ::std::borrow::ToOwned::to_owned("module"),
1372                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1373                                    indexed: true,
1374                                },
1375                            ],
1376                            anonymous: false,
1377                        },
1378                    ],
1379                ),
1380                (
1381                    ::std::borrow::ToOwned::to_owned("ExecutionFromModuleSuccess"),
1382                    ::std::vec![
1383                        ::ethers::core::abi::ethabi::Event {
1384                            name: ::std::borrow::ToOwned::to_owned(
1385                                "ExecutionFromModuleSuccess",
1386                            ),
1387                            inputs: ::std::vec![
1388                                ::ethers::core::abi::ethabi::EventParam {
1389                                    name: ::std::borrow::ToOwned::to_owned("module"),
1390                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1391                                    indexed: true,
1392                                },
1393                            ],
1394                            anonymous: false,
1395                        },
1396                    ],
1397                ),
1398                (
1399                    ::std::borrow::ToOwned::to_owned("ExecutionSuccess"),
1400                    ::std::vec![
1401                        ::ethers::core::abi::ethabi::Event {
1402                            name: ::std::borrow::ToOwned::to_owned("ExecutionSuccess"),
1403                            inputs: ::std::vec![
1404                                ::ethers::core::abi::ethabi::EventParam {
1405                                    name: ::std::borrow::ToOwned::to_owned("txHash"),
1406                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1407                                        32usize,
1408                                    ),
1409                                    indexed: true,
1410                                },
1411                                ::ethers::core::abi::ethabi::EventParam {
1412                                    name: ::std::borrow::ToOwned::to_owned("payment"),
1413                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1414                                        256usize,
1415                                    ),
1416                                    indexed: false,
1417                                },
1418                            ],
1419                            anonymous: false,
1420                        },
1421                    ],
1422                ),
1423                (
1424                    ::std::borrow::ToOwned::to_owned("RemovedOwner"),
1425                    ::std::vec![
1426                        ::ethers::core::abi::ethabi::Event {
1427                            name: ::std::borrow::ToOwned::to_owned("RemovedOwner"),
1428                            inputs: ::std::vec![
1429                                ::ethers::core::abi::ethabi::EventParam {
1430                                    name: ::std::borrow::ToOwned::to_owned("owner"),
1431                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1432                                    indexed: true,
1433                                },
1434                            ],
1435                            anonymous: false,
1436                        },
1437                    ],
1438                ),
1439                (
1440                    ::std::borrow::ToOwned::to_owned("SafeReceived"),
1441                    ::std::vec![
1442                        ::ethers::core::abi::ethabi::Event {
1443                            name: ::std::borrow::ToOwned::to_owned("SafeReceived"),
1444                            inputs: ::std::vec![
1445                                ::ethers::core::abi::ethabi::EventParam {
1446                                    name: ::std::borrow::ToOwned::to_owned("sender"),
1447                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1448                                    indexed: true,
1449                                },
1450                                ::ethers::core::abi::ethabi::EventParam {
1451                                    name: ::std::borrow::ToOwned::to_owned("value"),
1452                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1453                                        256usize,
1454                                    ),
1455                                    indexed: false,
1456                                },
1457                            ],
1458                            anonymous: false,
1459                        },
1460                    ],
1461                ),
1462                (
1463                    ::std::borrow::ToOwned::to_owned("SafeSetup"),
1464                    ::std::vec![
1465                        ::ethers::core::abi::ethabi::Event {
1466                            name: ::std::borrow::ToOwned::to_owned("SafeSetup"),
1467                            inputs: ::std::vec![
1468                                ::ethers::core::abi::ethabi::EventParam {
1469                                    name: ::std::borrow::ToOwned::to_owned("initiator"),
1470                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1471                                    indexed: true,
1472                                },
1473                                ::ethers::core::abi::ethabi::EventParam {
1474                                    name: ::std::borrow::ToOwned::to_owned("owners"),
1475                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1476                                        ::std::boxed::Box::new(
1477                                            ::ethers::core::abi::ethabi::ParamType::Address,
1478                                        ),
1479                                    ),
1480                                    indexed: false,
1481                                },
1482                                ::ethers::core::abi::ethabi::EventParam {
1483                                    name: ::std::borrow::ToOwned::to_owned("threshold"),
1484                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1485                                        256usize,
1486                                    ),
1487                                    indexed: false,
1488                                },
1489                                ::ethers::core::abi::ethabi::EventParam {
1490                                    name: ::std::borrow::ToOwned::to_owned("initializer"),
1491                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1492                                    indexed: false,
1493                                },
1494                                ::ethers::core::abi::ethabi::EventParam {
1495                                    name: ::std::borrow::ToOwned::to_owned("fallbackHandler"),
1496                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1497                                    indexed: false,
1498                                },
1499                            ],
1500                            anonymous: false,
1501                        },
1502                    ],
1503                ),
1504                (
1505                    ::std::borrow::ToOwned::to_owned("SignMsg"),
1506                    ::std::vec![
1507                        ::ethers::core::abi::ethabi::Event {
1508                            name: ::std::borrow::ToOwned::to_owned("SignMsg"),
1509                            inputs: ::std::vec![
1510                                ::ethers::core::abi::ethabi::EventParam {
1511                                    name: ::std::borrow::ToOwned::to_owned("msgHash"),
1512                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1513                                        32usize,
1514                                    ),
1515                                    indexed: true,
1516                                },
1517                            ],
1518                            anonymous: false,
1519                        },
1520                    ],
1521                ),
1522            ]),
1523            errors: ::std::collections::BTreeMap::new(),
1524            receive: true,
1525            fallback: true,
1526        }
1527    }
1528    ///The parsed JSON ABI of the contract.
1529    pub static SAFE_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(
1530        __abi,
1531    );
1532    pub struct safe<M>(::ethers::contract::Contract<M>);
1533    impl<M> ::core::clone::Clone for safe<M> {
1534        fn clone(&self) -> Self {
1535            Self(::core::clone::Clone::clone(&self.0))
1536        }
1537    }
1538    impl<M> ::core::ops::Deref for safe<M> {
1539        type Target = ::ethers::contract::Contract<M>;
1540        fn deref(&self) -> &Self::Target {
1541            &self.0
1542        }
1543    }
1544    impl<M> ::core::ops::DerefMut for safe<M> {
1545        fn deref_mut(&mut self) -> &mut Self::Target {
1546            &mut self.0
1547        }
1548    }
1549    impl<M> ::core::fmt::Debug for safe<M> {
1550        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1551            f.debug_tuple(::core::stringify!(safe)).field(&self.address()).finish()
1552        }
1553    }
1554    impl<M: ::ethers::providers::Middleware> safe<M> {
1555        /// Creates a new contract instance with the specified `ethers` client at
1556        /// `address`. The contract derefs to a `ethers::Contract` object.
1557        pub fn new<T: Into<::ethers::core::types::Address>>(
1558            address: T,
1559            client: ::std::sync::Arc<M>,
1560        ) -> Self {
1561            Self(
1562                ::ethers::contract::Contract::new(
1563                    address.into(),
1564                    SAFE_ABI.clone(),
1565                    client,
1566                ),
1567            )
1568        }
1569        ///Calls the contract's `VERSION` (0xffa1ad74) function
1570        pub fn version(
1571            &self,
1572        ) -> ::ethers::contract::builders::ContractCall<M, ::std::string::String> {
1573            self.0
1574                .method_hash([255, 161, 173, 116], ())
1575                .expect("method not found (this should never happen)")
1576        }
1577        ///Calls the contract's `addOwnerWithThreshold` (0x0d582f13) function
1578        pub fn add_owner_with_threshold(
1579            &self,
1580            owner: ::ethers::core::types::Address,
1581            threshold: ::ethers::core::types::U256,
1582        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1583            self.0
1584                .method_hash([13, 88, 47, 19], (owner, threshold))
1585                .expect("method not found (this should never happen)")
1586        }
1587        ///Calls the contract's `approveHash` (0xd4d9bdcd) function
1588        pub fn approve_hash(
1589            &self,
1590            hash_to_approve: [u8; 32],
1591        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1592            self.0
1593                .method_hash([212, 217, 189, 205], hash_to_approve)
1594                .expect("method not found (this should never happen)")
1595        }
1596        ///Calls the contract's `approvedHashes` (0x7d832974) function
1597        pub fn approved_hashes(
1598            &self,
1599            p0: ::ethers::core::types::Address,
1600            p1: [u8; 32],
1601        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1602            self.0
1603                .method_hash([125, 131, 41, 116], (p0, p1))
1604                .expect("method not found (this should never happen)")
1605        }
1606        ///Calls the contract's `changeThreshold` (0x694e80c3) function
1607        pub fn change_threshold(
1608            &self,
1609            threshold: ::ethers::core::types::U256,
1610        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1611            self.0
1612                .method_hash([105, 78, 128, 195], threshold)
1613                .expect("method not found (this should never happen)")
1614        }
1615        ///Calls the contract's `checkNSignatures` (0x12fb68e0) function
1616        pub fn check_n_signatures(
1617            &self,
1618            data_hash: [u8; 32],
1619            data: ::ethers::core::types::Bytes,
1620            signatures: ::ethers::core::types::Bytes,
1621            required_signatures: ::ethers::core::types::U256,
1622        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1623            self.0
1624                .method_hash(
1625                    [18, 251, 104, 224],
1626                    (data_hash, data, signatures, required_signatures),
1627                )
1628                .expect("method not found (this should never happen)")
1629        }
1630        ///Calls the contract's `checkSignatures` (0x934f3a11) function
1631        pub fn check_signatures(
1632            &self,
1633            data_hash: [u8; 32],
1634            data: ::ethers::core::types::Bytes,
1635            signatures: ::ethers::core::types::Bytes,
1636        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1637            self.0
1638                .method_hash([147, 79, 58, 17], (data_hash, data, signatures))
1639                .expect("method not found (this should never happen)")
1640        }
1641        ///Calls the contract's `disableModule` (0xe009cfde) function
1642        pub fn disable_module(
1643            &self,
1644            prev_module: ::ethers::core::types::Address,
1645            module: ::ethers::core::types::Address,
1646        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1647            self.0
1648                .method_hash([224, 9, 207, 222], (prev_module, module))
1649                .expect("method not found (this should never happen)")
1650        }
1651        ///Calls the contract's `domainSeparator` (0xf698da25) function
1652        pub fn domain_separator(
1653            &self,
1654        ) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
1655            self.0
1656                .method_hash([246, 152, 218, 37], ())
1657                .expect("method not found (this should never happen)")
1658        }
1659        ///Calls the contract's `enableModule` (0x610b5925) function
1660        pub fn enable_module(
1661            &self,
1662            module: ::ethers::core::types::Address,
1663        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1664            self.0
1665                .method_hash([97, 11, 89, 37], module)
1666                .expect("method not found (this should never happen)")
1667        }
1668        ///Calls the contract's `encodeTransactionData` (0xe86637db) function
1669        pub fn encode_transaction_data(
1670            &self,
1671            to: ::ethers::core::types::Address,
1672            value: ::ethers::core::types::U256,
1673            data: ::ethers::core::types::Bytes,
1674            operation: u8,
1675            safe_tx_gas: ::ethers::core::types::U256,
1676            base_gas: ::ethers::core::types::U256,
1677            gas_price: ::ethers::core::types::U256,
1678            gas_token: ::ethers::core::types::Address,
1679            refund_receiver: ::ethers::core::types::Address,
1680            nonce: ::ethers::core::types::U256,
1681        ) -> ::ethers::contract::builders::ContractCall<
1682            M,
1683            ::ethers::core::types::Bytes,
1684        > {
1685            self.0
1686                .method_hash(
1687                    [232, 102, 55, 219],
1688                    (
1689                        to,
1690                        value,
1691                        data,
1692                        operation,
1693                        safe_tx_gas,
1694                        base_gas,
1695                        gas_price,
1696                        gas_token,
1697                        refund_receiver,
1698                        nonce,
1699                    ),
1700                )
1701                .expect("method not found (this should never happen)")
1702        }
1703        ///Calls the contract's `execTransaction` (0x6a761202) function
1704        pub fn exec_transaction(
1705            &self,
1706            to: ::ethers::core::types::Address,
1707            value: ::ethers::core::types::U256,
1708            data: ::ethers::core::types::Bytes,
1709            operation: u8,
1710            safe_tx_gas: ::ethers::core::types::U256,
1711            base_gas: ::ethers::core::types::U256,
1712            gas_price: ::ethers::core::types::U256,
1713            gas_token: ::ethers::core::types::Address,
1714            refund_receiver: ::ethers::core::types::Address,
1715            signatures: ::ethers::core::types::Bytes,
1716        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1717            self.0
1718                .method_hash(
1719                    [106, 118, 18, 2],
1720                    (
1721                        to,
1722                        value,
1723                        data,
1724                        operation,
1725                        safe_tx_gas,
1726                        base_gas,
1727                        gas_price,
1728                        gas_token,
1729                        refund_receiver,
1730                        signatures,
1731                    ),
1732                )
1733                .expect("method not found (this should never happen)")
1734        }
1735        ///Calls the contract's `execTransactionFromModule` (0x468721a7) function
1736        pub fn exec_transaction_from_module(
1737            &self,
1738            to: ::ethers::core::types::Address,
1739            value: ::ethers::core::types::U256,
1740            data: ::ethers::core::types::Bytes,
1741            operation: u8,
1742        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1743            self.0
1744                .method_hash([70, 135, 33, 167], (to, value, data, operation))
1745                .expect("method not found (this should never happen)")
1746        }
1747        ///Calls the contract's `execTransactionFromModuleReturnData` (0x5229073f) function
1748        pub fn exec_transaction_from_module_return_data(
1749            &self,
1750            to: ::ethers::core::types::Address,
1751            value: ::ethers::core::types::U256,
1752            data: ::ethers::core::types::Bytes,
1753            operation: u8,
1754        ) -> ::ethers::contract::builders::ContractCall<
1755            M,
1756            (bool, ::ethers::core::types::Bytes),
1757        > {
1758            self.0
1759                .method_hash([82, 41, 7, 63], (to, value, data, operation))
1760                .expect("method not found (this should never happen)")
1761        }
1762        ///Calls the contract's `getChainId` (0x3408e470) function
1763        pub fn get_chain_id(
1764            &self,
1765        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1766            self.0
1767                .method_hash([52, 8, 228, 112], ())
1768                .expect("method not found (this should never happen)")
1769        }
1770        ///Calls the contract's `getModulesPaginated` (0xcc2f8452) function
1771        pub fn get_modules_paginated(
1772            &self,
1773            start: ::ethers::core::types::Address,
1774            page_size: ::ethers::core::types::U256,
1775        ) -> ::ethers::contract::builders::ContractCall<
1776            M,
1777            (
1778                ::std::vec::Vec<::ethers::core::types::Address>,
1779                ::ethers::core::types::Address,
1780            ),
1781        > {
1782            self.0
1783                .method_hash([204, 47, 132, 82], (start, page_size))
1784                .expect("method not found (this should never happen)")
1785        }
1786        ///Calls the contract's `getOwners` (0xa0e67e2b) function
1787        pub fn get_owners(
1788            &self,
1789        ) -> ::ethers::contract::builders::ContractCall<
1790            M,
1791            ::std::vec::Vec<::ethers::core::types::Address>,
1792        > {
1793            self.0
1794                .method_hash([160, 230, 126, 43], ())
1795                .expect("method not found (this should never happen)")
1796        }
1797        ///Calls the contract's `getStorageAt` (0x5624b25b) function
1798        pub fn get_storage_at(
1799            &self,
1800            offset: ::ethers::core::types::U256,
1801            length: ::ethers::core::types::U256,
1802        ) -> ::ethers::contract::builders::ContractCall<
1803            M,
1804            ::ethers::core::types::Bytes,
1805        > {
1806            self.0
1807                .method_hash([86, 36, 178, 91], (offset, length))
1808                .expect("method not found (this should never happen)")
1809        }
1810        ///Calls the contract's `getThreshold` (0xe75235b8) function
1811        pub fn get_threshold(
1812            &self,
1813        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1814            self.0
1815                .method_hash([231, 82, 53, 184], ())
1816                .expect("method not found (this should never happen)")
1817        }
1818        ///Calls the contract's `getTransactionHash` (0xd8d11f78) function
1819        pub fn get_transaction_hash(
1820            &self,
1821            to: ::ethers::core::types::Address,
1822            value: ::ethers::core::types::U256,
1823            data: ::ethers::core::types::Bytes,
1824            operation: u8,
1825            safe_tx_gas: ::ethers::core::types::U256,
1826            base_gas: ::ethers::core::types::U256,
1827            gas_price: ::ethers::core::types::U256,
1828            gas_token: ::ethers::core::types::Address,
1829            refund_receiver: ::ethers::core::types::Address,
1830            nonce: ::ethers::core::types::U256,
1831        ) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
1832            self.0
1833                .method_hash(
1834                    [216, 209, 31, 120],
1835                    (
1836                        to,
1837                        value,
1838                        data,
1839                        operation,
1840                        safe_tx_gas,
1841                        base_gas,
1842                        gas_price,
1843                        gas_token,
1844                        refund_receiver,
1845                        nonce,
1846                    ),
1847                )
1848                .expect("method not found (this should never happen)")
1849        }
1850        ///Calls the contract's `isModuleEnabled` (0x2d9ad53d) function
1851        pub fn is_module_enabled(
1852            &self,
1853            module: ::ethers::core::types::Address,
1854        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1855            self.0
1856                .method_hash([45, 154, 213, 61], module)
1857                .expect("method not found (this should never happen)")
1858        }
1859        ///Calls the contract's `isOwner` (0x2f54bf6e) function
1860        pub fn is_owner(
1861            &self,
1862            owner: ::ethers::core::types::Address,
1863        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
1864            self.0
1865                .method_hash([47, 84, 191, 110], owner)
1866                .expect("method not found (this should never happen)")
1867        }
1868        ///Calls the contract's `nonce` (0xaffed0e0) function
1869        pub fn nonce(
1870            &self,
1871        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1872            self.0
1873                .method_hash([175, 254, 208, 224], ())
1874                .expect("method not found (this should never happen)")
1875        }
1876        ///Calls the contract's `removeOwner` (0xf8dc5dd9) function
1877        pub fn remove_owner(
1878            &self,
1879            prev_owner: ::ethers::core::types::Address,
1880            owner: ::ethers::core::types::Address,
1881            threshold: ::ethers::core::types::U256,
1882        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1883            self.0
1884                .method_hash([248, 220, 93, 217], (prev_owner, owner, threshold))
1885                .expect("method not found (this should never happen)")
1886        }
1887        ///Calls the contract's `setFallbackHandler` (0xf08a0323) function
1888        pub fn set_fallback_handler(
1889            &self,
1890            handler: ::ethers::core::types::Address,
1891        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1892            self.0
1893                .method_hash([240, 138, 3, 35], handler)
1894                .expect("method not found (this should never happen)")
1895        }
1896        ///Calls the contract's `setGuard` (0xe19a9dd9) function
1897        pub fn set_guard(
1898            &self,
1899            guard: ::ethers::core::types::Address,
1900        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1901            self.0
1902                .method_hash([225, 154, 157, 217], guard)
1903                .expect("method not found (this should never happen)")
1904        }
1905        ///Calls the contract's `setup` (0xb63e800d) function
1906        pub fn setup(
1907            &self,
1908            owners: ::std::vec::Vec<::ethers::core::types::Address>,
1909            threshold: ::ethers::core::types::U256,
1910            to: ::ethers::core::types::Address,
1911            data: ::ethers::core::types::Bytes,
1912            fallback_handler: ::ethers::core::types::Address,
1913            payment_token: ::ethers::core::types::Address,
1914            payment: ::ethers::core::types::U256,
1915            payment_receiver: ::ethers::core::types::Address,
1916        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1917            self.0
1918                .method_hash(
1919                    [182, 62, 128, 13],
1920                    (
1921                        owners,
1922                        threshold,
1923                        to,
1924                        data,
1925                        fallback_handler,
1926                        payment_token,
1927                        payment,
1928                        payment_receiver,
1929                    ),
1930                )
1931                .expect("method not found (this should never happen)")
1932        }
1933        ///Calls the contract's `signedMessages` (0x5ae6bd37) function
1934        pub fn signed_messages(
1935            &self,
1936            p0: [u8; 32],
1937        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
1938            self.0
1939                .method_hash([90, 230, 189, 55], p0)
1940                .expect("method not found (this should never happen)")
1941        }
1942        ///Calls the contract's `simulateAndRevert` (0xb4faba09) function
1943        pub fn simulate_and_revert(
1944            &self,
1945            target_contract: ::ethers::core::types::Address,
1946            calldata_payload: ::ethers::core::types::Bytes,
1947        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1948            self.0
1949                .method_hash([180, 250, 186, 9], (target_contract, calldata_payload))
1950                .expect("method not found (this should never happen)")
1951        }
1952        ///Calls the contract's `swapOwner` (0xe318b52b) function
1953        pub fn swap_owner(
1954            &self,
1955            prev_owner: ::ethers::core::types::Address,
1956            old_owner: ::ethers::core::types::Address,
1957            new_owner: ::ethers::core::types::Address,
1958        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
1959            self.0
1960                .method_hash([227, 24, 181, 43], (prev_owner, old_owner, new_owner))
1961                .expect("method not found (this should never happen)")
1962        }
1963        ///Gets the contract's `AddedOwner` event
1964        pub fn added_owner_filter(
1965            &self,
1966        ) -> ::ethers::contract::builders::Event<
1967            ::std::sync::Arc<M>,
1968            M,
1969            AddedOwnerFilter,
1970        > {
1971            self.0.event()
1972        }
1973        ///Gets the contract's `ApproveHash` event
1974        pub fn approve_hash_filter(
1975            &self,
1976        ) -> ::ethers::contract::builders::Event<
1977            ::std::sync::Arc<M>,
1978            M,
1979            ApproveHashFilter,
1980        > {
1981            self.0.event()
1982        }
1983        ///Gets the contract's `ChangedFallbackHandler` event
1984        pub fn changed_fallback_handler_filter(
1985            &self,
1986        ) -> ::ethers::contract::builders::Event<
1987            ::std::sync::Arc<M>,
1988            M,
1989            ChangedFallbackHandlerFilter,
1990        > {
1991            self.0.event()
1992        }
1993        ///Gets the contract's `ChangedGuard` event
1994        pub fn changed_guard_filter(
1995            &self,
1996        ) -> ::ethers::contract::builders::Event<
1997            ::std::sync::Arc<M>,
1998            M,
1999            ChangedGuardFilter,
2000        > {
2001            self.0.event()
2002        }
2003        ///Gets the contract's `ChangedThreshold` event
2004        pub fn changed_threshold_filter(
2005            &self,
2006        ) -> ::ethers::contract::builders::Event<
2007            ::std::sync::Arc<M>,
2008            M,
2009            ChangedThresholdFilter,
2010        > {
2011            self.0.event()
2012        }
2013        ///Gets the contract's `DisabledModule` event
2014        pub fn disabled_module_filter(
2015            &self,
2016        ) -> ::ethers::contract::builders::Event<
2017            ::std::sync::Arc<M>,
2018            M,
2019            DisabledModuleFilter,
2020        > {
2021            self.0.event()
2022        }
2023        ///Gets the contract's `EnabledModule` event
2024        pub fn enabled_module_filter(
2025            &self,
2026        ) -> ::ethers::contract::builders::Event<
2027            ::std::sync::Arc<M>,
2028            M,
2029            EnabledModuleFilter,
2030        > {
2031            self.0.event()
2032        }
2033        ///Gets the contract's `ExecutionFailure` event
2034        pub fn execution_failure_filter(
2035            &self,
2036        ) -> ::ethers::contract::builders::Event<
2037            ::std::sync::Arc<M>,
2038            M,
2039            ExecutionFailureFilter,
2040        > {
2041            self.0.event()
2042        }
2043        ///Gets the contract's `ExecutionFromModuleFailure` event
2044        pub fn execution_from_module_failure_filter(
2045            &self,
2046        ) -> ::ethers::contract::builders::Event<
2047            ::std::sync::Arc<M>,
2048            M,
2049            ExecutionFromModuleFailureFilter,
2050        > {
2051            self.0.event()
2052        }
2053        ///Gets the contract's `ExecutionFromModuleSuccess` event
2054        pub fn execution_from_module_success_filter(
2055            &self,
2056        ) -> ::ethers::contract::builders::Event<
2057            ::std::sync::Arc<M>,
2058            M,
2059            ExecutionFromModuleSuccessFilter,
2060        > {
2061            self.0.event()
2062        }
2063        ///Gets the contract's `ExecutionSuccess` event
2064        pub fn execution_success_filter(
2065            &self,
2066        ) -> ::ethers::contract::builders::Event<
2067            ::std::sync::Arc<M>,
2068            M,
2069            ExecutionSuccessFilter,
2070        > {
2071            self.0.event()
2072        }
2073        ///Gets the contract's `RemovedOwner` event
2074        pub fn removed_owner_filter(
2075            &self,
2076        ) -> ::ethers::contract::builders::Event<
2077            ::std::sync::Arc<M>,
2078            M,
2079            RemovedOwnerFilter,
2080        > {
2081            self.0.event()
2082        }
2083        ///Gets the contract's `SafeReceived` event
2084        pub fn safe_received_filter(
2085            &self,
2086        ) -> ::ethers::contract::builders::Event<
2087            ::std::sync::Arc<M>,
2088            M,
2089            SafeReceivedFilter,
2090        > {
2091            self.0.event()
2092        }
2093        ///Gets the contract's `SafeSetup` event
2094        pub fn safe_setup_filter(
2095            &self,
2096        ) -> ::ethers::contract::builders::Event<
2097            ::std::sync::Arc<M>,
2098            M,
2099            SafeSetupFilter,
2100        > {
2101            self.0.event()
2102        }
2103        ///Gets the contract's `SignMsg` event
2104        pub fn sign_msg_filter(
2105            &self,
2106        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, SignMsgFilter> {
2107            self.0.event()
2108        }
2109        /// Returns an `Event` builder for all the events of this contract.
2110        pub fn events(
2111            &self,
2112        ) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, safeEvents> {
2113            self.0.event_with_filter(::core::default::Default::default())
2114        }
2115    }
2116    impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
2117    for safe<M> {
2118        fn from(contract: ::ethers::contract::Contract<M>) -> Self {
2119            Self::new(contract.address(), contract.client())
2120        }
2121    }
2122    #[derive(
2123        Clone,
2124        ::ethers::contract::EthEvent,
2125        ::ethers::contract::EthDisplay,
2126        Default,
2127        Debug,
2128        PartialEq,
2129        Eq,
2130        Hash
2131    )]
2132    #[ethevent(name = "AddedOwner", abi = "AddedOwner(address)")]
2133    pub struct AddedOwnerFilter {
2134        #[ethevent(indexed)]
2135        pub owner: ::ethers::core::types::Address,
2136    }
2137    #[derive(
2138        Clone,
2139        ::ethers::contract::EthEvent,
2140        ::ethers::contract::EthDisplay,
2141        Default,
2142        Debug,
2143        PartialEq,
2144        Eq,
2145        Hash
2146    )]
2147    #[ethevent(name = "ApproveHash", abi = "ApproveHash(bytes32,address)")]
2148    pub struct ApproveHashFilter {
2149        #[ethevent(indexed)]
2150        pub approved_hash: [u8; 32],
2151        #[ethevent(indexed)]
2152        pub owner: ::ethers::core::types::Address,
2153    }
2154    #[derive(
2155        Clone,
2156        ::ethers::contract::EthEvent,
2157        ::ethers::contract::EthDisplay,
2158        Default,
2159        Debug,
2160        PartialEq,
2161        Eq,
2162        Hash
2163    )]
2164    #[ethevent(name = "ChangedFallbackHandler", abi = "ChangedFallbackHandler(address)")]
2165    pub struct ChangedFallbackHandlerFilter {
2166        #[ethevent(indexed)]
2167        pub handler: ::ethers::core::types::Address,
2168    }
2169    #[derive(
2170        Clone,
2171        ::ethers::contract::EthEvent,
2172        ::ethers::contract::EthDisplay,
2173        Default,
2174        Debug,
2175        PartialEq,
2176        Eq,
2177        Hash
2178    )]
2179    #[ethevent(name = "ChangedGuard", abi = "ChangedGuard(address)")]
2180    pub struct ChangedGuardFilter {
2181        #[ethevent(indexed)]
2182        pub guard: ::ethers::core::types::Address,
2183    }
2184    #[derive(
2185        Clone,
2186        ::ethers::contract::EthEvent,
2187        ::ethers::contract::EthDisplay,
2188        Default,
2189        Debug,
2190        PartialEq,
2191        Eq,
2192        Hash
2193    )]
2194    #[ethevent(name = "ChangedThreshold", abi = "ChangedThreshold(uint256)")]
2195    pub struct ChangedThresholdFilter {
2196        pub threshold: ::ethers::core::types::U256,
2197    }
2198    #[derive(
2199        Clone,
2200        ::ethers::contract::EthEvent,
2201        ::ethers::contract::EthDisplay,
2202        Default,
2203        Debug,
2204        PartialEq,
2205        Eq,
2206        Hash
2207    )]
2208    #[ethevent(name = "DisabledModule", abi = "DisabledModule(address)")]
2209    pub struct DisabledModuleFilter {
2210        #[ethevent(indexed)]
2211        pub module: ::ethers::core::types::Address,
2212    }
2213    #[derive(
2214        Clone,
2215        ::ethers::contract::EthEvent,
2216        ::ethers::contract::EthDisplay,
2217        Default,
2218        Debug,
2219        PartialEq,
2220        Eq,
2221        Hash
2222    )]
2223    #[ethevent(name = "EnabledModule", abi = "EnabledModule(address)")]
2224    pub struct EnabledModuleFilter {
2225        #[ethevent(indexed)]
2226        pub module: ::ethers::core::types::Address,
2227    }
2228    #[derive(
2229        Clone,
2230        ::ethers::contract::EthEvent,
2231        ::ethers::contract::EthDisplay,
2232        Default,
2233        Debug,
2234        PartialEq,
2235        Eq,
2236        Hash
2237    )]
2238    #[ethevent(name = "ExecutionFailure", abi = "ExecutionFailure(bytes32,uint256)")]
2239    pub struct ExecutionFailureFilter {
2240        #[ethevent(indexed)]
2241        pub tx_hash: [u8; 32],
2242        pub payment: ::ethers::core::types::U256,
2243    }
2244    #[derive(
2245        Clone,
2246        ::ethers::contract::EthEvent,
2247        ::ethers::contract::EthDisplay,
2248        Default,
2249        Debug,
2250        PartialEq,
2251        Eq,
2252        Hash
2253    )]
2254    #[ethevent(
2255        name = "ExecutionFromModuleFailure",
2256        abi = "ExecutionFromModuleFailure(address)"
2257    )]
2258    pub struct ExecutionFromModuleFailureFilter {
2259        #[ethevent(indexed)]
2260        pub module: ::ethers::core::types::Address,
2261    }
2262    #[derive(
2263        Clone,
2264        ::ethers::contract::EthEvent,
2265        ::ethers::contract::EthDisplay,
2266        Default,
2267        Debug,
2268        PartialEq,
2269        Eq,
2270        Hash
2271    )]
2272    #[ethevent(
2273        name = "ExecutionFromModuleSuccess",
2274        abi = "ExecutionFromModuleSuccess(address)"
2275    )]
2276    pub struct ExecutionFromModuleSuccessFilter {
2277        #[ethevent(indexed)]
2278        pub module: ::ethers::core::types::Address,
2279    }
2280    #[derive(
2281        Clone,
2282        ::ethers::contract::EthEvent,
2283        ::ethers::contract::EthDisplay,
2284        Default,
2285        Debug,
2286        PartialEq,
2287        Eq,
2288        Hash
2289    )]
2290    #[ethevent(name = "ExecutionSuccess", abi = "ExecutionSuccess(bytes32,uint256)")]
2291    pub struct ExecutionSuccessFilter {
2292        #[ethevent(indexed)]
2293        pub tx_hash: [u8; 32],
2294        pub payment: ::ethers::core::types::U256,
2295    }
2296    #[derive(
2297        Clone,
2298        ::ethers::contract::EthEvent,
2299        ::ethers::contract::EthDisplay,
2300        Default,
2301        Debug,
2302        PartialEq,
2303        Eq,
2304        Hash
2305    )]
2306    #[ethevent(name = "RemovedOwner", abi = "RemovedOwner(address)")]
2307    pub struct RemovedOwnerFilter {
2308        #[ethevent(indexed)]
2309        pub owner: ::ethers::core::types::Address,
2310    }
2311    #[derive(
2312        Clone,
2313        ::ethers::contract::EthEvent,
2314        ::ethers::contract::EthDisplay,
2315        Default,
2316        Debug,
2317        PartialEq,
2318        Eq,
2319        Hash
2320    )]
2321    #[ethevent(name = "SafeReceived", abi = "SafeReceived(address,uint256)")]
2322    pub struct SafeReceivedFilter {
2323        #[ethevent(indexed)]
2324        pub sender: ::ethers::core::types::Address,
2325        pub value: ::ethers::core::types::U256,
2326    }
2327    #[derive(
2328        Clone,
2329        ::ethers::contract::EthEvent,
2330        ::ethers::contract::EthDisplay,
2331        Default,
2332        Debug,
2333        PartialEq,
2334        Eq,
2335        Hash
2336    )]
2337    #[ethevent(
2338        name = "SafeSetup",
2339        abi = "SafeSetup(address,address[],uint256,address,address)"
2340    )]
2341    pub struct SafeSetupFilter {
2342        #[ethevent(indexed)]
2343        pub initiator: ::ethers::core::types::Address,
2344        pub owners: ::std::vec::Vec<::ethers::core::types::Address>,
2345        pub threshold: ::ethers::core::types::U256,
2346        pub initializer: ::ethers::core::types::Address,
2347        pub fallback_handler: ::ethers::core::types::Address,
2348    }
2349    #[derive(
2350        Clone,
2351        ::ethers::contract::EthEvent,
2352        ::ethers::contract::EthDisplay,
2353        Default,
2354        Debug,
2355        PartialEq,
2356        Eq,
2357        Hash
2358    )]
2359    #[ethevent(name = "SignMsg", abi = "SignMsg(bytes32)")]
2360    pub struct SignMsgFilter {
2361        #[ethevent(indexed)]
2362        pub msg_hash: [u8; 32],
2363    }
2364    ///Container type for all of the contract's events
2365    #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
2366    pub enum safeEvents {
2367        AddedOwnerFilter(AddedOwnerFilter),
2368        ApproveHashFilter(ApproveHashFilter),
2369        ChangedFallbackHandlerFilter(ChangedFallbackHandlerFilter),
2370        ChangedGuardFilter(ChangedGuardFilter),
2371        ChangedThresholdFilter(ChangedThresholdFilter),
2372        DisabledModuleFilter(DisabledModuleFilter),
2373        EnabledModuleFilter(EnabledModuleFilter),
2374        ExecutionFailureFilter(ExecutionFailureFilter),
2375        ExecutionFromModuleFailureFilter(ExecutionFromModuleFailureFilter),
2376        ExecutionFromModuleSuccessFilter(ExecutionFromModuleSuccessFilter),
2377        ExecutionSuccessFilter(ExecutionSuccessFilter),
2378        RemovedOwnerFilter(RemovedOwnerFilter),
2379        SafeReceivedFilter(SafeReceivedFilter),
2380        SafeSetupFilter(SafeSetupFilter),
2381        SignMsgFilter(SignMsgFilter),
2382    }
2383    impl ::ethers::contract::EthLogDecode for safeEvents {
2384        fn decode_log(
2385            log: &::ethers::core::abi::RawLog,
2386        ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
2387            if let Ok(decoded) = AddedOwnerFilter::decode_log(log) {
2388                return Ok(safeEvents::AddedOwnerFilter(decoded));
2389            }
2390            if let Ok(decoded) = ApproveHashFilter::decode_log(log) {
2391                return Ok(safeEvents::ApproveHashFilter(decoded));
2392            }
2393            if let Ok(decoded) = ChangedFallbackHandlerFilter::decode_log(log) {
2394                return Ok(safeEvents::ChangedFallbackHandlerFilter(decoded));
2395            }
2396            if let Ok(decoded) = ChangedGuardFilter::decode_log(log) {
2397                return Ok(safeEvents::ChangedGuardFilter(decoded));
2398            }
2399            if let Ok(decoded) = ChangedThresholdFilter::decode_log(log) {
2400                return Ok(safeEvents::ChangedThresholdFilter(decoded));
2401            }
2402            if let Ok(decoded) = DisabledModuleFilter::decode_log(log) {
2403                return Ok(safeEvents::DisabledModuleFilter(decoded));
2404            }
2405            if let Ok(decoded) = EnabledModuleFilter::decode_log(log) {
2406                return Ok(safeEvents::EnabledModuleFilter(decoded));
2407            }
2408            if let Ok(decoded) = ExecutionFailureFilter::decode_log(log) {
2409                return Ok(safeEvents::ExecutionFailureFilter(decoded));
2410            }
2411            if let Ok(decoded) = ExecutionFromModuleFailureFilter::decode_log(log) {
2412                return Ok(safeEvents::ExecutionFromModuleFailureFilter(decoded));
2413            }
2414            if let Ok(decoded) = ExecutionFromModuleSuccessFilter::decode_log(log) {
2415                return Ok(safeEvents::ExecutionFromModuleSuccessFilter(decoded));
2416            }
2417            if let Ok(decoded) = ExecutionSuccessFilter::decode_log(log) {
2418                return Ok(safeEvents::ExecutionSuccessFilter(decoded));
2419            }
2420            if let Ok(decoded) = RemovedOwnerFilter::decode_log(log) {
2421                return Ok(safeEvents::RemovedOwnerFilter(decoded));
2422            }
2423            if let Ok(decoded) = SafeReceivedFilter::decode_log(log) {
2424                return Ok(safeEvents::SafeReceivedFilter(decoded));
2425            }
2426            if let Ok(decoded) = SafeSetupFilter::decode_log(log) {
2427                return Ok(safeEvents::SafeSetupFilter(decoded));
2428            }
2429            if let Ok(decoded) = SignMsgFilter::decode_log(log) {
2430                return Ok(safeEvents::SignMsgFilter(decoded));
2431            }
2432            Err(::ethers::core::abi::Error::InvalidData)
2433        }
2434    }
2435    impl ::core::fmt::Display for safeEvents {
2436        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2437            match self {
2438                Self::AddedOwnerFilter(element) => ::core::fmt::Display::fmt(element, f),
2439                Self::ApproveHashFilter(element) => ::core::fmt::Display::fmt(element, f),
2440                Self::ChangedFallbackHandlerFilter(element) => {
2441                    ::core::fmt::Display::fmt(element, f)
2442                }
2443                Self::ChangedGuardFilter(element) => {
2444                    ::core::fmt::Display::fmt(element, f)
2445                }
2446                Self::ChangedThresholdFilter(element) => {
2447                    ::core::fmt::Display::fmt(element, f)
2448                }
2449                Self::DisabledModuleFilter(element) => {
2450                    ::core::fmt::Display::fmt(element, f)
2451                }
2452                Self::EnabledModuleFilter(element) => {
2453                    ::core::fmt::Display::fmt(element, f)
2454                }
2455                Self::ExecutionFailureFilter(element) => {
2456                    ::core::fmt::Display::fmt(element, f)
2457                }
2458                Self::ExecutionFromModuleFailureFilter(element) => {
2459                    ::core::fmt::Display::fmt(element, f)
2460                }
2461                Self::ExecutionFromModuleSuccessFilter(element) => {
2462                    ::core::fmt::Display::fmt(element, f)
2463                }
2464                Self::ExecutionSuccessFilter(element) => {
2465                    ::core::fmt::Display::fmt(element, f)
2466                }
2467                Self::RemovedOwnerFilter(element) => {
2468                    ::core::fmt::Display::fmt(element, f)
2469                }
2470                Self::SafeReceivedFilter(element) => {
2471                    ::core::fmt::Display::fmt(element, f)
2472                }
2473                Self::SafeSetupFilter(element) => ::core::fmt::Display::fmt(element, f),
2474                Self::SignMsgFilter(element) => ::core::fmt::Display::fmt(element, f),
2475            }
2476        }
2477    }
2478    impl ::core::convert::From<AddedOwnerFilter> for safeEvents {
2479        fn from(value: AddedOwnerFilter) -> Self {
2480            Self::AddedOwnerFilter(value)
2481        }
2482    }
2483    impl ::core::convert::From<ApproveHashFilter> for safeEvents {
2484        fn from(value: ApproveHashFilter) -> Self {
2485            Self::ApproveHashFilter(value)
2486        }
2487    }
2488    impl ::core::convert::From<ChangedFallbackHandlerFilter> for safeEvents {
2489        fn from(value: ChangedFallbackHandlerFilter) -> Self {
2490            Self::ChangedFallbackHandlerFilter(value)
2491        }
2492    }
2493    impl ::core::convert::From<ChangedGuardFilter> for safeEvents {
2494        fn from(value: ChangedGuardFilter) -> Self {
2495            Self::ChangedGuardFilter(value)
2496        }
2497    }
2498    impl ::core::convert::From<ChangedThresholdFilter> for safeEvents {
2499        fn from(value: ChangedThresholdFilter) -> Self {
2500            Self::ChangedThresholdFilter(value)
2501        }
2502    }
2503    impl ::core::convert::From<DisabledModuleFilter> for safeEvents {
2504        fn from(value: DisabledModuleFilter) -> Self {
2505            Self::DisabledModuleFilter(value)
2506        }
2507    }
2508    impl ::core::convert::From<EnabledModuleFilter> for safeEvents {
2509        fn from(value: EnabledModuleFilter) -> Self {
2510            Self::EnabledModuleFilter(value)
2511        }
2512    }
2513    impl ::core::convert::From<ExecutionFailureFilter> for safeEvents {
2514        fn from(value: ExecutionFailureFilter) -> Self {
2515            Self::ExecutionFailureFilter(value)
2516        }
2517    }
2518    impl ::core::convert::From<ExecutionFromModuleFailureFilter> for safeEvents {
2519        fn from(value: ExecutionFromModuleFailureFilter) -> Self {
2520            Self::ExecutionFromModuleFailureFilter(value)
2521        }
2522    }
2523    impl ::core::convert::From<ExecutionFromModuleSuccessFilter> for safeEvents {
2524        fn from(value: ExecutionFromModuleSuccessFilter) -> Self {
2525            Self::ExecutionFromModuleSuccessFilter(value)
2526        }
2527    }
2528    impl ::core::convert::From<ExecutionSuccessFilter> for safeEvents {
2529        fn from(value: ExecutionSuccessFilter) -> Self {
2530            Self::ExecutionSuccessFilter(value)
2531        }
2532    }
2533    impl ::core::convert::From<RemovedOwnerFilter> for safeEvents {
2534        fn from(value: RemovedOwnerFilter) -> Self {
2535            Self::RemovedOwnerFilter(value)
2536        }
2537    }
2538    impl ::core::convert::From<SafeReceivedFilter> for safeEvents {
2539        fn from(value: SafeReceivedFilter) -> Self {
2540            Self::SafeReceivedFilter(value)
2541        }
2542    }
2543    impl ::core::convert::From<SafeSetupFilter> for safeEvents {
2544        fn from(value: SafeSetupFilter) -> Self {
2545            Self::SafeSetupFilter(value)
2546        }
2547    }
2548    impl ::core::convert::From<SignMsgFilter> for safeEvents {
2549        fn from(value: SignMsgFilter) -> Self {
2550            Self::SignMsgFilter(value)
2551        }
2552    }
2553    ///Container type for all input parameters for the `VERSION` function with signature `VERSION()` and selector `0xffa1ad74`
2554    #[derive(
2555        Clone,
2556        ::ethers::contract::EthCall,
2557        ::ethers::contract::EthDisplay,
2558        Default,
2559        Debug,
2560        PartialEq,
2561        Eq,
2562        Hash
2563    )]
2564    #[ethcall(name = "VERSION", abi = "VERSION()")]
2565    pub struct VersionCall;
2566    ///Container type for all input parameters for the `addOwnerWithThreshold` function with signature `addOwnerWithThreshold(address,uint256)` and selector `0x0d582f13`
2567    #[derive(
2568        Clone,
2569        ::ethers::contract::EthCall,
2570        ::ethers::contract::EthDisplay,
2571        Default,
2572        Debug,
2573        PartialEq,
2574        Eq,
2575        Hash
2576    )]
2577    #[ethcall(
2578        name = "addOwnerWithThreshold",
2579        abi = "addOwnerWithThreshold(address,uint256)"
2580    )]
2581    pub struct AddOwnerWithThresholdCall {
2582        pub owner: ::ethers::core::types::Address,
2583        pub threshold: ::ethers::core::types::U256,
2584    }
2585    ///Container type for all input parameters for the `approveHash` function with signature `approveHash(bytes32)` and selector `0xd4d9bdcd`
2586    #[derive(
2587        Clone,
2588        ::ethers::contract::EthCall,
2589        ::ethers::contract::EthDisplay,
2590        Default,
2591        Debug,
2592        PartialEq,
2593        Eq,
2594        Hash
2595    )]
2596    #[ethcall(name = "approveHash", abi = "approveHash(bytes32)")]
2597    pub struct ApproveHashCall {
2598        pub hash_to_approve: [u8; 32],
2599    }
2600    ///Container type for all input parameters for the `approvedHashes` function with signature `approvedHashes(address,bytes32)` and selector `0x7d832974`
2601    #[derive(
2602        Clone,
2603        ::ethers::contract::EthCall,
2604        ::ethers::contract::EthDisplay,
2605        Default,
2606        Debug,
2607        PartialEq,
2608        Eq,
2609        Hash
2610    )]
2611    #[ethcall(name = "approvedHashes", abi = "approvedHashes(address,bytes32)")]
2612    pub struct ApprovedHashesCall(pub ::ethers::core::types::Address, pub [u8; 32]);
2613    ///Container type for all input parameters for the `changeThreshold` function with signature `changeThreshold(uint256)` and selector `0x694e80c3`
2614    #[derive(
2615        Clone,
2616        ::ethers::contract::EthCall,
2617        ::ethers::contract::EthDisplay,
2618        Default,
2619        Debug,
2620        PartialEq,
2621        Eq,
2622        Hash
2623    )]
2624    #[ethcall(name = "changeThreshold", abi = "changeThreshold(uint256)")]
2625    pub struct ChangeThresholdCall {
2626        pub threshold: ::ethers::core::types::U256,
2627    }
2628    ///Container type for all input parameters for the `checkNSignatures` function with signature `checkNSignatures(bytes32,bytes,bytes,uint256)` and selector `0x12fb68e0`
2629    #[derive(
2630        Clone,
2631        ::ethers::contract::EthCall,
2632        ::ethers::contract::EthDisplay,
2633        Default,
2634        Debug,
2635        PartialEq,
2636        Eq,
2637        Hash
2638    )]
2639    #[ethcall(
2640        name = "checkNSignatures",
2641        abi = "checkNSignatures(bytes32,bytes,bytes,uint256)"
2642    )]
2643    pub struct CheckNSignaturesCall {
2644        pub data_hash: [u8; 32],
2645        pub data: ::ethers::core::types::Bytes,
2646        pub signatures: ::ethers::core::types::Bytes,
2647        pub required_signatures: ::ethers::core::types::U256,
2648    }
2649    ///Container type for all input parameters for the `checkSignatures` function with signature `checkSignatures(bytes32,bytes,bytes)` and selector `0x934f3a11`
2650    #[derive(
2651        Clone,
2652        ::ethers::contract::EthCall,
2653        ::ethers::contract::EthDisplay,
2654        Default,
2655        Debug,
2656        PartialEq,
2657        Eq,
2658        Hash
2659    )]
2660    #[ethcall(name = "checkSignatures", abi = "checkSignatures(bytes32,bytes,bytes)")]
2661    pub struct CheckSignaturesCall {
2662        pub data_hash: [u8; 32],
2663        pub data: ::ethers::core::types::Bytes,
2664        pub signatures: ::ethers::core::types::Bytes,
2665    }
2666    ///Container type for all input parameters for the `disableModule` function with signature `disableModule(address,address)` and selector `0xe009cfde`
2667    #[derive(
2668        Clone,
2669        ::ethers::contract::EthCall,
2670        ::ethers::contract::EthDisplay,
2671        Default,
2672        Debug,
2673        PartialEq,
2674        Eq,
2675        Hash
2676    )]
2677    #[ethcall(name = "disableModule", abi = "disableModule(address,address)")]
2678    pub struct DisableModuleCall {
2679        pub prev_module: ::ethers::core::types::Address,
2680        pub module: ::ethers::core::types::Address,
2681    }
2682    ///Container type for all input parameters for the `domainSeparator` function with signature `domainSeparator()` and selector `0xf698da25`
2683    #[derive(
2684        Clone,
2685        ::ethers::contract::EthCall,
2686        ::ethers::contract::EthDisplay,
2687        Default,
2688        Debug,
2689        PartialEq,
2690        Eq,
2691        Hash
2692    )]
2693    #[ethcall(name = "domainSeparator", abi = "domainSeparator()")]
2694    pub struct DomainSeparatorCall;
2695    ///Container type for all input parameters for the `enableModule` function with signature `enableModule(address)` and selector `0x610b5925`
2696    #[derive(
2697        Clone,
2698        ::ethers::contract::EthCall,
2699        ::ethers::contract::EthDisplay,
2700        Default,
2701        Debug,
2702        PartialEq,
2703        Eq,
2704        Hash
2705    )]
2706    #[ethcall(name = "enableModule", abi = "enableModule(address)")]
2707    pub struct EnableModuleCall {
2708        pub module: ::ethers::core::types::Address,
2709    }
2710    ///Container type for all input parameters for the `encodeTransactionData` function with signature `encodeTransactionData(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)` and selector `0xe86637db`
2711    #[derive(
2712        Clone,
2713        ::ethers::contract::EthCall,
2714        ::ethers::contract::EthDisplay,
2715        Default,
2716        Debug,
2717        PartialEq,
2718        Eq,
2719        Hash
2720    )]
2721    #[ethcall(
2722        name = "encodeTransactionData",
2723        abi = "encodeTransactionData(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)"
2724    )]
2725    pub struct EncodeTransactionDataCall {
2726        pub to: ::ethers::core::types::Address,
2727        pub value: ::ethers::core::types::U256,
2728        pub data: ::ethers::core::types::Bytes,
2729        pub operation: u8,
2730        pub safe_tx_gas: ::ethers::core::types::U256,
2731        pub base_gas: ::ethers::core::types::U256,
2732        pub gas_price: ::ethers::core::types::U256,
2733        pub gas_token: ::ethers::core::types::Address,
2734        pub refund_receiver: ::ethers::core::types::Address,
2735        pub nonce: ::ethers::core::types::U256,
2736    }
2737    ///Container type for all input parameters for the `execTransaction` function with signature `execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)` and selector `0x6a761202`
2738    #[derive(
2739        Clone,
2740        ::ethers::contract::EthCall,
2741        ::ethers::contract::EthDisplay,
2742        Default,
2743        Debug,
2744        PartialEq,
2745        Eq,
2746        Hash
2747    )]
2748    #[ethcall(
2749        name = "execTransaction",
2750        abi = "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)"
2751    )]
2752    pub struct ExecTransactionCall {
2753        pub to: ::ethers::core::types::Address,
2754        pub value: ::ethers::core::types::U256,
2755        pub data: ::ethers::core::types::Bytes,
2756        pub operation: u8,
2757        pub safe_tx_gas: ::ethers::core::types::U256,
2758        pub base_gas: ::ethers::core::types::U256,
2759        pub gas_price: ::ethers::core::types::U256,
2760        pub gas_token: ::ethers::core::types::Address,
2761        pub refund_receiver: ::ethers::core::types::Address,
2762        pub signatures: ::ethers::core::types::Bytes,
2763    }
2764    ///Container type for all input parameters for the `execTransactionFromModule` function with signature `execTransactionFromModule(address,uint256,bytes,uint8)` and selector `0x468721a7`
2765    #[derive(
2766        Clone,
2767        ::ethers::contract::EthCall,
2768        ::ethers::contract::EthDisplay,
2769        Default,
2770        Debug,
2771        PartialEq,
2772        Eq,
2773        Hash
2774    )]
2775    #[ethcall(
2776        name = "execTransactionFromModule",
2777        abi = "execTransactionFromModule(address,uint256,bytes,uint8)"
2778    )]
2779    pub struct ExecTransactionFromModuleCall {
2780        pub to: ::ethers::core::types::Address,
2781        pub value: ::ethers::core::types::U256,
2782        pub data: ::ethers::core::types::Bytes,
2783        pub operation: u8,
2784    }
2785    ///Container type for all input parameters for the `execTransactionFromModuleReturnData` function with signature `execTransactionFromModuleReturnData(address,uint256,bytes,uint8)` and selector `0x5229073f`
2786    #[derive(
2787        Clone,
2788        ::ethers::contract::EthCall,
2789        ::ethers::contract::EthDisplay,
2790        Default,
2791        Debug,
2792        PartialEq,
2793        Eq,
2794        Hash
2795    )]
2796    #[ethcall(
2797        name = "execTransactionFromModuleReturnData",
2798        abi = "execTransactionFromModuleReturnData(address,uint256,bytes,uint8)"
2799    )]
2800    pub struct ExecTransactionFromModuleReturnDataCall {
2801        pub to: ::ethers::core::types::Address,
2802        pub value: ::ethers::core::types::U256,
2803        pub data: ::ethers::core::types::Bytes,
2804        pub operation: u8,
2805    }
2806    ///Container type for all input parameters for the `getChainId` function with signature `getChainId()` and selector `0x3408e470`
2807    #[derive(
2808        Clone,
2809        ::ethers::contract::EthCall,
2810        ::ethers::contract::EthDisplay,
2811        Default,
2812        Debug,
2813        PartialEq,
2814        Eq,
2815        Hash
2816    )]
2817    #[ethcall(name = "getChainId", abi = "getChainId()")]
2818    pub struct GetChainIdCall;
2819    ///Container type for all input parameters for the `getModulesPaginated` function with signature `getModulesPaginated(address,uint256)` and selector `0xcc2f8452`
2820    #[derive(
2821        Clone,
2822        ::ethers::contract::EthCall,
2823        ::ethers::contract::EthDisplay,
2824        Default,
2825        Debug,
2826        PartialEq,
2827        Eq,
2828        Hash
2829    )]
2830    #[ethcall(
2831        name = "getModulesPaginated",
2832        abi = "getModulesPaginated(address,uint256)"
2833    )]
2834    pub struct GetModulesPaginatedCall {
2835        pub start: ::ethers::core::types::Address,
2836        pub page_size: ::ethers::core::types::U256,
2837    }
2838    ///Container type for all input parameters for the `getOwners` function with signature `getOwners()` and selector `0xa0e67e2b`
2839    #[derive(
2840        Clone,
2841        ::ethers::contract::EthCall,
2842        ::ethers::contract::EthDisplay,
2843        Default,
2844        Debug,
2845        PartialEq,
2846        Eq,
2847        Hash
2848    )]
2849    #[ethcall(name = "getOwners", abi = "getOwners()")]
2850    pub struct GetOwnersCall;
2851    ///Container type for all input parameters for the `getStorageAt` function with signature `getStorageAt(uint256,uint256)` and selector `0x5624b25b`
2852    #[derive(
2853        Clone,
2854        ::ethers::contract::EthCall,
2855        ::ethers::contract::EthDisplay,
2856        Default,
2857        Debug,
2858        PartialEq,
2859        Eq,
2860        Hash
2861    )]
2862    #[ethcall(name = "getStorageAt", abi = "getStorageAt(uint256,uint256)")]
2863    pub struct GetStorageAtCall {
2864        pub offset: ::ethers::core::types::U256,
2865        pub length: ::ethers::core::types::U256,
2866    }
2867    ///Container type for all input parameters for the `getThreshold` function with signature `getThreshold()` and selector `0xe75235b8`
2868    #[derive(
2869        Clone,
2870        ::ethers::contract::EthCall,
2871        ::ethers::contract::EthDisplay,
2872        Default,
2873        Debug,
2874        PartialEq,
2875        Eq,
2876        Hash
2877    )]
2878    #[ethcall(name = "getThreshold", abi = "getThreshold()")]
2879    pub struct GetThresholdCall;
2880    ///Container type for all input parameters for the `getTransactionHash` function with signature `getTransactionHash(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)` and selector `0xd8d11f78`
2881    #[derive(
2882        Clone,
2883        ::ethers::contract::EthCall,
2884        ::ethers::contract::EthDisplay,
2885        Default,
2886        Debug,
2887        PartialEq,
2888        Eq,
2889        Hash
2890    )]
2891    #[ethcall(
2892        name = "getTransactionHash",
2893        abi = "getTransactionHash(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)"
2894    )]
2895    pub struct GetTransactionHashCall {
2896        pub to: ::ethers::core::types::Address,
2897        pub value: ::ethers::core::types::U256,
2898        pub data: ::ethers::core::types::Bytes,
2899        pub operation: u8,
2900        pub safe_tx_gas: ::ethers::core::types::U256,
2901        pub base_gas: ::ethers::core::types::U256,
2902        pub gas_price: ::ethers::core::types::U256,
2903        pub gas_token: ::ethers::core::types::Address,
2904        pub refund_receiver: ::ethers::core::types::Address,
2905        pub nonce: ::ethers::core::types::U256,
2906    }
2907    ///Container type for all input parameters for the `isModuleEnabled` function with signature `isModuleEnabled(address)` and selector `0x2d9ad53d`
2908    #[derive(
2909        Clone,
2910        ::ethers::contract::EthCall,
2911        ::ethers::contract::EthDisplay,
2912        Default,
2913        Debug,
2914        PartialEq,
2915        Eq,
2916        Hash
2917    )]
2918    #[ethcall(name = "isModuleEnabled", abi = "isModuleEnabled(address)")]
2919    pub struct IsModuleEnabledCall {
2920        pub module: ::ethers::core::types::Address,
2921    }
2922    ///Container type for all input parameters for the `isOwner` function with signature `isOwner(address)` and selector `0x2f54bf6e`
2923    #[derive(
2924        Clone,
2925        ::ethers::contract::EthCall,
2926        ::ethers::contract::EthDisplay,
2927        Default,
2928        Debug,
2929        PartialEq,
2930        Eq,
2931        Hash
2932    )]
2933    #[ethcall(name = "isOwner", abi = "isOwner(address)")]
2934    pub struct IsOwnerCall {
2935        pub owner: ::ethers::core::types::Address,
2936    }
2937    ///Container type for all input parameters for the `nonce` function with signature `nonce()` and selector `0xaffed0e0`
2938    #[derive(
2939        Clone,
2940        ::ethers::contract::EthCall,
2941        ::ethers::contract::EthDisplay,
2942        Default,
2943        Debug,
2944        PartialEq,
2945        Eq,
2946        Hash
2947    )]
2948    #[ethcall(name = "nonce", abi = "nonce()")]
2949    pub struct NonceCall;
2950    ///Container type for all input parameters for the `removeOwner` function with signature `removeOwner(address,address,uint256)` and selector `0xf8dc5dd9`
2951    #[derive(
2952        Clone,
2953        ::ethers::contract::EthCall,
2954        ::ethers::contract::EthDisplay,
2955        Default,
2956        Debug,
2957        PartialEq,
2958        Eq,
2959        Hash
2960    )]
2961    #[ethcall(name = "removeOwner", abi = "removeOwner(address,address,uint256)")]
2962    pub struct RemoveOwnerCall {
2963        pub prev_owner: ::ethers::core::types::Address,
2964        pub owner: ::ethers::core::types::Address,
2965        pub threshold: ::ethers::core::types::U256,
2966    }
2967    ///Container type for all input parameters for the `setFallbackHandler` function with signature `setFallbackHandler(address)` and selector `0xf08a0323`
2968    #[derive(
2969        Clone,
2970        ::ethers::contract::EthCall,
2971        ::ethers::contract::EthDisplay,
2972        Default,
2973        Debug,
2974        PartialEq,
2975        Eq,
2976        Hash
2977    )]
2978    #[ethcall(name = "setFallbackHandler", abi = "setFallbackHandler(address)")]
2979    pub struct SetFallbackHandlerCall {
2980        pub handler: ::ethers::core::types::Address,
2981    }
2982    ///Container type for all input parameters for the `setGuard` function with signature `setGuard(address)` and selector `0xe19a9dd9`
2983    #[derive(
2984        Clone,
2985        ::ethers::contract::EthCall,
2986        ::ethers::contract::EthDisplay,
2987        Default,
2988        Debug,
2989        PartialEq,
2990        Eq,
2991        Hash
2992    )]
2993    #[ethcall(name = "setGuard", abi = "setGuard(address)")]
2994    pub struct SetGuardCall {
2995        pub guard: ::ethers::core::types::Address,
2996    }
2997    ///Container type for all input parameters for the `setup` function with signature `setup(address[],uint256,address,bytes,address,address,uint256,address)` and selector `0xb63e800d`
2998    #[derive(
2999        Clone,
3000        ::ethers::contract::EthCall,
3001        ::ethers::contract::EthDisplay,
3002        Default,
3003        Debug,
3004        PartialEq,
3005        Eq,
3006        Hash
3007    )]
3008    #[ethcall(
3009        name = "setup",
3010        abi = "setup(address[],uint256,address,bytes,address,address,uint256,address)"
3011    )]
3012    pub struct SetupCall {
3013        pub owners: ::std::vec::Vec<::ethers::core::types::Address>,
3014        pub threshold: ::ethers::core::types::U256,
3015        pub to: ::ethers::core::types::Address,
3016        pub data: ::ethers::core::types::Bytes,
3017        pub fallback_handler: ::ethers::core::types::Address,
3018        pub payment_token: ::ethers::core::types::Address,
3019        pub payment: ::ethers::core::types::U256,
3020        pub payment_receiver: ::ethers::core::types::Address,
3021    }
3022    ///Container type for all input parameters for the `signedMessages` function with signature `signedMessages(bytes32)` and selector `0x5ae6bd37`
3023    #[derive(
3024        Clone,
3025        ::ethers::contract::EthCall,
3026        ::ethers::contract::EthDisplay,
3027        Default,
3028        Debug,
3029        PartialEq,
3030        Eq,
3031        Hash
3032    )]
3033    #[ethcall(name = "signedMessages", abi = "signedMessages(bytes32)")]
3034    pub struct SignedMessagesCall(pub [u8; 32]);
3035    ///Container type for all input parameters for the `simulateAndRevert` function with signature `simulateAndRevert(address,bytes)` and selector `0xb4faba09`
3036    #[derive(
3037        Clone,
3038        ::ethers::contract::EthCall,
3039        ::ethers::contract::EthDisplay,
3040        Default,
3041        Debug,
3042        PartialEq,
3043        Eq,
3044        Hash
3045    )]
3046    #[ethcall(name = "simulateAndRevert", abi = "simulateAndRevert(address,bytes)")]
3047    pub struct SimulateAndRevertCall {
3048        pub target_contract: ::ethers::core::types::Address,
3049        pub calldata_payload: ::ethers::core::types::Bytes,
3050    }
3051    ///Container type for all input parameters for the `swapOwner` function with signature `swapOwner(address,address,address)` and selector `0xe318b52b`
3052    #[derive(
3053        Clone,
3054        ::ethers::contract::EthCall,
3055        ::ethers::contract::EthDisplay,
3056        Default,
3057        Debug,
3058        PartialEq,
3059        Eq,
3060        Hash
3061    )]
3062    #[ethcall(name = "swapOwner", abi = "swapOwner(address,address,address)")]
3063    pub struct SwapOwnerCall {
3064        pub prev_owner: ::ethers::core::types::Address,
3065        pub old_owner: ::ethers::core::types::Address,
3066        pub new_owner: ::ethers::core::types::Address,
3067    }
3068    ///Container type for all of the contract's call
3069    #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
3070    pub enum safeCalls {
3071        Version(VersionCall),
3072        AddOwnerWithThreshold(AddOwnerWithThresholdCall),
3073        ApproveHash(ApproveHashCall),
3074        ApprovedHashes(ApprovedHashesCall),
3075        ChangeThreshold(ChangeThresholdCall),
3076        CheckNSignatures(CheckNSignaturesCall),
3077        CheckSignatures(CheckSignaturesCall),
3078        DisableModule(DisableModuleCall),
3079        DomainSeparator(DomainSeparatorCall),
3080        EnableModule(EnableModuleCall),
3081        EncodeTransactionData(EncodeTransactionDataCall),
3082        ExecTransaction(ExecTransactionCall),
3083        ExecTransactionFromModule(ExecTransactionFromModuleCall),
3084        ExecTransactionFromModuleReturnData(ExecTransactionFromModuleReturnDataCall),
3085        GetChainId(GetChainIdCall),
3086        GetModulesPaginated(GetModulesPaginatedCall),
3087        GetOwners(GetOwnersCall),
3088        GetStorageAt(GetStorageAtCall),
3089        GetThreshold(GetThresholdCall),
3090        GetTransactionHash(GetTransactionHashCall),
3091        IsModuleEnabled(IsModuleEnabledCall),
3092        IsOwner(IsOwnerCall),
3093        Nonce(NonceCall),
3094        RemoveOwner(RemoveOwnerCall),
3095        SetFallbackHandler(SetFallbackHandlerCall),
3096        SetGuard(SetGuardCall),
3097        Setup(SetupCall),
3098        SignedMessages(SignedMessagesCall),
3099        SimulateAndRevert(SimulateAndRevertCall),
3100        SwapOwner(SwapOwnerCall),
3101    }
3102    impl ::ethers::core::abi::AbiDecode for safeCalls {
3103        fn decode(
3104            data: impl AsRef<[u8]>,
3105        ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
3106            let data = data.as_ref();
3107            if let Ok(decoded) = <VersionCall as ::ethers::core::abi::AbiDecode>::decode(
3108                data,
3109            ) {
3110                return Ok(Self::Version(decoded));
3111            }
3112            if let Ok(decoded) = <AddOwnerWithThresholdCall as ::ethers::core::abi::AbiDecode>::decode(
3113                data,
3114            ) {
3115                return Ok(Self::AddOwnerWithThreshold(decoded));
3116            }
3117            if let Ok(decoded) = <ApproveHashCall as ::ethers::core::abi::AbiDecode>::decode(
3118                data,
3119            ) {
3120                return Ok(Self::ApproveHash(decoded));
3121            }
3122            if let Ok(decoded) = <ApprovedHashesCall as ::ethers::core::abi::AbiDecode>::decode(
3123                data,
3124            ) {
3125                return Ok(Self::ApprovedHashes(decoded));
3126            }
3127            if let Ok(decoded) = <ChangeThresholdCall as ::ethers::core::abi::AbiDecode>::decode(
3128                data,
3129            ) {
3130                return Ok(Self::ChangeThreshold(decoded));
3131            }
3132            if let Ok(decoded) = <CheckNSignaturesCall as ::ethers::core::abi::AbiDecode>::decode(
3133                data,
3134            ) {
3135                return Ok(Self::CheckNSignatures(decoded));
3136            }
3137            if let Ok(decoded) = <CheckSignaturesCall as ::ethers::core::abi::AbiDecode>::decode(
3138                data,
3139            ) {
3140                return Ok(Self::CheckSignatures(decoded));
3141            }
3142            if let Ok(decoded) = <DisableModuleCall as ::ethers::core::abi::AbiDecode>::decode(
3143                data,
3144            ) {
3145                return Ok(Self::DisableModule(decoded));
3146            }
3147            if let Ok(decoded) = <DomainSeparatorCall as ::ethers::core::abi::AbiDecode>::decode(
3148                data,
3149            ) {
3150                return Ok(Self::DomainSeparator(decoded));
3151            }
3152            if let Ok(decoded) = <EnableModuleCall as ::ethers::core::abi::AbiDecode>::decode(
3153                data,
3154            ) {
3155                return Ok(Self::EnableModule(decoded));
3156            }
3157            if let Ok(decoded) = <EncodeTransactionDataCall as ::ethers::core::abi::AbiDecode>::decode(
3158                data,
3159            ) {
3160                return Ok(Self::EncodeTransactionData(decoded));
3161            }
3162            if let Ok(decoded) = <ExecTransactionCall as ::ethers::core::abi::AbiDecode>::decode(
3163                data,
3164            ) {
3165                return Ok(Self::ExecTransaction(decoded));
3166            }
3167            if let Ok(decoded) = <ExecTransactionFromModuleCall as ::ethers::core::abi::AbiDecode>::decode(
3168                data,
3169            ) {
3170                return Ok(Self::ExecTransactionFromModule(decoded));
3171            }
3172            if let Ok(decoded) = <ExecTransactionFromModuleReturnDataCall as ::ethers::core::abi::AbiDecode>::decode(
3173                data,
3174            ) {
3175                return Ok(Self::ExecTransactionFromModuleReturnData(decoded));
3176            }
3177            if let Ok(decoded) = <GetChainIdCall as ::ethers::core::abi::AbiDecode>::decode(
3178                data,
3179            ) {
3180                return Ok(Self::GetChainId(decoded));
3181            }
3182            if let Ok(decoded) = <GetModulesPaginatedCall as ::ethers::core::abi::AbiDecode>::decode(
3183                data,
3184            ) {
3185                return Ok(Self::GetModulesPaginated(decoded));
3186            }
3187            if let Ok(decoded) = <GetOwnersCall as ::ethers::core::abi::AbiDecode>::decode(
3188                data,
3189            ) {
3190                return Ok(Self::GetOwners(decoded));
3191            }
3192            if let Ok(decoded) = <GetStorageAtCall as ::ethers::core::abi::AbiDecode>::decode(
3193                data,
3194            ) {
3195                return Ok(Self::GetStorageAt(decoded));
3196            }
3197            if let Ok(decoded) = <GetThresholdCall as ::ethers::core::abi::AbiDecode>::decode(
3198                data,
3199            ) {
3200                return Ok(Self::GetThreshold(decoded));
3201            }
3202            if let Ok(decoded) = <GetTransactionHashCall as ::ethers::core::abi::AbiDecode>::decode(
3203                data,
3204            ) {
3205                return Ok(Self::GetTransactionHash(decoded));
3206            }
3207            if let Ok(decoded) = <IsModuleEnabledCall as ::ethers::core::abi::AbiDecode>::decode(
3208                data,
3209            ) {
3210                return Ok(Self::IsModuleEnabled(decoded));
3211            }
3212            if let Ok(decoded) = <IsOwnerCall as ::ethers::core::abi::AbiDecode>::decode(
3213                data,
3214            ) {
3215                return Ok(Self::IsOwner(decoded));
3216            }
3217            if let Ok(decoded) = <NonceCall as ::ethers::core::abi::AbiDecode>::decode(
3218                data,
3219            ) {
3220                return Ok(Self::Nonce(decoded));
3221            }
3222            if let Ok(decoded) = <RemoveOwnerCall as ::ethers::core::abi::AbiDecode>::decode(
3223                data,
3224            ) {
3225                return Ok(Self::RemoveOwner(decoded));
3226            }
3227            if let Ok(decoded) = <SetFallbackHandlerCall as ::ethers::core::abi::AbiDecode>::decode(
3228                data,
3229            ) {
3230                return Ok(Self::SetFallbackHandler(decoded));
3231            }
3232            if let Ok(decoded) = <SetGuardCall as ::ethers::core::abi::AbiDecode>::decode(
3233                data,
3234            ) {
3235                return Ok(Self::SetGuard(decoded));
3236            }
3237            if let Ok(decoded) = <SetupCall as ::ethers::core::abi::AbiDecode>::decode(
3238                data,
3239            ) {
3240                return Ok(Self::Setup(decoded));
3241            }
3242            if let Ok(decoded) = <SignedMessagesCall as ::ethers::core::abi::AbiDecode>::decode(
3243                data,
3244            ) {
3245                return Ok(Self::SignedMessages(decoded));
3246            }
3247            if let Ok(decoded) = <SimulateAndRevertCall as ::ethers::core::abi::AbiDecode>::decode(
3248                data,
3249            ) {
3250                return Ok(Self::SimulateAndRevert(decoded));
3251            }
3252            if let Ok(decoded) = <SwapOwnerCall as ::ethers::core::abi::AbiDecode>::decode(
3253                data,
3254            ) {
3255                return Ok(Self::SwapOwner(decoded));
3256            }
3257            Err(::ethers::core::abi::Error::InvalidData.into())
3258        }
3259    }
3260    impl ::ethers::core::abi::AbiEncode for safeCalls {
3261        fn encode(self) -> Vec<u8> {
3262            match self {
3263                Self::Version(element) => ::ethers::core::abi::AbiEncode::encode(element),
3264                Self::AddOwnerWithThreshold(element) => {
3265                    ::ethers::core::abi::AbiEncode::encode(element)
3266                }
3267                Self::ApproveHash(element) => {
3268                    ::ethers::core::abi::AbiEncode::encode(element)
3269                }
3270                Self::ApprovedHashes(element) => {
3271                    ::ethers::core::abi::AbiEncode::encode(element)
3272                }
3273                Self::ChangeThreshold(element) => {
3274                    ::ethers::core::abi::AbiEncode::encode(element)
3275                }
3276                Self::CheckNSignatures(element) => {
3277                    ::ethers::core::abi::AbiEncode::encode(element)
3278                }
3279                Self::CheckSignatures(element) => {
3280                    ::ethers::core::abi::AbiEncode::encode(element)
3281                }
3282                Self::DisableModule(element) => {
3283                    ::ethers::core::abi::AbiEncode::encode(element)
3284                }
3285                Self::DomainSeparator(element) => {
3286                    ::ethers::core::abi::AbiEncode::encode(element)
3287                }
3288                Self::EnableModule(element) => {
3289                    ::ethers::core::abi::AbiEncode::encode(element)
3290                }
3291                Self::EncodeTransactionData(element) => {
3292                    ::ethers::core::abi::AbiEncode::encode(element)
3293                }
3294                Self::ExecTransaction(element) => {
3295                    ::ethers::core::abi::AbiEncode::encode(element)
3296                }
3297                Self::ExecTransactionFromModule(element) => {
3298                    ::ethers::core::abi::AbiEncode::encode(element)
3299                }
3300                Self::ExecTransactionFromModuleReturnData(element) => {
3301                    ::ethers::core::abi::AbiEncode::encode(element)
3302                }
3303                Self::GetChainId(element) => {
3304                    ::ethers::core::abi::AbiEncode::encode(element)
3305                }
3306                Self::GetModulesPaginated(element) => {
3307                    ::ethers::core::abi::AbiEncode::encode(element)
3308                }
3309                Self::GetOwners(element) => {
3310                    ::ethers::core::abi::AbiEncode::encode(element)
3311                }
3312                Self::GetStorageAt(element) => {
3313                    ::ethers::core::abi::AbiEncode::encode(element)
3314                }
3315                Self::GetThreshold(element) => {
3316                    ::ethers::core::abi::AbiEncode::encode(element)
3317                }
3318                Self::GetTransactionHash(element) => {
3319                    ::ethers::core::abi::AbiEncode::encode(element)
3320                }
3321                Self::IsModuleEnabled(element) => {
3322                    ::ethers::core::abi::AbiEncode::encode(element)
3323                }
3324                Self::IsOwner(element) => ::ethers::core::abi::AbiEncode::encode(element),
3325                Self::Nonce(element) => ::ethers::core::abi::AbiEncode::encode(element),
3326                Self::RemoveOwner(element) => {
3327                    ::ethers::core::abi::AbiEncode::encode(element)
3328                }
3329                Self::SetFallbackHandler(element) => {
3330                    ::ethers::core::abi::AbiEncode::encode(element)
3331                }
3332                Self::SetGuard(element) => {
3333                    ::ethers::core::abi::AbiEncode::encode(element)
3334                }
3335                Self::Setup(element) => ::ethers::core::abi::AbiEncode::encode(element),
3336                Self::SignedMessages(element) => {
3337                    ::ethers::core::abi::AbiEncode::encode(element)
3338                }
3339                Self::SimulateAndRevert(element) => {
3340                    ::ethers::core::abi::AbiEncode::encode(element)
3341                }
3342                Self::SwapOwner(element) => {
3343                    ::ethers::core::abi::AbiEncode::encode(element)
3344                }
3345            }
3346        }
3347    }
3348    impl ::core::fmt::Display for safeCalls {
3349        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3350            match self {
3351                Self::Version(element) => ::core::fmt::Display::fmt(element, f),
3352                Self::AddOwnerWithThreshold(element) => {
3353                    ::core::fmt::Display::fmt(element, f)
3354                }
3355                Self::ApproveHash(element) => ::core::fmt::Display::fmt(element, f),
3356                Self::ApprovedHashes(element) => ::core::fmt::Display::fmt(element, f),
3357                Self::ChangeThreshold(element) => ::core::fmt::Display::fmt(element, f),
3358                Self::CheckNSignatures(element) => ::core::fmt::Display::fmt(element, f),
3359                Self::CheckSignatures(element) => ::core::fmt::Display::fmt(element, f),
3360                Self::DisableModule(element) => ::core::fmt::Display::fmt(element, f),
3361                Self::DomainSeparator(element) => ::core::fmt::Display::fmt(element, f),
3362                Self::EnableModule(element) => ::core::fmt::Display::fmt(element, f),
3363                Self::EncodeTransactionData(element) => {
3364                    ::core::fmt::Display::fmt(element, f)
3365                }
3366                Self::ExecTransaction(element) => ::core::fmt::Display::fmt(element, f),
3367                Self::ExecTransactionFromModule(element) => {
3368                    ::core::fmt::Display::fmt(element, f)
3369                }
3370                Self::ExecTransactionFromModuleReturnData(element) => {
3371                    ::core::fmt::Display::fmt(element, f)
3372                }
3373                Self::GetChainId(element) => ::core::fmt::Display::fmt(element, f),
3374                Self::GetModulesPaginated(element) => {
3375                    ::core::fmt::Display::fmt(element, f)
3376                }
3377                Self::GetOwners(element) => ::core::fmt::Display::fmt(element, f),
3378                Self::GetStorageAt(element) => ::core::fmt::Display::fmt(element, f),
3379                Self::GetThreshold(element) => ::core::fmt::Display::fmt(element, f),
3380                Self::GetTransactionHash(element) => {
3381                    ::core::fmt::Display::fmt(element, f)
3382                }
3383                Self::IsModuleEnabled(element) => ::core::fmt::Display::fmt(element, f),
3384                Self::IsOwner(element) => ::core::fmt::Display::fmt(element, f),
3385                Self::Nonce(element) => ::core::fmt::Display::fmt(element, f),
3386                Self::RemoveOwner(element) => ::core::fmt::Display::fmt(element, f),
3387                Self::SetFallbackHandler(element) => {
3388                    ::core::fmt::Display::fmt(element, f)
3389                }
3390                Self::SetGuard(element) => ::core::fmt::Display::fmt(element, f),
3391                Self::Setup(element) => ::core::fmt::Display::fmt(element, f),
3392                Self::SignedMessages(element) => ::core::fmt::Display::fmt(element, f),
3393                Self::SimulateAndRevert(element) => ::core::fmt::Display::fmt(element, f),
3394                Self::SwapOwner(element) => ::core::fmt::Display::fmt(element, f),
3395            }
3396        }
3397    }
3398    impl ::core::convert::From<VersionCall> for safeCalls {
3399        fn from(value: VersionCall) -> Self {
3400            Self::Version(value)
3401        }
3402    }
3403    impl ::core::convert::From<AddOwnerWithThresholdCall> for safeCalls {
3404        fn from(value: AddOwnerWithThresholdCall) -> Self {
3405            Self::AddOwnerWithThreshold(value)
3406        }
3407    }
3408    impl ::core::convert::From<ApproveHashCall> for safeCalls {
3409        fn from(value: ApproveHashCall) -> Self {
3410            Self::ApproveHash(value)
3411        }
3412    }
3413    impl ::core::convert::From<ApprovedHashesCall> for safeCalls {
3414        fn from(value: ApprovedHashesCall) -> Self {
3415            Self::ApprovedHashes(value)
3416        }
3417    }
3418    impl ::core::convert::From<ChangeThresholdCall> for safeCalls {
3419        fn from(value: ChangeThresholdCall) -> Self {
3420            Self::ChangeThreshold(value)
3421        }
3422    }
3423    impl ::core::convert::From<CheckNSignaturesCall> for safeCalls {
3424        fn from(value: CheckNSignaturesCall) -> Self {
3425            Self::CheckNSignatures(value)
3426        }
3427    }
3428    impl ::core::convert::From<CheckSignaturesCall> for safeCalls {
3429        fn from(value: CheckSignaturesCall) -> Self {
3430            Self::CheckSignatures(value)
3431        }
3432    }
3433    impl ::core::convert::From<DisableModuleCall> for safeCalls {
3434        fn from(value: DisableModuleCall) -> Self {
3435            Self::DisableModule(value)
3436        }
3437    }
3438    impl ::core::convert::From<DomainSeparatorCall> for safeCalls {
3439        fn from(value: DomainSeparatorCall) -> Self {
3440            Self::DomainSeparator(value)
3441        }
3442    }
3443    impl ::core::convert::From<EnableModuleCall> for safeCalls {
3444        fn from(value: EnableModuleCall) -> Self {
3445            Self::EnableModule(value)
3446        }
3447    }
3448    impl ::core::convert::From<EncodeTransactionDataCall> for safeCalls {
3449        fn from(value: EncodeTransactionDataCall) -> Self {
3450            Self::EncodeTransactionData(value)
3451        }
3452    }
3453    impl ::core::convert::From<ExecTransactionCall> for safeCalls {
3454        fn from(value: ExecTransactionCall) -> Self {
3455            Self::ExecTransaction(value)
3456        }
3457    }
3458    impl ::core::convert::From<ExecTransactionFromModuleCall> for safeCalls {
3459        fn from(value: ExecTransactionFromModuleCall) -> Self {
3460            Self::ExecTransactionFromModule(value)
3461        }
3462    }
3463    impl ::core::convert::From<ExecTransactionFromModuleReturnDataCall> for safeCalls {
3464        fn from(value: ExecTransactionFromModuleReturnDataCall) -> Self {
3465            Self::ExecTransactionFromModuleReturnData(value)
3466        }
3467    }
3468    impl ::core::convert::From<GetChainIdCall> for safeCalls {
3469        fn from(value: GetChainIdCall) -> Self {
3470            Self::GetChainId(value)
3471        }
3472    }
3473    impl ::core::convert::From<GetModulesPaginatedCall> for safeCalls {
3474        fn from(value: GetModulesPaginatedCall) -> Self {
3475            Self::GetModulesPaginated(value)
3476        }
3477    }
3478    impl ::core::convert::From<GetOwnersCall> for safeCalls {
3479        fn from(value: GetOwnersCall) -> Self {
3480            Self::GetOwners(value)
3481        }
3482    }
3483    impl ::core::convert::From<GetStorageAtCall> for safeCalls {
3484        fn from(value: GetStorageAtCall) -> Self {
3485            Self::GetStorageAt(value)
3486        }
3487    }
3488    impl ::core::convert::From<GetThresholdCall> for safeCalls {
3489        fn from(value: GetThresholdCall) -> Self {
3490            Self::GetThreshold(value)
3491        }
3492    }
3493    impl ::core::convert::From<GetTransactionHashCall> for safeCalls {
3494        fn from(value: GetTransactionHashCall) -> Self {
3495            Self::GetTransactionHash(value)
3496        }
3497    }
3498    impl ::core::convert::From<IsModuleEnabledCall> for safeCalls {
3499        fn from(value: IsModuleEnabledCall) -> Self {
3500            Self::IsModuleEnabled(value)
3501        }
3502    }
3503    impl ::core::convert::From<IsOwnerCall> for safeCalls {
3504        fn from(value: IsOwnerCall) -> Self {
3505            Self::IsOwner(value)
3506        }
3507    }
3508    impl ::core::convert::From<NonceCall> for safeCalls {
3509        fn from(value: NonceCall) -> Self {
3510            Self::Nonce(value)
3511        }
3512    }
3513    impl ::core::convert::From<RemoveOwnerCall> for safeCalls {
3514        fn from(value: RemoveOwnerCall) -> Self {
3515            Self::RemoveOwner(value)
3516        }
3517    }
3518    impl ::core::convert::From<SetFallbackHandlerCall> for safeCalls {
3519        fn from(value: SetFallbackHandlerCall) -> Self {
3520            Self::SetFallbackHandler(value)
3521        }
3522    }
3523    impl ::core::convert::From<SetGuardCall> for safeCalls {
3524        fn from(value: SetGuardCall) -> Self {
3525            Self::SetGuard(value)
3526        }
3527    }
3528    impl ::core::convert::From<SetupCall> for safeCalls {
3529        fn from(value: SetupCall) -> Self {
3530            Self::Setup(value)
3531        }
3532    }
3533    impl ::core::convert::From<SignedMessagesCall> for safeCalls {
3534        fn from(value: SignedMessagesCall) -> Self {
3535            Self::SignedMessages(value)
3536        }
3537    }
3538    impl ::core::convert::From<SimulateAndRevertCall> for safeCalls {
3539        fn from(value: SimulateAndRevertCall) -> Self {
3540            Self::SimulateAndRevert(value)
3541        }
3542    }
3543    impl ::core::convert::From<SwapOwnerCall> for safeCalls {
3544        fn from(value: SwapOwnerCall) -> Self {
3545            Self::SwapOwner(value)
3546        }
3547    }
3548    ///Container type for all return fields from the `VERSION` function with signature `VERSION()` and selector `0xffa1ad74`
3549    #[derive(
3550        Clone,
3551        ::ethers::contract::EthAbiType,
3552        ::ethers::contract::EthAbiCodec,
3553        Default,
3554        Debug,
3555        PartialEq,
3556        Eq,
3557        Hash
3558    )]
3559    pub struct VersionReturn(pub ::std::string::String);
3560    ///Container type for all return fields from the `approvedHashes` function with signature `approvedHashes(address,bytes32)` and selector `0x7d832974`
3561    #[derive(
3562        Clone,
3563        ::ethers::contract::EthAbiType,
3564        ::ethers::contract::EthAbiCodec,
3565        Default,
3566        Debug,
3567        PartialEq,
3568        Eq,
3569        Hash
3570    )]
3571    pub struct ApprovedHashesReturn(pub ::ethers::core::types::U256);
3572    ///Container type for all return fields from the `domainSeparator` function with signature `domainSeparator()` and selector `0xf698da25`
3573    #[derive(
3574        Clone,
3575        ::ethers::contract::EthAbiType,
3576        ::ethers::contract::EthAbiCodec,
3577        Default,
3578        Debug,
3579        PartialEq,
3580        Eq,
3581        Hash
3582    )]
3583    pub struct DomainSeparatorReturn(pub [u8; 32]);
3584    ///Container type for all return fields from the `encodeTransactionData` function with signature `encodeTransactionData(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)` and selector `0xe86637db`
3585    #[derive(
3586        Clone,
3587        ::ethers::contract::EthAbiType,
3588        ::ethers::contract::EthAbiCodec,
3589        Default,
3590        Debug,
3591        PartialEq,
3592        Eq,
3593        Hash
3594    )]
3595    pub struct EncodeTransactionDataReturn(pub ::ethers::core::types::Bytes);
3596    ///Container type for all return fields from the `execTransaction` function with signature `execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)` and selector `0x6a761202`
3597    #[derive(
3598        Clone,
3599        ::ethers::contract::EthAbiType,
3600        ::ethers::contract::EthAbiCodec,
3601        Default,
3602        Debug,
3603        PartialEq,
3604        Eq,
3605        Hash
3606    )]
3607    pub struct ExecTransactionReturn {
3608        pub success: bool,
3609    }
3610    ///Container type for all return fields from the `execTransactionFromModule` function with signature `execTransactionFromModule(address,uint256,bytes,uint8)` and selector `0x468721a7`
3611    #[derive(
3612        Clone,
3613        ::ethers::contract::EthAbiType,
3614        ::ethers::contract::EthAbiCodec,
3615        Default,
3616        Debug,
3617        PartialEq,
3618        Eq,
3619        Hash
3620    )]
3621    pub struct ExecTransactionFromModuleReturn {
3622        pub success: bool,
3623    }
3624    ///Container type for all return fields from the `execTransactionFromModuleReturnData` function with signature `execTransactionFromModuleReturnData(address,uint256,bytes,uint8)` and selector `0x5229073f`
3625    #[derive(
3626        Clone,
3627        ::ethers::contract::EthAbiType,
3628        ::ethers::contract::EthAbiCodec,
3629        Default,
3630        Debug,
3631        PartialEq,
3632        Eq,
3633        Hash
3634    )]
3635    pub struct ExecTransactionFromModuleReturnDataReturn {
3636        pub success: bool,
3637        pub return_data: ::ethers::core::types::Bytes,
3638    }
3639    ///Container type for all return fields from the `getChainId` function with signature `getChainId()` and selector `0x3408e470`
3640    #[derive(
3641        Clone,
3642        ::ethers::contract::EthAbiType,
3643        ::ethers::contract::EthAbiCodec,
3644        Default,
3645        Debug,
3646        PartialEq,
3647        Eq,
3648        Hash
3649    )]
3650    pub struct GetChainIdReturn(pub ::ethers::core::types::U256);
3651    ///Container type for all return fields from the `getModulesPaginated` function with signature `getModulesPaginated(address,uint256)` and selector `0xcc2f8452`
3652    #[derive(
3653        Clone,
3654        ::ethers::contract::EthAbiType,
3655        ::ethers::contract::EthAbiCodec,
3656        Default,
3657        Debug,
3658        PartialEq,
3659        Eq,
3660        Hash
3661    )]
3662    pub struct GetModulesPaginatedReturn {
3663        pub array: ::std::vec::Vec<::ethers::core::types::Address>,
3664        pub next: ::ethers::core::types::Address,
3665    }
3666    ///Container type for all return fields from the `getOwners` function with signature `getOwners()` and selector `0xa0e67e2b`
3667    #[derive(
3668        Clone,
3669        ::ethers::contract::EthAbiType,
3670        ::ethers::contract::EthAbiCodec,
3671        Default,
3672        Debug,
3673        PartialEq,
3674        Eq,
3675        Hash
3676    )]
3677    pub struct GetOwnersReturn(pub ::std::vec::Vec<::ethers::core::types::Address>);
3678    ///Container type for all return fields from the `getStorageAt` function with signature `getStorageAt(uint256,uint256)` and selector `0x5624b25b`
3679    #[derive(
3680        Clone,
3681        ::ethers::contract::EthAbiType,
3682        ::ethers::contract::EthAbiCodec,
3683        Default,
3684        Debug,
3685        PartialEq,
3686        Eq,
3687        Hash
3688    )]
3689    pub struct GetStorageAtReturn(pub ::ethers::core::types::Bytes);
3690    ///Container type for all return fields from the `getThreshold` function with signature `getThreshold()` and selector `0xe75235b8`
3691    #[derive(
3692        Clone,
3693        ::ethers::contract::EthAbiType,
3694        ::ethers::contract::EthAbiCodec,
3695        Default,
3696        Debug,
3697        PartialEq,
3698        Eq,
3699        Hash
3700    )]
3701    pub struct GetThresholdReturn(pub ::ethers::core::types::U256);
3702    ///Container type for all return fields from the `getTransactionHash` function with signature `getTransactionHash(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)` and selector `0xd8d11f78`
3703    #[derive(
3704        Clone,
3705        ::ethers::contract::EthAbiType,
3706        ::ethers::contract::EthAbiCodec,
3707        Default,
3708        Debug,
3709        PartialEq,
3710        Eq,
3711        Hash
3712    )]
3713    pub struct GetTransactionHashReturn(pub [u8; 32]);
3714    ///Container type for all return fields from the `isModuleEnabled` function with signature `isModuleEnabled(address)` and selector `0x2d9ad53d`
3715    #[derive(
3716        Clone,
3717        ::ethers::contract::EthAbiType,
3718        ::ethers::contract::EthAbiCodec,
3719        Default,
3720        Debug,
3721        PartialEq,
3722        Eq,
3723        Hash
3724    )]
3725    pub struct IsModuleEnabledReturn(pub bool);
3726    ///Container type for all return fields from the `isOwner` function with signature `isOwner(address)` and selector `0x2f54bf6e`
3727    #[derive(
3728        Clone,
3729        ::ethers::contract::EthAbiType,
3730        ::ethers::contract::EthAbiCodec,
3731        Default,
3732        Debug,
3733        PartialEq,
3734        Eq,
3735        Hash
3736    )]
3737    pub struct IsOwnerReturn(pub bool);
3738    ///Container type for all return fields from the `nonce` function with signature `nonce()` and selector `0xaffed0e0`
3739    #[derive(
3740        Clone,
3741        ::ethers::contract::EthAbiType,
3742        ::ethers::contract::EthAbiCodec,
3743        Default,
3744        Debug,
3745        PartialEq,
3746        Eq,
3747        Hash
3748    )]
3749    pub struct NonceReturn(pub ::ethers::core::types::U256);
3750    ///Container type for all return fields from the `signedMessages` function with signature `signedMessages(bytes32)` and selector `0x5ae6bd37`
3751    #[derive(
3752        Clone,
3753        ::ethers::contract::EthAbiType,
3754        ::ethers::contract::EthAbiCodec,
3755        Default,
3756        Debug,
3757        PartialEq,
3758        Eq,
3759        Hash
3760    )]
3761    pub struct SignedMessagesReturn(pub ::ethers::core::types::U256);
3762}