def METHOD_NAME(
    self, code: str, new_fx_prices: fxPrices, check_for_spike=True
) -> int:
    """
    Checks existing data, adds any new data with a timestamp greater than the existing data
    :param code: FX code
    :param new_fx_prices: fxPrices object
    :return: int, number of rows added
    """
    log = self.log.setup(**{CURRENCY_CODE_LOG_LABEL: code})
    old_fx_prices = self.get_fx_prices(code)
    merged_fx_prices = old_fx_prices.add_rows_to_existing_data(
        new_fx_prices, check_for_spike=check_for_spike
    )
    if merged_fx_prices is SPIKE_IN_DATA:
        return SPIKE_IN_DATA
    rows_added = len(merged_fx_prices) - len(old_fx_prices)
    if rows_added == 0:
        if len(old_fx_prices) == 0:
            log.debug("No new or old prices for %s" % code)
        else:
            log.debug(
                "No additional data since %s for %s"
                % (str(old_fx_prices.index[-1]), code)
            )
        return 0
    self.add_fx_prices(code, merged_fx_prices, ignore_duplication=True)
    log.debug("Added %d additional rows for %s" % (rows_added, code))
    return rows_added