Skip to content

Commit eb4ea8e

Browse files
Merge branch 'ramonbakker-nocks'
2 parents f4da7f5 + 0d28115 commit eb4ea8e

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

dataModule/src/main/java/com/mobnetic/coinguardian/config/MarketsConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,5 +147,6 @@ private final static void addMarket(Market market) {
147147
addMarket(new BitcoinTrade());
148148
addMarket(new OmniTrade());
149149
addMarket(new Coinome());
150+
addMarket(new Nocks());
150151
}
151152
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package com.mobnetic.coinguardian.model.market;
2+
3+
import com.mobnetic.coinguardian.model.CheckerInfo;
4+
import com.mobnetic.coinguardian.model.CurrencyPairInfo;
5+
import com.mobnetic.coinguardian.model.Market;
6+
import com.mobnetic.coinguardian.model.Ticker;
7+
8+
import org.json.JSONArray;
9+
import org.json.JSONObject;
10+
11+
import java.util.List;
12+
13+
public class Nocks extends Market {
14+
15+
private final static String NAME = "Nocks";
16+
private final static String TTS_NAME = NAME;
17+
private final static String URL = "https://api.nocks.com/api/v2/trade-market/%1$s";
18+
private final static String URL_CURRENCY_PAIRS = "https://api.nocks.com/api/v2/trade-market";
19+
20+
public Nocks() {
21+
super(NAME, TTS_NAME, null);
22+
}
23+
24+
@Override
25+
public String getUrl(int requestId, CheckerInfo checkerInfo) {
26+
return String.format(URL, checkerInfo.getCurrencyPairId());
27+
}
28+
29+
@Override
30+
protected void parseTickerFromJsonObject(int requestId, JSONObject jsonObject, Ticker ticker, CheckerInfo checkerInfo) throws Exception {
31+
final JSONObject dataObject = jsonObject.getJSONObject("data");
32+
33+
ticker.bid = getDoubleFromJsonObject(dataObject, "buy");
34+
ticker.ask = getDoubleFromJsonObject(dataObject, "sell");
35+
ticker.vol = getDoubleFromJsonObject(dataObject, "volume");
36+
ticker.high = getDoubleFromJsonObject(dataObject, "high");
37+
ticker.low = getDoubleFromJsonObject(dataObject, "low");
38+
ticker.last = getDoubleFromJsonObject(dataObject, "last");
39+
}
40+
41+
private double getDoubleFromJsonObject(JSONObject jsonObject, String key) throws Exception {
42+
return jsonObject.getJSONObject(key).getDouble("amount");
43+
}
44+
45+
// ====================
46+
// Get currency pairs
47+
// ====================
48+
@Override
49+
public String getCurrencyPairsUrl(int requestId) {
50+
return URL_CURRENCY_PAIRS;
51+
}
52+
53+
@Override
54+
protected void parseCurrencyPairsFromJsonObject(int requestId, JSONObject jsonObject, List<CurrencyPairInfo> pairs) throws Exception {
55+
final JSONArray resultJsonArray = jsonObject.getJSONArray("data");
56+
57+
for(int i=0; i<resultJsonArray.length(); ++i) {
58+
final JSONObject marketJsonObject = resultJsonArray.getJSONObject(i);
59+
final String pairId = marketJsonObject.getString("code");
60+
String[] currencies = pairId.split("-");
61+
if(currencies.length >= 2) {
62+
pairs.add(new CurrencyPairInfo(
63+
currencies[0],
64+
currencies[1],
65+
pairId));
66+
}
67+
}
68+
}
69+
}

0 commit comments

Comments
 (0)