openzeppelin_rs/contracts/
GovernorPreventLateQuorum.rs

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