Skip to content
This repository was archived by the owner on Oct 30, 2023. It is now read-only.

Commit c7e73e1

Browse files
committed
Fix bugs
1 parent 4fb7af9 commit c7e73e1

6 files changed

Lines changed: 71 additions & 7 deletions

File tree

src/main/java/com/binance/api/client/factory/BinanceFuturesApiClientFactory.java

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

33
import com.binance.api.client.BinanceApiAsyncFuturesRestClient;
44
import com.binance.api.client.BinanceApiFuturesRestClient;
5+
import com.binance.api.client.BinanceApiRestClient;
56
import com.binance.api.client.BinanceApiWebSocketClient;
67
import com.binance.api.client.impl.BinanceApiAsyncFuturesRestClientImpl;
78
import com.binance.api.client.impl.BinanceApiFuturesRestClientImpl;
9+
import com.binance.api.client.impl.BinanceApiRestClientImpl;
810
import com.binance.api.client.impl.BinanceApiWebSocketClientImpl;
911

1012
import static com.binance.api.client.impl.BinanceApiServiceGenerator.getSharedClient;
@@ -71,8 +73,8 @@ public BinanceApiAsyncFuturesRestClient newAsyncRestClient() {
7173
/**
7274
* Creates a new synchronous/blocking Futures REST client.
7375
*/
74-
public BinanceApiFuturesRestClient newRestClient() {
75-
return new BinanceApiFuturesRestClientImpl(apiKey, secret, apiUrl);
76+
public BinanceApiRestClient newRestClient() {
77+
return new BinanceApiRestClientImpl(apiKey, secret, apiUrl);
7678
}
7779

7880
/**
@@ -81,4 +83,11 @@ public BinanceApiFuturesRestClient newRestClient() {
8183
public BinanceApiWebSocketClient newWebSocketClient() {
8284
return new BinanceApiWebSocketClientImpl(getSharedClient(), websocketUrl);
8385
}
86+
87+
/**
88+
* Creates a new synchronous/blocking Futures REST client.
89+
*/
90+
public BinanceApiFuturesRestClient newFuturesRestClient() {
91+
return new BinanceApiFuturesRestClientImpl(apiKey, secret, apiUrl);
92+
}
8493
}

src/test/java/com/binance/api/examples/futures/FuturesAccountExample.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.binance.api.client.domain.account.FuturesAccount;
55
import com.binance.api.client.factory.BinanceAbstractFactory;
66
import com.binance.api.client.factory.BinanceFuturesApiClientFactory;
7-
import com.binance.api.client.factory.BinanceSpotApiClientFactory;
87

98
/**
109
* Examples binance futures account information
@@ -14,7 +13,7 @@ public class FuturesAccountExample {
1413

1514
public static void main(String[] args) {
1615
BinanceFuturesApiClientFactory factory = BinanceAbstractFactory.createFuturesFactory("YOUR_API_KEY", "YOUR_SECRET");
17-
BinanceApiFuturesRestClient client = factory.newRestClient();
16+
BinanceApiFuturesRestClient client = factory.newFuturesRestClient();
1817

1918
FuturesAccount account = client.getAccount();
2019
System.out.println("Available Balance: " + account.getAvailableBalance());

src/test/java/com/binance/api/examples/futures/FuturesOrdersExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class FuturesOrdersExample {
2121

2222
public static void main(String[] args) {
2323
BinanceFuturesApiClientFactory futuresApiClientFactory = BinanceAbstractFactory.createFuturesFactory("YOUR_API_KEY", "YOUR_SECRET");
24-
BinanceApiFuturesRestClient client = futuresApiClientFactory.newRestClient();
24+
BinanceApiFuturesRestClient client = futuresApiClientFactory.newFuturesRestClient();
2525

2626
FuturesNewOrderResponse futuresOrderResponse = client.newOrder(limitLong(SYMBOL, TimeInForce.GTC, WorkingType.CONTRACT_PRICE, "13", "27", false));
2727
long orderId = futuresOrderResponse.getOrderId();
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package com.binance.api.examples.futures;
2+
3+
import com.binance.api.client.BinanceApiFuturesRestClient;
4+
import com.binance.api.client.BinanceApiRestClient;
5+
import com.binance.api.client.BinanceApiWebSocketClient;
6+
import com.binance.api.client.domain.event.AccountUpdateEvent;
7+
import com.binance.api.client.domain.event.OrderTradeUpdateEvent;
8+
import com.binance.api.client.domain.event.UserDataUpdateEvent.UserDataUpdateEventType;
9+
import com.binance.api.client.factory.BinanceAbstractFactory;
10+
import com.binance.api.client.factory.BinanceFuturesApiClientFactory;
11+
12+
/**
13+
* User data stream endpoints examples.
14+
* <p>
15+
* It illustrates how to create a stream to obtain updates on a user account,
16+
* as well as update on trades/orders on a user account.
17+
*/
18+
public class FuturesUserDataStreamExample {
19+
20+
public static void main(String[] args) {
21+
BinanceFuturesApiClientFactory factory = BinanceAbstractFactory.createFuturesFactory("YOUR_API_KEY", "YOUR_SECRET");
22+
BinanceApiRestClient client = factory.newRestClient();
23+
24+
// First, we obtain a listenKey which is required to interact with the user data stream
25+
String listenKey = client.startUserDataStream();
26+
27+
// Then, we open a new web socket client, and provide a callback that is called on every update
28+
BinanceApiWebSocketClient webSocketClient = factory.newWebSocketClient();
29+
30+
// Listen for changes in the account
31+
webSocketClient.onUserDataUpdateEvent(listenKey, response -> {
32+
if (response.getEventType() == UserDataUpdateEventType.ACCOUNT_UPDATE) {
33+
AccountUpdateEvent accountUpdateEvent = response.getAccountUpdateEvent();
34+
// Print new balances of every available asset
35+
System.out.println(accountUpdateEvent.getBalances());
36+
} else {
37+
OrderTradeUpdateEvent orderTradeUpdateEvent = response.getOrderTradeUpdateEvent();
38+
// Print details about an order/trade
39+
System.out.println(orderTradeUpdateEvent);
40+
41+
// Print original quantity
42+
System.out.println(orderTradeUpdateEvent.getOriginalQuantity());
43+
44+
// Or price
45+
System.out.println(orderTradeUpdateEvent.getPrice());
46+
}
47+
});
48+
System.out.println("Waiting for events...");
49+
50+
// We can keep alive the user data stream
51+
// client.keepAliveUserDataStream(listenKey);
52+
53+
// Or we can invalidate it, whenever it is no longer needed
54+
// client.closeUserDataStream(listenKey);
55+
}
56+
}

src/test/java/com/binance/api/examples/testnet/TestnetAccountExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class TestnetAccountExample {
1414

1515
public static void main(String[] args) {
1616
BinanceFuturesApiClientFactory factory = BinanceAbstractFactory.createTestnetFactory(API_KEY, SECRET_KEY);
17-
BinanceApiFuturesRestClient client = factory.newRestClient();
17+
BinanceApiFuturesRestClient client = factory.newFuturesRestClient();
1818

1919
FuturesAccount account = client.getAccount();
2020
System.out.println("Available Balance: " + account.getAvailableBalance());

src/test/java/com/binance/api/examples/testnet/TestnetOrdersExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class TestnetOrdersExample {
2323

2424
public static void main(String[] args) {
2525
BinanceFuturesApiClientFactory futuresApiClientFactory = BinanceAbstractFactory.createTestnetFactory(API_KEY, SECRET_KEY);
26-
BinanceApiFuturesRestClient client = futuresApiClientFactory.newRestClient();
26+
BinanceApiFuturesRestClient client = futuresApiClientFactory.newFuturesRestClient();
2727

2828
FuturesNewOrderResponse futuresOrderResponse = client.newOrder(limitLong(SYMBOL, TimeInForce.GTC, WorkingType.CONTRACT_PRICE, "13", "200", false));
2929
long orderId = futuresOrderResponse.getOrderId();

0 commit comments

Comments
 (0)