openzeppelin_rs/contracts/
GovernorVotesQuorumFraction.rs

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