contract SlonpayToken is MintableToken, PausableToken, Coinbase {
    string public constant name = "Slonpay Token"; 
    string public constant symbol = "SLPT"; 
    uint256 public constant decimals = 18; 


    constructor() Coinbase(decimals) public{
        mint(owner, exodus);
    }

    /**
    * @dev Función para coinbase en nuevo bloque 
    * @return Un booleano que indica si la operación se realizó correctamente.
    */
    function coinbase() onlyOwner canMint whenNotPaused public returns (bool) {
        nextBlock();
        uint256 _amount =  coinbaseAmount();
        if (_amount == 0) {
            finishMinting();
            return false;
        }
        return super.mint(owner, _amount);
    }

    /**
    * @dev Función para dejar de acuñar nuevas fichas.
    * @return Es cierto si la operación fue exitosa.
    */
    function finishMinting() onlyOwner canMint whenNotPaused public returns (bool) {
        return super.finishMinting();
    }

    /**
    * @dev Permite al propietario actual transferir el control del contrato a un nuevo propietario.
    * @param newOwner La dirección para transferir la propiedad a.
    */
    function transferOwnership(address newOwner) onlyOwner whenNotPaused public {
        super.transferOwnership(newOwner);
    }

    /**
    * The fallback function.
    */
    function() payable public {
        revert();
    }
}
function() payable public {
    revert();
}

/**
 * The fallback function.
 */