openzeppelin_rs/contracts/
GovernorTimelockCompound.rs

1pub use governor_timelock_compound::*;
2/// This module was auto-generated with ethers-rs Abigen.
3/// More information at: <https://github.com/gakonst/ethers-rs>
4#[allow(
5    clippy::enum_variant_names,
6    clippy::too_many_arguments,
7    clippy::upper_case_acronyms,
8    clippy::type_complexity,
9    dead_code,
10    non_camel_case_types,
11)]
12pub mod governor_timelock_compound {
13    #[rustfmt::skip]
14    const __ABI: &str = "[{\"inputs\":[],\"type\":\"error\",\"name\":\"Empty\",\"outputs\":[]},{\"inputs\":[],\"type\":\"error\",\"name\":\"InvalidShortString\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\",\"components\":[]}],\"type\":\"error\",\"name\":\"StringTooLong\",\"outputs\":[]},{\"inputs\":[],\"type\":\"event\",\"name\":\"EIP712DomainChanged\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"ProposalCanceled\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[],\"indexed\":false},{\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\",\"components\":[],\"indexed\":false},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"ProposalCreated\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"ProposalExecuted\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"ProposalQueued\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oldTimelock\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"TimelockChange\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"VoteCast\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\",\"components\":[],\"indexed\":false},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"VoteCastWithParams\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"__acceptAdmin\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"cancel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\",\"components\":[]},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\",\"components\":[]},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\",\"components\":[]},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\",\"components\":[]},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\",\"components\":[]},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\",\"components\":[]},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\",\"components\":[]},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"proposalProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\",\"components\":[]},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\",\"components\":[]},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"relay\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"timelock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"contract ICompoundTimelock\",\"name\":\"newTimelock\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"updateTimelock\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"receive\",\"outputs\":[]}]";
15    ///The parsed JSON ABI of the contract.
16    pub static GOVERNORTIMELOCKCOMPOUND_ABI: ::ethers_contract::Lazy<
17        ::ethers_core::abi::Abi,
18    > = ::ethers_contract::Lazy::new(|| {
19        ::ethers_core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid")
20    });
21    pub struct GovernorTimelockCompound<M>(::ethers_contract::Contract<M>);
22    impl<M> ::core::clone::Clone for GovernorTimelockCompound<M> {
23        fn clone(&self) -> Self {
24            Self(::core::clone::Clone::clone(&self.0))
25        }
26    }
27    impl<M> ::core::ops::Deref for GovernorTimelockCompound<M> {
28        type Target = ::ethers_contract::Contract<M>;
29        fn deref(&self) -> &Self::Target {
30            &self.0
31        }
32    }
33    impl<M> ::core::ops::DerefMut for GovernorTimelockCompound<M> {
34        fn deref_mut(&mut self) -> &mut Self::Target {
35            &mut self.0
36        }
37    }
38    impl<M> ::core::fmt::Debug for GovernorTimelockCompound<M> {
39        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
40            f.debug_tuple(stringify!(GovernorTimelockCompound))
41                .field(&self.address())
42                .finish()
43        }
44    }
45    impl<M: ::ethers_providers::Middleware> GovernorTimelockCompound<M> {
46        /// Creates a new contract instance with the specified `ethers` client at
47        /// `address`. The contract derefs to a `ethers::Contract` object.
48        pub fn new<T: Into<::ethers_core::types::Address>>(
49            address: T,
50            client: ::std::sync::Arc<M>,
51        ) -> Self {
52            Self(
53                ::ethers_contract::Contract::new(
54                    address.into(),
55                    GOVERNORTIMELOCKCOMPOUND_ABI.clone(),
56                    client,
57                ),
58            )
59        }
60        ///Calls the contract's `BALLOT_TYPEHASH` (0xdeaaa7cc) function
61        pub fn ballot_typehash(
62            &self,
63        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
64            self.0
65                .method_hash([222, 170, 167, 204], ())
66                .expect("method not found (this should never happen)")
67        }
68        ///Calls the contract's `CLOCK_MODE` (0x4bf5d7e9) function
69        pub fn clock_mode(
70            &self,
71        ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
72            self.0
73                .method_hash([75, 245, 215, 233], ())
74                .expect("method not found (this should never happen)")
75        }
76        ///Calls the contract's `COUNTING_MODE` (0xdd4e2ba5) function
77        pub fn counting_mode(
78            &self,
79        ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
80            self.0
81                .method_hash([221, 78, 43, 165], ())
82                .expect("method not found (this should never happen)")
83        }
84        ///Calls the contract's `EXTENDED_BALLOT_TYPEHASH` (0x2fe3e261) function
85        pub fn extended_ballot_typehash(
86            &self,
87        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
88            self.0
89                .method_hash([47, 227, 226, 97], ())
90                .expect("method not found (this should never happen)")
91        }
92        ///Calls the contract's `__acceptAdmin` (0xb9a61961) function
93        pub fn accept_admin(&self) -> ::ethers_contract::builders::ContractCall<M, ()> {
94            self.0
95                .method_hash([185, 166, 25, 97], ())
96                .expect("method not found (this should never happen)")
97        }
98        ///Calls the contract's `cancel` (0x452115d6) function
99        pub fn cancel(
100            &self,
101            targets: ::std::vec::Vec<::ethers_core::types::Address>,
102            values: ::std::vec::Vec<::ethers_core::types::U256>,
103            calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
104            description_hash: [u8; 32],
105        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
106            self.0
107                .method_hash(
108                    [69, 33, 21, 214],
109                    (targets, values, calldatas, description_hash),
110                )
111                .expect("method not found (this should never happen)")
112        }
113        ///Calls the contract's `castVote` (0x56781388) function
114        pub fn cast_vote(
115            &self,
116            proposal_id: ::ethers_core::types::U256,
117            support: u8,
118        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
119            self.0
120                .method_hash([86, 120, 19, 136], (proposal_id, support))
121                .expect("method not found (this should never happen)")
122        }
123        ///Calls the contract's `castVoteBySig` (0x3bccf4fd) function
124        pub fn cast_vote_by_sig(
125            &self,
126            proposal_id: ::ethers_core::types::U256,
127            support: u8,
128            v: u8,
129            r: [u8; 32],
130            s: [u8; 32],
131        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
132            self.0
133                .method_hash([59, 204, 244, 253], (proposal_id, support, v, r, s))
134                .expect("method not found (this should never happen)")
135        }
136        ///Calls the contract's `castVoteWithReason` (0x7b3c71d3) function
137        pub fn cast_vote_with_reason(
138            &self,
139            proposal_id: ::ethers_core::types::U256,
140            support: u8,
141            reason: ::std::string::String,
142        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
143            self.0
144                .method_hash([123, 60, 113, 211], (proposal_id, support, reason))
145                .expect("method not found (this should never happen)")
146        }
147        ///Calls the contract's `castVoteWithReasonAndParams` (0x5f398a14) function
148        pub fn cast_vote_with_reason_and_params(
149            &self,
150            proposal_id: ::ethers_core::types::U256,
151            support: u8,
152            reason: ::std::string::String,
153            params: ::ethers_core::types::Bytes,
154        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
155            self.0
156                .method_hash([95, 57, 138, 20], (proposal_id, support, reason, params))
157                .expect("method not found (this should never happen)")
158        }
159        ///Calls the contract's `castVoteWithReasonAndParamsBySig` (0x03420181) function
160        pub fn cast_vote_with_reason_and_params_by_sig(
161            &self,
162            proposal_id: ::ethers_core::types::U256,
163            support: u8,
164            reason: ::std::string::String,
165            params: ::ethers_core::types::Bytes,
166            v: u8,
167            r: [u8; 32],
168            s: [u8; 32],
169        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
170            self.0
171                .method_hash(
172                    [3, 66, 1, 129],
173                    (proposal_id, support, reason, params, v, r, s),
174                )
175                .expect("method not found (this should never happen)")
176        }
177        ///Calls the contract's `clock` (0x91ddadf4) function
178        pub fn clock(&self) -> ::ethers_contract::builders::ContractCall<M, u64> {
179            self.0
180                .method_hash([145, 221, 173, 244], ())
181                .expect("method not found (this should never happen)")
182        }
183        ///Calls the contract's `eip712Domain` (0x84b0196e) function
184        pub fn eip_712_domain(
185            &self,
186        ) -> ::ethers_contract::builders::ContractCall<
187            M,
188            (
189                [u8; 1],
190                ::std::string::String,
191                ::std::string::String,
192                ::ethers_core::types::U256,
193                ::ethers_core::types::Address,
194                [u8; 32],
195                ::std::vec::Vec<::ethers_core::types::U256>,
196            ),
197        > {
198            self.0
199                .method_hash([132, 176, 25, 110], ())
200                .expect("method not found (this should never happen)")
201        }
202        ///Calls the contract's `execute` (0x2656227d) function
203        pub fn execute(
204            &self,
205            targets: ::std::vec::Vec<::ethers_core::types::Address>,
206            values: ::std::vec::Vec<::ethers_core::types::U256>,
207            calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
208            description_hash: [u8; 32],
209        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
210            self.0
211                .method_hash(
212                    [38, 86, 34, 125],
213                    (targets, values, calldatas, description_hash),
214                )
215                .expect("method not found (this should never happen)")
216        }
217        ///Calls the contract's `getVotes` (0xeb9019d4) function
218        pub fn get_votes(
219            &self,
220            account: ::ethers_core::types::Address,
221            timepoint: ::ethers_core::types::U256,
222        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
223            self.0
224                .method_hash([235, 144, 25, 212], (account, timepoint))
225                .expect("method not found (this should never happen)")
226        }
227        ///Calls the contract's `getVotesWithParams` (0x9a802a6d) function
228        pub fn get_votes_with_params(
229            &self,
230            account: ::ethers_core::types::Address,
231            timepoint: ::ethers_core::types::U256,
232            params: ::ethers_core::types::Bytes,
233        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
234            self.0
235                .method_hash([154, 128, 42, 109], (account, timepoint, params))
236                .expect("method not found (this should never happen)")
237        }
238        ///Calls the contract's `hasVoted` (0x43859632) function
239        pub fn has_voted(
240            &self,
241            proposal_id: ::ethers_core::types::U256,
242            account: ::ethers_core::types::Address,
243        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
244            self.0
245                .method_hash([67, 133, 150, 50], (proposal_id, account))
246                .expect("method not found (this should never happen)")
247        }
248        ///Calls the contract's `hashProposal` (0xc59057e4) function
249        pub fn hash_proposal(
250            &self,
251            targets: ::std::vec::Vec<::ethers_core::types::Address>,
252            values: ::std::vec::Vec<::ethers_core::types::U256>,
253            calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
254            description_hash: [u8; 32],
255        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
256            self.0
257                .method_hash(
258                    [197, 144, 87, 228],
259                    (targets, values, calldatas, description_hash),
260                )
261                .expect("method not found (this should never happen)")
262        }
263        ///Calls the contract's `name` (0x06fdde03) function
264        pub fn name(
265            &self,
266        ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
267            self.0
268                .method_hash([6, 253, 222, 3], ())
269                .expect("method not found (this should never happen)")
270        }
271        ///Calls the contract's `onERC1155BatchReceived` (0xbc197c81) function
272        pub fn on_erc1155_batch_received(
273            &self,
274            p0: ::ethers_core::types::Address,
275            p1: ::ethers_core::types::Address,
276            p2: ::std::vec::Vec<::ethers_core::types::U256>,
277            p3: ::std::vec::Vec<::ethers_core::types::U256>,
278            p4: ::ethers_core::types::Bytes,
279        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 4]> {
280            self.0
281                .method_hash([188, 25, 124, 129], (p0, p1, p2, p3, p4))
282                .expect("method not found (this should never happen)")
283        }
284        ///Calls the contract's `onERC1155Received` (0xf23a6e61) function
285        pub fn on_erc1155_received(
286            &self,
287            p0: ::ethers_core::types::Address,
288            p1: ::ethers_core::types::Address,
289            p2: ::ethers_core::types::U256,
290            p3: ::ethers_core::types::U256,
291            p4: ::ethers_core::types::Bytes,
292        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 4]> {
293            self.0
294                .method_hash([242, 58, 110, 97], (p0, p1, p2, p3, p4))
295                .expect("method not found (this should never happen)")
296        }
297        ///Calls the contract's `onERC721Received` (0x150b7a02) function
298        pub fn on_erc721_received(
299            &self,
300            p0: ::ethers_core::types::Address,
301            p1: ::ethers_core::types::Address,
302            p2: ::ethers_core::types::U256,
303            p3: ::ethers_core::types::Bytes,
304        ) -> ::ethers_contract::builders::ContractCall<M, [u8; 4]> {
305            self.0
306                .method_hash([21, 11, 122, 2], (p0, p1, p2, p3))
307                .expect("method not found (this should never happen)")
308        }
309        ///Calls the contract's `proposalDeadline` (0xc01f9e37) function
310        pub fn proposal_deadline(
311            &self,
312            proposal_id: ::ethers_core::types::U256,
313        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
314            self.0
315                .method_hash([192, 31, 158, 55], proposal_id)
316                .expect("method not found (this should never happen)")
317        }
318        ///Calls the contract's `proposalEta` (0xab58fb8e) function
319        pub fn proposal_eta(
320            &self,
321            proposal_id: ::ethers_core::types::U256,
322        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
323            self.0
324                .method_hash([171, 88, 251, 142], proposal_id)
325                .expect("method not found (this should never happen)")
326        }
327        ///Calls the contract's `proposalProposer` (0x143489d0) function
328        pub fn proposal_proposer(
329            &self,
330            proposal_id: ::ethers_core::types::U256,
331        ) -> ::ethers_contract::builders::ContractCall<
332            M,
333            ::ethers_core::types::Address,
334        > {
335            self.0
336                .method_hash([20, 52, 137, 208], proposal_id)
337                .expect("method not found (this should never happen)")
338        }
339        ///Calls the contract's `proposalSnapshot` (0x2d63f693) function
340        pub fn proposal_snapshot(
341            &self,
342            proposal_id: ::ethers_core::types::U256,
343        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
344            self.0
345                .method_hash([45, 99, 246, 147], proposal_id)
346                .expect("method not found (this should never happen)")
347        }
348        ///Calls the contract's `proposalThreshold` (0xb58131b0) function
349        pub fn proposal_threshold(
350            &self,
351        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
352            self.0
353                .method_hash([181, 129, 49, 176], ())
354                .expect("method not found (this should never happen)")
355        }
356        ///Calls the contract's `propose` (0x7d5e81e2) function
357        pub fn propose(
358            &self,
359            targets: ::std::vec::Vec<::ethers_core::types::Address>,
360            values: ::std::vec::Vec<::ethers_core::types::U256>,
361            calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
362            description: ::std::string::String,
363        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
364            self.0
365                .method_hash(
366                    [125, 94, 129, 226],
367                    (targets, values, calldatas, description),
368                )
369                .expect("method not found (this should never happen)")
370        }
371        ///Calls the contract's `queue` (0x160cbed7) function
372        pub fn queue(
373            &self,
374            targets: ::std::vec::Vec<::ethers_core::types::Address>,
375            values: ::std::vec::Vec<::ethers_core::types::U256>,
376            calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
377            description_hash: [u8; 32],
378        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
379            self.0
380                .method_hash(
381                    [22, 12, 190, 215],
382                    (targets, values, calldatas, description_hash),
383                )
384                .expect("method not found (this should never happen)")
385        }
386        ///Calls the contract's `quorum` (0xf8ce560a) function
387        pub fn quorum(
388            &self,
389            timepoint: ::ethers_core::types::U256,
390        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
391            self.0
392                .method_hash([248, 206, 86, 10], timepoint)
393                .expect("method not found (this should never happen)")
394        }
395        ///Calls the contract's `relay` (0xc28bc2fa) function
396        pub fn relay(
397            &self,
398            target: ::ethers_core::types::Address,
399            value: ::ethers_core::types::U256,
400            data: ::ethers_core::types::Bytes,
401        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
402            self.0
403                .method_hash([194, 139, 194, 250], (target, value, data))
404                .expect("method not found (this should never happen)")
405        }
406        ///Calls the contract's `state` (0x3e4f49e6) function
407        pub fn state(
408            &self,
409            proposal_id: ::ethers_core::types::U256,
410        ) -> ::ethers_contract::builders::ContractCall<M, u8> {
411            self.0
412                .method_hash([62, 79, 73, 230], proposal_id)
413                .expect("method not found (this should never happen)")
414        }
415        ///Calls the contract's `supportsInterface` (0x01ffc9a7) function
416        pub fn supports_interface(
417            &self,
418            interface_id: [u8; 4],
419        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
420            self.0
421                .method_hash([1, 255, 201, 167], interface_id)
422                .expect("method not found (this should never happen)")
423        }
424        ///Calls the contract's `timelock` (0xd33219b4) function
425        pub fn timelock(
426            &self,
427        ) -> ::ethers_contract::builders::ContractCall<
428            M,
429            ::ethers_core::types::Address,
430        > {
431            self.0
432                .method_hash([211, 50, 25, 180], ())
433                .expect("method not found (this should never happen)")
434        }
435        ///Calls the contract's `updateTimelock` (0xa890c910) function
436        pub fn update_timelock(
437            &self,
438            new_timelock: ::ethers_core::types::Address,
439        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
440            self.0
441                .method_hash([168, 144, 201, 16], new_timelock)
442                .expect("method not found (this should never happen)")
443        }
444        ///Calls the contract's `version` (0x54fd4d50) function
445        pub fn version(
446            &self,
447        ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
448            self.0
449                .method_hash([84, 253, 77, 80], ())
450                .expect("method not found (this should never happen)")
451        }
452        ///Calls the contract's `votingDelay` (0x3932abb1) function
453        pub fn voting_delay(
454            &self,
455        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
456            self.0
457                .method_hash([57, 50, 171, 177], ())
458                .expect("method not found (this should never happen)")
459        }
460        ///Calls the contract's `votingPeriod` (0x02a251a3) function
461        pub fn voting_period(
462            &self,
463        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
464            self.0
465                .method_hash([2, 162, 81, 163], ())
466                .expect("method not found (this should never happen)")
467        }
468        ///Gets the contract's `EIP712DomainChanged` event
469        pub fn eip712_domain_changed_filter(
470            &self,
471        ) -> ::ethers_contract::builders::Event<
472            ::std::sync::Arc<M>,
473            M,
474            Eip712DomainChangedFilter,
475        > {
476            self.0.event()
477        }
478        ///Gets the contract's `ProposalCanceled` event
479        pub fn proposal_canceled_filter(
480            &self,
481        ) -> ::ethers_contract::builders::Event<
482            ::std::sync::Arc<M>,
483            M,
484            ProposalCanceledFilter,
485        > {
486            self.0.event()
487        }
488        ///Gets the contract's `ProposalCreated` event
489        pub fn proposal_created_filter(
490            &self,
491        ) -> ::ethers_contract::builders::Event<
492            ::std::sync::Arc<M>,
493            M,
494            ProposalCreatedFilter,
495        > {
496            self.0.event()
497        }
498        ///Gets the contract's `ProposalExecuted` event
499        pub fn proposal_executed_filter(
500            &self,
501        ) -> ::ethers_contract::builders::Event<
502            ::std::sync::Arc<M>,
503            M,
504            ProposalExecutedFilter,
505        > {
506            self.0.event()
507        }
508        ///Gets the contract's `ProposalQueued` event
509        pub fn proposal_queued_filter(
510            &self,
511        ) -> ::ethers_contract::builders::Event<
512            ::std::sync::Arc<M>,
513            M,
514            ProposalQueuedFilter,
515        > {
516            self.0.event()
517        }
518        ///Gets the contract's `TimelockChange` event
519        pub fn timelock_change_filter(
520            &self,
521        ) -> ::ethers_contract::builders::Event<
522            ::std::sync::Arc<M>,
523            M,
524            TimelockChangeFilter,
525        > {
526            self.0.event()
527        }
528        ///Gets the contract's `VoteCast` event
529        pub fn vote_cast_filter(
530            &self,
531        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, VoteCastFilter> {
532            self.0.event()
533        }
534        ///Gets the contract's `VoteCastWithParams` event
535        pub fn vote_cast_with_params_filter(
536            &self,
537        ) -> ::ethers_contract::builders::Event<
538            ::std::sync::Arc<M>,
539            M,
540            VoteCastWithParamsFilter,
541        > {
542            self.0.event()
543        }
544        /// Returns an `Event` builder for all the events of this contract.
545        pub fn events(
546            &self,
547        ) -> ::ethers_contract::builders::Event<
548            ::std::sync::Arc<M>,
549            M,
550            GovernorTimelockCompoundEvents,
551        > {
552            self.0.event_with_filter(::core::default::Default::default())
553        }
554    }
555    impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
556    for GovernorTimelockCompound<M> {
557        fn from(contract: ::ethers_contract::Contract<M>) -> Self {
558            Self::new(contract.address(), contract.client())
559        }
560    }
561    ///Custom Error type `Empty` with signature `Empty()` and selector `0x3db2a12a`
562    #[derive(
563        Clone,
564        ::ethers_contract::EthError,
565        ::ethers_contract::EthDisplay,
566        Default,
567        Debug,
568        PartialEq,
569        Eq,
570        Hash
571    )]
572    #[etherror(name = "Empty", abi = "Empty()")]
573    pub struct Empty;
574    ///Custom Error type `InvalidShortString` with signature `InvalidShortString()` and selector `0xb3512b0c`
575    #[derive(
576        Clone,
577        ::ethers_contract::EthError,
578        ::ethers_contract::EthDisplay,
579        Default,
580        Debug,
581        PartialEq,
582        Eq,
583        Hash
584    )]
585    #[etherror(name = "InvalidShortString", abi = "InvalidShortString()")]
586    pub struct InvalidShortString;
587    ///Custom Error type `StringTooLong` with signature `StringTooLong(string)` and selector `0x305a27a9`
588    #[derive(
589        Clone,
590        ::ethers_contract::EthError,
591        ::ethers_contract::EthDisplay,
592        Default,
593        Debug,
594        PartialEq,
595        Eq,
596        Hash
597    )]
598    #[etherror(name = "StringTooLong", abi = "StringTooLong(string)")]
599    pub struct StringTooLong {
600        pub str: ::std::string::String,
601    }
602    ///Container type for all of the contract's custom errors
603    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
604    pub enum GovernorTimelockCompoundErrors {
605        Empty(Empty),
606        InvalidShortString(InvalidShortString),
607        StringTooLong(StringTooLong),
608        /// The standard solidity revert string, with selector
609        /// Error(string) -- 0x08c379a0
610        RevertString(::std::string::String),
611    }
612    impl ::ethers_core::abi::AbiDecode for GovernorTimelockCompoundErrors {
613        fn decode(
614            data: impl AsRef<[u8]>,
615        ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
616            let data = data.as_ref();
617            if let Ok(decoded)
618                = <::std::string::String as ::ethers_core::abi::AbiDecode>::decode(
619                    data,
620                ) {
621                return Ok(Self::RevertString(decoded));
622            }
623            if let Ok(decoded) = <Empty as ::ethers_core::abi::AbiDecode>::decode(data) {
624                return Ok(Self::Empty(decoded));
625            }
626            if let Ok(decoded)
627                = <InvalidShortString as ::ethers_core::abi::AbiDecode>::decode(data) {
628                return Ok(Self::InvalidShortString(decoded));
629            }
630            if let Ok(decoded)
631                = <StringTooLong as ::ethers_core::abi::AbiDecode>::decode(data) {
632                return Ok(Self::StringTooLong(decoded));
633            }
634            Err(::ethers_core::abi::Error::InvalidData.into())
635        }
636    }
637    impl ::ethers_core::abi::AbiEncode for GovernorTimelockCompoundErrors {
638        fn encode(self) -> ::std::vec::Vec<u8> {
639            match self {
640                Self::Empty(element) => ::ethers_core::abi::AbiEncode::encode(element),
641                Self::InvalidShortString(element) => {
642                    ::ethers_core::abi::AbiEncode::encode(element)
643                }
644                Self::StringTooLong(element) => {
645                    ::ethers_core::abi::AbiEncode::encode(element)
646                }
647                Self::RevertString(s) => ::ethers_core::abi::AbiEncode::encode(s),
648            }
649        }
650    }
651    impl ::ethers_contract::ContractRevert for GovernorTimelockCompoundErrors {
652        fn valid_selector(selector: [u8; 4]) -> bool {
653            match selector {
654                [0x08, 0xc3, 0x79, 0xa0] => true,
655                _ if selector == <Empty as ::ethers_contract::EthError>::selector() => {
656                    true
657                }
658                _ if selector
659                    == <InvalidShortString as ::ethers_contract::EthError>::selector() => {
660                    true
661                }
662                _ if selector
663                    == <StringTooLong as ::ethers_contract::EthError>::selector() => true,
664                _ => false,
665            }
666        }
667    }
668    impl ::core::fmt::Display for GovernorTimelockCompoundErrors {
669        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
670            match self {
671                Self::Empty(element) => ::core::fmt::Display::fmt(element, f),
672                Self::InvalidShortString(element) => {
673                    ::core::fmt::Display::fmt(element, f)
674                }
675                Self::StringTooLong(element) => ::core::fmt::Display::fmt(element, f),
676                Self::RevertString(s) => ::core::fmt::Display::fmt(s, f),
677            }
678        }
679    }
680    impl ::core::convert::From<::std::string::String>
681    for GovernorTimelockCompoundErrors {
682        fn from(value: String) -> Self {
683            Self::RevertString(value)
684        }
685    }
686    impl ::core::convert::From<Empty> for GovernorTimelockCompoundErrors {
687        fn from(value: Empty) -> Self {
688            Self::Empty(value)
689        }
690    }
691    impl ::core::convert::From<InvalidShortString> for GovernorTimelockCompoundErrors {
692        fn from(value: InvalidShortString) -> Self {
693            Self::InvalidShortString(value)
694        }
695    }
696    impl ::core::convert::From<StringTooLong> for GovernorTimelockCompoundErrors {
697        fn from(value: StringTooLong) -> Self {
698            Self::StringTooLong(value)
699        }
700    }
701    #[derive(
702        Clone,
703        ::ethers_contract::EthEvent,
704        ::ethers_contract::EthDisplay,
705        Default,
706        Debug,
707        PartialEq,
708        Eq,
709        Hash
710    )]
711    #[ethevent(name = "EIP712DomainChanged", abi = "EIP712DomainChanged()")]
712    pub struct Eip712DomainChangedFilter;
713    #[derive(
714        Clone,
715        ::ethers_contract::EthEvent,
716        ::ethers_contract::EthDisplay,
717        Default,
718        Debug,
719        PartialEq,
720        Eq,
721        Hash
722    )]
723    #[ethevent(name = "ProposalCanceled", abi = "ProposalCanceled(uint256)")]
724    pub struct ProposalCanceledFilter {
725        pub proposal_id: ::ethers_core::types::U256,
726    }
727    #[derive(
728        Clone,
729        ::ethers_contract::EthEvent,
730        ::ethers_contract::EthDisplay,
731        Default,
732        Debug,
733        PartialEq,
734        Eq,
735        Hash
736    )]
737    #[ethevent(
738        name = "ProposalCreated",
739        abi = "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"
740    )]
741    pub struct ProposalCreatedFilter {
742        pub proposal_id: ::ethers_core::types::U256,
743        pub proposer: ::ethers_core::types::Address,
744        pub targets: ::std::vec::Vec<::ethers_core::types::Address>,
745        pub values: ::std::vec::Vec<::ethers_core::types::U256>,
746        pub signatures: ::std::vec::Vec<::std::string::String>,
747        pub calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
748        pub vote_start: ::ethers_core::types::U256,
749        pub vote_end: ::ethers_core::types::U256,
750        pub description: ::std::string::String,
751    }
752    #[derive(
753        Clone,
754        ::ethers_contract::EthEvent,
755        ::ethers_contract::EthDisplay,
756        Default,
757        Debug,
758        PartialEq,
759        Eq,
760        Hash
761    )]
762    #[ethevent(name = "ProposalExecuted", abi = "ProposalExecuted(uint256)")]
763    pub struct ProposalExecutedFilter {
764        pub proposal_id: ::ethers_core::types::U256,
765    }
766    #[derive(
767        Clone,
768        ::ethers_contract::EthEvent,
769        ::ethers_contract::EthDisplay,
770        Default,
771        Debug,
772        PartialEq,
773        Eq,
774        Hash
775    )]
776    #[ethevent(name = "ProposalQueued", abi = "ProposalQueued(uint256,uint256)")]
777    pub struct ProposalQueuedFilter {
778        pub proposal_id: ::ethers_core::types::U256,
779        pub eta: ::ethers_core::types::U256,
780    }
781    #[derive(
782        Clone,
783        ::ethers_contract::EthEvent,
784        ::ethers_contract::EthDisplay,
785        Default,
786        Debug,
787        PartialEq,
788        Eq,
789        Hash
790    )]
791    #[ethevent(name = "TimelockChange", abi = "TimelockChange(address,address)")]
792    pub struct TimelockChangeFilter {
793        pub old_timelock: ::ethers_core::types::Address,
794        pub new_timelock: ::ethers_core::types::Address,
795    }
796    #[derive(
797        Clone,
798        ::ethers_contract::EthEvent,
799        ::ethers_contract::EthDisplay,
800        Default,
801        Debug,
802        PartialEq,
803        Eq,
804        Hash
805    )]
806    #[ethevent(
807        name = "VoteCast",
808        abi = "VoteCast(address,uint256,uint8,uint256,string)"
809    )]
810    pub struct VoteCastFilter {
811        #[ethevent(indexed)]
812        pub voter: ::ethers_core::types::Address,
813        pub proposal_id: ::ethers_core::types::U256,
814        pub support: u8,
815        pub weight: ::ethers_core::types::U256,
816        pub reason: ::std::string::String,
817    }
818    #[derive(
819        Clone,
820        ::ethers_contract::EthEvent,
821        ::ethers_contract::EthDisplay,
822        Default,
823        Debug,
824        PartialEq,
825        Eq,
826        Hash
827    )]
828    #[ethevent(
829        name = "VoteCastWithParams",
830        abi = "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"
831    )]
832    pub struct VoteCastWithParamsFilter {
833        #[ethevent(indexed)]
834        pub voter: ::ethers_core::types::Address,
835        pub proposal_id: ::ethers_core::types::U256,
836        pub support: u8,
837        pub weight: ::ethers_core::types::U256,
838        pub reason: ::std::string::String,
839        pub params: ::ethers_core::types::Bytes,
840    }
841    ///Container type for all of the contract's events
842    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
843    pub enum GovernorTimelockCompoundEvents {
844        Eip712DomainChangedFilter(Eip712DomainChangedFilter),
845        ProposalCanceledFilter(ProposalCanceledFilter),
846        ProposalCreatedFilter(ProposalCreatedFilter),
847        ProposalExecutedFilter(ProposalExecutedFilter),
848        ProposalQueuedFilter(ProposalQueuedFilter),
849        TimelockChangeFilter(TimelockChangeFilter),
850        VoteCastFilter(VoteCastFilter),
851        VoteCastWithParamsFilter(VoteCastWithParamsFilter),
852    }
853    impl ::ethers_contract::EthLogDecode for GovernorTimelockCompoundEvents {
854        fn decode_log(
855            log: &::ethers_core::abi::RawLog,
856        ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
857            if let Ok(decoded) = Eip712DomainChangedFilter::decode_log(log) {
858                return Ok(
859                    GovernorTimelockCompoundEvents::Eip712DomainChangedFilter(decoded),
860                );
861            }
862            if let Ok(decoded) = ProposalCanceledFilter::decode_log(log) {
863                return Ok(
864                    GovernorTimelockCompoundEvents::ProposalCanceledFilter(decoded),
865                );
866            }
867            if let Ok(decoded) = ProposalCreatedFilter::decode_log(log) {
868                return Ok(
869                    GovernorTimelockCompoundEvents::ProposalCreatedFilter(decoded),
870                );
871            }
872            if let Ok(decoded) = ProposalExecutedFilter::decode_log(log) {
873                return Ok(
874                    GovernorTimelockCompoundEvents::ProposalExecutedFilter(decoded),
875                );
876            }
877            if let Ok(decoded) = ProposalQueuedFilter::decode_log(log) {
878                return Ok(GovernorTimelockCompoundEvents::ProposalQueuedFilter(decoded));
879            }
880            if let Ok(decoded) = TimelockChangeFilter::decode_log(log) {
881                return Ok(GovernorTimelockCompoundEvents::TimelockChangeFilter(decoded));
882            }
883            if let Ok(decoded) = VoteCastFilter::decode_log(log) {
884                return Ok(GovernorTimelockCompoundEvents::VoteCastFilter(decoded));
885            }
886            if let Ok(decoded) = VoteCastWithParamsFilter::decode_log(log) {
887                return Ok(
888                    GovernorTimelockCompoundEvents::VoteCastWithParamsFilter(decoded),
889                );
890            }
891            Err(::ethers_core::abi::Error::InvalidData)
892        }
893    }
894    impl ::core::fmt::Display for GovernorTimelockCompoundEvents {
895        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
896            match self {
897                Self::Eip712DomainChangedFilter(element) => {
898                    ::core::fmt::Display::fmt(element, f)
899                }
900                Self::ProposalCanceledFilter(element) => {
901                    ::core::fmt::Display::fmt(element, f)
902                }
903                Self::ProposalCreatedFilter(element) => {
904                    ::core::fmt::Display::fmt(element, f)
905                }
906                Self::ProposalExecutedFilter(element) => {
907                    ::core::fmt::Display::fmt(element, f)
908                }
909                Self::ProposalQueuedFilter(element) => {
910                    ::core::fmt::Display::fmt(element, f)
911                }
912                Self::TimelockChangeFilter(element) => {
913                    ::core::fmt::Display::fmt(element, f)
914                }
915                Self::VoteCastFilter(element) => ::core::fmt::Display::fmt(element, f),
916                Self::VoteCastWithParamsFilter(element) => {
917                    ::core::fmt::Display::fmt(element, f)
918                }
919            }
920        }
921    }
922    impl ::core::convert::From<Eip712DomainChangedFilter>
923    for GovernorTimelockCompoundEvents {
924        fn from(value: Eip712DomainChangedFilter) -> Self {
925            Self::Eip712DomainChangedFilter(value)
926        }
927    }
928    impl ::core::convert::From<ProposalCanceledFilter>
929    for GovernorTimelockCompoundEvents {
930        fn from(value: ProposalCanceledFilter) -> Self {
931            Self::ProposalCanceledFilter(value)
932        }
933    }
934    impl ::core::convert::From<ProposalCreatedFilter>
935    for GovernorTimelockCompoundEvents {
936        fn from(value: ProposalCreatedFilter) -> Self {
937            Self::ProposalCreatedFilter(value)
938        }
939    }
940    impl ::core::convert::From<ProposalExecutedFilter>
941    for GovernorTimelockCompoundEvents {
942        fn from(value: ProposalExecutedFilter) -> Self {
943            Self::ProposalExecutedFilter(value)
944        }
945    }
946    impl ::core::convert::From<ProposalQueuedFilter> for GovernorTimelockCompoundEvents {
947        fn from(value: ProposalQueuedFilter) -> Self {
948            Self::ProposalQueuedFilter(value)
949        }
950    }
951    impl ::core::convert::From<TimelockChangeFilter> for GovernorTimelockCompoundEvents {
952        fn from(value: TimelockChangeFilter) -> Self {
953            Self::TimelockChangeFilter(value)
954        }
955    }
956    impl ::core::convert::From<VoteCastFilter> for GovernorTimelockCompoundEvents {
957        fn from(value: VoteCastFilter) -> Self {
958            Self::VoteCastFilter(value)
959        }
960    }
961    impl ::core::convert::From<VoteCastWithParamsFilter>
962    for GovernorTimelockCompoundEvents {
963        fn from(value: VoteCastWithParamsFilter) -> Self {
964            Self::VoteCastWithParamsFilter(value)
965        }
966    }
967    ///Container type for all input parameters for the `BALLOT_TYPEHASH` function with signature `BALLOT_TYPEHASH()` and selector `0xdeaaa7cc`
968    #[derive(
969        Clone,
970        ::ethers_contract::EthCall,
971        ::ethers_contract::EthDisplay,
972        Default,
973        Debug,
974        PartialEq,
975        Eq,
976        Hash
977    )]
978    #[ethcall(name = "BALLOT_TYPEHASH", abi = "BALLOT_TYPEHASH()")]
979    pub struct BallotTypehashCall;
980    ///Container type for all input parameters for the `CLOCK_MODE` function with signature `CLOCK_MODE()` and selector `0x4bf5d7e9`
981    #[derive(
982        Clone,
983        ::ethers_contract::EthCall,
984        ::ethers_contract::EthDisplay,
985        Default,
986        Debug,
987        PartialEq,
988        Eq,
989        Hash
990    )]
991    #[ethcall(name = "CLOCK_MODE", abi = "CLOCK_MODE()")]
992    pub struct ClockModeCall;
993    ///Container type for all input parameters for the `COUNTING_MODE` function with signature `COUNTING_MODE()` and selector `0xdd4e2ba5`
994    #[derive(
995        Clone,
996        ::ethers_contract::EthCall,
997        ::ethers_contract::EthDisplay,
998        Default,
999        Debug,
1000        PartialEq,
1001        Eq,
1002        Hash
1003    )]
1004    #[ethcall(name = "COUNTING_MODE", abi = "COUNTING_MODE()")]
1005    pub struct CountingModeCall;
1006    ///Container type for all input parameters for the `EXTENDED_BALLOT_TYPEHASH` function with signature `EXTENDED_BALLOT_TYPEHASH()` and selector `0x2fe3e261`
1007    #[derive(
1008        Clone,
1009        ::ethers_contract::EthCall,
1010        ::ethers_contract::EthDisplay,
1011        Default,
1012        Debug,
1013        PartialEq,
1014        Eq,
1015        Hash
1016    )]
1017    #[ethcall(name = "EXTENDED_BALLOT_TYPEHASH", abi = "EXTENDED_BALLOT_TYPEHASH()")]
1018    pub struct ExtendedBallotTypehashCall;
1019    ///Container type for all input parameters for the `__acceptAdmin` function with signature `__acceptAdmin()` and selector `0xb9a61961`
1020    #[derive(
1021        Clone,
1022        ::ethers_contract::EthCall,
1023        ::ethers_contract::EthDisplay,
1024        Default,
1025        Debug,
1026        PartialEq,
1027        Eq,
1028        Hash
1029    )]
1030    #[ethcall(name = "__acceptAdmin", abi = "__acceptAdmin()")]
1031    pub struct AcceptAdminCall;
1032    ///Container type for all input parameters for the `cancel` function with signature `cancel(address[],uint256[],bytes[],bytes32)` and selector `0x452115d6`
1033    #[derive(
1034        Clone,
1035        ::ethers_contract::EthCall,
1036        ::ethers_contract::EthDisplay,
1037        Default,
1038        Debug,
1039        PartialEq,
1040        Eq,
1041        Hash
1042    )]
1043    #[ethcall(name = "cancel", abi = "cancel(address[],uint256[],bytes[],bytes32)")]
1044    pub struct CancelCall {
1045        pub targets: ::std::vec::Vec<::ethers_core::types::Address>,
1046        pub values: ::std::vec::Vec<::ethers_core::types::U256>,
1047        pub calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
1048        pub description_hash: [u8; 32],
1049    }
1050    ///Container type for all input parameters for the `castVote` function with signature `castVote(uint256,uint8)` and selector `0x56781388`
1051    #[derive(
1052        Clone,
1053        ::ethers_contract::EthCall,
1054        ::ethers_contract::EthDisplay,
1055        Default,
1056        Debug,
1057        PartialEq,
1058        Eq,
1059        Hash
1060    )]
1061    #[ethcall(name = "castVote", abi = "castVote(uint256,uint8)")]
1062    pub struct CastVoteCall {
1063        pub proposal_id: ::ethers_core::types::U256,
1064        pub support: u8,
1065    }
1066    ///Container type for all input parameters for the `castVoteBySig` function with signature `castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)` and selector `0x3bccf4fd`
1067    #[derive(
1068        Clone,
1069        ::ethers_contract::EthCall,
1070        ::ethers_contract::EthDisplay,
1071        Default,
1072        Debug,
1073        PartialEq,
1074        Eq,
1075        Hash
1076    )]
1077    #[ethcall(
1078        name = "castVoteBySig",
1079        abi = "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)"
1080    )]
1081    pub struct CastVoteBySigCall {
1082        pub proposal_id: ::ethers_core::types::U256,
1083        pub support: u8,
1084        pub v: u8,
1085        pub r: [u8; 32],
1086        pub s: [u8; 32],
1087    }
1088    ///Container type for all input parameters for the `castVoteWithReason` function with signature `castVoteWithReason(uint256,uint8,string)` and selector `0x7b3c71d3`
1089    #[derive(
1090        Clone,
1091        ::ethers_contract::EthCall,
1092        ::ethers_contract::EthDisplay,
1093        Default,
1094        Debug,
1095        PartialEq,
1096        Eq,
1097        Hash
1098    )]
1099    #[ethcall(
1100        name = "castVoteWithReason",
1101        abi = "castVoteWithReason(uint256,uint8,string)"
1102    )]
1103    pub struct CastVoteWithReasonCall {
1104        pub proposal_id: ::ethers_core::types::U256,
1105        pub support: u8,
1106        pub reason: ::std::string::String,
1107    }
1108    ///Container type for all input parameters for the `castVoteWithReasonAndParams` function with signature `castVoteWithReasonAndParams(uint256,uint8,string,bytes)` and selector `0x5f398a14`
1109    #[derive(
1110        Clone,
1111        ::ethers_contract::EthCall,
1112        ::ethers_contract::EthDisplay,
1113        Default,
1114        Debug,
1115        PartialEq,
1116        Eq,
1117        Hash
1118    )]
1119    #[ethcall(
1120        name = "castVoteWithReasonAndParams",
1121        abi = "castVoteWithReasonAndParams(uint256,uint8,string,bytes)"
1122    )]
1123    pub struct CastVoteWithReasonAndParamsCall {
1124        pub proposal_id: ::ethers_core::types::U256,
1125        pub support: u8,
1126        pub reason: ::std::string::String,
1127        pub params: ::ethers_core::types::Bytes,
1128    }
1129    ///Container type for all input parameters for the `castVoteWithReasonAndParamsBySig` function with signature `castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)` and selector `0x03420181`
1130    #[derive(
1131        Clone,
1132        ::ethers_contract::EthCall,
1133        ::ethers_contract::EthDisplay,
1134        Default,
1135        Debug,
1136        PartialEq,
1137        Eq,
1138        Hash
1139    )]
1140    #[ethcall(
1141        name = "castVoteWithReasonAndParamsBySig",
1142        abi = "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)"
1143    )]
1144    pub struct CastVoteWithReasonAndParamsBySigCall {
1145        pub proposal_id: ::ethers_core::types::U256,
1146        pub support: u8,
1147        pub reason: ::std::string::String,
1148        pub params: ::ethers_core::types::Bytes,
1149        pub v: u8,
1150        pub r: [u8; 32],
1151        pub s: [u8; 32],
1152    }
1153    ///Container type for all input parameters for the `clock` function with signature `clock()` and selector `0x91ddadf4`
1154    #[derive(
1155        Clone,
1156        ::ethers_contract::EthCall,
1157        ::ethers_contract::EthDisplay,
1158        Default,
1159        Debug,
1160        PartialEq,
1161        Eq,
1162        Hash
1163    )]
1164    #[ethcall(name = "clock", abi = "clock()")]
1165    pub struct ClockCall;
1166    ///Container type for all input parameters for the `eip712Domain` function with signature `eip712Domain()` and selector `0x84b0196e`
1167    #[derive(
1168        Clone,
1169        ::ethers_contract::EthCall,
1170        ::ethers_contract::EthDisplay,
1171        Default,
1172        Debug,
1173        PartialEq,
1174        Eq,
1175        Hash
1176    )]
1177    #[ethcall(name = "eip712Domain", abi = "eip712Domain()")]
1178    pub struct Eip712DomainCall;
1179    ///Container type for all input parameters for the `execute` function with signature `execute(address[],uint256[],bytes[],bytes32)` and selector `0x2656227d`
1180    #[derive(
1181        Clone,
1182        ::ethers_contract::EthCall,
1183        ::ethers_contract::EthDisplay,
1184        Default,
1185        Debug,
1186        PartialEq,
1187        Eq,
1188        Hash
1189    )]
1190    #[ethcall(name = "execute", abi = "execute(address[],uint256[],bytes[],bytes32)")]
1191    pub struct ExecuteCall {
1192        pub targets: ::std::vec::Vec<::ethers_core::types::Address>,
1193        pub values: ::std::vec::Vec<::ethers_core::types::U256>,
1194        pub calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
1195        pub description_hash: [u8; 32],
1196    }
1197    ///Container type for all input parameters for the `getVotes` function with signature `getVotes(address,uint256)` and selector `0xeb9019d4`
1198    #[derive(
1199        Clone,
1200        ::ethers_contract::EthCall,
1201        ::ethers_contract::EthDisplay,
1202        Default,
1203        Debug,
1204        PartialEq,
1205        Eq,
1206        Hash
1207    )]
1208    #[ethcall(name = "getVotes", abi = "getVotes(address,uint256)")]
1209    pub struct GetVotesCall {
1210        pub account: ::ethers_core::types::Address,
1211        pub timepoint: ::ethers_core::types::U256,
1212    }
1213    ///Container type for all input parameters for the `getVotesWithParams` function with signature `getVotesWithParams(address,uint256,bytes)` and selector `0x9a802a6d`
1214    #[derive(
1215        Clone,
1216        ::ethers_contract::EthCall,
1217        ::ethers_contract::EthDisplay,
1218        Default,
1219        Debug,
1220        PartialEq,
1221        Eq,
1222        Hash
1223    )]
1224    #[ethcall(
1225        name = "getVotesWithParams",
1226        abi = "getVotesWithParams(address,uint256,bytes)"
1227    )]
1228    pub struct GetVotesWithParamsCall {
1229        pub account: ::ethers_core::types::Address,
1230        pub timepoint: ::ethers_core::types::U256,
1231        pub params: ::ethers_core::types::Bytes,
1232    }
1233    ///Container type for all input parameters for the `hasVoted` function with signature `hasVoted(uint256,address)` and selector `0x43859632`
1234    #[derive(
1235        Clone,
1236        ::ethers_contract::EthCall,
1237        ::ethers_contract::EthDisplay,
1238        Default,
1239        Debug,
1240        PartialEq,
1241        Eq,
1242        Hash
1243    )]
1244    #[ethcall(name = "hasVoted", abi = "hasVoted(uint256,address)")]
1245    pub struct HasVotedCall {
1246        pub proposal_id: ::ethers_core::types::U256,
1247        pub account: ::ethers_core::types::Address,
1248    }
1249    ///Container type for all input parameters for the `hashProposal` function with signature `hashProposal(address[],uint256[],bytes[],bytes32)` and selector `0xc59057e4`
1250    #[derive(
1251        Clone,
1252        ::ethers_contract::EthCall,
1253        ::ethers_contract::EthDisplay,
1254        Default,
1255        Debug,
1256        PartialEq,
1257        Eq,
1258        Hash
1259    )]
1260    #[ethcall(
1261        name = "hashProposal",
1262        abi = "hashProposal(address[],uint256[],bytes[],bytes32)"
1263    )]
1264    pub struct HashProposalCall {
1265        pub targets: ::std::vec::Vec<::ethers_core::types::Address>,
1266        pub values: ::std::vec::Vec<::ethers_core::types::U256>,
1267        pub calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
1268        pub description_hash: [u8; 32],
1269    }
1270    ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03`
1271    #[derive(
1272        Clone,
1273        ::ethers_contract::EthCall,
1274        ::ethers_contract::EthDisplay,
1275        Default,
1276        Debug,
1277        PartialEq,
1278        Eq,
1279        Hash
1280    )]
1281    #[ethcall(name = "name", abi = "name()")]
1282    pub struct NameCall;
1283    ///Container type for all input parameters for the `onERC1155BatchReceived` function with signature `onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)` and selector `0xbc197c81`
1284    #[derive(
1285        Clone,
1286        ::ethers_contract::EthCall,
1287        ::ethers_contract::EthDisplay,
1288        Default,
1289        Debug,
1290        PartialEq,
1291        Eq,
1292        Hash
1293    )]
1294    #[ethcall(
1295        name = "onERC1155BatchReceived",
1296        abi = "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"
1297    )]
1298    pub struct OnERC1155BatchReceivedCall(
1299        pub ::ethers_core::types::Address,
1300        pub ::ethers_core::types::Address,
1301        pub ::std::vec::Vec<::ethers_core::types::U256>,
1302        pub ::std::vec::Vec<::ethers_core::types::U256>,
1303        pub ::ethers_core::types::Bytes,
1304    );
1305    ///Container type for all input parameters for the `onERC1155Received` function with signature `onERC1155Received(address,address,uint256,uint256,bytes)` and selector `0xf23a6e61`
1306    #[derive(
1307        Clone,
1308        ::ethers_contract::EthCall,
1309        ::ethers_contract::EthDisplay,
1310        Default,
1311        Debug,
1312        PartialEq,
1313        Eq,
1314        Hash
1315    )]
1316    #[ethcall(
1317        name = "onERC1155Received",
1318        abi = "onERC1155Received(address,address,uint256,uint256,bytes)"
1319    )]
1320    pub struct OnERC1155ReceivedCall(
1321        pub ::ethers_core::types::Address,
1322        pub ::ethers_core::types::Address,
1323        pub ::ethers_core::types::U256,
1324        pub ::ethers_core::types::U256,
1325        pub ::ethers_core::types::Bytes,
1326    );
1327    ///Container type for all input parameters for the `onERC721Received` function with signature `onERC721Received(address,address,uint256,bytes)` and selector `0x150b7a02`
1328    #[derive(
1329        Clone,
1330        ::ethers_contract::EthCall,
1331        ::ethers_contract::EthDisplay,
1332        Default,
1333        Debug,
1334        PartialEq,
1335        Eq,
1336        Hash
1337    )]
1338    #[ethcall(
1339        name = "onERC721Received",
1340        abi = "onERC721Received(address,address,uint256,bytes)"
1341    )]
1342    pub struct OnERC721ReceivedCall(
1343        pub ::ethers_core::types::Address,
1344        pub ::ethers_core::types::Address,
1345        pub ::ethers_core::types::U256,
1346        pub ::ethers_core::types::Bytes,
1347    );
1348    ///Container type for all input parameters for the `proposalDeadline` function with signature `proposalDeadline(uint256)` and selector `0xc01f9e37`
1349    #[derive(
1350        Clone,
1351        ::ethers_contract::EthCall,
1352        ::ethers_contract::EthDisplay,
1353        Default,
1354        Debug,
1355        PartialEq,
1356        Eq,
1357        Hash
1358    )]
1359    #[ethcall(name = "proposalDeadline", abi = "proposalDeadline(uint256)")]
1360    pub struct ProposalDeadlineCall {
1361        pub proposal_id: ::ethers_core::types::U256,
1362    }
1363    ///Container type for all input parameters for the `proposalEta` function with signature `proposalEta(uint256)` and selector `0xab58fb8e`
1364    #[derive(
1365        Clone,
1366        ::ethers_contract::EthCall,
1367        ::ethers_contract::EthDisplay,
1368        Default,
1369        Debug,
1370        PartialEq,
1371        Eq,
1372        Hash
1373    )]
1374    #[ethcall(name = "proposalEta", abi = "proposalEta(uint256)")]
1375    pub struct ProposalEtaCall {
1376        pub proposal_id: ::ethers_core::types::U256,
1377    }
1378    ///Container type for all input parameters for the `proposalProposer` function with signature `proposalProposer(uint256)` and selector `0x143489d0`
1379    #[derive(
1380        Clone,
1381        ::ethers_contract::EthCall,
1382        ::ethers_contract::EthDisplay,
1383        Default,
1384        Debug,
1385        PartialEq,
1386        Eq,
1387        Hash
1388    )]
1389    #[ethcall(name = "proposalProposer", abi = "proposalProposer(uint256)")]
1390    pub struct ProposalProposerCall {
1391        pub proposal_id: ::ethers_core::types::U256,
1392    }
1393    ///Container type for all input parameters for the `proposalSnapshot` function with signature `proposalSnapshot(uint256)` and selector `0x2d63f693`
1394    #[derive(
1395        Clone,
1396        ::ethers_contract::EthCall,
1397        ::ethers_contract::EthDisplay,
1398        Default,
1399        Debug,
1400        PartialEq,
1401        Eq,
1402        Hash
1403    )]
1404    #[ethcall(name = "proposalSnapshot", abi = "proposalSnapshot(uint256)")]
1405    pub struct ProposalSnapshotCall {
1406        pub proposal_id: ::ethers_core::types::U256,
1407    }
1408    ///Container type for all input parameters for the `proposalThreshold` function with signature `proposalThreshold()` and selector `0xb58131b0`
1409    #[derive(
1410        Clone,
1411        ::ethers_contract::EthCall,
1412        ::ethers_contract::EthDisplay,
1413        Default,
1414        Debug,
1415        PartialEq,
1416        Eq,
1417        Hash
1418    )]
1419    #[ethcall(name = "proposalThreshold", abi = "proposalThreshold()")]
1420    pub struct ProposalThresholdCall;
1421    ///Container type for all input parameters for the `propose` function with signature `propose(address[],uint256[],bytes[],string)` and selector `0x7d5e81e2`
1422    #[derive(
1423        Clone,
1424        ::ethers_contract::EthCall,
1425        ::ethers_contract::EthDisplay,
1426        Default,
1427        Debug,
1428        PartialEq,
1429        Eq,
1430        Hash
1431    )]
1432    #[ethcall(name = "propose", abi = "propose(address[],uint256[],bytes[],string)")]
1433    pub struct ProposeCall {
1434        pub targets: ::std::vec::Vec<::ethers_core::types::Address>,
1435        pub values: ::std::vec::Vec<::ethers_core::types::U256>,
1436        pub calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
1437        pub description: ::std::string::String,
1438    }
1439    ///Container type for all input parameters for the `queue` function with signature `queue(address[],uint256[],bytes[],bytes32)` and selector `0x160cbed7`
1440    #[derive(
1441        Clone,
1442        ::ethers_contract::EthCall,
1443        ::ethers_contract::EthDisplay,
1444        Default,
1445        Debug,
1446        PartialEq,
1447        Eq,
1448        Hash
1449    )]
1450    #[ethcall(name = "queue", abi = "queue(address[],uint256[],bytes[],bytes32)")]
1451    pub struct QueueCall {
1452        pub targets: ::std::vec::Vec<::ethers_core::types::Address>,
1453        pub values: ::std::vec::Vec<::ethers_core::types::U256>,
1454        pub calldatas: ::std::vec::Vec<::ethers_core::types::Bytes>,
1455        pub description_hash: [u8; 32],
1456    }
1457    ///Container type for all input parameters for the `quorum` function with signature `quorum(uint256)` and selector `0xf8ce560a`
1458    #[derive(
1459        Clone,
1460        ::ethers_contract::EthCall,
1461        ::ethers_contract::EthDisplay,
1462        Default,
1463        Debug,
1464        PartialEq,
1465        Eq,
1466        Hash
1467    )]
1468    #[ethcall(name = "quorum", abi = "quorum(uint256)")]
1469    pub struct QuorumCall {
1470        pub timepoint: ::ethers_core::types::U256,
1471    }
1472    ///Container type for all input parameters for the `relay` function with signature `relay(address,uint256,bytes)` and selector `0xc28bc2fa`
1473    #[derive(
1474        Clone,
1475        ::ethers_contract::EthCall,
1476        ::ethers_contract::EthDisplay,
1477        Default,
1478        Debug,
1479        PartialEq,
1480        Eq,
1481        Hash
1482    )]
1483    #[ethcall(name = "relay", abi = "relay(address,uint256,bytes)")]
1484    pub struct RelayCall {
1485        pub target: ::ethers_core::types::Address,
1486        pub value: ::ethers_core::types::U256,
1487        pub data: ::ethers_core::types::Bytes,
1488    }
1489    ///Container type for all input parameters for the `state` function with signature `state(uint256)` and selector `0x3e4f49e6`
1490    #[derive(
1491        Clone,
1492        ::ethers_contract::EthCall,
1493        ::ethers_contract::EthDisplay,
1494        Default,
1495        Debug,
1496        PartialEq,
1497        Eq,
1498        Hash
1499    )]
1500    #[ethcall(name = "state", abi = "state(uint256)")]
1501    pub struct StateCall {
1502        pub proposal_id: ::ethers_core::types::U256,
1503    }
1504    ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
1505    #[derive(
1506        Clone,
1507        ::ethers_contract::EthCall,
1508        ::ethers_contract::EthDisplay,
1509        Default,
1510        Debug,
1511        PartialEq,
1512        Eq,
1513        Hash
1514    )]
1515    #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")]
1516    pub struct SupportsInterfaceCall {
1517        pub interface_id: [u8; 4],
1518    }
1519    ///Container type for all input parameters for the `timelock` function with signature `timelock()` and selector `0xd33219b4`
1520    #[derive(
1521        Clone,
1522        ::ethers_contract::EthCall,
1523        ::ethers_contract::EthDisplay,
1524        Default,
1525        Debug,
1526        PartialEq,
1527        Eq,
1528        Hash
1529    )]
1530    #[ethcall(name = "timelock", abi = "timelock()")]
1531    pub struct TimelockCall;
1532    ///Container type for all input parameters for the `updateTimelock` function with signature `updateTimelock(address)` and selector `0xa890c910`
1533    #[derive(
1534        Clone,
1535        ::ethers_contract::EthCall,
1536        ::ethers_contract::EthDisplay,
1537        Default,
1538        Debug,
1539        PartialEq,
1540        Eq,
1541        Hash
1542    )]
1543    #[ethcall(name = "updateTimelock", abi = "updateTimelock(address)")]
1544    pub struct UpdateTimelockCall {
1545        pub new_timelock: ::ethers_core::types::Address,
1546    }
1547    ///Container type for all input parameters for the `version` function with signature `version()` and selector `0x54fd4d50`
1548    #[derive(
1549        Clone,
1550        ::ethers_contract::EthCall,
1551        ::ethers_contract::EthDisplay,
1552        Default,
1553        Debug,
1554        PartialEq,
1555        Eq,
1556        Hash
1557    )]
1558    #[ethcall(name = "version", abi = "version()")]
1559    pub struct VersionCall;
1560    ///Container type for all input parameters for the `votingDelay` function with signature `votingDelay()` and selector `0x3932abb1`
1561    #[derive(
1562        Clone,
1563        ::ethers_contract::EthCall,
1564        ::ethers_contract::EthDisplay,
1565        Default,
1566        Debug,
1567        PartialEq,
1568        Eq,
1569        Hash
1570    )]
1571    #[ethcall(name = "votingDelay", abi = "votingDelay()")]
1572    pub struct VotingDelayCall;
1573    ///Container type for all input parameters for the `votingPeriod` function with signature `votingPeriod()` and selector `0x02a251a3`
1574    #[derive(
1575        Clone,
1576        ::ethers_contract::EthCall,
1577        ::ethers_contract::EthDisplay,
1578        Default,
1579        Debug,
1580        PartialEq,
1581        Eq,
1582        Hash
1583    )]
1584    #[ethcall(name = "votingPeriod", abi = "votingPeriod()")]
1585    pub struct VotingPeriodCall;
1586    ///Container type for all of the contract's call
1587    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
1588    pub enum GovernorTimelockCompoundCalls {
1589        BallotTypehash(BallotTypehashCall),
1590        ClockMode(ClockModeCall),
1591        CountingMode(CountingModeCall),
1592        ExtendedBallotTypehash(ExtendedBallotTypehashCall),
1593        AcceptAdmin(AcceptAdminCall),
1594        Cancel(CancelCall),
1595        CastVote(CastVoteCall),
1596        CastVoteBySig(CastVoteBySigCall),
1597        CastVoteWithReason(CastVoteWithReasonCall),
1598        CastVoteWithReasonAndParams(CastVoteWithReasonAndParamsCall),
1599        CastVoteWithReasonAndParamsBySig(CastVoteWithReasonAndParamsBySigCall),
1600        Clock(ClockCall),
1601        Eip712Domain(Eip712DomainCall),
1602        Execute(ExecuteCall),
1603        GetVotes(GetVotesCall),
1604        GetVotesWithParams(GetVotesWithParamsCall),
1605        HasVoted(HasVotedCall),
1606        HashProposal(HashProposalCall),
1607        Name(NameCall),
1608        OnERC1155BatchReceived(OnERC1155BatchReceivedCall),
1609        OnERC1155Received(OnERC1155ReceivedCall),
1610        OnERC721Received(OnERC721ReceivedCall),
1611        ProposalDeadline(ProposalDeadlineCall),
1612        ProposalEta(ProposalEtaCall),
1613        ProposalProposer(ProposalProposerCall),
1614        ProposalSnapshot(ProposalSnapshotCall),
1615        ProposalThreshold(ProposalThresholdCall),
1616        Propose(ProposeCall),
1617        Queue(QueueCall),
1618        Quorum(QuorumCall),
1619        Relay(RelayCall),
1620        State(StateCall),
1621        SupportsInterface(SupportsInterfaceCall),
1622        Timelock(TimelockCall),
1623        UpdateTimelock(UpdateTimelockCall),
1624        Version(VersionCall),
1625        VotingDelay(VotingDelayCall),
1626        VotingPeriod(VotingPeriodCall),
1627    }
1628    impl ::ethers_core::abi::AbiDecode for GovernorTimelockCompoundCalls {
1629        fn decode(
1630            data: impl AsRef<[u8]>,
1631        ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
1632            let data = data.as_ref();
1633            if let Ok(decoded)
1634                = <BallotTypehashCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1635                return Ok(Self::BallotTypehash(decoded));
1636            }
1637            if let Ok(decoded)
1638                = <ClockModeCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1639                return Ok(Self::ClockMode(decoded));
1640            }
1641            if let Ok(decoded)
1642                = <CountingModeCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1643                return Ok(Self::CountingMode(decoded));
1644            }
1645            if let Ok(decoded)
1646                = <ExtendedBallotTypehashCall as ::ethers_core::abi::AbiDecode>::decode(
1647                    data,
1648                ) {
1649                return Ok(Self::ExtendedBallotTypehash(decoded));
1650            }
1651            if let Ok(decoded)
1652                = <AcceptAdminCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1653                return Ok(Self::AcceptAdmin(decoded));
1654            }
1655            if let Ok(decoded)
1656                = <CancelCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1657                return Ok(Self::Cancel(decoded));
1658            }
1659            if let Ok(decoded)
1660                = <CastVoteCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1661                return Ok(Self::CastVote(decoded));
1662            }
1663            if let Ok(decoded)
1664                = <CastVoteBySigCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1665                return Ok(Self::CastVoteBySig(decoded));
1666            }
1667            if let Ok(decoded)
1668                = <CastVoteWithReasonCall as ::ethers_core::abi::AbiDecode>::decode(
1669                    data,
1670                ) {
1671                return Ok(Self::CastVoteWithReason(decoded));
1672            }
1673            if let Ok(decoded)
1674                = <CastVoteWithReasonAndParamsCall as ::ethers_core::abi::AbiDecode>::decode(
1675                    data,
1676                ) {
1677                return Ok(Self::CastVoteWithReasonAndParams(decoded));
1678            }
1679            if let Ok(decoded)
1680                = <CastVoteWithReasonAndParamsBySigCall as ::ethers_core::abi::AbiDecode>::decode(
1681                    data,
1682                ) {
1683                return Ok(Self::CastVoteWithReasonAndParamsBySig(decoded));
1684            }
1685            if let Ok(decoded)
1686                = <ClockCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1687                return Ok(Self::Clock(decoded));
1688            }
1689            if let Ok(decoded)
1690                = <Eip712DomainCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1691                return Ok(Self::Eip712Domain(decoded));
1692            }
1693            if let Ok(decoded)
1694                = <ExecuteCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1695                return Ok(Self::Execute(decoded));
1696            }
1697            if let Ok(decoded)
1698                = <GetVotesCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1699                return Ok(Self::GetVotes(decoded));
1700            }
1701            if let Ok(decoded)
1702                = <GetVotesWithParamsCall as ::ethers_core::abi::AbiDecode>::decode(
1703                    data,
1704                ) {
1705                return Ok(Self::GetVotesWithParams(decoded));
1706            }
1707            if let Ok(decoded)
1708                = <HasVotedCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1709                return Ok(Self::HasVoted(decoded));
1710            }
1711            if let Ok(decoded)
1712                = <HashProposalCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1713                return Ok(Self::HashProposal(decoded));
1714            }
1715            if let Ok(decoded)
1716                = <NameCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1717                return Ok(Self::Name(decoded));
1718            }
1719            if let Ok(decoded)
1720                = <OnERC1155BatchReceivedCall as ::ethers_core::abi::AbiDecode>::decode(
1721                    data,
1722                ) {
1723                return Ok(Self::OnERC1155BatchReceived(decoded));
1724            }
1725            if let Ok(decoded)
1726                = <OnERC1155ReceivedCall as ::ethers_core::abi::AbiDecode>::decode(
1727                    data,
1728                ) {
1729                return Ok(Self::OnERC1155Received(decoded));
1730            }
1731            if let Ok(decoded)
1732                = <OnERC721ReceivedCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1733                return Ok(Self::OnERC721Received(decoded));
1734            }
1735            if let Ok(decoded)
1736                = <ProposalDeadlineCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1737                return Ok(Self::ProposalDeadline(decoded));
1738            }
1739            if let Ok(decoded)
1740                = <ProposalEtaCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1741                return Ok(Self::ProposalEta(decoded));
1742            }
1743            if let Ok(decoded)
1744                = <ProposalProposerCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1745                return Ok(Self::ProposalProposer(decoded));
1746            }
1747            if let Ok(decoded)
1748                = <ProposalSnapshotCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1749                return Ok(Self::ProposalSnapshot(decoded));
1750            }
1751            if let Ok(decoded)
1752                = <ProposalThresholdCall as ::ethers_core::abi::AbiDecode>::decode(
1753                    data,
1754                ) {
1755                return Ok(Self::ProposalThreshold(decoded));
1756            }
1757            if let Ok(decoded)
1758                = <ProposeCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1759                return Ok(Self::Propose(decoded));
1760            }
1761            if let Ok(decoded)
1762                = <QueueCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1763                return Ok(Self::Queue(decoded));
1764            }
1765            if let Ok(decoded)
1766                = <QuorumCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1767                return Ok(Self::Quorum(decoded));
1768            }
1769            if let Ok(decoded)
1770                = <RelayCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1771                return Ok(Self::Relay(decoded));
1772            }
1773            if let Ok(decoded)
1774                = <StateCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1775                return Ok(Self::State(decoded));
1776            }
1777            if let Ok(decoded)
1778                = <SupportsInterfaceCall as ::ethers_core::abi::AbiDecode>::decode(
1779                    data,
1780                ) {
1781                return Ok(Self::SupportsInterface(decoded));
1782            }
1783            if let Ok(decoded)
1784                = <TimelockCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1785                return Ok(Self::Timelock(decoded));
1786            }
1787            if let Ok(decoded)
1788                = <UpdateTimelockCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1789                return Ok(Self::UpdateTimelock(decoded));
1790            }
1791            if let Ok(decoded)
1792                = <VersionCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1793                return Ok(Self::Version(decoded));
1794            }
1795            if let Ok(decoded)
1796                = <VotingDelayCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1797                return Ok(Self::VotingDelay(decoded));
1798            }
1799            if let Ok(decoded)
1800                = <VotingPeriodCall as ::ethers_core::abi::AbiDecode>::decode(data) {
1801                return Ok(Self::VotingPeriod(decoded));
1802            }
1803            Err(::ethers_core::abi::Error::InvalidData.into())
1804        }
1805    }
1806    impl ::ethers_core::abi::AbiEncode for GovernorTimelockCompoundCalls {
1807        fn encode(self) -> Vec<u8> {
1808            match self {
1809                Self::BallotTypehash(element) => {
1810                    ::ethers_core::abi::AbiEncode::encode(element)
1811                }
1812                Self::ClockMode(element) => {
1813                    ::ethers_core::abi::AbiEncode::encode(element)
1814                }
1815                Self::CountingMode(element) => {
1816                    ::ethers_core::abi::AbiEncode::encode(element)
1817                }
1818                Self::ExtendedBallotTypehash(element) => {
1819                    ::ethers_core::abi::AbiEncode::encode(element)
1820                }
1821                Self::AcceptAdmin(element) => {
1822                    ::ethers_core::abi::AbiEncode::encode(element)
1823                }
1824                Self::Cancel(element) => ::ethers_core::abi::AbiEncode::encode(element),
1825                Self::CastVote(element) => ::ethers_core::abi::AbiEncode::encode(element),
1826                Self::CastVoteBySig(element) => {
1827                    ::ethers_core::abi::AbiEncode::encode(element)
1828                }
1829                Self::CastVoteWithReason(element) => {
1830                    ::ethers_core::abi::AbiEncode::encode(element)
1831                }
1832                Self::CastVoteWithReasonAndParams(element) => {
1833                    ::ethers_core::abi::AbiEncode::encode(element)
1834                }
1835                Self::CastVoteWithReasonAndParamsBySig(element) => {
1836                    ::ethers_core::abi::AbiEncode::encode(element)
1837                }
1838                Self::Clock(element) => ::ethers_core::abi::AbiEncode::encode(element),
1839                Self::Eip712Domain(element) => {
1840                    ::ethers_core::abi::AbiEncode::encode(element)
1841                }
1842                Self::Execute(element) => ::ethers_core::abi::AbiEncode::encode(element),
1843                Self::GetVotes(element) => ::ethers_core::abi::AbiEncode::encode(element),
1844                Self::GetVotesWithParams(element) => {
1845                    ::ethers_core::abi::AbiEncode::encode(element)
1846                }
1847                Self::HasVoted(element) => ::ethers_core::abi::AbiEncode::encode(element),
1848                Self::HashProposal(element) => {
1849                    ::ethers_core::abi::AbiEncode::encode(element)
1850                }
1851                Self::Name(element) => ::ethers_core::abi::AbiEncode::encode(element),
1852                Self::OnERC1155BatchReceived(element) => {
1853                    ::ethers_core::abi::AbiEncode::encode(element)
1854                }
1855                Self::OnERC1155Received(element) => {
1856                    ::ethers_core::abi::AbiEncode::encode(element)
1857                }
1858                Self::OnERC721Received(element) => {
1859                    ::ethers_core::abi::AbiEncode::encode(element)
1860                }
1861                Self::ProposalDeadline(element) => {
1862                    ::ethers_core::abi::AbiEncode::encode(element)
1863                }
1864                Self::ProposalEta(element) => {
1865                    ::ethers_core::abi::AbiEncode::encode(element)
1866                }
1867                Self::ProposalProposer(element) => {
1868                    ::ethers_core::abi::AbiEncode::encode(element)
1869                }
1870                Self::ProposalSnapshot(element) => {
1871                    ::ethers_core::abi::AbiEncode::encode(element)
1872                }
1873                Self::ProposalThreshold(element) => {
1874                    ::ethers_core::abi::AbiEncode::encode(element)
1875                }
1876                Self::Propose(element) => ::ethers_core::abi::AbiEncode::encode(element),
1877                Self::Queue(element) => ::ethers_core::abi::AbiEncode::encode(element),
1878                Self::Quorum(element) => ::ethers_core::abi::AbiEncode::encode(element),
1879                Self::Relay(element) => ::ethers_core::abi::AbiEncode::encode(element),
1880                Self::State(element) => ::ethers_core::abi::AbiEncode::encode(element),
1881                Self::SupportsInterface(element) => {
1882                    ::ethers_core::abi::AbiEncode::encode(element)
1883                }
1884                Self::Timelock(element) => ::ethers_core::abi::AbiEncode::encode(element),
1885                Self::UpdateTimelock(element) => {
1886                    ::ethers_core::abi::AbiEncode::encode(element)
1887                }
1888                Self::Version(element) => ::ethers_core::abi::AbiEncode::encode(element),
1889                Self::VotingDelay(element) => {
1890                    ::ethers_core::abi::AbiEncode::encode(element)
1891                }
1892                Self::VotingPeriod(element) => {
1893                    ::ethers_core::abi::AbiEncode::encode(element)
1894                }
1895            }
1896        }
1897    }
1898    impl ::core::fmt::Display for GovernorTimelockCompoundCalls {
1899        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1900            match self {
1901                Self::BallotTypehash(element) => ::core::fmt::Display::fmt(element, f),
1902                Self::ClockMode(element) => ::core::fmt::Display::fmt(element, f),
1903                Self::CountingMode(element) => ::core::fmt::Display::fmt(element, f),
1904                Self::ExtendedBallotTypehash(element) => {
1905                    ::core::fmt::Display::fmt(element, f)
1906                }
1907                Self::AcceptAdmin(element) => ::core::fmt::Display::fmt(element, f),
1908                Self::Cancel(element) => ::core::fmt::Display::fmt(element, f),
1909                Self::CastVote(element) => ::core::fmt::Display::fmt(element, f),
1910                Self::CastVoteBySig(element) => ::core::fmt::Display::fmt(element, f),
1911                Self::CastVoteWithReason(element) => {
1912                    ::core::fmt::Display::fmt(element, f)
1913                }
1914                Self::CastVoteWithReasonAndParams(element) => {
1915                    ::core::fmt::Display::fmt(element, f)
1916                }
1917                Self::CastVoteWithReasonAndParamsBySig(element) => {
1918                    ::core::fmt::Display::fmt(element, f)
1919                }
1920                Self::Clock(element) => ::core::fmt::Display::fmt(element, f),
1921                Self::Eip712Domain(element) => ::core::fmt::Display::fmt(element, f),
1922                Self::Execute(element) => ::core::fmt::Display::fmt(element, f),
1923                Self::GetVotes(element) => ::core::fmt::Display::fmt(element, f),
1924                Self::GetVotesWithParams(element) => {
1925                    ::core::fmt::Display::fmt(element, f)
1926                }
1927                Self::HasVoted(element) => ::core::fmt::Display::fmt(element, f),
1928                Self::HashProposal(element) => ::core::fmt::Display::fmt(element, f),
1929                Self::Name(element) => ::core::fmt::Display::fmt(element, f),
1930                Self::OnERC1155BatchReceived(element) => {
1931                    ::core::fmt::Display::fmt(element, f)
1932                }
1933                Self::OnERC1155Received(element) => ::core::fmt::Display::fmt(element, f),
1934                Self::OnERC721Received(element) => ::core::fmt::Display::fmt(element, f),
1935                Self::ProposalDeadline(element) => ::core::fmt::Display::fmt(element, f),
1936                Self::ProposalEta(element) => ::core::fmt::Display::fmt(element, f),
1937                Self::ProposalProposer(element) => ::core::fmt::Display::fmt(element, f),
1938                Self::ProposalSnapshot(element) => ::core::fmt::Display::fmt(element, f),
1939                Self::ProposalThreshold(element) => ::core::fmt::Display::fmt(element, f),
1940                Self::Propose(element) => ::core::fmt::Display::fmt(element, f),
1941                Self::Queue(element) => ::core::fmt::Display::fmt(element, f),
1942                Self::Quorum(element) => ::core::fmt::Display::fmt(element, f),
1943                Self::Relay(element) => ::core::fmt::Display::fmt(element, f),
1944                Self::State(element) => ::core::fmt::Display::fmt(element, f),
1945                Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f),
1946                Self::Timelock(element) => ::core::fmt::Display::fmt(element, f),
1947                Self::UpdateTimelock(element) => ::core::fmt::Display::fmt(element, f),
1948                Self::Version(element) => ::core::fmt::Display::fmt(element, f),
1949                Self::VotingDelay(element) => ::core::fmt::Display::fmt(element, f),
1950                Self::VotingPeriod(element) => ::core::fmt::Display::fmt(element, f),
1951            }
1952        }
1953    }
1954    impl ::core::convert::From<BallotTypehashCall> for GovernorTimelockCompoundCalls {
1955        fn from(value: BallotTypehashCall) -> Self {
1956            Self::BallotTypehash(value)
1957        }
1958    }
1959    impl ::core::convert::From<ClockModeCall> for GovernorTimelockCompoundCalls {
1960        fn from(value: ClockModeCall) -> Self {
1961            Self::ClockMode(value)
1962        }
1963    }
1964    impl ::core::convert::From<CountingModeCall> for GovernorTimelockCompoundCalls {
1965        fn from(value: CountingModeCall) -> Self {
1966            Self::CountingMode(value)
1967        }
1968    }
1969    impl ::core::convert::From<ExtendedBallotTypehashCall>
1970    for GovernorTimelockCompoundCalls {
1971        fn from(value: ExtendedBallotTypehashCall) -> Self {
1972            Self::ExtendedBallotTypehash(value)
1973        }
1974    }
1975    impl ::core::convert::From<AcceptAdminCall> for GovernorTimelockCompoundCalls {
1976        fn from(value: AcceptAdminCall) -> Self {
1977            Self::AcceptAdmin(value)
1978        }
1979    }
1980    impl ::core::convert::From<CancelCall> for GovernorTimelockCompoundCalls {
1981        fn from(value: CancelCall) -> Self {
1982            Self::Cancel(value)
1983        }
1984    }
1985    impl ::core::convert::From<CastVoteCall> for GovernorTimelockCompoundCalls {
1986        fn from(value: CastVoteCall) -> Self {
1987            Self::CastVote(value)
1988        }
1989    }
1990    impl ::core::convert::From<CastVoteBySigCall> for GovernorTimelockCompoundCalls {
1991        fn from(value: CastVoteBySigCall) -> Self {
1992            Self::CastVoteBySig(value)
1993        }
1994    }
1995    impl ::core::convert::From<CastVoteWithReasonCall>
1996    for GovernorTimelockCompoundCalls {
1997        fn from(value: CastVoteWithReasonCall) -> Self {
1998            Self::CastVoteWithReason(value)
1999        }
2000    }
2001    impl ::core::convert::From<CastVoteWithReasonAndParamsCall>
2002    for GovernorTimelockCompoundCalls {
2003        fn from(value: CastVoteWithReasonAndParamsCall) -> Self {
2004            Self::CastVoteWithReasonAndParams(value)
2005        }
2006    }
2007    impl ::core::convert::From<CastVoteWithReasonAndParamsBySigCall>
2008    for GovernorTimelockCompoundCalls {
2009        fn from(value: CastVoteWithReasonAndParamsBySigCall) -> Self {
2010            Self::CastVoteWithReasonAndParamsBySig(value)
2011        }
2012    }
2013    impl ::core::convert::From<ClockCall> for GovernorTimelockCompoundCalls {
2014        fn from(value: ClockCall) -> Self {
2015            Self::Clock(value)
2016        }
2017    }
2018    impl ::core::convert::From<Eip712DomainCall> for GovernorTimelockCompoundCalls {
2019        fn from(value: Eip712DomainCall) -> Self {
2020            Self::Eip712Domain(value)
2021        }
2022    }
2023    impl ::core::convert::From<ExecuteCall> for GovernorTimelockCompoundCalls {
2024        fn from(value: ExecuteCall) -> Self {
2025            Self::Execute(value)
2026        }
2027    }
2028    impl ::core::convert::From<GetVotesCall> for GovernorTimelockCompoundCalls {
2029        fn from(value: GetVotesCall) -> Self {
2030            Self::GetVotes(value)
2031        }
2032    }
2033    impl ::core::convert::From<GetVotesWithParamsCall>
2034    for GovernorTimelockCompoundCalls {
2035        fn from(value: GetVotesWithParamsCall) -> Self {
2036            Self::GetVotesWithParams(value)
2037        }
2038    }
2039    impl ::core::convert::From<HasVotedCall> for GovernorTimelockCompoundCalls {
2040        fn from(value: HasVotedCall) -> Self {
2041            Self::HasVoted(value)
2042        }
2043    }
2044    impl ::core::convert::From<HashProposalCall> for GovernorTimelockCompoundCalls {
2045        fn from(value: HashProposalCall) -> Self {
2046            Self::HashProposal(value)
2047        }
2048    }
2049    impl ::core::convert::From<NameCall> for GovernorTimelockCompoundCalls {
2050        fn from(value: NameCall) -> Self {
2051            Self::Name(value)
2052        }
2053    }
2054    impl ::core::convert::From<OnERC1155BatchReceivedCall>
2055    for GovernorTimelockCompoundCalls {
2056        fn from(value: OnERC1155BatchReceivedCall) -> Self {
2057            Self::OnERC1155BatchReceived(value)
2058        }
2059    }
2060    impl ::core::convert::From<OnERC1155ReceivedCall> for GovernorTimelockCompoundCalls {
2061        fn from(value: OnERC1155ReceivedCall) -> Self {
2062            Self::OnERC1155Received(value)
2063        }
2064    }
2065    impl ::core::convert::From<OnERC721ReceivedCall> for GovernorTimelockCompoundCalls {
2066        fn from(value: OnERC721ReceivedCall) -> Self {
2067            Self::OnERC721Received(value)
2068        }
2069    }
2070    impl ::core::convert::From<ProposalDeadlineCall> for GovernorTimelockCompoundCalls {
2071        fn from(value: ProposalDeadlineCall) -> Self {
2072            Self::ProposalDeadline(value)
2073        }
2074    }
2075    impl ::core::convert::From<ProposalEtaCall> for GovernorTimelockCompoundCalls {
2076        fn from(value: ProposalEtaCall) -> Self {
2077            Self::ProposalEta(value)
2078        }
2079    }
2080    impl ::core::convert::From<ProposalProposerCall> for GovernorTimelockCompoundCalls {
2081        fn from(value: ProposalProposerCall) -> Self {
2082            Self::ProposalProposer(value)
2083        }
2084    }
2085    impl ::core::convert::From<ProposalSnapshotCall> for GovernorTimelockCompoundCalls {
2086        fn from(value: ProposalSnapshotCall) -> Self {
2087            Self::ProposalSnapshot(value)
2088        }
2089    }
2090    impl ::core::convert::From<ProposalThresholdCall> for GovernorTimelockCompoundCalls {
2091        fn from(value: ProposalThresholdCall) -> Self {
2092            Self::ProposalThreshold(value)
2093        }
2094    }
2095    impl ::core::convert::From<ProposeCall> for GovernorTimelockCompoundCalls {
2096        fn from(value: ProposeCall) -> Self {
2097            Self::Propose(value)
2098        }
2099    }
2100    impl ::core::convert::From<QueueCall> for GovernorTimelockCompoundCalls {
2101        fn from(value: QueueCall) -> Self {
2102            Self::Queue(value)
2103        }
2104    }
2105    impl ::core::convert::From<QuorumCall> for GovernorTimelockCompoundCalls {
2106        fn from(value: QuorumCall) -> Self {
2107            Self::Quorum(value)
2108        }
2109    }
2110    impl ::core::convert::From<RelayCall> for GovernorTimelockCompoundCalls {
2111        fn from(value: RelayCall) -> Self {
2112            Self::Relay(value)
2113        }
2114    }
2115    impl ::core::convert::From<StateCall> for GovernorTimelockCompoundCalls {
2116        fn from(value: StateCall) -> Self {
2117            Self::State(value)
2118        }
2119    }
2120    impl ::core::convert::From<SupportsInterfaceCall> for GovernorTimelockCompoundCalls {
2121        fn from(value: SupportsInterfaceCall) -> Self {
2122            Self::SupportsInterface(value)
2123        }
2124    }
2125    impl ::core::convert::From<TimelockCall> for GovernorTimelockCompoundCalls {
2126        fn from(value: TimelockCall) -> Self {
2127            Self::Timelock(value)
2128        }
2129    }
2130    impl ::core::convert::From<UpdateTimelockCall> for GovernorTimelockCompoundCalls {
2131        fn from(value: UpdateTimelockCall) -> Self {
2132            Self::UpdateTimelock(value)
2133        }
2134    }
2135    impl ::core::convert::From<VersionCall> for GovernorTimelockCompoundCalls {
2136        fn from(value: VersionCall) -> Self {
2137            Self::Version(value)
2138        }
2139    }
2140    impl ::core::convert::From<VotingDelayCall> for GovernorTimelockCompoundCalls {
2141        fn from(value: VotingDelayCall) -> Self {
2142            Self::VotingDelay(value)
2143        }
2144    }
2145    impl ::core::convert::From<VotingPeriodCall> for GovernorTimelockCompoundCalls {
2146        fn from(value: VotingPeriodCall) -> Self {
2147            Self::VotingPeriod(value)
2148        }
2149    }
2150    ///Container type for all return fields from the `BALLOT_TYPEHASH` function with signature `BALLOT_TYPEHASH()` and selector `0xdeaaa7cc`
2151    #[derive(
2152        Clone,
2153        ::ethers_contract::EthAbiType,
2154        ::ethers_contract::EthAbiCodec,
2155        Default,
2156        Debug,
2157        PartialEq,
2158        Eq,
2159        Hash
2160    )]
2161    pub struct BallotTypehashReturn(pub [u8; 32]);
2162    ///Container type for all return fields from the `CLOCK_MODE` function with signature `CLOCK_MODE()` and selector `0x4bf5d7e9`
2163    #[derive(
2164        Clone,
2165        ::ethers_contract::EthAbiType,
2166        ::ethers_contract::EthAbiCodec,
2167        Default,
2168        Debug,
2169        PartialEq,
2170        Eq,
2171        Hash
2172    )]
2173    pub struct ClockModeReturn(pub ::std::string::String);
2174    ///Container type for all return fields from the `COUNTING_MODE` function with signature `COUNTING_MODE()` and selector `0xdd4e2ba5`
2175    #[derive(
2176        Clone,
2177        ::ethers_contract::EthAbiType,
2178        ::ethers_contract::EthAbiCodec,
2179        Default,
2180        Debug,
2181        PartialEq,
2182        Eq,
2183        Hash
2184    )]
2185    pub struct CountingModeReturn(pub ::std::string::String);
2186    ///Container type for all return fields from the `EXTENDED_BALLOT_TYPEHASH` function with signature `EXTENDED_BALLOT_TYPEHASH()` and selector `0x2fe3e261`
2187    #[derive(
2188        Clone,
2189        ::ethers_contract::EthAbiType,
2190        ::ethers_contract::EthAbiCodec,
2191        Default,
2192        Debug,
2193        PartialEq,
2194        Eq,
2195        Hash
2196    )]
2197    pub struct ExtendedBallotTypehashReturn(pub [u8; 32]);
2198    ///Container type for all return fields from the `cancel` function with signature `cancel(address[],uint256[],bytes[],bytes32)` and selector `0x452115d6`
2199    #[derive(
2200        Clone,
2201        ::ethers_contract::EthAbiType,
2202        ::ethers_contract::EthAbiCodec,
2203        Default,
2204        Debug,
2205        PartialEq,
2206        Eq,
2207        Hash
2208    )]
2209    pub struct CancelReturn(pub ::ethers_core::types::U256);
2210    ///Container type for all return fields from the `castVote` function with signature `castVote(uint256,uint8)` and selector `0x56781388`
2211    #[derive(
2212        Clone,
2213        ::ethers_contract::EthAbiType,
2214        ::ethers_contract::EthAbiCodec,
2215        Default,
2216        Debug,
2217        PartialEq,
2218        Eq,
2219        Hash
2220    )]
2221    pub struct CastVoteReturn(pub ::ethers_core::types::U256);
2222    ///Container type for all return fields from the `castVoteBySig` function with signature `castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)` and selector `0x3bccf4fd`
2223    #[derive(
2224        Clone,
2225        ::ethers_contract::EthAbiType,
2226        ::ethers_contract::EthAbiCodec,
2227        Default,
2228        Debug,
2229        PartialEq,
2230        Eq,
2231        Hash
2232    )]
2233    pub struct CastVoteBySigReturn(pub ::ethers_core::types::U256);
2234    ///Container type for all return fields from the `castVoteWithReason` function with signature `castVoteWithReason(uint256,uint8,string)` and selector `0x7b3c71d3`
2235    #[derive(
2236        Clone,
2237        ::ethers_contract::EthAbiType,
2238        ::ethers_contract::EthAbiCodec,
2239        Default,
2240        Debug,
2241        PartialEq,
2242        Eq,
2243        Hash
2244    )]
2245    pub struct CastVoteWithReasonReturn(pub ::ethers_core::types::U256);
2246    ///Container type for all return fields from the `castVoteWithReasonAndParams` function with signature `castVoteWithReasonAndParams(uint256,uint8,string,bytes)` and selector `0x5f398a14`
2247    #[derive(
2248        Clone,
2249        ::ethers_contract::EthAbiType,
2250        ::ethers_contract::EthAbiCodec,
2251        Default,
2252        Debug,
2253        PartialEq,
2254        Eq,
2255        Hash
2256    )]
2257    pub struct CastVoteWithReasonAndParamsReturn(pub ::ethers_core::types::U256);
2258    ///Container type for all return fields from the `castVoteWithReasonAndParamsBySig` function with signature `castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)` and selector `0x03420181`
2259    #[derive(
2260        Clone,
2261        ::ethers_contract::EthAbiType,
2262        ::ethers_contract::EthAbiCodec,
2263        Default,
2264        Debug,
2265        PartialEq,
2266        Eq,
2267        Hash
2268    )]
2269    pub struct CastVoteWithReasonAndParamsBySigReturn(pub ::ethers_core::types::U256);
2270    ///Container type for all return fields from the `clock` function with signature `clock()` and selector `0x91ddadf4`
2271    #[derive(
2272        Clone,
2273        ::ethers_contract::EthAbiType,
2274        ::ethers_contract::EthAbiCodec,
2275        Default,
2276        Debug,
2277        PartialEq,
2278        Eq,
2279        Hash
2280    )]
2281    pub struct ClockReturn(pub u64);
2282    ///Container type for all return fields from the `eip712Domain` function with signature `eip712Domain()` and selector `0x84b0196e`
2283    #[derive(
2284        Clone,
2285        ::ethers_contract::EthAbiType,
2286        ::ethers_contract::EthAbiCodec,
2287        Default,
2288        Debug,
2289        PartialEq,
2290        Eq,
2291        Hash
2292    )]
2293    pub struct Eip712DomainReturn {
2294        pub fields: [u8; 1],
2295        pub name: ::std::string::String,
2296        pub version: ::std::string::String,
2297        pub chain_id: ::ethers_core::types::U256,
2298        pub verifying_contract: ::ethers_core::types::Address,
2299        pub salt: [u8; 32],
2300        pub extensions: ::std::vec::Vec<::ethers_core::types::U256>,
2301    }
2302    ///Container type for all return fields from the `execute` function with signature `execute(address[],uint256[],bytes[],bytes32)` and selector `0x2656227d`
2303    #[derive(
2304        Clone,
2305        ::ethers_contract::EthAbiType,
2306        ::ethers_contract::EthAbiCodec,
2307        Default,
2308        Debug,
2309        PartialEq,
2310        Eq,
2311        Hash
2312    )]
2313    pub struct ExecuteReturn(pub ::ethers_core::types::U256);
2314    ///Container type for all return fields from the `getVotes` function with signature `getVotes(address,uint256)` and selector `0xeb9019d4`
2315    #[derive(
2316        Clone,
2317        ::ethers_contract::EthAbiType,
2318        ::ethers_contract::EthAbiCodec,
2319        Default,
2320        Debug,
2321        PartialEq,
2322        Eq,
2323        Hash
2324    )]
2325    pub struct GetVotesReturn(pub ::ethers_core::types::U256);
2326    ///Container type for all return fields from the `getVotesWithParams` function with signature `getVotesWithParams(address,uint256,bytes)` and selector `0x9a802a6d`
2327    #[derive(
2328        Clone,
2329        ::ethers_contract::EthAbiType,
2330        ::ethers_contract::EthAbiCodec,
2331        Default,
2332        Debug,
2333        PartialEq,
2334        Eq,
2335        Hash
2336    )]
2337    pub struct GetVotesWithParamsReturn(pub ::ethers_core::types::U256);
2338    ///Container type for all return fields from the `hasVoted` function with signature `hasVoted(uint256,address)` and selector `0x43859632`
2339    #[derive(
2340        Clone,
2341        ::ethers_contract::EthAbiType,
2342        ::ethers_contract::EthAbiCodec,
2343        Default,
2344        Debug,
2345        PartialEq,
2346        Eq,
2347        Hash
2348    )]
2349    pub struct HasVotedReturn(pub bool);
2350    ///Container type for all return fields from the `hashProposal` function with signature `hashProposal(address[],uint256[],bytes[],bytes32)` and selector `0xc59057e4`
2351    #[derive(
2352        Clone,
2353        ::ethers_contract::EthAbiType,
2354        ::ethers_contract::EthAbiCodec,
2355        Default,
2356        Debug,
2357        PartialEq,
2358        Eq,
2359        Hash
2360    )]
2361    pub struct HashProposalReturn(pub ::ethers_core::types::U256);
2362    ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03`
2363    #[derive(
2364        Clone,
2365        ::ethers_contract::EthAbiType,
2366        ::ethers_contract::EthAbiCodec,
2367        Default,
2368        Debug,
2369        PartialEq,
2370        Eq,
2371        Hash
2372    )]
2373    pub struct NameReturn(pub ::std::string::String);
2374    ///Container type for all return fields from the `onERC1155BatchReceived` function with signature `onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)` and selector `0xbc197c81`
2375    #[derive(
2376        Clone,
2377        ::ethers_contract::EthAbiType,
2378        ::ethers_contract::EthAbiCodec,
2379        Default,
2380        Debug,
2381        PartialEq,
2382        Eq,
2383        Hash
2384    )]
2385    pub struct OnERC1155BatchReceivedReturn(pub [u8; 4]);
2386    ///Container type for all return fields from the `onERC1155Received` function with signature `onERC1155Received(address,address,uint256,uint256,bytes)` and selector `0xf23a6e61`
2387    #[derive(
2388        Clone,
2389        ::ethers_contract::EthAbiType,
2390        ::ethers_contract::EthAbiCodec,
2391        Default,
2392        Debug,
2393        PartialEq,
2394        Eq,
2395        Hash
2396    )]
2397    pub struct OnERC1155ReceivedReturn(pub [u8; 4]);
2398    ///Container type for all return fields from the `onERC721Received` function with signature `onERC721Received(address,address,uint256,bytes)` and selector `0x150b7a02`
2399    #[derive(
2400        Clone,
2401        ::ethers_contract::EthAbiType,
2402        ::ethers_contract::EthAbiCodec,
2403        Default,
2404        Debug,
2405        PartialEq,
2406        Eq,
2407        Hash
2408    )]
2409    pub struct OnERC721ReceivedReturn(pub [u8; 4]);
2410    ///Container type for all return fields from the `proposalDeadline` function with signature `proposalDeadline(uint256)` and selector `0xc01f9e37`
2411    #[derive(
2412        Clone,
2413        ::ethers_contract::EthAbiType,
2414        ::ethers_contract::EthAbiCodec,
2415        Default,
2416        Debug,
2417        PartialEq,
2418        Eq,
2419        Hash
2420    )]
2421    pub struct ProposalDeadlineReturn(pub ::ethers_core::types::U256);
2422    ///Container type for all return fields from the `proposalEta` function with signature `proposalEta(uint256)` and selector `0xab58fb8e`
2423    #[derive(
2424        Clone,
2425        ::ethers_contract::EthAbiType,
2426        ::ethers_contract::EthAbiCodec,
2427        Default,
2428        Debug,
2429        PartialEq,
2430        Eq,
2431        Hash
2432    )]
2433    pub struct ProposalEtaReturn(pub ::ethers_core::types::U256);
2434    ///Container type for all return fields from the `proposalProposer` function with signature `proposalProposer(uint256)` and selector `0x143489d0`
2435    #[derive(
2436        Clone,
2437        ::ethers_contract::EthAbiType,
2438        ::ethers_contract::EthAbiCodec,
2439        Default,
2440        Debug,
2441        PartialEq,
2442        Eq,
2443        Hash
2444    )]
2445    pub struct ProposalProposerReturn(pub ::ethers_core::types::Address);
2446    ///Container type for all return fields from the `proposalSnapshot` function with signature `proposalSnapshot(uint256)` and selector `0x2d63f693`
2447    #[derive(
2448        Clone,
2449        ::ethers_contract::EthAbiType,
2450        ::ethers_contract::EthAbiCodec,
2451        Default,
2452        Debug,
2453        PartialEq,
2454        Eq,
2455        Hash
2456    )]
2457    pub struct ProposalSnapshotReturn(pub ::ethers_core::types::U256);
2458    ///Container type for all return fields from the `proposalThreshold` function with signature `proposalThreshold()` and selector `0xb58131b0`
2459    #[derive(
2460        Clone,
2461        ::ethers_contract::EthAbiType,
2462        ::ethers_contract::EthAbiCodec,
2463        Default,
2464        Debug,
2465        PartialEq,
2466        Eq,
2467        Hash
2468    )]
2469    pub struct ProposalThresholdReturn(pub ::ethers_core::types::U256);
2470    ///Container type for all return fields from the `propose` function with signature `propose(address[],uint256[],bytes[],string)` and selector `0x7d5e81e2`
2471    #[derive(
2472        Clone,
2473        ::ethers_contract::EthAbiType,
2474        ::ethers_contract::EthAbiCodec,
2475        Default,
2476        Debug,
2477        PartialEq,
2478        Eq,
2479        Hash
2480    )]
2481    pub struct ProposeReturn(pub ::ethers_core::types::U256);
2482    ///Container type for all return fields from the `queue` function with signature `queue(address[],uint256[],bytes[],bytes32)` and selector `0x160cbed7`
2483    #[derive(
2484        Clone,
2485        ::ethers_contract::EthAbiType,
2486        ::ethers_contract::EthAbiCodec,
2487        Default,
2488        Debug,
2489        PartialEq,
2490        Eq,
2491        Hash
2492    )]
2493    pub struct QueueReturn(pub ::ethers_core::types::U256);
2494    ///Container type for all return fields from the `quorum` function with signature `quorum(uint256)` and selector `0xf8ce560a`
2495    #[derive(
2496        Clone,
2497        ::ethers_contract::EthAbiType,
2498        ::ethers_contract::EthAbiCodec,
2499        Default,
2500        Debug,
2501        PartialEq,
2502        Eq,
2503        Hash
2504    )]
2505    pub struct QuorumReturn(pub ::ethers_core::types::U256);
2506    ///Container type for all return fields from the `state` function with signature `state(uint256)` and selector `0x3e4f49e6`
2507    #[derive(
2508        Clone,
2509        ::ethers_contract::EthAbiType,
2510        ::ethers_contract::EthAbiCodec,
2511        Default,
2512        Debug,
2513        PartialEq,
2514        Eq,
2515        Hash
2516    )]
2517    pub struct StateReturn(pub u8);
2518    ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
2519    #[derive(
2520        Clone,
2521        ::ethers_contract::EthAbiType,
2522        ::ethers_contract::EthAbiCodec,
2523        Default,
2524        Debug,
2525        PartialEq,
2526        Eq,
2527        Hash
2528    )]
2529    pub struct SupportsInterfaceReturn(pub bool);
2530    ///Container type for all return fields from the `timelock` function with signature `timelock()` and selector `0xd33219b4`
2531    #[derive(
2532        Clone,
2533        ::ethers_contract::EthAbiType,
2534        ::ethers_contract::EthAbiCodec,
2535        Default,
2536        Debug,
2537        PartialEq,
2538        Eq,
2539        Hash
2540    )]
2541    pub struct TimelockReturn(pub ::ethers_core::types::Address);
2542    ///Container type for all return fields from the `version` function with signature `version()` and selector `0x54fd4d50`
2543    #[derive(
2544        Clone,
2545        ::ethers_contract::EthAbiType,
2546        ::ethers_contract::EthAbiCodec,
2547        Default,
2548        Debug,
2549        PartialEq,
2550        Eq,
2551        Hash
2552    )]
2553    pub struct VersionReturn(pub ::std::string::String);
2554    ///Container type for all return fields from the `votingDelay` function with signature `votingDelay()` and selector `0x3932abb1`
2555    #[derive(
2556        Clone,
2557        ::ethers_contract::EthAbiType,
2558        ::ethers_contract::EthAbiCodec,
2559        Default,
2560        Debug,
2561        PartialEq,
2562        Eq,
2563        Hash
2564    )]
2565    pub struct VotingDelayReturn(pub ::ethers_core::types::U256);
2566    ///Container type for all return fields from the `votingPeriod` function with signature `votingPeriod()` and selector `0x02a251a3`
2567    #[derive(
2568        Clone,
2569        ::ethers_contract::EthAbiType,
2570        ::ethers_contract::EthAbiCodec,
2571        Default,
2572        Debug,
2573        PartialEq,
2574        Eq,
2575        Hash
2576    )]
2577    pub struct VotingPeriodReturn(pub ::ethers_core::types::U256);
2578}