interface MethodSign {
    //erc20
    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    function mint(address account, uint256 amount) external returns (bool);

    function approve(address spender, uint256 amount) external returns (bool);

    //dao
    function deposit(uint256 value) external;

    function withdraw(uint256 value) external;

    function bond(uint256 value) external;

    function unbond(uint256 value) external;

    function epoch() external view returns (uint256);

    function balanceOfBonded(address account) external view returns (uint256);

    function balanceOfStaged(address account) external view returns (uint256);

    //oracle
    function capture() external returns (Decimal.D256 memory, bool);
}
function deposit(uint256 value) external;
//dao