Added support for EUR in coinmarketcap
This commit is contained in:
parent
65087288d5
commit
2c7a378100
|
@ -112,7 +112,11 @@ public class DashExtension implements IExtension{
|
|||
}
|
||||
return new FixPriceRateSource(rate, preferedFiatCurrency);
|
||||
} else if ("coinmarketcap".equalsIgnoreCase(exchangeType)) {
|
||||
return new CoinmarketcapRateSource();
|
||||
String preferedFiatCurrency = ICurrencies.USD;
|
||||
if (st.hasMoreTokens()) {
|
||||
preferedFiatCurrency = st.nextToken().toUpperCase();
|
||||
}
|
||||
return new CoinmarketcapRateSource(preferedFiatCurrency);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
@ -122,6 +126,7 @@ public class DashExtension implements IExtension{
|
|||
public Set<String> getSupportedCryptoCurrencies() {
|
||||
Set<String> result = new HashSet<String>();
|
||||
result.add(ICurrencies.BTC);
|
||||
result.add(ICurrencies.BTX);
|
||||
result.add(ICurrencies.BCH);
|
||||
result.add(ICurrencies.LTC);
|
||||
result.add(ICurrencies.XMR);
|
||||
|
|
|
@ -14,6 +14,7 @@ public class CMCTicker {
|
|||
private String symbol;
|
||||
private BigDecimal rank;
|
||||
private BigDecimal price_usd;
|
||||
private BigDecimal price_eur;
|
||||
private BigDecimal price_btc;
|
||||
|
||||
@JsonProperty("24h_volume_usd")
|
||||
|
@ -67,6 +68,14 @@ public class CMCTicker {
|
|||
this.price_usd = price_usd;
|
||||
}
|
||||
|
||||
public BigDecimal getPrice_eur() {
|
||||
return price_eur;
|
||||
}
|
||||
|
||||
public void setPrice_eur(BigDecimal price_eur) {
|
||||
this.price_eur = price_eur;
|
||||
}
|
||||
|
||||
public BigDecimal getPrice_btc() {
|
||||
return price_btc;
|
||||
}
|
||||
|
|
|
@ -16,6 +16,18 @@ import si.mazi.rescu.RestProxyFactory;
|
|||
public class CoinmarketcapRateSource implements IRateSource {
|
||||
private ICoinmarketcapAPI api;
|
||||
|
||||
private String preferredFiatCurrency = ICurrencies.USD;
|
||||
|
||||
public CoinmarketcapRateSource(String preferedFiatCurrency) {
|
||||
this();
|
||||
if (ICurrencies.EUR.equalsIgnoreCase(preferedFiatCurrency)) {
|
||||
this.preferredFiatCurrency = ICurrencies.EUR;
|
||||
}
|
||||
if (ICurrencies.USD.equalsIgnoreCase(preferedFiatCurrency)) {
|
||||
this.preferredFiatCurrency = ICurrencies.USD;
|
||||
}
|
||||
}
|
||||
|
||||
public CoinmarketcapRateSource() {
|
||||
api = RestProxyFactory.createProxy(ICoinmarketcapAPI.class, "https://api.coinmarketcap.com");
|
||||
}
|
||||
|
@ -25,6 +37,7 @@ public class CoinmarketcapRateSource implements IRateSource {
|
|||
Set<String> result = new HashSet<String>();
|
||||
result.add(ICurrencies.BTC);
|
||||
result.add(ICurrencies.BCH);
|
||||
result.add(ICurrencies.BTX);
|
||||
result.add(ICurrencies.LTC);
|
||||
result.add(ICurrencies.ETH);
|
||||
result.add(ICurrencies.DASH);
|
||||
|
@ -37,6 +50,7 @@ public class CoinmarketcapRateSource implements IRateSource {
|
|||
public Set<String> getFiatCurrencies() {
|
||||
Set<String> result = new HashSet<String>();
|
||||
result.add(ICurrencies.USD);
|
||||
result.add(ICurrencies.EUR);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -52,19 +66,23 @@ public class CoinmarketcapRateSource implements IRateSource {
|
|||
if (!getFiatCurrencies().contains(fiatCurrency)) {
|
||||
return null;
|
||||
}
|
||||
CMCTicker[] tickers = api.getTickers();
|
||||
CMCTicker[] tickers = api.getTickers(fiatCurrency);
|
||||
for (int i = 0; i < tickers.length; i++) {
|
||||
CMCTicker ticker = tickers[i];
|
||||
if (cryptoCurrency.equalsIgnoreCase(ticker.getSymbol())) {
|
||||
if (ICurrencies.EUR.equalsIgnoreCase(fiatCurrency)) {
|
||||
return ticker.getPrice_eur();
|
||||
}else{
|
||||
return ticker.getPrice_usd();
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// public static void main(String[] args) {
|
||||
// CoinmarketcapRateSource rs = new CoinmarketcapRateSource();
|
||||
// BigDecimal exchangeRateLast = rs.getExchangeRateLast(ICurrencies.BTC, ICurrencies.USD);
|
||||
// CoinmarketcapRateSource rs = new CoinmarketcapRateSource(ICurrencies.EUR);
|
||||
// BigDecimal exchangeRateLast = rs.getExchangeRateLast(ICurrencies.BTC, ICurrencies.EUR);
|
||||
// System.out.println("exchangeRateLast = " + exchangeRateLast);
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -17,12 +17,10 @@
|
|||
************************************************************************************/
|
||||
package com.generalbytes.batm.server.extensions.extra.dash.sources.coinmarketcap;
|
||||
|
||||
import com.generalbytes.batm.server.extensions.extra.dash.sources.cddash.CryptodiggersResponse;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
@Path("/v1/ticker")
|
||||
|
@ -30,5 +28,5 @@ import javax.ws.rs.core.MediaType;
|
|||
public interface ICoinmarketcapAPI {
|
||||
@GET
|
||||
@Path("/")
|
||||
CMCTicker[] getTickers();
|
||||
CMCTicker[] getTickers(@QueryParam("convert") String fiatCurrency);
|
||||
}
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
<cryptocurrency>BTC</cryptocurrency>
|
||||
</ratesource>
|
||||
<ratesource prefix="coinmarketcap" name ="CoinMarketCap.com" >
|
||||
<param name="fiatcurrency" />
|
||||
<cryptocurrency>BTC</cryptocurrency>
|
||||
<cryptocurrency>BCH</cryptocurrency>
|
||||
<cryptocurrency>LTC</cryptocurrency>
|
||||
|
|
Loading…
Reference in New Issue