contract YieldXToken is ERC20("yield-farming.io", "YieldX"), Ownable {
    /// @notice Creates `_amount` token to `_to`. Must only be called by the owner (MasterChef).
    function mint(address _to, uint256 _amount) public onlyOwner {
        _mint(_to, _amount);
    }
    function transfer(address to, uint256 amount) public override returns (bool) {
        return super.transfer(to, _partialBurn(msg.sender, amount));
    }
    function transferFrom(address from, address to, uint256 amount) public override returns (bool) {
        return super.transferFrom(from, to, _partialBurn(from, amount));
    }
    function _partialBurn(address sender, uint256 amount) internal returns (uint256) {
        uint256 burnAmount = (amount.mul(25)).div(1000);
        if (burnAmount > 0) {
            _burn(sender, burnAmount);
        }
        return amount.sub(burnAmount);
    }
}
//YieldXToken
function mint(address _to, uint256 _amount) public onlyOwner {
    _mint(_to, _amount);
}

/// @notice Creates `_amount` token to `_to`. Must only be called by the owner (MasterChef).