// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {Governor} from "../../governance/Governor.sol"; import {GovernorSettings} from "../../governance/extensions/GovernorSettings.sol"; import {GovernorCountingSimple} from "../../governance/extensions/GovernorCountingSimple.sol"; import {GovernorVotesQuorumFraction} from "../../governance/extensions/GovernorVotesQuorumFraction.sol"; import {GovernorSequentialProposalId} from "../../governance/extensions/GovernorSequentialProposalId.sol"; abstract contract GovernorSequentialProposalIdMock is GovernorSettings, GovernorVotesQuorumFraction, GovernorCountingSimple, GovernorSequentialProposalId { function proposalThreshold() public view override(Governor, GovernorSettings) returns (uint256) { return super.proposalThreshold(); } function getProposalId( address[] memory targets, uint256[] memory values, bytes[] memory calldatas, bytes32 descriptionHash ) public view virtual override(Governor, GovernorSequentialProposalId) returns (uint256) { return super.getProposalId(targets, values, calldatas, descriptionHash); } function _propose( address[] memory targets, uint256[] memory values, bytes[] memory calldatas, string memory description, address proposer ) internal virtual override(Governor, GovernorSequentialProposalId) returns (uint256 proposalId) { return super._propose(targets, values, calldatas, description, proposer); } }