{
    "Function": "proposals",
    "File": "contracts/openzeppelin-solidity/contracts/governance/compatibility/GovernorCompatibilityBravo.sol",
    "Parent Contracts": [
        "contracts/openzeppelin-solidity/contracts/governance/Governor.sol",
        "contracts/openzeppelin-solidity/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol",
        "contracts/openzeppelin-solidity/contracts/governance/extensions/IGovernorTimelock.sol",
        "contracts/openzeppelin-solidity/contracts/governance/IGovernor.sol",
        "contracts/openzeppelin-solidity/contracts/utils/cryptography/draft-EIP712.sol",
        "contracts/openzeppelin-solidity/contracts/utils/introspection/ERC165.sol",
        "contracts/openzeppelin-solidity/contracts/utils/introspection/IERC165.sol",
        "contracts/openzeppelin-solidity/contracts/utils/Context.sol"
    ],
    "High-Level Calls": [],
    "Internal Calls": [
        "proposalDeadline",
        "proposalSnapshot",
        "state",
        "proposalEta"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function proposals(uint256 proposalId)\n        public\n        view\n        virtual\n        override\n        returns (\n            uint256 id,\n            address proposer,\n            uint256 eta,\n            uint256 startBlock,\n            uint256 endBlock,\n            uint256 forVotes,\n            uint256 againstVotes,\n            uint256 abstainVotes,\n            bool canceled,\n            bool executed\n        )\n    {\n        id = proposalId;\n        eta = proposalEta(proposalId);\n        startBlock = proposalSnapshot(proposalId);\n        endBlock = proposalDeadline(proposalId);\n\n        ProposalDetails storage details = _proposalDetails[proposalId];\n        proposer = details.proposer;\n        forVotes = details.forVotes;\n        againstVotes = details.againstVotes;\n        abstainVotes = details.abstainVotes;\n\n        ProposalState status = state(proposalId);\n        canceled = status == ProposalState.Canceled;\n        executed = status == ProposalState.Executed;\n    }"
}