openzeppelin_rs/contracts/
GovernorCountingSimple.rs

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