Skip to content

Commit 870d58a

Browse files
authored
Merge branch 'develop' into order-status-fee-2
2 parents cf76e72 + 783dd80 commit 870d58a

File tree

261 files changed

+16458
-1522
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

261 files changed

+16458
-1522
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
## [![XChange](https://raw.githubusercontent.com/timmolter/XChange/develop/etc/XChange_64_64.png)](http://knowm.org/open-source/xchange) XChange
22

3+
[![Join the chat at https://gitter.im/Java-XChange/Lobby](https://badges.gitter.im/Java-XChange/Lobby.svg)](https://gitter.im/Java-XChange/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4+
35
XChange is a Java library providing a simple and consistent API for interacting with 60+ Bitcoin and other crypto currency exchanges providing a
46
consistent interface for trading and accessing market data.
57

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
<module>xchange-koinim</module>
138138
<module>xchange-kraken</module>
139139
<module>xchange-kuna</module>
140+
<module>xchange-kucoin</module>
140141
<module>xchange-lakebtc</module>
141142
<module>xchange-liqui</module>
142143
<module>xchange-livecoin</module>

xchange-abucoins/src/main/java/org/knowm/xchange/abucoins/AbucoinsAdapters.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public static Trade adaptTrade(AbucoinsTrade trade, CurrencyPair currencyPair) {
111111
/**
112112
* Adapts a AbucoinsTrade[] to a Trades Object
113113
*
114-
* @param abucoinsTrades The AbucoinsTrade data returned by API
114+
* @param abucoinsTrades The Abucoins trade data returned by API
115115
* @param currencyPair trade currencies
116116
* @return The trades
117117
*/
@@ -150,6 +150,7 @@ public static Ticker adaptTicker(AbucoinsTicker ticker, CurrencyPair currencyPai
150150
* Adapts Cex.IO Depth to OrderBook Object
151151
*
152152
* @param abucoinsOrderBook AbucoinsOrderBook order book
153+
153154
* @param currencyPair The currency pair (e.g. BTC/USD)
154155
* @return The XChange OrderBook
155156
*/
@@ -196,7 +197,7 @@ public static List<LimitOrder> createOrders(CurrencyPair currencyPair, OrderType
196197

197198
public static LimitOrder createOrder(CurrencyPair currencyPair, AbucoinsOrderBook.LimitOrder priceAndAmount, OrderType orderType) {
198199

199-
return new LimitOrder(orderType, priceAndAmount.getPrice(), currencyPair, "", null, priceAndAmount.getSize()); //??
200+
return new LimitOrder(orderType, priceAndAmount.getSize(), currencyPair, "", null, priceAndAmount.getPrice()); //??
200201
}
201202

202203
public static OpenOrders adaptOpenOrders(AbucoinsOrder[] orders) {
@@ -323,10 +324,6 @@ public static AbucoinsCreateLimitOrderRequest adaptAbucoinsCreateLimitOrderReque
323324
}
324325

325326
public static String[] adaptToSetOfIDs(String resp) {
326-
StringTokenizer tok = new StringTokenizer(resp, "[], ");
327-
List<String> res = new ArrayList<>();
328-
while ( tok.hasMoreTokens() )
329-
res.add( tok.nextToken());
330-
return res.toArray(new String[ res.size()]);
327+
return resp.replaceAll("[\\[\\\"\\] ]", "").split(",");
331328
}
332329
}

xchange-abucoins/src/main/java/org/knowm/xchange/abucoins/service/AbucoinsTradeService.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@
1313
import org.knowm.xchange.abucoins.dto.marketdata.AbucoinsCreateOrderResponse;
1414
import org.knowm.xchange.abucoins.dto.trade.AbucoinsOrder;
1515
import org.knowm.xchange.dto.Order;
16-
import org.knowm.xchange.dto.trade.LimitOrder;
17-
import org.knowm.xchange.dto.trade.MarketOrder;
18-
import org.knowm.xchange.dto.trade.OpenOrders;
19-
import org.knowm.xchange.dto.trade.UserTrades;
16+
import org.knowm.xchange.dto.trade.*;
2017
import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException;
2118
import org.knowm.xchange.service.trade.TradeService;
2219
import org.knowm.xchange.service.trade.params.CancelOrderByCurrencyPair;
@@ -78,6 +75,11 @@ public String placeLimitOrder(LimitOrder limitOrder) throws IOException {
7875
return resp.getId();
7976
}
8077

78+
@Override
79+
public String placeStopOrder(StopOrder stopOrder) throws IOException {
80+
throw new NotYetImplementedForExchangeException();
81+
}
82+
8183
@Override
8284
public boolean cancelOrder(String orderId) throws IOException {
8385

xchange-abucoins/src/main/resources/abucoins.json

Lines changed: 191 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,241 @@
11
{
22
"currency_pairs": {
3-
"BTC/USD": {
3+
"BTC/PLN": {
44
"price_scale": 2,
5-
"trading_fee": 0.002,
5+
"trading_fee": 0.0025,
66
"min_amount": 0.010000000
77
},
8-
"BTC/EUR": {
8+
"ETH/PLN": {
99
"price_scale": 2,
10-
"trading_fee": 0.001,
10+
"trading_fee": 0.0025,
1111
"min_amount": 0.010000000
1212
},
13-
"BTC/GBP": {
13+
"BTC/EUR": {
1414
"price_scale": 2,
15-
"trading_fee": 0.01,
15+
"trading_fee": 0.0025,
1616
"min_amount": 0.010000000
1717
},
18-
"ETH/GBP": {
19-
"price_scale": 4,
20-
"trading_fee": 0.001,
18+
"BTC/USD": {
19+
"price_scale": 2,
20+
"trading_fee": 0.0025,
2121
"min_amount": 0.100000000
2222
},
23-
"ETH/BTC": {
24-
"price_scale": 8,
25-
"trading_fee": 0.0000,
23+
"BCH/PLN": {
24+
"price_scale": 2,
25+
"trading_fee": 0.0025,
2626
"min_amount": 0.500000000
2727
},
28-
"ETH/USD": {
29-
"price_scale": 4,
30-
"trading_fee": 0.002,
28+
"BCH/BTC": {
29+
"price_scale": 8,
30+
"trading_fee": 0.001,
3131
"min_amount": 0.500000000
3232
},
33-
"ETH/EUR": {
34-
"price_scale": 4,
33+
"ETH/BTC": {
34+
"price_scale": 8,
3535
"trading_fee": 0.001,
3636
"min_amount": 0.500000000
3737
},
38-
"BCH/BTC": {
38+
"DASH/BTC": {
3939
"price_scale": 8,
40-
"trading_fee": 0.0000,
40+
"trading_fee": 0.001,
4141
"min_amount": 0.100000000
4242
},
43-
"BCH/USD": {
44-
"price_scale": 4,
45-
"trading_fee": 0.002,
43+
"ZEC/BTC": {
44+
"price_scale": 8,
45+
"trading_fee": 0.001,
4646
"min_amount": 0.0100000000
4747
},
48-
"BCH/EUR": {
49-
"price_scale": 4,
48+
"XMR/BTC": {
49+
"price_scale": 8,
5050
"trading_fee": 0.001,
5151
"min_amount": 0.0100000000
5252
},
53-
"BCH/GBP": {
54-
"price_scale": 4,
55-
"trading_fee": 0.002,
53+
"BTG/BTC": {
54+
"price_scale": 8,
55+
"trading_fee": 0.001,
56+
"min_amount": 0.010000000
57+
},
58+
"LTC/BTC": {
59+
"price_scale": 8,
60+
"trading_fee": 0.001,
61+
"min_amount": 0.010000000
62+
},
63+
"REP/BTC": {
64+
"price_scale": 8,
65+
"trading_fee": 0.001,
66+
"min_amount": 0.010000000
67+
},
68+
"ETC/BTC": {
69+
"price_scale": 8,
70+
"trading_fee": 0.001,
71+
"min_amount": 0.010000000
72+
},
73+
"STRAT/BTC": {
74+
"price_scale": 8,
75+
"trading_fee": 0.001,
76+
"min_amount": 0.010000000
77+
},
78+
"XRP/BTC": {
79+
"price_scale": 8,
80+
"trading_fee": 0.001,
81+
"min_amount": 0.010000000
82+
},
83+
"XEM/BTC": {
84+
"price_scale": 8,
85+
"trading_fee": 0.001,
86+
"min_amount": 0.010000000
87+
},
88+
"GNT/BTC": {
89+
"price_scale": 8,
90+
"trading_fee": 0.001,
91+
"min_amount": 0.010000000
92+
},
93+
"SC/BTC": {
94+
"price_scale": 8,
95+
"trading_fee": 0.001,
96+
"min_amount": 0.010000000
97+
},
98+
"ETH/EUR": {
99+
"price_scale": 2,
100+
"trading_fee": 0.0025,
101+
"min_amount": 0.010000000
102+
},
103+
"LSK/PLN": {
104+
"price_scale": 2,
105+
"trading_fee": 0.0025,
106+
"min_amount": 0.010000000
107+
},
108+
"LSK/BTC": {
109+
"price_scale": 8,
110+
"trading_fee": 0.001,
111+
"min_amount": 0.010000000
112+
},
113+
"BCH/EUR": {
114+
"price_scale": 2,
115+
"trading_fee": 0.0025,
116+
"min_amount": 0.010000000
117+
},
118+
"ETH/USD": {
119+
"price_scale": 2,
120+
"trading_fee": 0.0025,
121+
"min_amount": 0.010000000
122+
},
123+
"BTG/PLN": {
124+
"price_scale": 2,
125+
"trading_fee": 0.0025,
126+
"min_amount": 0.010000000
127+
},
128+
"BCH/USD": {
129+
"price_scale": 2,
130+
"trading_fee": 0.0025,
131+
"min_amount": 0.010000000
132+
},
133+
"LSK/USD": {
134+
"price_scale": 2,
135+
"trading_fee": 0.0025,
136+
"min_amount": 0.010000000
137+
},
138+
"LSK/EUR": {
139+
"price_scale": 2,
140+
"trading_fee": 0.0025,
141+
"min_amount": 0.010000000
142+
},
143+
"BTG/EUR": {
144+
"price_scale": 2,
145+
"trading_fee": 0.0025,
146+
"min_amount": 0.010000000
147+
},
148+
"HSR/BTC": {
149+
"price_scale": 8,
150+
"trading_fee": 0.001,
151+
"min_amount": 0.010000000
152+
},
153+
"BTG/USD": {
154+
"price_scale": 2,
155+
"trading_fee": 0.0025,
56156
"min_amount": 0.010000000
57157
}
58158
},
59159
"currencies": {
60160
"BCH": {
61161
"scale": 8,
62-
"withdrawal_fee": 0.001
162+
"withdrawal_fee": 0.0001
63163
},
64164
"BTC": {
65165
"scale": 8,
66166
"withdrawal_fee": 0.001
67167
},
68-
"ETH": {
168+
"BTG": {
169+
"scale": 8,
170+
"withdrawal_fee": 0.0005
171+
},
172+
"DASH": {
69173
"scale": 8,
70174
"withdrawal_fee": 0.01
71175
},
72-
"GBP": {
73-
"scale": 2,
74-
"withdrawal_fee": 3.80
176+
"ETC": {
177+
"scale": 8,
178+
"withdrawal_fee": 0.01
179+
},
180+
"ETH": {
181+
"scale": 8,
182+
"withdrawal_fee": 0.005
75183
},
76184
"EUR": {
77185
"scale": 2,
78-
"withdrawal_fee": 3.80
186+
"withdrawal_fee": 1
187+
},
188+
"GNT": {
189+
"scale": 8,
190+
"withdrawal_fee": 0.01
191+
},
192+
"HSR": {
193+
"scale": 8,
194+
"withdrawal_fee": 0.5
195+
},
196+
"LSK": {
197+
"scale": 8,
198+
"withdrawal_fee": 0.2
199+
},
200+
"LTC": {
201+
"scale": 8,
202+
"withdrawal_fee": 0.001
203+
},
204+
"PLN": {
205+
"scale": 2,
206+
"withdrawal_fee": 0
207+
},
208+
"REP": {
209+
"scale": 8,
210+
"withdrawal_fee": 0.01
211+
},
212+
"SC": {
213+
"scale": 8,
214+
"withdrawal_fee": 10
215+
},
216+
"STRAT": {
217+
"scale": 8,
218+
"withdrawal_fee": 0.01
79219
},
80220
"USD": {
81-
"scale": 2
221+
"scale": 2,
222+
"withdrawal_fee": 50
223+
},
224+
"XEM": {
225+
"scale": 8,
226+
"withdrawal_fee": 2
227+
},
228+
"XMR": {
229+
"scale": 8,
230+
"withdrawal_fee": 0.02
231+
},
232+
"XRP": {
233+
"scale": 8,
234+
"withdrawal_fee": 0.5
235+
},
236+
"ZEC": {
237+
"scale": 8,
238+
"withdrawal_fee": 0.001
82239
}
83240
},
84241
"private_rate_limits": [

xchange-abucoins/src/test/java/org/knowm/xchange/abucoins/AbucoinsAdaptersSplitIDsTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ public class AbucoinsAdaptersSplitIDsTest {
99

1010
@Test
1111
public void testSingleID() {
12-
String[] string = AbucoinsAdapters.adaptToSetOfIDs("[1111]");
12+
String[] string = AbucoinsAdapters.adaptToSetOfIDs("[\"1111\"]");
1313
assertNotNull("null response", string);
1414
assertEquals("wrong number of strings", 1, string.length);
1515
assertEquals("Wrong value", "1111", string[0]);
1616
}
1717

1818
@Test
1919
public void testMultipleIDs() {
20-
String[] string = AbucoinsAdapters.adaptToSetOfIDs("[1111,2222, 3333]");
20+
String[] string = AbucoinsAdapters.adaptToSetOfIDs("[\"1111\",\"2222\", \"3333\"]");
2121
assertNotNull("null response", string);
2222
assertEquals("wrong number of strings", 3, string.length);
2323
assertEquals("Wrong value", "1111", string[0]);

0 commit comments

Comments
 (0)