openzeppelin_rs/contracts/
GovernorSettings.rs

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