Skip to content

Commit 4d534fc

Browse files
authored
Merge pull request knowm#11 from knowm/develop
merge
2 parents 08588b1 + cf18707 commit 4d534fc

File tree

321 files changed

+11443
-1675
lines changed

Some content is hidden

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

321 files changed

+11443
-1675
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ fi"
1212

1313
jdk:
1414
- oraclejdk8
15+
- oraclejdk10
1516

1617
# whitelist
1718
branches:

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,17 +103,17 @@ Add the following dependencies in your pom.xml file. You will need at least xcha
103103
<dependency>
104104
<groupId>org.knowm.xchange</groupId>
105105
<artifactId>xchange-core</artifactId>
106-
<version>4.3.8</version>
106+
<version>4.3.9</version>
107107
</dependency>
108108
<dependency>
109109
<groupId>org.knowm.xchange</groupId>
110110
<artifactId>xchange-examples</artifactId>
111-
<version>4.3.8</version>
111+
<version>4.3.9</version>
112112
</dependency>
113113
<dependency>
114114
<groupId>org.knowm.xchange</groupId>
115115
<artifactId>xchange-XYZ</artifactId>
116-
<version>4.3.8</version>
116+
<version>4.3.9</version>
117117
</dependency>
118118

119119
For snapshots, add the following repository to your pom.xml file.
@@ -126,7 +126,7 @@ For snapshots, add the following repository to your pom.xml file.
126126

127127
The current snapshot version is:
128128

129-
4.3.9-SNAPSHOT
129+
4.3.10-SNAPSHOT
130130

131131
## Building with Maven
132132

pom.xml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<groupId>org.knowm.xchange</groupId>
1111
<artifactId>xchange-parent</artifactId>
12-
<version>4.3.9-SNAPSHOT</version>
12+
<version>4.3.10-SNAPSHOT</version>
1313
<packaging>pom</packaging>
1414

1515
<name>XChange</name>
@@ -36,11 +36,11 @@
3636
<version.github.mmazi>2.0.2</version.github.mmazi>
3737
<version.junit>4.12</version.junit>
3838
<version.knowm.xchart>3.5.2</version.knowm.xchart>
39-
<version.powermock>1.7.4</version.powermock>
39+
<version.powermock>2.0.0-beta.5</version.powermock>
4040
<version.qos.logback>1.2.3</version.qos.logback>
4141
<version.reflections>0.9.11</version.reflections>
4242
<version.slf4j>1.7.25</version.slf4j>
43-
<version.crypto>3.4.0</version.crypto>
43+
<version.crypto>3.5.0</version.crypto>
4444

4545
<skipIntegrationTests>true</skipIntegrationTests>
4646
</properties>
@@ -110,6 +110,7 @@
110110
<module>xchange-bitso</module>
111111
<module>xchange-bitstamp</module>
112112
<module>xchange-bittrex</module>
113+
<module>xchange-bity</module>
113114
<module>xchange-bitz</module>
114115
<module>xchange-bleutrade</module>
115116
<module>xchange-blockchain</module>
@@ -123,6 +124,8 @@
123124
<module>xchange-cexio</module>
124125
<module>xchange-cobinhood</module>
125126
<module>xchange-coinbase</module>
127+
<module>xchange-coindirect</module>
128+
<module>xchange-coinbene</module>
126129
<module>xchange-coinegg</module>
127130
<module>xchange-coinone</module>
128131
<module>xchange-coinfloor</module>
@@ -252,8 +255,7 @@
252255
<dependency>
253256
<groupId>org.mockito</groupId>
254257
<artifactId>mockito-core</artifactId>
255-
<version>1.10.19</version>
256-
<!-- <version>2.15.0</version> -->
258+
<version>2.20.1</version>
257259
<scope>test</scope>
258260
</dependency>
259261

@@ -274,7 +276,7 @@
274276
</dependency>
275277
<dependency>
276278
<groupId>org.powermock</groupId>
277-
<artifactId>powermock-api-mockito</artifactId>
279+
<artifactId>powermock-api-mockito2</artifactId>
278280
<version>${version.powermock}</version>
279281
<scope>test</scope>
280282
</dependency>
@@ -298,6 +300,13 @@
298300
<artifactId>slf4j-api</artifactId>
299301
<version>${version.slf4j}</version>
300302
</dependency>
303+
304+
<!-- javax APIs -->
305+
<dependency>
306+
<groupId>javax.annotation</groupId>
307+
<artifactId>javax.annotation-api</artifactId>
308+
<version>1.3.2</version>
309+
</dependency>
301310

302311
<!-- SLF4J implementation for use in examples -->
303312
<dependency>

xchange-abucoins/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>xchange-parent</artifactId>
88
<groupId>org.knowm.xchange</groupId>
9-
<version>4.3.9-SNAPSHOT</version>
9+
<version>4.3.10-SNAPSHOT</version>
1010
</parent>
1111

1212
<artifactId>xchange-abucoins</artifactId>

xchange-acx/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>org.knowm.xchange</groupId>
55
<artifactId>xchange-parent</artifactId>
6-
<version>4.3.9-SNAPSHOT</version>
6+
<version>4.3.10-SNAPSHOT</version>
77
</parent>
88
<artifactId>xchange-acx</artifactId>
99
<name>XChange ACX.IO</name>
@@ -24,7 +24,7 @@
2424
</dependency>
2525
<dependency>
2626
<groupId>org.powermock</groupId>
27-
<artifactId>powermock-api-mockito</artifactId>
27+
<artifactId>powermock-api-mockito2</artifactId>
2828
<version>${version.powermock}</version>
2929
<scope>test</scope>
3030
</dependency>

xchange-anx/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.knowm.xchange</groupId>
66
<artifactId>xchange-parent</artifactId>
7-
<version>4.3.9-SNAPSHOT</version>
7+
<version>4.3.10-SNAPSHOT</version>
88
</parent>
99

1010
<artifactId>xchange-anx</artifactId>

xchange-bibox/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.knowm.xchange</groupId>
77
<artifactId>xchange-parent</artifactId>
8-
<version>4.3.9-SNAPSHOT</version>
8+
<version>4.3.10-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>xchange-bibox</artifactId>
@@ -27,7 +27,7 @@
2727
<dependency>
2828
<groupId>org.knowm.xchange</groupId>
2929
<artifactId>xchange-core</artifactId>
30-
<version>4.3.9-SNAPSHOT</version>
30+
<version>4.3.10-SNAPSHOT</version>
3131
</dependency>
3232
</dependencies>
3333
</project>

xchange-bibox/src/main/java/org/knowm/xchange/bibox/Bibox.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.knowm.xchange.bibox.dto.BiboxResponse;
1414
import org.knowm.xchange.bibox.dto.marketdata.BiboxMarket;
1515
import org.knowm.xchange.bibox.dto.marketdata.BiboxTicker;
16+
import org.knowm.xchange.bibox.dto.trade.BiboxDeals;
1617
import org.knowm.xchange.bibox.dto.trade.BiboxOrderBook;
1718

1819
/** @author odrotleff */
@@ -47,6 +48,24 @@ BiboxResponse<BiboxOrderBook> orderBook(
4748
@QueryParam("size") Integer size)
4849
throws IOException, BiboxException;
4950

51+
/**
52+
* Retrieves the trade history.
53+
*
54+
* @param cmd always "deals"
55+
* @param pair the currency pair
56+
* @param size how many,1-200,if not passed will return 200
57+
* @return
58+
* @throws IOException
59+
* @throws BiboxException
60+
*/
61+
@GET
62+
@Path("mdata")
63+
BiboxResponse<List<BiboxDeals>> deals(
64+
@QueryParam("cmd") String cmd,
65+
@QueryParam("pair") String pair,
66+
@QueryParam("size") Integer size)
67+
throws IOException, BiboxException;
68+
5069
/**
5170
* Retrieves all tickers.
5271
*

xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxAdapters.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.knowm.xchange.bibox.dto.account.BiboxWithdrawal;
1212
import org.knowm.xchange.bibox.dto.marketdata.BiboxMarket;
1313
import org.knowm.xchange.bibox.dto.marketdata.BiboxTicker;
14+
import org.knowm.xchange.bibox.dto.trade.BiboxDeals;
1415
import org.knowm.xchange.bibox.dto.trade.BiboxOrder;
1516
import org.knowm.xchange.bibox.dto.trade.BiboxOrderBook;
1617
import org.knowm.xchange.bibox.dto.trade.BiboxOrderBookEntry;
@@ -26,6 +27,8 @@
2627
import org.knowm.xchange.dto.account.Wallet;
2728
import org.knowm.xchange.dto.marketdata.OrderBook;
2829
import org.knowm.xchange.dto.marketdata.Ticker;
30+
import org.knowm.xchange.dto.marketdata.Trade;
31+
import org.knowm.xchange.dto.marketdata.Trades;
2932
import org.knowm.xchange.dto.marketdata.Trades.TradeSortType;
3033
import org.knowm.xchange.dto.meta.CurrencyPairMetaData;
3134
import org.knowm.xchange.dto.meta.ExchangeMetaData;
@@ -218,4 +221,37 @@ public static Status convertStatus(int status) {
218221
throw new RuntimeException("Unknown status of bibox deposit: " + status);
219222
}
220223
}
224+
225+
public static Trades adaptDeals(List<BiboxDeals> biboxDeals, CurrencyPair currencyPair) {
226+
List<Trade> trades =
227+
biboxDeals
228+
.stream()
229+
.map(
230+
d ->
231+
new Trade(
232+
convertSide(d.getSide()),
233+
d.getAmount(),
234+
currencyPair,
235+
d.getPrice(),
236+
new Date(d.getTime()),
237+
d.getId()))
238+
.collect(Collectors.toList());
239+
return new Trades(trades, TradeSortType.SortByTimestamp);
240+
}
241+
/**
242+
* transaction side,1-bid,2-ask
243+
*
244+
* @param side
245+
* @return
246+
*/
247+
private static OrderType convertSide(int side) {
248+
switch (side) {
249+
case 1:
250+
return OrderType.BID;
251+
case 2:
252+
return OrderType.ASK;
253+
default:
254+
throw new RuntimeException("Unknown order type (side) of bibox deal: " + side);
255+
}
256+
}
221257
}
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
package org.knowm.xchange.bibox.dto.trade;
2+
3+
import com.fasterxml.jackson.annotation.JsonAnyGetter;
4+
import com.fasterxml.jackson.annotation.JsonAnySetter;
5+
import com.fasterxml.jackson.annotation.JsonIgnore;
6+
import com.fasterxml.jackson.annotation.JsonInclude;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
9+
import java.math.BigDecimal;
10+
import java.util.HashMap;
11+
import java.util.Map;
12+
import javax.annotation.Generated;
13+
14+
@JsonInclude(JsonInclude.Include.NON_NULL)
15+
@Generated("org.jsonschema2pojo")
16+
@JsonPropertyOrder({"pair", "price", "amount", "time", "side"})
17+
public class BiboxDeals {
18+
19+
@JsonProperty("id")
20+
private String id;
21+
22+
@JsonProperty("pair")
23+
private String pair;
24+
/** transaction price */
25+
@JsonProperty("price")
26+
private BigDecimal price;
27+
/** transaction amount */
28+
@JsonProperty("amount")
29+
private BigDecimal amount;
30+
/** transaction time */
31+
@JsonProperty("time")
32+
private long time;
33+
/** transaction side,1-bid,2-ask */
34+
@JsonProperty("side")
35+
private int side;
36+
37+
@JsonIgnore private Map<String, Object> additionalProperties = new HashMap<String, Object>();
38+
39+
@JsonProperty("id")
40+
public String getId() {
41+
return id;
42+
}
43+
44+
@JsonProperty("id")
45+
public void setId(String id) {
46+
this.id = id;
47+
}
48+
49+
@JsonProperty("pair")
50+
public String getPair() {
51+
return pair;
52+
}
53+
54+
@JsonProperty("pair")
55+
public void setPair(String pair) {
56+
this.pair = pair;
57+
}
58+
59+
@JsonProperty("price")
60+
public BigDecimal getPrice() {
61+
return price;
62+
}
63+
64+
@JsonProperty("price")
65+
public void setPrice(BigDecimal price) {
66+
this.price = price;
67+
}
68+
69+
@JsonProperty("amount")
70+
public BigDecimal getAmount() {
71+
return amount;
72+
}
73+
74+
@JsonProperty("amount")
75+
public void setAmount(BigDecimal amount) {
76+
this.amount = amount;
77+
}
78+
79+
@JsonProperty("time")
80+
public long getTime() {
81+
return time;
82+
}
83+
84+
@JsonProperty("time")
85+
public void setTime(long time) {
86+
this.time = time;
87+
}
88+
89+
@JsonProperty("side")
90+
public int getSide() {
91+
return side;
92+
}
93+
94+
@JsonProperty("side")
95+
public void setSide(int side) {
96+
this.side = side;
97+
}
98+
99+
@JsonAnyGetter
100+
public Map<String, Object> getAdditionalProperties() {
101+
return this.additionalProperties;
102+
}
103+
104+
@JsonAnySetter
105+
public void setAdditionalProperty(String name, Object value) {
106+
this.additionalProperties.put(name, value);
107+
}
108+
}

xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxDigest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
import java.io.UnsupportedEncodingException;
44
import javax.ws.rs.FormParam;
5-
import javax.xml.bind.DatatypeConverter;
65
import org.knowm.xchange.bibox.BiboxAuthenticated;
76
import org.knowm.xchange.service.BaseParamsDigest;
7+
import org.knowm.xchange.utils.DigestUtils;
88
import si.mazi.rescu.RestInvocation;
99

1010
public class BiboxDigest extends BaseParamsDigest {
@@ -32,8 +32,7 @@ public String digestParams(RestInvocation restInvocation) {
3232
String cmds =
3333
(String) restInvocation.getParamValue(FormParam.class, BiboxAuthenticated.FORM_CMDS);
3434
try {
35-
return DatatypeConverter.printHexBinary(getMac().doFinal(cmds.getBytes("UTF-8")))
36-
.toLowerCase();
35+
return DigestUtils.bytesToHex(getMac().doFinal(cmds.getBytes("UTF-8"))).toLowerCase();
3736
} catch (IllegalStateException | UnsupportedEncodingException e1) {
3837
throw new RuntimeException(e1.getMessage());
3938
}

0 commit comments

Comments
 (0)