openzeppelin_rs/contracts/
GovernorProposalThreshold.rs

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