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

Commit 25a23ce

Browse files
committed
Fixed parsing of UserDataUpdateEvents with regard to the new 'outboundAccountPosition' events.
1 parent e038355 commit 25a23ce

2 files changed

Lines changed: 10 additions & 3 deletions

File tree

src/main/java/com/binance/api/client/domain/event/UserDataUpdateEvent.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
* User data update event which can be of two types:
1010
*
1111
* 1) outboundAccountInfo, whenever there is a change in the account (e.g. balance of an asset)
12-
* 2) executionReport, whenever there is a trade or an order
12+
* 2) outboundAccountPosition, the change in account balances caused by an event.
13+
* 3) executionReport, whenever there is a trade or an order
1314
*/
1415
@JsonIgnoreProperties(ignoreUnknown = true)
1516
@JsonDeserialize(using = UserDataUpdateEventDeserializer.class)
@@ -62,6 +63,8 @@ public String toString() {
6263
.append("eventTime", eventTime);
6364
if (eventType == UserDataUpdateEventType.ACCOUNT_UPDATE) {
6465
sb.append("accountUpdateEvent", accountUpdateEvent);
66+
} else if (eventType == UserDataUpdateEventType.ACCOUNT_POSITION_UPDATE) {
67+
sb.append("accountPositionUpdateEvent", accountUpdateEvent);
6568
} else {
6669
sb.append("orderTradeUpdateEvent", orderTradeUpdateEvent);
6770
}
@@ -70,6 +73,7 @@ public String toString() {
7073

7174
public enum UserDataUpdateEventType {
7275
ACCOUNT_UPDATE("outboundAccountInfo"),
76+
ACCOUNT_POSITION_UPDATE("outboundAccountPosition"),
7377
ORDER_TRADE_UPDATE("executionReport");
7478

7579
private final String eventTypeId;
@@ -87,6 +91,8 @@ public static UserDataUpdateEventType fromEventTypeId(String eventTypeId) {
8791
return ACCOUNT_UPDATE;
8892
} else if (ORDER_TRADE_UPDATE.eventTypeId.equals(eventTypeId)) {
8993
return ORDER_TRADE_UPDATE;
94+
} else if (ACCOUNT_POSITION_UPDATE.eventTypeId.equals(eventTypeId)) {
95+
return ACCOUNT_POSITION_UPDATE;
9096
}
9197
throw new IllegalArgumentException("Unrecognized user data update event type id: " + eventTypeId);
9298
}

src/main/java/com/binance/api/client/domain/event/UserDataUpdateEventDeserializer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ public UserDataUpdateEvent deserialize(JsonParser jp, DeserializationContext ctx
3838
userDataUpdateEvent.setEventType(userDataUpdateEventType);
3939
userDataUpdateEvent.setEventTime(eventTime);
4040

41-
if (userDataUpdateEventType == UserDataUpdateEventType.ACCOUNT_UPDATE) {
41+
if (userDataUpdateEventType == UserDataUpdateEventType.ACCOUNT_UPDATE ||
42+
userDataUpdateEventType == UserDataUpdateEventType.ACCOUNT_POSITION_UPDATE) {
4243
AccountUpdateEvent accountUpdateEvent = getUserDataUpdateEventDetail(json, AccountUpdateEvent.class, mapper);
4344
userDataUpdateEvent.setAccountUpdateEvent(accountUpdateEvent);
4445
} else { // userDataUpdateEventType == UserDataUpdateEventType.ORDER_TRADE_UPDATE
@@ -56,4 +57,4 @@ public <T> T getUserDataUpdateEventDetail(String json, Class<T> clazz, ObjectMap
5657
throw new BinanceApiException(e);
5758
}
5859
}
59-
}
60+
}

0 commit comments

Comments
 (0)