openzeppelin_rs/contracts/
GovernorVotesComp.rs

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