/**
   * Constructor
   *
   * @param exchange
   */
  public BitcoinChartsMarketDataService(Exchange exchange) {

    super(exchange);
    this.bitcoinCharts =
        RestProxyFactory.createProxy(
            BitcoinCharts.class, exchange.getExchangeSpecification().getPlainTextUri());
  }
  /**
   * Constructor
   *
   * @param exchange
   */
  public ItBitBasePollingService(Exchange exchange) {

    super(exchange);

    this.itBitAuthenticated =
        RestProxyFactory.createProxy(
            ItBitAuthenticated.class,
            (String)
                exchange.getExchangeSpecification().getExchangeSpecificParametersItem("authHost"));
    this.apiKey = exchange.getExchangeSpecification().getApiKey();
    this.signatureCreator =
        ItBitHmacPostBodyDigest.createInstance(
            apiKey, exchange.getExchangeSpecification().getSecretKey());

    this.itBitPublic =
        RestProxyFactory.createProxy(ItBit.class, exchange.getExchangeSpecification().getSslUri());
  }
 public PoloniexRateSource(String preferedFiatCurrency) {
   if (preferedFiatCurrency == null) {
     preferedFiatCurrency = ICurrencies.USD;
   }
   this.preferedFiatCurrency = preferedFiatCurrency;
   btcRs = new BitcoinAverageRateSource(preferedFiatCurrency);
   api = RestProxyFactory.createProxy(IPoloniexAPI.class, "https://poloniex.com");
 }
  /**
   * Constructor
   *
   * @param exchange
   */
  public BitcoindeMarketDataServiceRaw(Exchange exchange) {

    super(exchange);
    this.bitcoinde =
        RestProxyFactory.createProxy(
            Bitcoinde.class,
            exchange.getExchangeSpecification().getSslUri()
                + exchange.getExchangeSpecification().getApiKey()
                + "/");
  }
  /** @param exchange */
  public BitstampTradeServiceRaw(Exchange exchange) {

    super(exchange);
    this.bitstampAuthenticated =
        RestProxyFactory.createProxy(
            BitstampAuthenticated.class, exchange.getExchangeSpecification().getSslUri());
    this.signatureCreator =
        BitstampDigest.createInstance(
            exchange.getExchangeSpecification().getSecretKey(),
            exchange.getExchangeSpecification().getUserName(),
            exchange.getExchangeSpecification().getApiKey());
  }
 public GroestlcoinTickerRateSource() {
   api =
       RestProxyFactory.createProxy(
           IGroestlcoinTickerRateAPI.class, "https://markets.groestlcoin.com");
 }
  /**
   * Constructor
   *
   * @param exchangeSpecification
   */
  public CampBXAccountServiceRaw(ExchangeSpecification exchangeSpecification) {

    super(exchangeSpecification);
    this.campBX = RestProxyFactory.createProxy(CampBX.class, exchangeSpecification.getSslUri());
  }
  /**
   * Initialize common properties from the exchange specification
   *
   * @param exchangeSpecification The {@link com.xeiam.xchange.ExchangeSpecification}
   */
  public CexIOMarketDataServiceRaw(ExchangeSpecification exchangeSpecification) {

    super(exchangeSpecification);
    this.cexio = RestProxyFactory.createProxy(CexIO.class, exchangeSpecification.getSslUri());
  }
 public IndependentReserveMarketDataServiceRaw(Exchange exchange) {
   super(exchange);
   this.independentReserve =
       RestProxyFactory.createProxy(
           IndependentReserve.class, exchange.getExchangeSpecification().getSslUri());
 }