All Downloads are FREE. Search and download functionalities are using the official Maven repository.

info.bitrich.xchangestream.gateio.GateioStreamingTradeService Maven / Gradle / Ivy

There is a newer version: 5.2.2
Show newest version
package info.bitrich.xchangestream.gateio;

import info.bitrich.xchangestream.core.StreamingTradeService;
import info.bitrich.xchangestream.gateio.config.Config;
import info.bitrich.xchangestream.gateio.dto.response.usertrade.GateioSingleUserTradeNotification;
import io.reactivex.rxjava3.core.Observable;
import org.knowm.xchange.currency.CurrencyPair;
import org.knowm.xchange.dto.trade.UserTrade;

public class GateioStreamingTradeService implements StreamingTradeService {

  private final GateioStreamingService service;

  public GateioStreamingTradeService(GateioStreamingService service) {
    this.service = service;
  }

  @Override
  public Observable getUserTrades(CurrencyPair currencyPair, Object... args) {
    return service
        .subscribeChannel(Config.SPOT_USER_TRADES_CHANNEL, currencyPair)
        .map(GateioSingleUserTradeNotification.class::cast)
        .map(GateioStreamingAdapters::toUserTrade);
  }

  @Override
  public Observable getUserTrades() {
    return getUserTrades(null);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy