Skip to content
This repository has been archived by the owner on Jun 8, 2020. It is now read-only.

Commit

Permalink
Merge pull request #340 from badgerwithagun/generic-user-channel
Browse files Browse the repository at this point in the history
Generic user channels (balance, open orders, user trades) + support for Binance, Bitfinex, Coinbase Pro
  • Loading branch information
Flemingjp authored Jul 28, 2019
2 parents 5396f37 + 6d001f1 commit 8ac7f03
Show file tree
Hide file tree
Showing 42 changed files with 1,934 additions and 378 deletions.
32 changes: 17 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,25 +91,27 @@ More information about reactive streams can be found at [RxJava wiki](https://gi

Listening for live updates of

Exchange | order books | trades | tickers | notes |
-------- | ----------- | ------ | ------- |-------|
**Binance** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
**Bitfinex** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
**Bitflyer** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
**BitMEX** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | We are short of maintainers able to review pull requests and provide support for Bitmex, so there is a backlog of pull requests and support is likely broken. Can you help? |
**Bitstamp** | :heavy_check_mark: | :heavy_check_mark: | :x: | |
**CEX.IO** | :heavy_check_mark: | :x: | :x: | New support, not widely tested |
**Coinbase Pro** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
**Coinmate** | :heavy_check_mark: | :heavy_check_mark: | :x: | |
**OKCoin** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
**OKEx** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
**Poloniex** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
**Gemini** | :heavy_check_mark: | :heavy_check_mark: | :x: | |
**Wex** | :heavy_check_mark: | :heavy_check_mark: | :x: | |
| Exchange | order books | trades (public) | tickers | balances | trades (user) | open orders | notes |
| ---------------- | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ----- |
| **Binance** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| **Bitfinex** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| **Bitflyer** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :question: | :question: | :question: | |
| **BitMEX** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :question: | :question: | :question: | We are short of maintainers able to review pull requests and provide support for Bitmex, so there is a backlog of pull requests and support is likely broken. Can you help? |
| **Bitstamp** | :heavy_check_mark: | :heavy_check_mark: | :x: | :question: | :question: | :question: | |
| **CEX.IO** | :heavy_check_mark: | :x: | :x: | :question: | :question: | :question: | New support, not widely tested |
| **Coinbase Pro** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| **Coinmate** | :heavy_check_mark: | :heavy_check_mark: | :x: | :question: | :question: | :question: | |
| **OKCoin** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :question: | :question: | :question: | |
| **OKEx** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :question: | :question: | :question: | |
| **Poloniex** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :question: | :question: | :question: | |
| **Gemini** | :heavy_check_mark: | :heavy_check_mark: | :x: | :question: | :question: | :question: | |
| **Wex** | :heavy_check_mark: | :heavy_check_mark: | :x: | :question: | :question: | :question: | |


- :heavy_check_mark: - implemented
- :construction: - missing but can be implemented
- :x: - not supported by the exchange
- :question: - exchange support level not known (please fill in)

If you missing a specific exchange implementation, feel free to propose a pull request or open an issue with some sweet BTC bounty.

Expand Down
8 changes: 8 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,13 @@
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>

<!-- This is introduced by XChange anyway, depending on the implementation used -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
</dependency>
</dependencies>
</dependencyManagement>

Expand Down Expand Up @@ -146,6 +153,7 @@
<version>3.12.2</version>
<scope>test</scope>
</dependency>

</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.slf4j.LoggerFactory;

import java.io.IOException;
import java.time.Duration;

public abstract class JsonNettyStreamingService extends NettyStreamingService<JsonNode> {
private static final Logger LOG = LoggerFactory.getLogger(JsonNettyStreamingService.class);
Expand All @@ -21,6 +22,10 @@ public JsonNettyStreamingService(String apiUrl, int maxFramePayloadLength) {
super(apiUrl, maxFramePayloadLength);
}

public JsonNettyStreamingService(String apiUrl, int maxFramePayloadLength, Duration connectionTimeout, Duration retryDuration, int idleTimeoutSeconds) {
super(apiUrl, maxFramePayloadLength, connectionTimeout, retryDuration, idleTimeoutSeconds);
}

public boolean processArrayMassageSeparately() {
return true;
}
Expand Down
Loading

0 comments on commit 8ac7f03

Please sign in to comment.