Skip to content
This repository was archived by the owner on Oct 30, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class UserDataUpdateEvent {

private long eventTime;

private AccountUpdateEvent accountUpdateEvent;
private AccountUpdateEvent outboundAccountPositionUpdateEvent;

private BalanceUpdateEvent balanceUpdateEvent;

Expand All @@ -46,12 +46,20 @@ public void setEventTime(long eventTime) {
this.eventTime = eventTime;
}

/**
* @Deprecated: left in for backwards compatibility. Use getOutboundAccountPositionUpdateEvent() instead, as that is what the Binance API documentation calls it.
*/
@Deprecated
public AccountUpdateEvent getAccountUpdateEvent() {
return accountUpdateEvent;
return outboundAccountPositionUpdateEvent;
}

public void setAccountUpdateEvent(AccountUpdateEvent accountUpdateEvent) {
this.accountUpdateEvent = accountUpdateEvent;
public AccountUpdateEvent getOutboundAccountPositionUpdateEvent() {
return outboundAccountPositionUpdateEvent;
}

public void setOutboundAccountPositionUpdateEvent(AccountUpdateEvent accountUpdateEvent) {
this.outboundAccountPositionUpdateEvent = accountUpdateEvent;
}

public BalanceUpdateEvent getBalanceUpdateEvent() {
Expand All @@ -76,7 +84,7 @@ public String toString() {
.append("eventType", eventType)
.append("eventTime", eventTime);
if (eventType == UserDataUpdateEventType.ACCOUNT_POSITION_UPDATE) {
sb.append("accountPositionUpdateEvent", accountUpdateEvent);
sb.append("outboundAccountPositionUpdateEvent", outboundAccountPositionUpdateEvent);
} else if (eventType == UserDataUpdateEventType.BALANCE_UPDATE) {
sb.append("balanceUpdateEvent", balanceUpdateEvent);
} else {
Expand All @@ -86,8 +94,11 @@ public String toString() {
}

public enum UserDataUpdateEventType {
/** Corresponds to "outboundAccountPosition" events. */
ACCOUNT_POSITION_UPDATE("outboundAccountPosition"),
/** Corresponds to "balanceUpdate" events. */
BALANCE_UPDATE("balanceUpdate"),
/** Corresponds to "executionReport" events. */
ORDER_TRADE_UPDATE("executionReport"),
;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public UserDataUpdateEvent deserialize(JsonParser jp, DeserializationContext ctx

if (userDataUpdateEventType == UserDataUpdateEventType.ACCOUNT_POSITION_UPDATE) {
AccountUpdateEvent accountUpdateEvent = getUserDataUpdateEventDetail(json, AccountUpdateEvent.class, mapper);
userDataUpdateEvent.setAccountUpdateEvent(accountUpdateEvent);
userDataUpdateEvent.setOutboundAccountPositionUpdateEvent(accountUpdateEvent);
} else if (userDataUpdateEventType == UserDataUpdateEventType.BALANCE_UPDATE) {
BalanceUpdateEvent balanceUpdateEvent = getUserDataUpdateEventDetail(json, BalanceUpdateEvent.class, mapper);
userDataUpdateEvent.setBalanceUpdateEvent(balanceUpdateEvent);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import java.util.Map;
import java.util.TreeMap;

import static com.binance.api.client.domain.event.UserDataUpdateEvent.UserDataUpdateEventType.ACCOUNT_UPDATE;
import static com.binance.api.client.domain.event.UserDataUpdateEvent.UserDataUpdateEventType.ACCOUNT_POSITION_UPDATE;

/**
* Illustrates how to use the user data event stream to create a local cache for the balance of an account.
Expand Down Expand Up @@ -58,9 +58,9 @@ private void startAccountBalanceEventStreaming(String listenKey) {
BinanceApiWebSocketClient client = clientFactory.newWebSocketClient();

client.onUserDataUpdateEvent(listenKey, response -> {
if (response.getEventType() == ACCOUNT_UPDATE) {
if (response.getEventType() == ACCOUNT_POSITION_UPDATE) {
// Override cached asset balances
for (AssetBalance assetBalance : response.getAccountUpdateEvent().getBalances()) {
for (AssetBalance assetBalance : response.getOutboundAccountPositionUpdateEvent().getBalances()) {
accountBalanceCache.put(assetBalance.getAsset(), assetBalance);
}
System.out.println(accountBalanceCache);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ public static void main(String[] args) {

// Listen for changes in the account
webSocketClient.onUserDataUpdateEvent(listenKey, response -> {
if (response.getEventType() == UserDataUpdateEventType.ACCOUNT_UPDATE) {
AccountUpdateEvent accountUpdateEvent = response.getAccountUpdateEvent();
if (response.getEventType() == UserDataUpdateEventType.ACCOUNT_POSITION_UPDATE) {
AccountUpdateEvent accountUpdateEvent = response.getOutboundAccountPositionUpdateEvent();
// Print new balances of every available asset
System.out.println(accountUpdateEvent.getBalances());
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ public static void main(String[] args) {

// Listen for changes in the account
webSocketClient.onUserDataUpdateEvent(listenKey, response -> {
if (response.getEventType() == UserDataUpdateEventType.ACCOUNT_UPDATE) {
AccountUpdateEvent accountUpdateEvent = response.getAccountUpdateEvent();
if (response.getEventType() == UserDataUpdateEventType.ACCOUNT_POSITION_UPDATE) {
AccountUpdateEvent accountUpdateEvent = response.getOutboundAccountPositionUpdateEvent();
// Print new balances of every available asset
System.out.println(accountUpdateEvent.getBalances());
} else {
Expand Down