diff --git a/MIGRATION.md b/MIGRATION.md
index 0a048fb8..2e54ebf9 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -37,7 +37,7 @@ For Spot (Spot package):
io.github.binance
binance-spot
- 3.0.0
+ 3.1.0
```
@@ -47,7 +47,7 @@ For Futures (COIN-M Futures package):
io.github.binance
binance-derivatives-trading-coin-futures
- 1.2.0
+ 1.3.0
```
diff --git a/README.md b/README.md
index b3931c93..b8410b17 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,7 @@ Each connector is published as a separate maven dependency. For example:
io.github.binance
binance-spot
- 3.0.0
+ 3.1.0
```
diff --git a/clients/algo/CHANGELOG.md b/clients/algo/CHANGELOG.md
index 1e7ccf76..1f6dacdd 100644
--- a/clients/algo/CHANGELOG.md
+++ b/clients/algo/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog
+## 1.2.0 - 2025-07-08
+
+- Update `binance/common` module to version `1.3.0`.
+- Added `customHeaders` configuration.
+
## 1.1.0 - 2025-05-02
- Update `binance/common` module to version `1.1.0`.
diff --git a/clients/algo/docs/rest-api/migration-guide.md b/clients/algo/docs/rest-api/migration-guide.md
index 5693d973..efee4d72 100644
--- a/clients/algo/docs/rest-api/migration-guide.md
+++ b/clients/algo/docs/rest-api/migration-guide.md
@@ -22,7 +22,7 @@ With the transition to a modularized structure, the Binance Connector has been s
io.github.binance
binance-algo
- 1.1.0
+ 1.2.0
```
@@ -91,7 +91,7 @@ by:
io.github.binance
binance-algo
- 1.1.0
+ 1.2.0
```
diff --git a/clients/algo/pom.xml b/clients/algo/pom.xml
index b7fcc1d1..d038f96c 100644
--- a/clients/algo/pom.xml
+++ b/clients/algo/pom.xml
@@ -5,7 +5,7 @@
4.0.0
binance-algo
algo
- 1.1.0
+ 1.2.0
jar
@@ -31,7 +31,7 @@
io.github.binance
binance-common
- 1.1.0
+ 1.3.0
\ No newline at end of file
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/api/FutureAlgoApi.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/api/FutureAlgoApi.java
index a23c77c3..886e47e0 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/api/FutureAlgoApi.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/api/FutureAlgoApi.java
@@ -51,7 +51,7 @@ public class FutureAlgoApi {
private static final String USER_AGENT =
String.format(
- "binance-algo/1.1.0 (Java/%s; %s; %s)",
+ "binance-algo/1.2.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = false;
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/api/SpotAlgoApi.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/api/SpotAlgoApi.java
index 292033db..4f9461fe 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/api/SpotAlgoApi.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/api/SpotAlgoApi.java
@@ -49,7 +49,7 @@ public class SpotAlgoApi {
private static final String USER_AGENT =
String.format(
- "binance-algo/1.1.0 (Java/%s; %s; %s)",
+ "binance-algo/1.2.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = false;
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/CancelAlgoOrderFutureAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/CancelAlgoOrderFutureAlgoResponse.java
index f71fd8fc..98c23302 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/CancelAlgoOrderFutureAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/CancelAlgoOrderFutureAlgoResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** CancelAlgoOrderFutureAlgoResponse */
@@ -248,18 +246,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!CancelAlgoOrderFutureAlgoResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `CancelAlgoOrderFutureAlgoResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("msg") != null && !jsonObj.get("msg").isJsonNull())
&& !jsonObj.get("msg").isJsonPrimitive()) {
@@ -289,7 +275,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, CancelAlgoOrderFutureAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/CancelAlgoOrderSpotAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/CancelAlgoOrderSpotAlgoResponse.java
index 691eb707..b36d6a11 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/CancelAlgoOrderSpotAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/CancelAlgoOrderSpotAlgoResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** CancelAlgoOrderSpotAlgoResponse */
@@ -247,18 +245,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
CancelAlgoOrderSpotAlgoResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!CancelAlgoOrderSpotAlgoResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `CancelAlgoOrderSpotAlgoResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("msg") != null && !jsonObj.get("msg").isJsonNull())
&& !jsonObj.get("msg").isJsonPrimitive()) {
@@ -288,7 +274,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, CancelAlgoOrderSpotAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersFutureAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersFutureAlgoResponse.java
index c3e6eb04..20cebc70 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersFutureAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersFutureAlgoResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -209,20 +207,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryCurrentAlgoOpenOrdersFutureAlgoResponse.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryCurrentAlgoOpenOrdersFutureAlgoResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if (jsonObj.get("orders") != null && !jsonObj.get("orders").isJsonNull()) {
JsonArray jsonArrayorders = jsonObj.getAsJsonArray("orders");
@@ -267,7 +251,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, QueryCurrentAlgoOpenOrdersFutureAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersFutureAlgoResponseOrdersInner.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersFutureAlgoResponseOrdersInner.java
index c71cd8b1..16fc55c1 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersFutureAlgoResponseOrdersInner.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersFutureAlgoResponseOrdersInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QueryCurrentAlgoOpenOrdersFutureAlgoResponseOrdersInner */
@@ -624,20 +622,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryCurrentAlgoOpenOrdersFutureAlgoResponseOrdersInner.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryCurrentAlgoOpenOrdersFutureAlgoResponseOrdersInner`"
- + " properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("symbol") != null && !jsonObj.get("symbol").isJsonNull())
&& !jsonObj.get("symbol").isJsonPrimitive()) {
@@ -753,7 +737,7 @@ public void write(
JsonWriter out,
QueryCurrentAlgoOpenOrdersFutureAlgoResponseOrdersInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersSpotAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersSpotAlgoResponse.java
index 5f7edf2d..b62514f6 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersSpotAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersSpotAlgoResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -209,20 +207,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryCurrentAlgoOpenOrdersSpotAlgoResponse.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryCurrentAlgoOpenOrdersSpotAlgoResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if (jsonObj.get("orders") != null && !jsonObj.get("orders").isJsonNull()) {
JsonArray jsonArrayorders = jsonObj.getAsJsonArray("orders");
@@ -266,7 +250,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, QueryCurrentAlgoOpenOrdersSpotAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersSpotAlgoResponseOrdersInner.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersSpotAlgoResponseOrdersInner.java
index 3f3b0e4b..10b6d6e0 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersSpotAlgoResponseOrdersInner.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryCurrentAlgoOpenOrdersSpotAlgoResponseOrdersInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QueryCurrentAlgoOpenOrdersSpotAlgoResponseOrdersInner */
@@ -587,20 +585,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryCurrentAlgoOpenOrdersSpotAlgoResponseOrdersInner.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryCurrentAlgoOpenOrdersSpotAlgoResponseOrdersInner`"
- + " properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("symbol") != null && !jsonObj.get("symbol").isJsonNull())
&& !jsonObj.get("symbol").isJsonPrimitive()) {
@@ -708,7 +692,7 @@ public void write(
JsonWriter out,
QueryCurrentAlgoOpenOrdersSpotAlgoResponseOrdersInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersFutureAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersFutureAlgoResponse.java
index cc080cc7..e2779183 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersFutureAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersFutureAlgoResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -209,20 +207,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryHistoricalAlgoOrdersFutureAlgoResponse.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryHistoricalAlgoOrdersFutureAlgoResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if (jsonObj.get("orders") != null && !jsonObj.get("orders").isJsonNull()) {
JsonArray jsonArrayorders = jsonObj.getAsJsonArray("orders");
@@ -266,7 +250,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, QueryHistoricalAlgoOrdersFutureAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersFutureAlgoResponseOrdersInner.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersFutureAlgoResponseOrdersInner.java
index 697087a1..53ca7eef 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersFutureAlgoResponseOrdersInner.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersFutureAlgoResponseOrdersInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QueryHistoricalAlgoOrdersFutureAlgoResponseOrdersInner */
@@ -624,20 +622,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryHistoricalAlgoOrdersFutureAlgoResponseOrdersInner.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryHistoricalAlgoOrdersFutureAlgoResponseOrdersInner`"
- + " properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("symbol") != null && !jsonObj.get("symbol").isJsonNull())
&& !jsonObj.get("symbol").isJsonPrimitive()) {
@@ -753,7 +737,7 @@ public void write(
JsonWriter out,
QueryHistoricalAlgoOrdersFutureAlgoResponseOrdersInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersSpotAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersSpotAlgoResponse.java
index f775780a..a171a3de 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersSpotAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersSpotAlgoResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -209,19 +207,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryHistoricalAlgoOrdersSpotAlgoResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryHistoricalAlgoOrdersSpotAlgoResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if (jsonObj.get("orders") != null && !jsonObj.get("orders").isJsonNull()) {
JsonArray jsonArrayorders = jsonObj.getAsJsonArray("orders");
@@ -265,7 +250,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, QueryHistoricalAlgoOrdersSpotAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersSpotAlgoResponseOrdersInner.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersSpotAlgoResponseOrdersInner.java
index e05753dc..95ded3e3 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersSpotAlgoResponseOrdersInner.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QueryHistoricalAlgoOrdersSpotAlgoResponseOrdersInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QueryHistoricalAlgoOrdersSpotAlgoResponseOrdersInner */
@@ -586,20 +584,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryHistoricalAlgoOrdersSpotAlgoResponseOrdersInner.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryHistoricalAlgoOrdersSpotAlgoResponseOrdersInner`"
- + " properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("symbol") != null && !jsonObj.get("symbol").isJsonNull())
&& !jsonObj.get("symbol").isJsonPrimitive()) {
@@ -707,7 +691,7 @@ public void write(
JsonWriter out,
QueryHistoricalAlgoOrdersSpotAlgoResponseOrdersInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersFutureAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersFutureAlgoResponse.java
index 2f23fa3d..9ef815cd 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersFutureAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersFutureAlgoResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -272,18 +270,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
QuerySubOrdersFutureAlgoResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QuerySubOrdersFutureAlgoResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QuerySubOrdersFutureAlgoResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("executedQty") != null && !jsonObj.get("executedQty").isJsonNull())
&& !jsonObj.get("executedQty").isJsonPrimitive()) {
@@ -341,7 +327,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, QuerySubOrdersFutureAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersFutureAlgoResponseSubOrdersInner.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersFutureAlgoResponseSubOrdersInner.java
index e6ff4e3d..94b4af5c 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersFutureAlgoResponseSubOrdersInner.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersFutureAlgoResponseSubOrdersInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QuerySubOrdersFutureAlgoResponseSubOrdersInner */
@@ -613,20 +611,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QuerySubOrdersFutureAlgoResponseSubOrdersInner.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QuerySubOrdersFutureAlgoResponseSubOrdersInner`"
- + " properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("orderStatus") != null && !jsonObj.get("orderStatus").isJsonNull())
&& !jsonObj.get("orderStatus").isJsonPrimitive()) {
@@ -732,7 +716,7 @@ public void write(
JsonWriter out,
QuerySubOrdersFutureAlgoResponseSubOrdersInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersSpotAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersSpotAlgoResponse.java
index fdccb3e4..75f35c65 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersSpotAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/QuerySubOrdersSpotAlgoResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -272,18 +270,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
QuerySubOrdersSpotAlgoResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QuerySubOrdersSpotAlgoResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QuerySubOrdersSpotAlgoResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("executedQty") != null && !jsonObj.get("executedQty").isJsonNull())
&& !jsonObj.get("executedQty").isJsonPrimitive()) {
@@ -341,7 +327,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, QuerySubOrdersSpotAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceFutureAlgoRequest.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceFutureAlgoRequest.java
index 27b6a588..78346d49 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceFutureAlgoRequest.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceFutureAlgoRequest.java
@@ -29,9 +29,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** TimeWeightedAveragePriceFutureAlgoRequest */
@@ -443,19 +441,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!TimeWeightedAveragePriceFutureAlgoRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `TimeWeightedAveragePriceFutureAlgoRequest` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField :
TimeWeightedAveragePriceFutureAlgoRequest.openapiRequiredFields) {
@@ -519,7 +504,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, TimeWeightedAveragePriceFutureAlgoRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceFutureAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceFutureAlgoResponse.java
index 9e28dc51..6629f03f 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceFutureAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceFutureAlgoResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** TimeWeightedAveragePriceFutureAlgoResponse */
@@ -252,20 +250,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!TimeWeightedAveragePriceFutureAlgoResponse.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `TimeWeightedAveragePriceFutureAlgoResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("clientAlgoId") != null && !jsonObj.get("clientAlgoId").isJsonNull())
&& !jsonObj.get("clientAlgoId").isJsonPrimitive()) {
@@ -305,7 +289,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, TimeWeightedAveragePriceFutureAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceSpotAlgoRequest.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceSpotAlgoRequest.java
index 5e104bbc..97b230ae 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceSpotAlgoRequest.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceSpotAlgoRequest.java
@@ -29,9 +29,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** TimeWeightedAveragePriceSpotAlgoRequest */
@@ -332,19 +330,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!TimeWeightedAveragePriceSpotAlgoRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `TimeWeightedAveragePriceSpotAlgoRequest` properties. JSON:"
- + " %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : TimeWeightedAveragePriceSpotAlgoRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -399,7 +384,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, TimeWeightedAveragePriceSpotAlgoRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceSpotAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceSpotAlgoResponse.java
index 864df374..b2937881 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceSpotAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/TimeWeightedAveragePriceSpotAlgoResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** TimeWeightedAveragePriceSpotAlgoResponse */
@@ -252,19 +250,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!TimeWeightedAveragePriceSpotAlgoResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `TimeWeightedAveragePriceSpotAlgoResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("clientAlgoId") != null && !jsonObj.get("clientAlgoId").isJsonNull())
&& !jsonObj.get("clientAlgoId").isJsonPrimitive()) {
@@ -304,7 +289,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, TimeWeightedAveragePriceSpotAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/VolumeParticipationFutureAlgoRequest.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/VolumeParticipationFutureAlgoRequest.java
index 5aa57071..9104015f 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/VolumeParticipationFutureAlgoRequest.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/VolumeParticipationFutureAlgoRequest.java
@@ -29,9 +29,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** VolumeParticipationFutureAlgoRequest */
@@ -438,19 +436,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!VolumeParticipationFutureAlgoRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `VolumeParticipationFutureAlgoRequest` properties. JSON:"
- + " %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : VolumeParticipationFutureAlgoRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -519,7 +504,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, VolumeParticipationFutureAlgoRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/VolumeParticipationFutureAlgoResponse.java b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/VolumeParticipationFutureAlgoResponse.java
index 9dc02187..37a2bb90 100644
--- a/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/VolumeParticipationFutureAlgoResponse.java
+++ b/clients/algo/src/main/java/com/binance/connector/client/algo/rest/model/VolumeParticipationFutureAlgoResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** VolumeParticipationFutureAlgoResponse */
@@ -250,19 +248,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!VolumeParticipationFutureAlgoResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `VolumeParticipationFutureAlgoResponse` properties. JSON:"
- + " %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("clientAlgoId") != null && !jsonObj.get("clientAlgoId").isJsonNull())
&& !jsonObj.get("clientAlgoId").isJsonPrimitive()) {
@@ -301,7 +286,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, VolumeParticipationFutureAlgoResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/c2c/CHANGELOG.md b/clients/c2c/CHANGELOG.md
index 1e7ccf76..1f6dacdd 100644
--- a/clients/c2c/CHANGELOG.md
+++ b/clients/c2c/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog
+## 1.2.0 - 2025-07-08
+
+- Update `binance/common` module to version `1.3.0`.
+- Added `customHeaders` configuration.
+
## 1.1.0 - 2025-05-02
- Update `binance/common` module to version `1.1.0`.
diff --git a/clients/c2c/docs/rest-api/migration-guide.md b/clients/c2c/docs/rest-api/migration-guide.md
index 326d4c41..029ae341 100644
--- a/clients/c2c/docs/rest-api/migration-guide.md
+++ b/clients/c2c/docs/rest-api/migration-guide.md
@@ -22,7 +22,7 @@ With the transition to a modularized structure, the Binance Connector has been s
io.github.binance
binance-c2c
- 1.1.0
+ 1.2.0
```
@@ -91,7 +91,7 @@ by:
io.github.binance
binance-c2c
- 1.1.0
+ 1.2.0
```
diff --git a/clients/c2c/pom.xml b/clients/c2c/pom.xml
index 232b50c2..236c764c 100644
--- a/clients/c2c/pom.xml
+++ b/clients/c2c/pom.xml
@@ -5,7 +5,7 @@
4.0.0
binance-c2c
c2c
- 1.1.0
+ 1.2.0
jar
@@ -31,7 +31,7 @@
io.github.binance
binance-common
- 1.1.0
+ 1.3.0
\ No newline at end of file
diff --git a/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/api/C2CApi.java b/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/api/C2CApi.java
index 21979892..9c8bd044 100644
--- a/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/api/C2CApi.java
+++ b/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/api/C2CApi.java
@@ -42,7 +42,7 @@ public class C2CApi {
private static final String USER_AGENT =
String.format(
- "binance-c2c/1.1.0 (Java/%s; %s; %s)",
+ "binance-c2c/1.2.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = false;
diff --git a/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/model/GetC2CTradeHistoryResponse.java b/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/model/GetC2CTradeHistoryResponse.java
index 14845707..cac1c24e 100644
--- a/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/model/GetC2CTradeHistoryResponse.java
+++ b/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/model/GetC2CTradeHistoryResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -297,18 +295,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
GetC2CTradeHistoryResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!GetC2CTradeHistoryResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `GetC2CTradeHistoryResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("code") != null && !jsonObj.get("code").isJsonNull())
&& !jsonObj.get("code").isJsonPrimitive()) {
@@ -364,7 +350,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, GetC2CTradeHistoryResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/model/GetC2CTradeHistoryResponseDataInner.java b/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/model/GetC2CTradeHistoryResponseDataInner.java
index 5b1c379e..7f650cf4 100644
--- a/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/model/GetC2CTradeHistoryResponseDataInner.java
+++ b/clients/c2c/src/main/java/com/binance/connector/client/c2c/rest/model/GetC2CTradeHistoryResponseDataInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** GetC2CTradeHistoryResponseDataInner */
@@ -602,18 +600,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!GetC2CTradeHistoryResponseDataInner.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `GetC2CTradeHistoryResponseDataInner` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("orderNumber") != null && !jsonObj.get("orderNumber").isJsonNull())
&& !jsonObj.get("orderNumber").isJsonPrimitive()) {
@@ -741,7 +727,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, GetC2CTradeHistoryResponseDataInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/common/CHANGELOG.md b/clients/common/CHANGELOG.md
index eb91eb6c..8c497c65 100644
--- a/clients/common/CHANGELOG.md
+++ b/clients/common/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## 1.3.0 - 2025-07-08
+
+- Support custom headers for REST API requests (`customHeaders` option on `ClientConfiguration`).
+- Added `messageMaxSize` configuration for websocket.
+- Added getter for `RateLimits` in `ApiResponse`
+
## 1.2.0 - 2025-05-13
- Add proxy authentication for websocket
diff --git a/clients/common/pom.xml b/clients/common/pom.xml
index 797c98cf..3f3cd9ae 100644
--- a/clients/common/pom.xml
+++ b/clients/common/pom.xml
@@ -10,6 +10,6 @@
binance-common
common
- 1.2.1
+ 1.3.0
jar
\ No newline at end of file
diff --git a/clients/common/src/main/java/com/binance/connector/client/common/ApiClient.java b/clients/common/src/main/java/com/binance/connector/client/common/ApiClient.java
index 18ecb5ff..b92dbc7e 100644
--- a/clients/common/src/main/java/com/binance/connector/client/common/ApiClient.java
+++ b/clients/common/src/main/java/com/binance/connector/client/common/ApiClient.java
@@ -48,10 +48,12 @@
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
+import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -132,6 +134,8 @@ public class ApiClient {
private Gson json;
+ private Set forbiddenHeaders = new HashSet<>(Arrays.asList("host", "authorization", "cookie", ":method", ":path"));
+
public ApiClient(ClientConfiguration configuration) {
this(configuration, new BinanceAuthenticationFactory(), null);
}
@@ -184,6 +188,11 @@ public ApiClient(
}
}
+ if (configuration.getCustomHeaders() != null && !configuration.getCustomHeaders().isEmpty()) {
+ Interceptor customHeadersInterceptor = getCustomHeadersInterceptor(configuration.getCustomHeaders());
+ builder.addInterceptor(customHeadersInterceptor);
+ }
+
// Compression is enabled by default, so add interceptor to remove gzip only if config is
// disabled
if (!configuration.getCompression()) {
@@ -239,6 +248,24 @@ public void setJson(Gson json) {
this.json = json;
}
+ public Interceptor getCustomHeadersInterceptor(Map customHeaders) {
+ return chain -> {
+
+ Request request = chain.request();
+ Request.Builder newBuilder = request.newBuilder();
+ for (String headerName : customHeaders.keySet()) {
+ String headerValue = customHeaders.get(headerName);
+ if (!validateHeader(headerName, headerValue)) {
+ throw new ApiException("Invalid header " + headerName + ", it is forbidden or invalid (contains CR/LF)");
+ }
+
+ newBuilder.addHeader(headerName, headerValue);
+ }
+
+ return chain.proceed(newBuilder.build());
+ };
+ }
+
public Interceptor getRetryInterceptor(Integer retryCount, Integer retryBackoff) {
return chain -> {
Request request = chain.request();
@@ -1827,4 +1854,12 @@ private RateLimit getRateLimitFromHeader(
return rateLimit;
}
+
+ private Boolean validateHeader(String name, String value) {
+ if (forbiddenHeaders.contains(name)) {
+ return false;
+ }
+
+ return !value.contains("\n") && !value.contains("\t");
+ }
}
diff --git a/clients/common/src/main/java/com/binance/connector/client/common/ApiResponse.java b/clients/common/src/main/java/com/binance/connector/client/common/ApiResponse.java
index 686e9737..a5a99e85 100644
--- a/clients/common/src/main/java/com/binance/connector/client/common/ApiResponse.java
+++ b/clients/common/src/main/java/com/binance/connector/client/common/ApiResponse.java
@@ -22,7 +22,7 @@ public class ApiResponse {
private final int statusCode;
private final Map> headers;
private final T data;
- private final Map rateLimit;
+ private final Map rateLimits;
/**
* Constructor for ApiResponse.
@@ -51,17 +51,17 @@ public ApiResponse(int statusCode, Map> headers, T data) {
* @param statusCode The status code of HTTP response
* @param headers The headers of HTTP response
* @param data The object deserialized from response bod
- * @param
+ * @param rateLimits The rate limits information
*/
public ApiResponse(
int statusCode,
Map> headers,
T data,
- Map rateLimit) {
+ Map rateLimits) {
this.statusCode = statusCode;
this.headers = headers;
this.data = data;
- this.rateLimit = rateLimit;
+ this.rateLimits = rateLimits;
}
/**
@@ -90,4 +90,13 @@ public Map> getHeaders() {
public T getData() {
return data;
}
+
+ /**
+ * Get the RateLimits
+ *
+ * @return the rate limits info
+ */
+ public Map getRateLimits() {
+ return rateLimits;
+ }
}
diff --git a/clients/common/src/main/java/com/binance/connector/client/common/configuration/ClientConfiguration.java b/clients/common/src/main/java/com/binance/connector/client/common/configuration/ClientConfiguration.java
index 97e2fb03..8d3ca283 100644
--- a/clients/common/src/main/java/com/binance/connector/client/common/configuration/ClientConfiguration.java
+++ b/clients/common/src/main/java/com/binance/connector/client/common/configuration/ClientConfiguration.java
@@ -2,6 +2,8 @@
import com.binance.connector.client.common.dtos.TimeUnit;
import java.net.Proxy;
+import java.util.Map;
+
import okhttp3.Authenticator;
import okhttp3.CertificatePinner;
@@ -13,6 +15,7 @@ public class ClientConfiguration {
public static final int DEFAULT_BACKOFF = 200;
public static final int DEFAULT_CONNECT_TIMEOUT = 1000;
public static final int DEFAULT_READ_TIMEOUT = 5000;
+ public static final long DEFAULT_MAX_MESSAGE_SIZE = 65536L;
/** Base URL */
protected String url = "https://api.binance.com";
@@ -47,6 +50,9 @@ public class ClientConfiguration {
/** timeunit to be returned by APIs, default MILLISECOND */
private TimeUnit timeUnit;
+ /** custom headers to be added to each request */
+ private Map customHeaders;
+
public String getUrl() {
return url;
}
@@ -134,4 +140,12 @@ public Integer getReadTimeout() {
public void setReadTimeout(Integer readTimeout) {
this.readTimeout = readTimeout;
}
+
+ public Map getCustomHeaders() {
+ return customHeaders;
+ }
+
+ public void setCustomHeaders(Map customHeaders) {
+ this.customHeaders = customHeaders;
+ }
}
diff --git a/clients/common/src/main/java/com/binance/connector/client/common/websocket/adapter/ConnectionWrapper.java b/clients/common/src/main/java/com/binance/connector/client/common/websocket/adapter/ConnectionWrapper.java
index eb346cf7..911b2b1f 100644
--- a/clients/common/src/main/java/com/binance/connector/client/common/websocket/adapter/ConnectionWrapper.java
+++ b/clients/common/src/main/java/com/binance/connector/client/common/websocket/adapter/ConnectionWrapper.java
@@ -123,6 +123,9 @@ public ConnectionWrapper(
}
webSocketClient.setIdleTimeout(Duration.ZERO);
+ if (configuration.getMessageMaxSize() != null) {
+ webSocketClient.setMaxTextMessageSize(configuration.getMessageMaxSize());
+ }
if (!webSocketClient.isStarted() && !webSocketClient.isStarting()) {
try {
diff --git a/clients/common/src/main/java/com/binance/connector/client/common/websocket/configuration/WebSocketClientConfiguration.java b/clients/common/src/main/java/com/binance/connector/client/common/websocket/configuration/WebSocketClientConfiguration.java
index 3b845500..6c456983 100644
--- a/clients/common/src/main/java/com/binance/connector/client/common/websocket/configuration/WebSocketClientConfiguration.java
+++ b/clients/common/src/main/java/com/binance/connector/client/common/websocket/configuration/WebSocketClientConfiguration.java
@@ -29,6 +29,9 @@ public class WebSocketClientConfiguration extends ClientConfiguration {
/** batchSize for the reconnect strategy */
private Integer reconnectBatchSize = DEFAULT_RECONNECT_BATCH_SIZE;
+ /** messageMaxSize for WebSocket messages */
+ private Long messageMaxSize = DEFAULT_MAX_MESSAGE_SIZE;
+
@Override
public String getUrl() {
return url;
@@ -94,4 +97,12 @@ public Boolean getUsePool() {
public void setUsePool(Boolean usePool) {
this.usePool = usePool;
}
+
+ public Long getMessageMaxSize() {
+ return messageMaxSize;
+ }
+
+ public void setMessageMaxSize(Long messageMaxSize) {
+ this.messageMaxSize = messageMaxSize;
+ }
}
diff --git a/clients/convert/CHANGELOG.md b/clients/convert/CHANGELOG.md
index 1e7ccf76..1f6dacdd 100644
--- a/clients/convert/CHANGELOG.md
+++ b/clients/convert/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog
+## 1.2.0 - 2025-07-08
+
+- Update `binance/common` module to version `1.3.0`.
+- Added `customHeaders` configuration.
+
## 1.1.0 - 2025-05-02
- Update `binance/common` module to version `1.1.0`.
diff --git a/clients/convert/docs/rest-api/migration-guide.md b/clients/convert/docs/rest-api/migration-guide.md
index 25ff13b4..5e8cd74f 100644
--- a/clients/convert/docs/rest-api/migration-guide.md
+++ b/clients/convert/docs/rest-api/migration-guide.md
@@ -22,7 +22,7 @@ With the transition to a modularized structure, the Binance Connector has been s
io.github.binance
binance-convert
- 1.1.0
+ 1.2.0
```
@@ -91,7 +91,7 @@ by:
io.github.binance
binance-convert
- 1.1.0
+ 1.2.0
```
diff --git a/clients/convert/pom.xml b/clients/convert/pom.xml
index 9728097c..39c5c669 100644
--- a/clients/convert/pom.xml
+++ b/clients/convert/pom.xml
@@ -5,7 +5,7 @@
4.0.0
binance-convert
convert
- 1.1.0
+ 1.2.0
jar
@@ -31,7 +31,7 @@
io.github.binance
binance-common
- 1.1.0
+ 1.3.0
\ No newline at end of file
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/api/MarketDataApi.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/api/MarketDataApi.java
index 60d9b2ad..8ddd5713 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/api/MarketDataApi.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/api/MarketDataApi.java
@@ -43,7 +43,7 @@ public class MarketDataApi {
private static final String USER_AGENT =
String.format(
- "binance-convert/1.1.0 (Java/%s; %s; %s)",
+ "binance-convert/1.2.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = false;
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/api/TradeApi.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/api/TradeApi.java
index dbc2fc0a..fc245fdc 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/api/TradeApi.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/api/TradeApi.java
@@ -55,7 +55,7 @@ public class TradeApi {
private static final String USER_AGENT =
String.format(
- "binance-convert/1.1.0 (Java/%s; %s; %s)",
+ "binance-convert/1.2.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = false;
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/AcceptQuoteRequest.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/AcceptQuoteRequest.java
index cda5a6c1..be3bf8f7 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/AcceptQuoteRequest.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/AcceptQuoteRequest.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** AcceptQuoteRequest */
@@ -184,18 +182,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!AcceptQuoteRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `AcceptQuoteRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : AcceptQuoteRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -231,7 +217,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, AcceptQuoteRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/AcceptQuoteResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/AcceptQuoteResponse.java
index 5f68a1cb..684d8ac4 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/AcceptQuoteResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/AcceptQuoteResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** AcceptQuoteResponse */
@@ -213,18 +211,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
AcceptQuoteResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!AcceptQuoteResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `AcceptQuoteResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("orderId") != null && !jsonObj.get("orderId").isJsonNull())
&& !jsonObj.get("orderId").isJsonPrimitive()) {
@@ -260,7 +246,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, AcceptQuoteResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/CancelLimitOrderRequest.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/CancelLimitOrderRequest.java
index 15fd3647..2dd067fb 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/CancelLimitOrderRequest.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/CancelLimitOrderRequest.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** CancelLimitOrderRequest */
@@ -184,18 +182,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!CancelLimitOrderRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `CancelLimitOrderRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : CancelLimitOrderRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -232,7 +218,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, CancelLimitOrderRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/CancelLimitOrderResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/CancelLimitOrderResponse.java
index b4d68f21..d3eb52b5 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/CancelLimitOrderResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/CancelLimitOrderResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** CancelLimitOrderResponse */
@@ -181,18 +179,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
CancelLimitOrderResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!CancelLimitOrderResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `CancelLimitOrderResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull())
&& !jsonObj.get("status").isJsonPrimitive()) {
@@ -221,7 +207,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, CancelLimitOrderResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/GetConvertTradeHistoryResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/GetConvertTradeHistoryResponse.java
index 5737fa53..db2263c3 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/GetConvertTradeHistoryResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/GetConvertTradeHistoryResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -302,18 +300,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
GetConvertTradeHistoryResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!GetConvertTradeHistoryResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `GetConvertTradeHistoryResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if (jsonObj.get("list") != null && !jsonObj.get("list").isJsonNull()) {
JsonArray jsonArray_list = jsonObj.getAsJsonArray("list");
@@ -355,7 +341,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, GetConvertTradeHistoryResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/GetConvertTradeHistoryResponseListInner.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/GetConvertTradeHistoryResponseListInner.java
index b16886b2..64ec5cc1 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/GetConvertTradeHistoryResponseListInner.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/GetConvertTradeHistoryResponseListInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** GetConvertTradeHistoryResponseListInner */
@@ -465,19 +463,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!GetConvertTradeHistoryResponseListInner.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `GetConvertTradeHistoryResponseListInner` properties. JSON:"
- + " %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("quoteId") != null && !jsonObj.get("quoteId").isJsonNull())
&& !jsonObj.get("quoteId").isJsonPrimitive()) {
@@ -565,7 +550,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, GetConvertTradeHistoryResponseListInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/ListAllConvertPairsResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/ListAllConvertPairsResponse.java
index 2f8b4852..2d8bb06e 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/ListAllConvertPairsResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/ListAllConvertPairsResponse.java
@@ -14,8 +14,8 @@
import com.binance.connector.client.convert.rest.JSON;
import com.google.gson.Gson;
+import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;
@@ -28,9 +28,7 @@
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** ListAllConvertPairsResponse */
@@ -109,6 +107,18 @@ private String toIndentedString(Object o) {
* ListAllConvertPairsResponse
*/
public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (!jsonElement.isJsonArray()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected json element to be a array type in the JSON string but got"
+ + " `%s`",
+ jsonElement.toString()));
+ }
+ JsonArray array = jsonElement.getAsJsonArray();
+ // validate array items
+ for (JsonElement element : array) {
+ ListAllConvertPairsResponseInner.validateJsonElement(element);
+ }
if (jsonElement == null) {
if (!ListAllConvertPairsResponse.openapiRequiredFields
.isEmpty()) { // has required fields but JSON element is null
@@ -119,18 +129,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
ListAllConvertPairsResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!ListAllConvertPairsResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `ListAllConvertPairsResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
@@ -150,7 +148,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, ListAllConvertPairsResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonArray();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/ListAllConvertPairsResponseInner.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/ListAllConvertPairsResponseInner.java
index 7e9fb13f..9d8b397d 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/ListAllConvertPairsResponseInner.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/ListAllConvertPairsResponseInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** ListAllConvertPairsResponseInner */
@@ -336,18 +334,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
ListAllConvertPairsResponseInner.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!ListAllConvertPairsResponseInner.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `ListAllConvertPairsResponseInner` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("fromAsset") != null && !jsonObj.get("fromAsset").isJsonNull())
&& !jsonObj.get("fromAsset").isJsonPrimitive()) {
@@ -421,7 +407,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, ListAllConvertPairsResponseInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/OrderStatusResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/OrderStatusResponse.java
index 93906143..1d87d1cb 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/OrderStatusResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/OrderStatusResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** OrderStatusResponse */
@@ -414,18 +412,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
OrderStatusResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!OrderStatusResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `OrderStatusResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("orderStatus") != null && !jsonObj.get("orderStatus").isJsonNull())
&& !jsonObj.get("orderStatus").isJsonPrimitive()) {
@@ -501,7 +487,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, OrderStatusResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/PlaceLimitOrderRequest.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/PlaceLimitOrderRequest.java
index 4c6900ab..dba41a8d 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/PlaceLimitOrderRequest.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/PlaceLimitOrderRequest.java
@@ -29,9 +29,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** PlaceLimitOrderRequest */
@@ -429,18 +427,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!PlaceLimitOrderRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `PlaceLimitOrderRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : PlaceLimitOrderRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -505,7 +491,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, PlaceLimitOrderRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/PlaceLimitOrderResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/PlaceLimitOrderResponse.java
index 85332149..0cc3856c 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/PlaceLimitOrderResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/PlaceLimitOrderResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** PlaceLimitOrderResponse */
@@ -310,18 +308,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
PlaceLimitOrderResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!PlaceLimitOrderResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `PlaceLimitOrderResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("quoteId") != null && !jsonObj.get("quoteId").isJsonNull())
&& !jsonObj.get("quoteId").isJsonPrimitive()) {
@@ -382,7 +368,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, PlaceLimitOrderResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersRequest.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersRequest.java
index c0209a67..482c796c 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersRequest.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersRequest.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QueryLimitOpenOrdersRequest */
@@ -150,18 +148,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
QueryLimitOpenOrdersRequest.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryLimitOpenOrdersRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryLimitOpenOrdersRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
}
@@ -182,7 +168,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, QueryLimitOpenOrdersRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersResponse.java
index c9cc2c26..f54a2264 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -172,18 +170,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
QueryLimitOpenOrdersResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryLimitOpenOrdersResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryLimitOpenOrdersResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if (jsonObj.get("list") != null && !jsonObj.get("list").isJsonNull()) {
JsonArray jsonArray_list = jsonObj.getAsJsonArray("list");
@@ -225,7 +211,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, QueryLimitOpenOrdersResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersResponseListInner.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersResponseListInner.java
index 133a3874..a796e9c4 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersResponseListInner.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryLimitOpenOrdersResponseListInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QueryLimitOpenOrdersResponseListInner */
@@ -497,19 +495,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryLimitOpenOrdersResponseListInner.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryLimitOpenOrdersResponseListInner` properties. JSON:"
- + " %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("quoteId") != null && !jsonObj.get("quoteId").isJsonNull())
&& !jsonObj.get("quoteId").isJsonPrimitive()) {
@@ -596,7 +581,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, QueryLimitOpenOrdersResponseListInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryOrderQuantityPrecisionPerAssetResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryOrderQuantityPrecisionPerAssetResponse.java
index a8a4c113..d96f9288 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryOrderQuantityPrecisionPerAssetResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryOrderQuantityPrecisionPerAssetResponse.java
@@ -14,8 +14,8 @@
import com.binance.connector.client.convert.rest.JSON;
import com.google.gson.Gson;
+import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;
@@ -28,9 +28,7 @@
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QueryOrderQuantityPrecisionPerAssetResponse */
@@ -110,6 +108,18 @@ private String toIndentedString(Object o) {
* QueryOrderQuantityPrecisionPerAssetResponse
*/
public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (!jsonElement.isJsonArray()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected json element to be a array type in the JSON string but got"
+ + " `%s`",
+ jsonElement.toString()));
+ }
+ JsonArray array = jsonElement.getAsJsonArray();
+ // validate array items
+ for (JsonElement element : array) {
+ QueryOrderQuantityPrecisionPerAssetResponseInner.validateJsonElement(element);
+ }
if (jsonElement == null) {
if (!QueryOrderQuantityPrecisionPerAssetResponse.openapiRequiredFields
.isEmpty()) { // has required fields but JSON element is null
@@ -122,20 +132,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryOrderQuantityPrecisionPerAssetResponse.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryOrderQuantityPrecisionPerAssetResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
@@ -158,7 +154,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, QueryOrderQuantityPrecisionPerAssetResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonArray();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryOrderQuantityPrecisionPerAssetResponseInner.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryOrderQuantityPrecisionPerAssetResponseInner.java
index 57210696..8056eca7 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryOrderQuantityPrecisionPerAssetResponseInner.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/QueryOrderQuantityPrecisionPerAssetResponseInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** QueryOrderQuantityPrecisionPerAssetResponseInner */
@@ -190,20 +188,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!QueryOrderQuantityPrecisionPerAssetResponseInner.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `QueryOrderQuantityPrecisionPerAssetResponseInner`"
- + " properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("asset") != null && !jsonObj.get("asset").isJsonNull())
&& !jsonObj.get("asset").isJsonPrimitive()) {
@@ -237,7 +221,7 @@ public void write(
JsonWriter out,
QueryOrderQuantityPrecisionPerAssetResponseInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/SendQuoteRequestRequest.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/SendQuoteRequestRequest.java
index 069ed2da..c19aba03 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/SendQuoteRequestRequest.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/SendQuoteRequestRequest.java
@@ -29,9 +29,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** SendQuoteRequestRequest */
@@ -350,18 +348,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!SendQuoteRequestRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `SendQuoteRequestRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : SendQuoteRequestRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -421,7 +407,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, SendQuoteRequestRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/SendQuoteRequestResponse.java b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/SendQuoteRequestResponse.java
index daf8b900..8e10ccc3 100644
--- a/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/SendQuoteRequestResponse.java
+++ b/clients/convert/src/main/java/com/binance/connector/client/convert/rest/model/SendQuoteRequestResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** SendQuoteRequestResponse */
@@ -310,18 +308,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
SendQuoteRequestResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!SendQuoteRequestResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `SendQuoteRequestResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("quoteId") != null && !jsonObj.get("quoteId").isJsonNull())
&& !jsonObj.get("quoteId").isJsonPrimitive()) {
@@ -382,7 +368,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, SendQuoteRequestResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/copy-trading/CHANGELOG.md b/clients/copy-trading/CHANGELOG.md
index 1e7ccf76..1f6dacdd 100644
--- a/clients/copy-trading/CHANGELOG.md
+++ b/clients/copy-trading/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog
+## 1.2.0 - 2025-07-08
+
+- Update `binance/common` module to version `1.3.0`.
+- Added `customHeaders` configuration.
+
## 1.1.0 - 2025-05-02
- Update `binance/common` module to version `1.1.0`.
diff --git a/clients/copy-trading/docs/rest-api/migration-guide.md b/clients/copy-trading/docs/rest-api/migration-guide.md
index d53cb49e..5862150d 100644
--- a/clients/copy-trading/docs/rest-api/migration-guide.md
+++ b/clients/copy-trading/docs/rest-api/migration-guide.md
@@ -22,7 +22,7 @@ With the transition to a modularized structure, the Binance Connector has been s
io.github.binance
binance-copy-trading
- 1.1.0
+ 1.2.0
```
@@ -91,7 +91,7 @@ by:
io.github.binance
binance-copy-trading
- 1.1.0
+ 1.2.0
```
diff --git a/clients/copy-trading/pom.xml b/clients/copy-trading/pom.xml
index 4c0b6308..35570e4f 100644
--- a/clients/copy-trading/pom.xml
+++ b/clients/copy-trading/pom.xml
@@ -5,7 +5,7 @@
4.0.0
binance-copy-trading
copy-trading
- 1.1.0
+ 1.2.0
jar
@@ -31,7 +31,7 @@
io.github.binance
binance-common
- 1.1.0
+ 1.3.0
\ No newline at end of file
diff --git a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/api/FutureCopyTradingApi.java b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/api/FutureCopyTradingApi.java
index dac20741..12258443 100644
--- a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/api/FutureCopyTradingApi.java
+++ b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/api/FutureCopyTradingApi.java
@@ -43,7 +43,7 @@ public class FutureCopyTradingApi {
private static final String USER_AGENT =
String.format(
- "binance-copy-trading/1.1.0 (Java/%s; %s; %s)",
+ "binance-copy-trading/1.2.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = false;
diff --git a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTraderStatusResponse.java b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTraderStatusResponse.java
index e64ad65a..73d0d680 100644
--- a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTraderStatusResponse.java
+++ b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTraderStatusResponse.java
@@ -29,9 +29,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** GetFuturesLeadTraderStatusResponse */
@@ -252,18 +250,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!GetFuturesLeadTraderStatusResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `GetFuturesLeadTraderStatusResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("code") != null && !jsonObj.get("code").isJsonNull())
&& !jsonObj.get("code").isJsonPrimitive()) {
@@ -305,7 +291,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, GetFuturesLeadTraderStatusResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTraderStatusResponseData.java b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTraderStatusResponseData.java
index e62d303b..984dfe0a 100644
--- a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTraderStatusResponseData.java
+++ b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTraderStatusResponseData.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** GetFuturesLeadTraderStatusResponseData */
@@ -186,19 +184,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!GetFuturesLeadTraderStatusResponseData.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `GetFuturesLeadTraderStatusResponseData` properties. JSON:"
- + " %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
}
@@ -221,7 +206,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, GetFuturesLeadTraderStatusResponseData value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTradingSymbolWhitelistResponse.java b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTradingSymbolWhitelistResponse.java
index f1775d03..25df6b6b 100644
--- a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTradingSymbolWhitelistResponse.java
+++ b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTradingSymbolWhitelistResponse.java
@@ -33,9 +33,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
import org.hibernate.validator.constraints.*;
@@ -243,20 +241,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!GetFuturesLeadTradingSymbolWhitelistResponse.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `GetFuturesLeadTradingSymbolWhitelistResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("code") != null && !jsonObj.get("code").isJsonNull())
&& !jsonObj.get("code").isJsonPrimitive()) {
@@ -317,7 +301,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, GetFuturesLeadTradingSymbolWhitelistResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTradingSymbolWhitelistResponseDataInner.java b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTradingSymbolWhitelistResponseDataInner.java
index a58af851..fce8a307 100644
--- a/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTradingSymbolWhitelistResponseDataInner.java
+++ b/clients/copy-trading/src/main/java/com/binance/connector/client/copy_trading/rest/model/GetFuturesLeadTradingSymbolWhitelistResponseDataInner.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** GetFuturesLeadTradingSymbolWhitelistResponseDataInner */
@@ -227,20 +225,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!GetFuturesLeadTradingSymbolWhitelistResponseDataInner.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `GetFuturesLeadTradingSymbolWhitelistResponseDataInner`"
- + " properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("symbol") != null && !jsonObj.get("symbol").isJsonNull())
&& !jsonObj.get("symbol").isJsonPrimitive()) {
@@ -292,7 +276,7 @@ public void write(
JsonWriter out,
GetFuturesLeadTradingSymbolWhitelistResponseDataInner value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/CHANGELOG.md b/clients/crypto-loan/CHANGELOG.md
index 3cd53819..bafda158 100644
--- a/clients/crypto-loan/CHANGELOG.md
+++ b/clients/crypto-loan/CHANGELOG.md
@@ -1,5 +1,10 @@
# Changelog
+## 2.1.0 - 2025-07-08
+
+- Update `binance/common` module to version `1.3.0`.
+- Added `customHeaders` configuration.
+
## 2.0.0 - 2025-06-02
### Removed (8)
diff --git a/clients/crypto-loan/docs/rest-api/migration-guide.md b/clients/crypto-loan/docs/rest-api/migration-guide.md
index 4c85679c..277e548c 100644
--- a/clients/crypto-loan/docs/rest-api/migration-guide.md
+++ b/clients/crypto-loan/docs/rest-api/migration-guide.md
@@ -22,7 +22,7 @@ With the transition to a modularized structure, the Binance Connector has been s
io.github.binance
binance-crypto-loan
- 2.0.0
+ 2.1.0
```
@@ -91,7 +91,7 @@ by:
io.github.binance
binance-crypto-loan
- 2.0.0
+ 2.1.0
```
diff --git a/clients/crypto-loan/pom.xml b/clients/crypto-loan/pom.xml
index df3f303e..4c00540d 100644
--- a/clients/crypto-loan/pom.xml
+++ b/clients/crypto-loan/pom.xml
@@ -5,7 +5,7 @@
4.0.0
binance-crypto-loan
crypto-loan
- 2.0.0
+ 2.1.0
jar
@@ -31,7 +31,7 @@
io.github.binance
binance-common
- 1.2.1
+ 1.3.0
\ No newline at end of file
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/api/FlexibleRateApi.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/api/FlexibleRateApi.java
index 4b262a94..420a9dde 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/api/FlexibleRateApi.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/api/FlexibleRateApi.java
@@ -57,7 +57,7 @@ public class FlexibleRateApi {
private static final String USER_AGENT =
String.format(
- "binance-crypto-loan/2.0.0 (Java/%s; %s; %s)",
+ "binance-crypto-loan/2.1.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = false;
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/api/StableRateApi.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/api/StableRateApi.java
index acba7868..ab2e7abc 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/api/StableRateApi.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/api/StableRateApi.java
@@ -47,7 +47,7 @@ public class StableRateApi {
private static final String USER_AGENT =
String.format(
- "binance-crypto-loan/2.0.0 (Java/%s; %s; %s)",
+ "binance-crypto-loan/2.1.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = false;
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/CheckCollateralRepayRateResponse.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/CheckCollateralRepayRateResponse.java
index fe7b0fea..dc50945c 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/CheckCollateralRepayRateResponse.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/CheckCollateralRepayRateResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** CheckCollateralRepayRateResponse */
@@ -217,18 +215,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
CheckCollateralRepayRateResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!CheckCollateralRepayRateResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `CheckCollateralRepayRateResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("loanCoin") != null && !jsonObj.get("loanCoin").isJsonNull())
&& !jsonObj.get("loanCoin").isJsonPrimitive()) {
@@ -274,7 +260,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, CheckCollateralRepayRateResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/CheckCollateralRepayRateStableRateResponse.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/CheckCollateralRepayRateStableRateResponse.java
index bbc070db..5f6640b0 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/CheckCollateralRepayRateStableRateResponse.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/CheckCollateralRepayRateStableRateResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** CheckCollateralRepayRateStableRateResponse */
@@ -256,20 +254,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!CheckCollateralRepayRateStableRateResponse.openapiFields.contains(
- entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `CheckCollateralRepayRateStableRateResponse` properties."
- + " JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("loanlCoin") != null && !jsonObj.get("loanlCoin").isJsonNull())
&& !jsonObj.get("loanlCoin").isJsonPrimitive()) {
@@ -325,7 +309,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
public void write(
JsonWriter out, CheckCollateralRepayRateStableRateResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanAdjustLtvRequest.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanAdjustLtvRequest.java
index 187db5b8..2584b90a 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanAdjustLtvRequest.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanAdjustLtvRequest.java
@@ -29,9 +29,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** FlexibleLoanAdjustLtvRequest */
@@ -293,18 +291,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!FlexibleLoanAdjustLtvRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `FlexibleLoanAdjustLtvRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : FlexibleLoanAdjustLtvRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -356,7 +342,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, FlexibleLoanAdjustLtvRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanAdjustLtvResponse.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanAdjustLtvResponse.java
index 869adf12..68a7aefe 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanAdjustLtvResponse.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanAdjustLtvResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** FlexibleLoanAdjustLtvResponse */
@@ -316,18 +314,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
FlexibleLoanAdjustLtvResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!FlexibleLoanAdjustLtvResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `FlexibleLoanAdjustLtvResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("loanCoin") != null && !jsonObj.get("loanCoin").isJsonNull())
&& !jsonObj.get("loanCoin").isJsonPrimitive()) {
@@ -398,7 +384,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, FlexibleLoanAdjustLtvResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanBorrowRequest.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanBorrowRequest.java
index d4b5c12b..8bed7b7b 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanBorrowRequest.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanBorrowRequest.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** FlexibleLoanBorrowRequest */
@@ -219,18 +217,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!FlexibleLoanBorrowRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `FlexibleLoanBorrowRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : FlexibleLoanBorrowRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -274,7 +260,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, FlexibleLoanBorrowRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanBorrowResponse.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanBorrowResponse.java
index f3c8c0bd..42ad3639 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanBorrowResponse.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanBorrowResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** FlexibleLoanBorrowResponse */
@@ -280,18 +278,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
FlexibleLoanBorrowResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!FlexibleLoanBorrowResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `FlexibleLoanBorrowResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("loanCoin") != null && !jsonObj.get("loanCoin").isJsonNull())
&& !jsonObj.get("loanCoin").isJsonPrimitive()) {
@@ -353,7 +339,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, FlexibleLoanBorrowResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanRepayRequest.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanRepayRequest.java
index 3d7950cc..8f204055 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanRepayRequest.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanRepayRequest.java
@@ -29,9 +29,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** FlexibleLoanRepayRequest */
@@ -360,18 +358,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!FlexibleLoanRepayRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `FlexibleLoanRepayRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
// check to make sure all required properties/fields are present in the JSON string
for (String requiredField : FlexibleLoanRepayRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
@@ -415,7 +401,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, FlexibleLoanRepayRequest value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanRepayResponse.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanRepayResponse.java
index 781e0ee4..567519f1 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanRepayResponse.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/FlexibleLoanRepayResponse.java
@@ -28,9 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** FlexibleLoanRepayResponse */
@@ -357,18 +355,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
FlexibleLoanRepayResponse.openapiRequiredFields.toString()));
}
}
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!FlexibleLoanRepayResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `FlexibleLoanRepayResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("loanCoin") != null && !jsonObj.get("loanCoin").isJsonNull())
&& !jsonObj.get("loanCoin").isJsonPrimitive()) {
@@ -438,7 +424,7 @@ public TypeAdapter create(Gson gson, TypeToken type) {
@Override
public void write(JsonWriter out, FlexibleLoanRepayResponse value)
throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
diff --git a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/GetCryptoLoansIncomeHistoryResponse.java b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/GetCryptoLoansIncomeHistoryResponse.java
index 363b8f32..7cc59740 100644
--- a/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/GetCryptoLoansIncomeHistoryResponse.java
+++ b/clients/crypto-loan/src/main/java/com/binance/connector/client/crypto_loan/rest/model/GetCryptoLoansIncomeHistoryResponse.java
@@ -14,8 +14,8 @@
import com.binance.connector.client.crypto_loan.rest.JSON;
import com.google.gson.Gson;
+import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;
@@ -28,9 +28,7 @@
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashSet;
-import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import org.hibernate.validator.constraints.*;
/** GetCryptoLoansIncomeHistoryResponse */
@@ -110,6 +108,18 @@ private String toIndentedString(Object o) {
* GetCryptoLoansIncomeHistoryResponse
*/
public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (!jsonElement.isJsonArray()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected json element to be a array type in the JSON string but got"
+ + " `%s`",
+ jsonElement.toString()));
+ }
+ JsonArray array = jsonElement.getAsJsonArray();
+ // validate array items
+ for (JsonElement element : array) {
+ GetCryptoLoansIncomeHistoryResponseInner.validateJsonElement(element);
+ }
if (jsonElement == null) {
if (!GetCryptoLoansIncomeHistoryResponse.openapiRequiredFields
.isEmpty()) { // has required fields but JSON element is null
@@ -121,18 +131,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
.toString()));
}
}
-
- Set