contract DssVestMintable is DssVest {

    MintLike public immutable gem;

    /*
        @dev This contract must be authorized to 'mint' on the token
        @param _gem The contract address of the mintable token
    */
    constructor(address _gem) public DssVest() {
        require(_gem != address(0), "DssVest/Invalid-token-address");
        gem = MintLike(_gem);
    }

    /*
        @dev Override pay to handle mint logic
        @param _guy The recipient of the minted token
        @param _amt The amount of token units to send to the _guy
    */
    function pay(address _guy, uint256 _amt) override internal {
        gem.mint(_guy, _amt);
    }
}
function pay(address _guy, uint256 _amt) override internal {
    gem.mint(_guy, _amt);
}

/*
 @dev Override pay to handle mint logic
 @param _guy The recipient of the minted token
 @param _amt The amount of token units to send to the _guy
 */