all files / contracts/v1.0.1/core/interfaces/ IDAOBase.sol

100% Statements 0/0
100% Branches 0/0
100% Functions 0/0
100% Lines 0/0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                                                               
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
 
interface IDAOBase {
    enum UpgradeableContract {
        DAO,
        Token,
        Treasury,
        Staking
    }
 
    enum ProposalType {
        Transfer,
        Upgrade,
        ModuleUpgrade,  // New type for module upgrades
        Presale,
        PresalePause,
        PresaleWithdraw,
        Pause,
        Unpause
    }
 
    function name() external view returns (string memory);
    function factory() external view returns (address);
    function upgradeableContracts(UpgradeableContract) external view returns (address);
    function proposalCount() external view returns (uint256);
    function votingPeriod() external view returns (uint256);
    function minProposalStake() external view returns (uint256);
    function quorum() external view returns (uint256);
    function paused() external view returns (bool);
}