contract PausableToken is StandardToken, TokenControl {
    
     // Flag that determines if the token is transferable or not.
    bool public transferEnabled = true;
    
    // 控制交易锁
    function enableTransfer(bool _enable) public onlyCEO{
        transferEnabled = _enable;
    }
    
    modifier transferAllowed() {
         // flase抛异常，并扣除gas消耗
        assert(transferEnabled);
        _;
    }
    

    function transfer(address _to, uint256 _value) public transferAllowed() returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public transferAllowed() returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    function approve(address _spender, uint256 _value) public transferAllowed() returns (bool) {
        return super.approve(_spender, _value);
    }
}
/**
 * @title Pausable token
 *
 * @dev StandardToken modified with pausable transfers.
 **/
function enableTransfer(bool _enable) public onlyCEO{
    transferEnabled = _enable;
}

// 控制交易锁