all files / contracts/core/interfaces/ IDAOEvents.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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131                                                                                                                                                                                                                                                                     
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
 
import "./IDAOBase.sol";
import "./IDAOModule.sol";
 
/**
 * @title IDAOEvents
 * @dev Interface containing all DAO event definitions
 */
interface IDAOEvents {
    /**
     * @dev Base event emitted when any proposal is created
     */
    event ProposalCreated(
        uint256 indexed proposalId,
        IDAOBase.ProposalType indexed proposalType,
        uint256 endTime
    );
 
    /**
     * @dev Emitted when a transfer proposal is created
     */
    event TransferProposalCreated(
        uint256 indexed proposalId,
        address indexed token,
        address indexed recipient,
        uint256 amount
    );
 
    /**
     * @dev Emitted when a presale proposal is created
     */
    event PresaleProposalCreated(
        uint256 indexed proposalId,
        address token,
        uint256 amount,
        uint256 initialPrice
    );
 
    /**
     * @dev Emitted when a presale pause proposal is created
     */
    event PresalePauseProposalCreated(
        uint256 indexed proposalId,
        address presaleContract,
        bool pause
    );
 
    /**
     * @dev Emitted when a presale withdraw proposal is created
     */
    event PresaleWithdrawProposalCreated(
        uint256 indexed proposalId,
        address presaleContract
    );
 
    /**
     * @dev Emitted when an upgrade proposal is created
     */
    event UpgradeProposalCreated(
        uint256 indexed proposalId,
        address[] newImplementations,
        string version
    );
 
    /**
     * @dev Emitted when a module upgrade proposal is created
     */
    event ModuleUpgradeProposalCreated(
        uint256 indexed proposalId,
        IDAOModule.ModuleType moduleType,
        address moduleAddress,
        string version
    );
 
    /**
     * @dev Emitted when a vote is cast on a proposal
     */
    event Voted(
        uint256 indexed proposalId,
        address indexed voter,
        bool support,
        uint256 votingPower
    );
 
    /**
     * @dev Emitted when a proposal is executed
     */
    event ProposalExecuted(uint256 indexed proposalId);
 
    /**
     * @dev Emitted when the DAO is paused
     */
    event DAOPaused(address indexed account);
 
    /**
     * @dev Emitted when the DAO is unpaused
     */
    event DAOUnpaused(address indexed account);
 
    // /**
    //  * @dev Emitted during emergency withdrawals
    //  */
    // event EmergencyWithdraw(
    //     address indexed token,
    //     address indexed recipient,
    //     uint256 amount
    // );
 
    /**
     * @dev Emitted when a new presale contract is deployed
     */
    event PresaleDeployed(
        uint256 indexed proposalId,
        address indexed presaleContract,
        uint256 amount,
        uint256 initialPrice
    );
 
    /**
     * @dev Emitted when a module is upgraded
     */
    event ModuleUpgraded(
        uint256 indexed proposalId,
        address indexed moduleAddress,
        string moduleType,
        string version
    );
}