function cashIn(uint256 amount) external payable onlyWhiteListed {
    if (underlyingToken == LaunchPadUtils.NATIVE_TOKEN) {
        require(msg.value == amount, "Invalid ETH amount");
    } else {
        _transferAssetFromUser(amount);
    }
    // @audit Critical: Using msg.value instead of amount
    _mint(msg.sender, msg.value);  // Will be 0 for ERC20 tokens
    emit CashIn(msg.sender, msg.value);
}
function cashIn(uint256 amount) external payable onlyWhiteListed {
    if (underlyingToken == LaunchPadUtils.NATIVE_TOKEN) {
        require(msg.value == amount, "Invalid ETH amount");
    } else {
        _transferAssetFromUser(amount);
    }
    _mint(msg.sender, amount);  // Use amount instead of msg.value
}
