contract KashiPCVRedeemer {
    using SafeERC20 for IERC20;

    address public immutable target;

    constructor(
        address _target
    ) { target = _target; }

    /// @notice redeem Kashi shares
    /// @param pair kashi pair to redeem from
    /// @param fraction asset fraction to redeem
    function redeem(IKashi pair, uint256 fraction) external { 
        pair.removeAsset(target, fraction);
    }

    function sweep(IERC20 token, uint256 amount) external {
        token.safeTransfer(target, amount);
    }
}
/// @title base class for a claiming Kashi pair tokens
/// @author Fei Protocol
function redeem(IKashi pair, uint256 fraction) external { 
    pair.removeAsset(target, fraction);
}

/// @notice redeem Kashi shares
/// @param pair kashi pair to redeem from
/// @param fraction asset fraction to redeem