openzeppelin_rs/contracts/
GovernorCompatibilityBravo.rs

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