> getSchemas() {
+ return CandlestickStreamResponseInner.schemas;
+ }
+
+ /**
+ * Set the instance that matches the oneOf child schema, check the instance parameter is valid
+ * against the oneOf child schemas: Long, String
+ *
+ * It could be an instance of the 'oneOf' schemas.
+ */
+ @Override
+ public void setActualInstance(Object instance) {
+ if (instance instanceof String) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (instance instanceof Long) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ throw new RuntimeException("Invalid instance type. Must be Long, String");
+ }
+
+ /**
+ * Get the actual instance, which can be the following: Long, String
+ *
+ * @return The actual instance (Long, String)
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `String`. If the actual instance is not `String`, the
+ * ClassCastException will be thrown.
+ *
+ * @return The actual instance of `String`
+ * @throws ClassCastException if the instance is not `String`
+ */
+ public String getString() throws ClassCastException {
+ return (String) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `Long`. If the actual instance is not `Long`, the
+ * ClassCastException will be thrown.
+ *
+ * @return The actual instance of `Long`
+ * @throws ClassCastException if the instance is not `Long`
+ */
+ public Long getLong() throws ClassCastException {
+ return (Long) super.getActualInstance();
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to
+ * CandlestickStreamResponseInner
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ // validate oneOf schemas one by one
+ int validCount = 0;
+ ArrayList errorMessages = new ArrayList<>();
+ // validate the json string with String
+ try {
+ if (!jsonElement.getAsJsonPrimitive().isString()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected json element to be of type String in the JSON string but"
+ + " got `%s`",
+ jsonElement.toString()));
+ }
+ validCount++;
+ } catch (Exception e) {
+ errorMessages.add(
+ String.format("Deserialization for String failed with `%s`.", e.getMessage()));
+ // continue to the next one
+ }
+ // validate the json string with Long
+ try {
+ if (!jsonElement.getAsJsonPrimitive().isNumber()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected json element to be of type Number in the JSON string but"
+ + " got `%s`",
+ jsonElement.toString()));
+ }
+ validCount++;
+ } catch (Exception e) {
+ errorMessages.add(
+ String.format("Deserialization for Long failed with `%s`.", e.getMessage()));
+ // continue to the next one
+ }
+ if (validCount != 1) {
+ throw new IOException(
+ String.format(
+ "The JSON string is invalid for CandlestickStreamResponseInner with"
+ + " oneOf schemas: Long, String. %d class(es) match the result,"
+ + " expected 1. Detailed failure message for oneOf schemas: %s."
+ + " JSON: %s",
+ validCount, errorMessages, jsonElement.toString()));
+ }
+ }
+
+ /**
+ * Create an instance of CandlestickStreamResponseInner given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of CandlestickStreamResponseInner
+ * @throws IOException if the JSON string is invalid with respect to
+ * CandlestickStreamResponseInner
+ */
+ public static CandlestickStreamResponseInner fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, CandlestickStreamResponseInner.class);
+ }
+
+ /**
+ * Convert an instance of CandlestickStreamResponseInner to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/MarketStatsStreamRequest.java b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/MarketStatsStreamRequest.java
new file mode 100644
index 0000000..5212298
--- /dev/null
+++ b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/MarketStatsStreamRequest.java
@@ -0,0 +1,335 @@
+/*
+ * Binance Web3 WebSocket Streams
+ * Real-time on-chain data streaming over WebSocket for the Binance Web3 API platform.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.binance.connector.client.web3_wallet.websocket.stream.model;
+
+import com.binance.connector.client.common.websocket.dtos.BaseDTO;
+import com.binance.connector.client.web3_wallet.websocket.stream.JSON;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import jakarta.validation.constraints.*;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.stream.Collectors;
+import org.hibernate.validator.constraints.*;
+
+/** MarketStatsStreamRequest */
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.22.0")
+public class MarketStatsStreamRequest extends BaseDTO {
+ public static final String SERIALIZED_NAME_ID = "id";
+
+ @SerializedName(SERIALIZED_NAME_ID)
+ @jakarta.annotation.Nullable
+ private String id;
+
+ public static final String SERIALIZED_NAME_CHAIN_ID = "chainId";
+
+ @SerializedName(SERIALIZED_NAME_CHAIN_ID)
+ @jakarta.annotation.Nullable
+ private String chainId;
+
+ public static final String SERIALIZED_NAME_CONTRACT_ADDRESS = "contractAddress";
+
+ @SerializedName(SERIALIZED_NAME_CONTRACT_ADDRESS)
+ @jakarta.annotation.Nullable
+ private String contractAddress;
+
+ public MarketStatsStreamRequest() {}
+
+ public MarketStatsStreamRequest id(@jakarta.annotation.Nullable String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Unique WebSocket request ID.
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nullable
+ public String getId() {
+ return id;
+ }
+
+ public void setId(@jakarta.annotation.Nullable String id) {
+ this.id = id;
+ }
+
+ public MarketStatsStreamRequest chainId(@jakarta.annotation.Nullable String chainId) {
+ this.chainId = chainId;
+ return this;
+ }
+
+ /**
+ * Chain identifier, e.g. \"1\"=Ethereum, \"56\"=BSC,
+ * \"CT_501\"=Solana. Full supported-chain list: same as the
+ * [\"supported/chain\"](/catalog/web3-wallet/api/rest-api/general-data#get-supported-chains)
+ * endpoint.
+ *
+ * @return chainId
+ */
+ @jakarta.annotation.Nullable
+ public String getChainId() {
+ return chainId;
+ }
+
+ public void setChainId(@jakarta.annotation.Nullable String chainId) {
+ this.chainId = chainId;
+ }
+
+ public MarketStatsStreamRequest contractAddress(
+ @jakarta.annotation.Nullable String contractAddress) {
+ this.contractAddress = contractAddress;
+ return this;
+ }
+
+ /**
+ * Token contract address.
+ *
+ * @return contractAddress
+ */
+ @jakarta.annotation.Nullable
+ public String getContractAddress() {
+ return contractAddress;
+ }
+
+ public void setContractAddress(@jakarta.annotation.Nullable String contractAddress) {
+ this.contractAddress = contractAddress;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ MarketStatsStreamRequest marketStatsStreamRequest = (MarketStatsStreamRequest) o;
+ return Objects.equals(this.id, marketStatsStreamRequest.id)
+ && Objects.equals(this.chainId, marketStatsStreamRequest.chainId)
+ && Objects.equals(this.contractAddress, marketStatsStreamRequest.contractAddress);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, chainId, contractAddress);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MarketStatsStreamRequest {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" chainId: ").append(toIndentedString(chainId)).append("\n");
+ sb.append(" contractAddress: ").append(toIndentedString(contractAddress)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ public String toUrlQueryString() {
+ StringBuilder sb = new StringBuilder();
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ String idValue = getId();
+ if (idValue != null) {
+ String idValueAsString = idValue.toString();
+ valMap.put("id", idValueAsString);
+ }
+ String chainIdValue = getChainId();
+ if (chainIdValue != null) {
+ String chainIdValueAsString = chainIdValue.toString();
+ valMap.put("chainId", chainIdValueAsString);
+ }
+ String contractAddressValue = getContractAddress();
+ if (contractAddressValue != null) {
+ String contractAddressValueAsString = contractAddressValue.toString();
+ valMap.put("contractAddress", contractAddressValueAsString);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return asciiEncode(
+ valMap.keySet().stream()
+ .map(key -> key + "=" + valMap.get(key))
+ .collect(Collectors.joining("&")));
+ }
+
+ public Map toMap() {
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ Object idValue = getId();
+ if (idValue != null) {
+ valMap.put("id", idValue);
+ }
+ Object chainIdValue = getChainId();
+ if (chainIdValue != null) {
+ valMap.put("chainId", chainIdValue);
+ }
+ Object contractAddressValue = getContractAddress();
+ if (contractAddressValue != null) {
+ valMap.put("contractAddress", contractAddressValue);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return valMap;
+ }
+
+ public static String asciiEncode(String s) {
+ return new String(s.getBytes(), StandardCharsets.US_ASCII);
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet();
+ openapiFields.add("id");
+ openapiFields.add("chainId");
+ openapiFields.add("contractAddress");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to MarketStatsStreamRequest
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!MarketStatsStreamRequest.openapiRequiredFields
+ .isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field(s) %s in MarketStatsStreamRequest is not found"
+ + " in the empty JSON string",
+ MarketStatsStreamRequest.openapiRequiredFields.toString()));
+ }
+ }
+
+ Set> entries = jsonElement.getAsJsonObject().entrySet();
+ // check to see if the JSON string contains additional fields
+ for (Map.Entry entry : entries) {
+ if (!MarketStatsStreamRequest.openapiFields.contains(entry.getKey())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The field `%s` in the JSON string is not defined in the"
+ + " `MarketStatsStreamRequest` properties. JSON: %s",
+ entry.getKey(), jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull())
+ && !jsonObj.get("id").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `id` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("id").toString()));
+ }
+ if ((jsonObj.get("chainId") != null && !jsonObj.get("chainId").isJsonNull())
+ && !jsonObj.get("chainId").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `chainId` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("chainId").toString()));
+ }
+ if ((jsonObj.get("contractAddress") != null && !jsonObj.get("contractAddress").isJsonNull())
+ && !jsonObj.get("contractAddress").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `contractAddress` to be a primitive type in the"
+ + " JSON string but got `%s`",
+ jsonObj.get("contractAddress").toString()));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!MarketStatsStreamRequest.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'MarketStatsStreamRequest' and its
+ // subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(this, TypeToken.get(MarketStatsStreamRequest.class));
+
+ return (TypeAdapter)
+ new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, MarketStatsStreamRequest value)
+ throws IOException {
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public MarketStatsStreamRequest read(JsonReader in) throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ // validateJsonElement(jsonElement);
+ return thisAdapter.fromJsonTree(jsonElement);
+ }
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of MarketStatsStreamRequest given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of MarketStatsStreamRequest
+ * @throws IOException if the JSON string is invalid with respect to MarketStatsStreamRequest
+ */
+ public static MarketStatsStreamRequest fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, MarketStatsStreamRequest.class);
+ }
+
+ /**
+ * Convert an instance of MarketStatsStreamRequest to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/MarketStatsStreamResponse.java b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/MarketStatsStreamResponse.java
new file mode 100644
index 0000000..52e4a03
--- /dev/null
+++ b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/MarketStatsStreamResponse.java
@@ -0,0 +1,2656 @@
+/*
+ * Binance Web3 WebSocket Streams
+ * Real-time on-chain data streaming over WebSocket for the Binance Web3 API platform.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.binance.connector.client.web3_wallet.websocket.stream.model;
+
+import com.binance.connector.client.common.websocket.dtos.BaseDTO;
+import com.binance.connector.client.web3_wallet.websocket.stream.JSON;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import jakarta.validation.constraints.*;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.stream.Collectors;
+import org.hibernate.validator.constraints.*;
+
+/** TX data event payload. */
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.22.0")
+public class MarketStatsStreamResponse extends BaseDTO {
+ public static final String SERIALIZED_NAME_P_LOWER_CASE = "p";
+
+ @SerializedName(SERIALIZED_NAME_P_LOWER_CASE)
+ @jakarta.annotation.Nullable
+ private String pLowerCase;
+
+ public static final String SERIALIZED_NAME_T_LOWER_CASE = "t";
+
+ @SerializedName(SERIALIZED_NAME_T_LOWER_CASE)
+ @jakarta.annotation.Nullable
+ private Long tLowerCase;
+
+ public static final String SERIALIZED_NAME_PC5M = "pc5m";
+
+ @SerializedName(SERIALIZED_NAME_PC5M)
+ @jakarta.annotation.Nullable
+ private String pc5m;
+
+ public static final String SERIALIZED_NAME_PC1H = "pc1h";
+
+ @SerializedName(SERIALIZED_NAME_PC1H)
+ @jakarta.annotation.Nullable
+ private String pc1h;
+
+ public static final String SERIALIZED_NAME_PC4H = "pc4h";
+
+ @SerializedName(SERIALIZED_NAME_PC4H)
+ @jakarta.annotation.Nullable
+ private String pc4h;
+
+ public static final String SERIALIZED_NAME_PC24H = "pc24h";
+
+ @SerializedName(SERIALIZED_NAME_PC24H)
+ @jakarta.annotation.Nullable
+ private String pc24h;
+
+ public static final String SERIALIZED_NAME_VOL5M = "vol5m";
+
+ @SerializedName(SERIALIZED_NAME_VOL5M)
+ @jakarta.annotation.Nullable
+ private String vol5m;
+
+ public static final String SERIALIZED_NAME_VOL1H = "vol1h";
+
+ @SerializedName(SERIALIZED_NAME_VOL1H)
+ @jakarta.annotation.Nullable
+ private String vol1h;
+
+ public static final String SERIALIZED_NAME_VOL4H = "vol4h";
+
+ @SerializedName(SERIALIZED_NAME_VOL4H)
+ @jakarta.annotation.Nullable
+ private String vol4h;
+
+ public static final String SERIALIZED_NAME_VOL24H = "vol24h";
+
+ @SerializedName(SERIALIZED_NAME_VOL24H)
+ @jakarta.annotation.Nullable
+ private String vol24h;
+
+ public static final String SERIALIZED_NAME_VOL_B5M = "volB5m";
+
+ @SerializedName(SERIALIZED_NAME_VOL_B5M)
+ @jakarta.annotation.Nullable
+ private String volB5m;
+
+ public static final String SERIALIZED_NAME_VOL_S5M = "volS5m";
+
+ @SerializedName(SERIALIZED_NAME_VOL_S5M)
+ @jakarta.annotation.Nullable
+ private String volS5m;
+
+ public static final String SERIALIZED_NAME_VOL_B1H = "volB1h";
+
+ @SerializedName(SERIALIZED_NAME_VOL_B1H)
+ @jakarta.annotation.Nullable
+ private String volB1h;
+
+ public static final String SERIALIZED_NAME_VOL_S1H = "volS1h";
+
+ @SerializedName(SERIALIZED_NAME_VOL_S1H)
+ @jakarta.annotation.Nullable
+ private String volS1h;
+
+ public static final String SERIALIZED_NAME_VOL_B4H = "volB4h";
+
+ @SerializedName(SERIALIZED_NAME_VOL_B4H)
+ @jakarta.annotation.Nullable
+ private String volB4h;
+
+ public static final String SERIALIZED_NAME_VOL_S4H = "volS4h";
+
+ @SerializedName(SERIALIZED_NAME_VOL_S4H)
+ @jakarta.annotation.Nullable
+ private String volS4h;
+
+ public static final String SERIALIZED_NAME_VOL_B24H = "volB24h";
+
+ @SerializedName(SERIALIZED_NAME_VOL_B24H)
+ @jakarta.annotation.Nullable
+ private String volB24h;
+
+ public static final String SERIALIZED_NAME_VOL_S24H = "volS24h";
+
+ @SerializedName(SERIALIZED_NAME_VOL_S24H)
+ @jakarta.annotation.Nullable
+ private String volS24h;
+
+ public static final String SERIALIZED_NAME_TXS5M = "txs5m";
+
+ @SerializedName(SERIALIZED_NAME_TXS5M)
+ @jakarta.annotation.Nullable
+ private Integer txs5m;
+
+ public static final String SERIALIZED_NAME_TXS1H = "txs1h";
+
+ @SerializedName(SERIALIZED_NAME_TXS1H)
+ @jakarta.annotation.Nullable
+ private Integer txs1h;
+
+ public static final String SERIALIZED_NAME_TXS4H = "txs4h";
+
+ @SerializedName(SERIALIZED_NAME_TXS4H)
+ @jakarta.annotation.Nullable
+ private Integer txs4h;
+
+ public static final String SERIALIZED_NAME_TXS24H = "txs24h";
+
+ @SerializedName(SERIALIZED_NAME_TXS24H)
+ @jakarta.annotation.Nullable
+ private Integer txs24h;
+
+ public static final String SERIALIZED_NAME_TXS_B5M = "txsB5m";
+
+ @SerializedName(SERIALIZED_NAME_TXS_B5M)
+ @jakarta.annotation.Nullable
+ private Integer txsB5m;
+
+ public static final String SERIALIZED_NAME_TXS_S5M = "txsS5m";
+
+ @SerializedName(SERIALIZED_NAME_TXS_S5M)
+ @jakarta.annotation.Nullable
+ private Integer txsS5m;
+
+ public static final String SERIALIZED_NAME_TXS_B1H = "txsB1h";
+
+ @SerializedName(SERIALIZED_NAME_TXS_B1H)
+ @jakarta.annotation.Nullable
+ private Integer txsB1h;
+
+ public static final String SERIALIZED_NAME_TXS_S1H = "txsS1h";
+
+ @SerializedName(SERIALIZED_NAME_TXS_S1H)
+ @jakarta.annotation.Nullable
+ private Integer txsS1h;
+
+ public static final String SERIALIZED_NAME_TXS_B4H = "txsB4h";
+
+ @SerializedName(SERIALIZED_NAME_TXS_B4H)
+ @jakarta.annotation.Nullable
+ private Integer txsB4h;
+
+ public static final String SERIALIZED_NAME_TXS_S4H = "txsS4h";
+
+ @SerializedName(SERIALIZED_NAME_TXS_S4H)
+ @jakarta.annotation.Nullable
+ private Integer txsS4h;
+
+ public static final String SERIALIZED_NAME_TXS_B24H = "txsB24h";
+
+ @SerializedName(SERIALIZED_NAME_TXS_B24H)
+ @jakarta.annotation.Nullable
+ private Integer txsB24h;
+
+ public static final String SERIALIZED_NAME_TXS_S24H = "txsS24h";
+
+ @SerializedName(SERIALIZED_NAME_TXS_S24H)
+ @jakarta.annotation.Nullable
+ private Integer txsS24h;
+
+ public static final String SERIALIZED_NAME_CS = "cs";
+
+ @SerializedName(SERIALIZED_NAME_CS)
+ @jakarta.annotation.Nullable
+ private String cs;
+
+ public static final String SERIALIZED_NAME_MC = "mc";
+
+ @SerializedName(SERIALIZED_NAME_MC)
+ @jakarta.annotation.Nullable
+ private String mc;
+
+ public static final String SERIALIZED_NAME_LIQ = "liq";
+
+ @SerializedName(SERIALIZED_NAME_LIQ)
+ @jakarta.annotation.Nullable
+ private String liq;
+
+ public static final String SERIALIZED_NAME_HOLDERS = "holders";
+
+ @SerializedName(SERIALIZED_NAME_HOLDERS)
+ @jakarta.annotation.Nullable
+ private Integer holders;
+
+ public static final String SERIALIZED_NAME_BN_VOL5M = "bnVol5m";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL5M)
+ @jakarta.annotation.Nullable
+ private String bnVol5m;
+
+ public static final String SERIALIZED_NAME_BN_VOL1H = "bnVol1h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL1H)
+ @jakarta.annotation.Nullable
+ private String bnVol1h;
+
+ public static final String SERIALIZED_NAME_BN_VOL4H = "bnVol4h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL4H)
+ @jakarta.annotation.Nullable
+ private String bnVol4h;
+
+ public static final String SERIALIZED_NAME_BN_VOL24H = "bnVol24h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL24H)
+ @jakarta.annotation.Nullable
+ private String bnVol24h;
+
+ public static final String SERIALIZED_NAME_BN_VOL_B5M = "bnVolB5m";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL_B5M)
+ @jakarta.annotation.Nullable
+ private String bnVolB5m;
+
+ public static final String SERIALIZED_NAME_BN_VOL_S5M = "bnVolS5m";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL_S5M)
+ @jakarta.annotation.Nullable
+ private String bnVolS5m;
+
+ public static final String SERIALIZED_NAME_BN_VOL_B1H = "bnVolB1h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL_B1H)
+ @jakarta.annotation.Nullable
+ private String bnVolB1h;
+
+ public static final String SERIALIZED_NAME_BN_VOL_S1H = "bnVolS1h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL_S1H)
+ @jakarta.annotation.Nullable
+ private String bnVolS1h;
+
+ public static final String SERIALIZED_NAME_BN_VOL_B4H = "bnVolB4h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL_B4H)
+ @jakarta.annotation.Nullable
+ private String bnVolB4h;
+
+ public static final String SERIALIZED_NAME_BN_VOL_S4H = "bnVolS4h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL_S4H)
+ @jakarta.annotation.Nullable
+ private String bnVolS4h;
+
+ public static final String SERIALIZED_NAME_BN_VOL_B24H = "bnVolB24h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL_B24H)
+ @jakarta.annotation.Nullable
+ private String bnVolB24h;
+
+ public static final String SERIALIZED_NAME_BN_VOL_S24H = "bnVolS24h";
+
+ @SerializedName(SERIALIZED_NAME_BN_VOL_S24H)
+ @jakarta.annotation.Nullable
+ private String bnVolS24h;
+
+ public static final String SERIALIZED_NAME_BN_TXS5M = "bnTxs5m";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS5M)
+ @jakarta.annotation.Nullable
+ private Integer bnTxs5m;
+
+ public static final String SERIALIZED_NAME_BN_TXS1H = "bnTxs1h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS1H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxs1h;
+
+ public static final String SERIALIZED_NAME_BN_TXS4H = "bnTxs4h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS4H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxs4h;
+
+ public static final String SERIALIZED_NAME_BN_TXS24H = "bnTxs24h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS24H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxs24h;
+
+ public static final String SERIALIZED_NAME_BN_TXS_B5M = "bnTxsB5m";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS_B5M)
+ @jakarta.annotation.Nullable
+ private Integer bnTxsB5m;
+
+ public static final String SERIALIZED_NAME_BN_TXS_S5M = "bnTxsS5m";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS_S5M)
+ @jakarta.annotation.Nullable
+ private Integer bnTxsS5m;
+
+ public static final String SERIALIZED_NAME_BN_TXS_B1H = "bnTxsB1h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS_B1H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxsB1h;
+
+ public static final String SERIALIZED_NAME_BN_TXS_S1H = "bnTxsS1h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS_S1H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxsS1h;
+
+ public static final String SERIALIZED_NAME_BN_TXS_B4H = "bnTxsB4h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS_B4H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxsB4h;
+
+ public static final String SERIALIZED_NAME_BN_TXS_S4H = "bnTxsS4h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS_S4H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxsS4h;
+
+ public static final String SERIALIZED_NAME_BN_TXS_B24H = "bnTxsB24h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS_B24H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxsB24h;
+
+ public static final String SERIALIZED_NAME_BN_TXS_S24H = "bnTxsS24h";
+
+ @SerializedName(SERIALIZED_NAME_BN_TXS_S24H)
+ @jakarta.annotation.Nullable
+ private Integer bnTxsS24h;
+
+ public MarketStatsStreamResponse() {}
+
+ public MarketStatsStreamResponse pLowerCase(@jakarta.annotation.Nullable String pLowerCase) {
+ this.pLowerCase = pLowerCase;
+ return this;
+ }
+
+ /**
+ * Latest price in USD.
+ *
+ * @return pLowerCase
+ */
+ @jakarta.annotation.Nullable
+ public String getpLowerCase() {
+ return pLowerCase;
+ }
+
+ public void setpLowerCase(@jakarta.annotation.Nullable String pLowerCase) {
+ this.pLowerCase = pLowerCase;
+ }
+
+ public MarketStatsStreamResponse tLowerCase(@jakarta.annotation.Nullable Long tLowerCase) {
+ this.tLowerCase = tLowerCase;
+ return this;
+ }
+
+ /**
+ * Price timestamp in milliseconds.
+ *
+ * @return tLowerCase
+ */
+ @jakarta.annotation.Nullable
+ public Long gettLowerCase() {
+ return tLowerCase;
+ }
+
+ public void settLowerCase(@jakarta.annotation.Nullable Long tLowerCase) {
+ this.tLowerCase = tLowerCase;
+ }
+
+ public MarketStatsStreamResponse pc5m(@jakarta.annotation.Nullable String pc5m) {
+ this.pc5m = pc5m;
+ return this;
+ }
+
+ /**
+ * 5-minute price change, as a percentage (e.g. \"1.25\" means +1.25%).
+ *
+ * @return pc5m
+ */
+ @jakarta.annotation.Nullable
+ public String getPc5m() {
+ return pc5m;
+ }
+
+ public void setPc5m(@jakarta.annotation.Nullable String pc5m) {
+ this.pc5m = pc5m;
+ }
+
+ public MarketStatsStreamResponse pc1h(@jakarta.annotation.Nullable String pc1h) {
+ this.pc1h = pc1h;
+ return this;
+ }
+
+ /**
+ * 1-hour price change, as a percentage (e.g. \"1.25\" means +1.25%).
+ *
+ * @return pc1h
+ */
+ @jakarta.annotation.Nullable
+ public String getPc1h() {
+ return pc1h;
+ }
+
+ public void setPc1h(@jakarta.annotation.Nullable String pc1h) {
+ this.pc1h = pc1h;
+ }
+
+ public MarketStatsStreamResponse pc4h(@jakarta.annotation.Nullable String pc4h) {
+ this.pc4h = pc4h;
+ return this;
+ }
+
+ /**
+ * 4-hour price change, as a percentage (e.g. \"1.25\" means +1.25%).
+ *
+ * @return pc4h
+ */
+ @jakarta.annotation.Nullable
+ public String getPc4h() {
+ return pc4h;
+ }
+
+ public void setPc4h(@jakarta.annotation.Nullable String pc4h) {
+ this.pc4h = pc4h;
+ }
+
+ public MarketStatsStreamResponse pc24h(@jakarta.annotation.Nullable String pc24h) {
+ this.pc24h = pc24h;
+ return this;
+ }
+
+ /**
+ * 24-hour price change, as a percentage (e.g. \"1.25\" means +1.25%).
+ *
+ * @return pc24h
+ */
+ @jakarta.annotation.Nullable
+ public String getPc24h() {
+ return pc24h;
+ }
+
+ public void setPc24h(@jakarta.annotation.Nullable String pc24h) {
+ this.pc24h = pc24h;
+ }
+
+ public MarketStatsStreamResponse vol5m(@jakarta.annotation.Nullable String vol5m) {
+ this.vol5m = vol5m;
+ return this;
+ }
+
+ /**
+ * 5-minute total trading volume in USD.
+ *
+ * @return vol5m
+ */
+ @jakarta.annotation.Nullable
+ public String getVol5m() {
+ return vol5m;
+ }
+
+ public void setVol5m(@jakarta.annotation.Nullable String vol5m) {
+ this.vol5m = vol5m;
+ }
+
+ public MarketStatsStreamResponse vol1h(@jakarta.annotation.Nullable String vol1h) {
+ this.vol1h = vol1h;
+ return this;
+ }
+
+ /**
+ * 1-hour total trading volume in USD.
+ *
+ * @return vol1h
+ */
+ @jakarta.annotation.Nullable
+ public String getVol1h() {
+ return vol1h;
+ }
+
+ public void setVol1h(@jakarta.annotation.Nullable String vol1h) {
+ this.vol1h = vol1h;
+ }
+
+ public MarketStatsStreamResponse vol4h(@jakarta.annotation.Nullable String vol4h) {
+ this.vol4h = vol4h;
+ return this;
+ }
+
+ /**
+ * 4-hour total trading volume in USD.
+ *
+ * @return vol4h
+ */
+ @jakarta.annotation.Nullable
+ public String getVol4h() {
+ return vol4h;
+ }
+
+ public void setVol4h(@jakarta.annotation.Nullable String vol4h) {
+ this.vol4h = vol4h;
+ }
+
+ public MarketStatsStreamResponse vol24h(@jakarta.annotation.Nullable String vol24h) {
+ this.vol24h = vol24h;
+ return this;
+ }
+
+ /**
+ * 24-hour total trading volume in USD.
+ *
+ * @return vol24h
+ */
+ @jakarta.annotation.Nullable
+ public String getVol24h() {
+ return vol24h;
+ }
+
+ public void setVol24h(@jakarta.annotation.Nullable String vol24h) {
+ this.vol24h = vol24h;
+ }
+
+ public MarketStatsStreamResponse volB5m(@jakarta.annotation.Nullable String volB5m) {
+ this.volB5m = volB5m;
+ return this;
+ }
+
+ /**
+ * 5-minute buy volume in USD.
+ *
+ * @return volB5m
+ */
+ @jakarta.annotation.Nullable
+ public String getVolB5m() {
+ return volB5m;
+ }
+
+ public void setVolB5m(@jakarta.annotation.Nullable String volB5m) {
+ this.volB5m = volB5m;
+ }
+
+ public MarketStatsStreamResponse volS5m(@jakarta.annotation.Nullable String volS5m) {
+ this.volS5m = volS5m;
+ return this;
+ }
+
+ /**
+ * 5-minute sell volume in USD.
+ *
+ * @return volS5m
+ */
+ @jakarta.annotation.Nullable
+ public String getVolS5m() {
+ return volS5m;
+ }
+
+ public void setVolS5m(@jakarta.annotation.Nullable String volS5m) {
+ this.volS5m = volS5m;
+ }
+
+ public MarketStatsStreamResponse volB1h(@jakarta.annotation.Nullable String volB1h) {
+ this.volB1h = volB1h;
+ return this;
+ }
+
+ /**
+ * 1-hour buy volume in USD.
+ *
+ * @return volB1h
+ */
+ @jakarta.annotation.Nullable
+ public String getVolB1h() {
+ return volB1h;
+ }
+
+ public void setVolB1h(@jakarta.annotation.Nullable String volB1h) {
+ this.volB1h = volB1h;
+ }
+
+ public MarketStatsStreamResponse volS1h(@jakarta.annotation.Nullable String volS1h) {
+ this.volS1h = volS1h;
+ return this;
+ }
+
+ /**
+ * 1-hour sell volume in USD.
+ *
+ * @return volS1h
+ */
+ @jakarta.annotation.Nullable
+ public String getVolS1h() {
+ return volS1h;
+ }
+
+ public void setVolS1h(@jakarta.annotation.Nullable String volS1h) {
+ this.volS1h = volS1h;
+ }
+
+ public MarketStatsStreamResponse volB4h(@jakarta.annotation.Nullable String volB4h) {
+ this.volB4h = volB4h;
+ return this;
+ }
+
+ /**
+ * 4-hour buy volume in USD.
+ *
+ * @return volB4h
+ */
+ @jakarta.annotation.Nullable
+ public String getVolB4h() {
+ return volB4h;
+ }
+
+ public void setVolB4h(@jakarta.annotation.Nullable String volB4h) {
+ this.volB4h = volB4h;
+ }
+
+ public MarketStatsStreamResponse volS4h(@jakarta.annotation.Nullable String volS4h) {
+ this.volS4h = volS4h;
+ return this;
+ }
+
+ /**
+ * 4-hour sell volume in USD.
+ *
+ * @return volS4h
+ */
+ @jakarta.annotation.Nullable
+ public String getVolS4h() {
+ return volS4h;
+ }
+
+ public void setVolS4h(@jakarta.annotation.Nullable String volS4h) {
+ this.volS4h = volS4h;
+ }
+
+ public MarketStatsStreamResponse volB24h(@jakarta.annotation.Nullable String volB24h) {
+ this.volB24h = volB24h;
+ return this;
+ }
+
+ /**
+ * 24-hour buy volume in USD.
+ *
+ * @return volB24h
+ */
+ @jakarta.annotation.Nullable
+ public String getVolB24h() {
+ return volB24h;
+ }
+
+ public void setVolB24h(@jakarta.annotation.Nullable String volB24h) {
+ this.volB24h = volB24h;
+ }
+
+ public MarketStatsStreamResponse volS24h(@jakarta.annotation.Nullable String volS24h) {
+ this.volS24h = volS24h;
+ return this;
+ }
+
+ /**
+ * 24-hour sell volume in USD.
+ *
+ * @return volS24h
+ */
+ @jakarta.annotation.Nullable
+ public String getVolS24h() {
+ return volS24h;
+ }
+
+ public void setVolS24h(@jakarta.annotation.Nullable String volS24h) {
+ this.volS24h = volS24h;
+ }
+
+ public MarketStatsStreamResponse txs5m(@jakarta.annotation.Nullable Integer txs5m) {
+ this.txs5m = txs5m;
+ return this;
+ }
+
+ /**
+ * 5-minute total transaction count.
+ *
+ * @return txs5m
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxs5m() {
+ return txs5m;
+ }
+
+ public void setTxs5m(@jakarta.annotation.Nullable Integer txs5m) {
+ this.txs5m = txs5m;
+ }
+
+ public MarketStatsStreamResponse txs1h(@jakarta.annotation.Nullable Integer txs1h) {
+ this.txs1h = txs1h;
+ return this;
+ }
+
+ /**
+ * 1-hour total transaction count.
+ *
+ * @return txs1h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxs1h() {
+ return txs1h;
+ }
+
+ public void setTxs1h(@jakarta.annotation.Nullable Integer txs1h) {
+ this.txs1h = txs1h;
+ }
+
+ public MarketStatsStreamResponse txs4h(@jakarta.annotation.Nullable Integer txs4h) {
+ this.txs4h = txs4h;
+ return this;
+ }
+
+ /**
+ * 4-hour total transaction count.
+ *
+ * @return txs4h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxs4h() {
+ return txs4h;
+ }
+
+ public void setTxs4h(@jakarta.annotation.Nullable Integer txs4h) {
+ this.txs4h = txs4h;
+ }
+
+ public MarketStatsStreamResponse txs24h(@jakarta.annotation.Nullable Integer txs24h) {
+ this.txs24h = txs24h;
+ return this;
+ }
+
+ /**
+ * 24-hour total transaction count.
+ *
+ * @return txs24h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxs24h() {
+ return txs24h;
+ }
+
+ public void setTxs24h(@jakarta.annotation.Nullable Integer txs24h) {
+ this.txs24h = txs24h;
+ }
+
+ public MarketStatsStreamResponse txsB5m(@jakarta.annotation.Nullable Integer txsB5m) {
+ this.txsB5m = txsB5m;
+ return this;
+ }
+
+ /**
+ * 5-minute buy transaction count.
+ *
+ * @return txsB5m
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxsB5m() {
+ return txsB5m;
+ }
+
+ public void setTxsB5m(@jakarta.annotation.Nullable Integer txsB5m) {
+ this.txsB5m = txsB5m;
+ }
+
+ public MarketStatsStreamResponse txsS5m(@jakarta.annotation.Nullable Integer txsS5m) {
+ this.txsS5m = txsS5m;
+ return this;
+ }
+
+ /**
+ * 5-minute sell transaction count.
+ *
+ * @return txsS5m
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxsS5m() {
+ return txsS5m;
+ }
+
+ public void setTxsS5m(@jakarta.annotation.Nullable Integer txsS5m) {
+ this.txsS5m = txsS5m;
+ }
+
+ public MarketStatsStreamResponse txsB1h(@jakarta.annotation.Nullable Integer txsB1h) {
+ this.txsB1h = txsB1h;
+ return this;
+ }
+
+ /**
+ * 1-hour buy transaction count.
+ *
+ * @return txsB1h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxsB1h() {
+ return txsB1h;
+ }
+
+ public void setTxsB1h(@jakarta.annotation.Nullable Integer txsB1h) {
+ this.txsB1h = txsB1h;
+ }
+
+ public MarketStatsStreamResponse txsS1h(@jakarta.annotation.Nullable Integer txsS1h) {
+ this.txsS1h = txsS1h;
+ return this;
+ }
+
+ /**
+ * 1-hour sell transaction count.
+ *
+ * @return txsS1h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxsS1h() {
+ return txsS1h;
+ }
+
+ public void setTxsS1h(@jakarta.annotation.Nullable Integer txsS1h) {
+ this.txsS1h = txsS1h;
+ }
+
+ public MarketStatsStreamResponse txsB4h(@jakarta.annotation.Nullable Integer txsB4h) {
+ this.txsB4h = txsB4h;
+ return this;
+ }
+
+ /**
+ * 4-hour buy transaction count.
+ *
+ * @return txsB4h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxsB4h() {
+ return txsB4h;
+ }
+
+ public void setTxsB4h(@jakarta.annotation.Nullable Integer txsB4h) {
+ this.txsB4h = txsB4h;
+ }
+
+ public MarketStatsStreamResponse txsS4h(@jakarta.annotation.Nullable Integer txsS4h) {
+ this.txsS4h = txsS4h;
+ return this;
+ }
+
+ /**
+ * 4-hour sell transaction count.
+ *
+ * @return txsS4h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxsS4h() {
+ return txsS4h;
+ }
+
+ public void setTxsS4h(@jakarta.annotation.Nullable Integer txsS4h) {
+ this.txsS4h = txsS4h;
+ }
+
+ public MarketStatsStreamResponse txsB24h(@jakarta.annotation.Nullable Integer txsB24h) {
+ this.txsB24h = txsB24h;
+ return this;
+ }
+
+ /**
+ * 24-hour buy transaction count.
+ *
+ * @return txsB24h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxsB24h() {
+ return txsB24h;
+ }
+
+ public void setTxsB24h(@jakarta.annotation.Nullable Integer txsB24h) {
+ this.txsB24h = txsB24h;
+ }
+
+ public MarketStatsStreamResponse txsS24h(@jakarta.annotation.Nullable Integer txsS24h) {
+ this.txsS24h = txsS24h;
+ return this;
+ }
+
+ /**
+ * 24-hour sell transaction count.
+ *
+ * @return txsS24h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getTxsS24h() {
+ return txsS24h;
+ }
+
+ public void setTxsS24h(@jakarta.annotation.Nullable Integer txsS24h) {
+ this.txsS24h = txsS24h;
+ }
+
+ public MarketStatsStreamResponse cs(@jakarta.annotation.Nullable String cs) {
+ this.cs = cs;
+ return this;
+ }
+
+ /**
+ * Circulating supply.
+ *
+ * @return cs
+ */
+ @jakarta.annotation.Nullable
+ public String getCs() {
+ return cs;
+ }
+
+ public void setCs(@jakarta.annotation.Nullable String cs) {
+ this.cs = cs;
+ }
+
+ public MarketStatsStreamResponse mc(@jakarta.annotation.Nullable String mc) {
+ this.mc = mc;
+ return this;
+ }
+
+ /**
+ * Market cap in USD.
+ *
+ * @return mc
+ */
+ @jakarta.annotation.Nullable
+ public String getMc() {
+ return mc;
+ }
+
+ public void setMc(@jakarta.annotation.Nullable String mc) {
+ this.mc = mc;
+ }
+
+ public MarketStatsStreamResponse liq(@jakarta.annotation.Nullable String liq) {
+ this.liq = liq;
+ return this;
+ }
+
+ /**
+ * Liquidity in USD.
+ *
+ * @return liq
+ */
+ @jakarta.annotation.Nullable
+ public String getLiq() {
+ return liq;
+ }
+
+ public void setLiq(@jakarta.annotation.Nullable String liq) {
+ this.liq = liq;
+ }
+
+ public MarketStatsStreamResponse holders(@jakarta.annotation.Nullable Integer holders) {
+ this.holders = holders;
+ return this;
+ }
+
+ /**
+ * Number of holder addresses.
+ *
+ * @return holders
+ */
+ @jakarta.annotation.Nullable
+ public Integer getHolders() {
+ return holders;
+ }
+
+ public void setHolders(@jakarta.annotation.Nullable Integer holders) {
+ this.holders = holders;
+ }
+
+ public MarketStatsStreamResponse bnVol5m(@jakarta.annotation.Nullable String bnVol5m) {
+ this.bnVol5m = bnVol5m;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 5-minute total volume in USD.
+ *
+ * @return bnVol5m
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVol5m() {
+ return bnVol5m;
+ }
+
+ public void setBnVol5m(@jakarta.annotation.Nullable String bnVol5m) {
+ this.bnVol5m = bnVol5m;
+ }
+
+ public MarketStatsStreamResponse bnVol1h(@jakarta.annotation.Nullable String bnVol1h) {
+ this.bnVol1h = bnVol1h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 1-hour total volume in USD.
+ *
+ * @return bnVol1h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVol1h() {
+ return bnVol1h;
+ }
+
+ public void setBnVol1h(@jakarta.annotation.Nullable String bnVol1h) {
+ this.bnVol1h = bnVol1h;
+ }
+
+ public MarketStatsStreamResponse bnVol4h(@jakarta.annotation.Nullable String bnVol4h) {
+ this.bnVol4h = bnVol4h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 4-hour total volume in USD.
+ *
+ * @return bnVol4h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVol4h() {
+ return bnVol4h;
+ }
+
+ public void setBnVol4h(@jakarta.annotation.Nullable String bnVol4h) {
+ this.bnVol4h = bnVol4h;
+ }
+
+ public MarketStatsStreamResponse bnVol24h(@jakarta.annotation.Nullable String bnVol24h) {
+ this.bnVol24h = bnVol24h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 24-hour total volume in USD.
+ *
+ * @return bnVol24h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVol24h() {
+ return bnVol24h;
+ }
+
+ public void setBnVol24h(@jakarta.annotation.Nullable String bnVol24h) {
+ this.bnVol24h = bnVol24h;
+ }
+
+ public MarketStatsStreamResponse bnVolB5m(@jakarta.annotation.Nullable String bnVolB5m) {
+ this.bnVolB5m = bnVolB5m;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 5-minute buy volume in USD.
+ *
+ * @return bnVolB5m
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVolB5m() {
+ return bnVolB5m;
+ }
+
+ public void setBnVolB5m(@jakarta.annotation.Nullable String bnVolB5m) {
+ this.bnVolB5m = bnVolB5m;
+ }
+
+ public MarketStatsStreamResponse bnVolS5m(@jakarta.annotation.Nullable String bnVolS5m) {
+ this.bnVolS5m = bnVolS5m;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 5-minute sell volume in USD.
+ *
+ * @return bnVolS5m
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVolS5m() {
+ return bnVolS5m;
+ }
+
+ public void setBnVolS5m(@jakarta.annotation.Nullable String bnVolS5m) {
+ this.bnVolS5m = bnVolS5m;
+ }
+
+ public MarketStatsStreamResponse bnVolB1h(@jakarta.annotation.Nullable String bnVolB1h) {
+ this.bnVolB1h = bnVolB1h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 1-hour buy volume in USD.
+ *
+ * @return bnVolB1h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVolB1h() {
+ return bnVolB1h;
+ }
+
+ public void setBnVolB1h(@jakarta.annotation.Nullable String bnVolB1h) {
+ this.bnVolB1h = bnVolB1h;
+ }
+
+ public MarketStatsStreamResponse bnVolS1h(@jakarta.annotation.Nullable String bnVolS1h) {
+ this.bnVolS1h = bnVolS1h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 1-hour sell volume in USD.
+ *
+ * @return bnVolS1h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVolS1h() {
+ return bnVolS1h;
+ }
+
+ public void setBnVolS1h(@jakarta.annotation.Nullable String bnVolS1h) {
+ this.bnVolS1h = bnVolS1h;
+ }
+
+ public MarketStatsStreamResponse bnVolB4h(@jakarta.annotation.Nullable String bnVolB4h) {
+ this.bnVolB4h = bnVolB4h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 4-hour buy volume in USD.
+ *
+ * @return bnVolB4h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVolB4h() {
+ return bnVolB4h;
+ }
+
+ public void setBnVolB4h(@jakarta.annotation.Nullable String bnVolB4h) {
+ this.bnVolB4h = bnVolB4h;
+ }
+
+ public MarketStatsStreamResponse bnVolS4h(@jakarta.annotation.Nullable String bnVolS4h) {
+ this.bnVolS4h = bnVolS4h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 4-hour sell volume in USD.
+ *
+ * @return bnVolS4h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVolS4h() {
+ return bnVolS4h;
+ }
+
+ public void setBnVolS4h(@jakarta.annotation.Nullable String bnVolS4h) {
+ this.bnVolS4h = bnVolS4h;
+ }
+
+ public MarketStatsStreamResponse bnVolB24h(@jakarta.annotation.Nullable String bnVolB24h) {
+ this.bnVolB24h = bnVolB24h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 24-hour buy volume in USD.
+ *
+ * @return bnVolB24h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVolB24h() {
+ return bnVolB24h;
+ }
+
+ public void setBnVolB24h(@jakarta.annotation.Nullable String bnVolB24h) {
+ this.bnVolB24h = bnVolB24h;
+ }
+
+ public MarketStatsStreamResponse bnVolS24h(@jakarta.annotation.Nullable String bnVolS24h) {
+ this.bnVolS24h = bnVolS24h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 24-hour sell volume in USD.
+ *
+ * @return bnVolS24h
+ */
+ @jakarta.annotation.Nullable
+ public String getBnVolS24h() {
+ return bnVolS24h;
+ }
+
+ public void setBnVolS24h(@jakarta.annotation.Nullable String bnVolS24h) {
+ this.bnVolS24h = bnVolS24h;
+ }
+
+ public MarketStatsStreamResponse bnTxs5m(@jakarta.annotation.Nullable Integer bnTxs5m) {
+ this.bnTxs5m = bnTxs5m;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 5-minute total transaction count.
+ *
+ * @return bnTxs5m
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxs5m() {
+ return bnTxs5m;
+ }
+
+ public void setBnTxs5m(@jakarta.annotation.Nullable Integer bnTxs5m) {
+ this.bnTxs5m = bnTxs5m;
+ }
+
+ public MarketStatsStreamResponse bnTxs1h(@jakarta.annotation.Nullable Integer bnTxs1h) {
+ this.bnTxs1h = bnTxs1h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 1-hour total transaction count.
+ *
+ * @return bnTxs1h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxs1h() {
+ return bnTxs1h;
+ }
+
+ public void setBnTxs1h(@jakarta.annotation.Nullable Integer bnTxs1h) {
+ this.bnTxs1h = bnTxs1h;
+ }
+
+ public MarketStatsStreamResponse bnTxs4h(@jakarta.annotation.Nullable Integer bnTxs4h) {
+ this.bnTxs4h = bnTxs4h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 4-hour total transaction count.
+ *
+ * @return bnTxs4h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxs4h() {
+ return bnTxs4h;
+ }
+
+ public void setBnTxs4h(@jakarta.annotation.Nullable Integer bnTxs4h) {
+ this.bnTxs4h = bnTxs4h;
+ }
+
+ public MarketStatsStreamResponse bnTxs24h(@jakarta.annotation.Nullable Integer bnTxs24h) {
+ this.bnTxs24h = bnTxs24h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 24-hour total transaction count.
+ *
+ * @return bnTxs24h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxs24h() {
+ return bnTxs24h;
+ }
+
+ public void setBnTxs24h(@jakarta.annotation.Nullable Integer bnTxs24h) {
+ this.bnTxs24h = bnTxs24h;
+ }
+
+ public MarketStatsStreamResponse bnTxsB5m(@jakarta.annotation.Nullable Integer bnTxsB5m) {
+ this.bnTxsB5m = bnTxsB5m;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 5-minute buy transaction count.
+ *
+ * @return bnTxsB5m
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxsB5m() {
+ return bnTxsB5m;
+ }
+
+ public void setBnTxsB5m(@jakarta.annotation.Nullable Integer bnTxsB5m) {
+ this.bnTxsB5m = bnTxsB5m;
+ }
+
+ public MarketStatsStreamResponse bnTxsS5m(@jakarta.annotation.Nullable Integer bnTxsS5m) {
+ this.bnTxsS5m = bnTxsS5m;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 5-minute sell transaction count.
+ *
+ * @return bnTxsS5m
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxsS5m() {
+ return bnTxsS5m;
+ }
+
+ public void setBnTxsS5m(@jakarta.annotation.Nullable Integer bnTxsS5m) {
+ this.bnTxsS5m = bnTxsS5m;
+ }
+
+ public MarketStatsStreamResponse bnTxsB1h(@jakarta.annotation.Nullable Integer bnTxsB1h) {
+ this.bnTxsB1h = bnTxsB1h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 1-hour buy transaction count.
+ *
+ * @return bnTxsB1h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxsB1h() {
+ return bnTxsB1h;
+ }
+
+ public void setBnTxsB1h(@jakarta.annotation.Nullable Integer bnTxsB1h) {
+ this.bnTxsB1h = bnTxsB1h;
+ }
+
+ public MarketStatsStreamResponse bnTxsS1h(@jakarta.annotation.Nullable Integer bnTxsS1h) {
+ this.bnTxsS1h = bnTxsS1h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 1-hour sell transaction count.
+ *
+ * @return bnTxsS1h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxsS1h() {
+ return bnTxsS1h;
+ }
+
+ public void setBnTxsS1h(@jakarta.annotation.Nullable Integer bnTxsS1h) {
+ this.bnTxsS1h = bnTxsS1h;
+ }
+
+ public MarketStatsStreamResponse bnTxsB4h(@jakarta.annotation.Nullable Integer bnTxsB4h) {
+ this.bnTxsB4h = bnTxsB4h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 4-hour buy transaction count.
+ *
+ * @return bnTxsB4h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxsB4h() {
+ return bnTxsB4h;
+ }
+
+ public void setBnTxsB4h(@jakarta.annotation.Nullable Integer bnTxsB4h) {
+ this.bnTxsB4h = bnTxsB4h;
+ }
+
+ public MarketStatsStreamResponse bnTxsS4h(@jakarta.annotation.Nullable Integer bnTxsS4h) {
+ this.bnTxsS4h = bnTxsS4h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 4-hour sell transaction count.
+ *
+ * @return bnTxsS4h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxsS4h() {
+ return bnTxsS4h;
+ }
+
+ public void setBnTxsS4h(@jakarta.annotation.Nullable Integer bnTxsS4h) {
+ this.bnTxsS4h = bnTxsS4h;
+ }
+
+ public MarketStatsStreamResponse bnTxsB24h(@jakarta.annotation.Nullable Integer bnTxsB24h) {
+ this.bnTxsB24h = bnTxsB24h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 24-hour buy transaction count.
+ *
+ * @return bnTxsB24h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxsB24h() {
+ return bnTxsB24h;
+ }
+
+ public void setBnTxsB24h(@jakarta.annotation.Nullable Integer bnTxsB24h) {
+ this.bnTxsB24h = bnTxsB24h;
+ }
+
+ public MarketStatsStreamResponse bnTxsS24h(@jakarta.annotation.Nullable Integer bnTxsS24h) {
+ this.bnTxsS24h = bnTxsS24h;
+ return this;
+ }
+
+ /**
+ * Binance MPC wallet (trading via Binance Web3 DEX) 24-hour sell transaction count.
+ *
+ * @return bnTxsS24h
+ */
+ @jakarta.annotation.Nullable
+ public Integer getBnTxsS24h() {
+ return bnTxsS24h;
+ }
+
+ public void setBnTxsS24h(@jakarta.annotation.Nullable Integer bnTxsS24h) {
+ this.bnTxsS24h = bnTxsS24h;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ MarketStatsStreamResponse marketStatsStreamResponse = (MarketStatsStreamResponse) o;
+ return Objects.equals(this.pLowerCase, marketStatsStreamResponse.pLowerCase)
+ && Objects.equals(this.tLowerCase, marketStatsStreamResponse.tLowerCase)
+ && Objects.equals(this.pc5m, marketStatsStreamResponse.pc5m)
+ && Objects.equals(this.pc1h, marketStatsStreamResponse.pc1h)
+ && Objects.equals(this.pc4h, marketStatsStreamResponse.pc4h)
+ && Objects.equals(this.pc24h, marketStatsStreamResponse.pc24h)
+ && Objects.equals(this.vol5m, marketStatsStreamResponse.vol5m)
+ && Objects.equals(this.vol1h, marketStatsStreamResponse.vol1h)
+ && Objects.equals(this.vol4h, marketStatsStreamResponse.vol4h)
+ && Objects.equals(this.vol24h, marketStatsStreamResponse.vol24h)
+ && Objects.equals(this.volB5m, marketStatsStreamResponse.volB5m)
+ && Objects.equals(this.volS5m, marketStatsStreamResponse.volS5m)
+ && Objects.equals(this.volB1h, marketStatsStreamResponse.volB1h)
+ && Objects.equals(this.volS1h, marketStatsStreamResponse.volS1h)
+ && Objects.equals(this.volB4h, marketStatsStreamResponse.volB4h)
+ && Objects.equals(this.volS4h, marketStatsStreamResponse.volS4h)
+ && Objects.equals(this.volB24h, marketStatsStreamResponse.volB24h)
+ && Objects.equals(this.volS24h, marketStatsStreamResponse.volS24h)
+ && Objects.equals(this.txs5m, marketStatsStreamResponse.txs5m)
+ && Objects.equals(this.txs1h, marketStatsStreamResponse.txs1h)
+ && Objects.equals(this.txs4h, marketStatsStreamResponse.txs4h)
+ && Objects.equals(this.txs24h, marketStatsStreamResponse.txs24h)
+ && Objects.equals(this.txsB5m, marketStatsStreamResponse.txsB5m)
+ && Objects.equals(this.txsS5m, marketStatsStreamResponse.txsS5m)
+ && Objects.equals(this.txsB1h, marketStatsStreamResponse.txsB1h)
+ && Objects.equals(this.txsS1h, marketStatsStreamResponse.txsS1h)
+ && Objects.equals(this.txsB4h, marketStatsStreamResponse.txsB4h)
+ && Objects.equals(this.txsS4h, marketStatsStreamResponse.txsS4h)
+ && Objects.equals(this.txsB24h, marketStatsStreamResponse.txsB24h)
+ && Objects.equals(this.txsS24h, marketStatsStreamResponse.txsS24h)
+ && Objects.equals(this.cs, marketStatsStreamResponse.cs)
+ && Objects.equals(this.mc, marketStatsStreamResponse.mc)
+ && Objects.equals(this.liq, marketStatsStreamResponse.liq)
+ && Objects.equals(this.holders, marketStatsStreamResponse.holders)
+ && Objects.equals(this.bnVol5m, marketStatsStreamResponse.bnVol5m)
+ && Objects.equals(this.bnVol1h, marketStatsStreamResponse.bnVol1h)
+ && Objects.equals(this.bnVol4h, marketStatsStreamResponse.bnVol4h)
+ && Objects.equals(this.bnVol24h, marketStatsStreamResponse.bnVol24h)
+ && Objects.equals(this.bnVolB5m, marketStatsStreamResponse.bnVolB5m)
+ && Objects.equals(this.bnVolS5m, marketStatsStreamResponse.bnVolS5m)
+ && Objects.equals(this.bnVolB1h, marketStatsStreamResponse.bnVolB1h)
+ && Objects.equals(this.bnVolS1h, marketStatsStreamResponse.bnVolS1h)
+ && Objects.equals(this.bnVolB4h, marketStatsStreamResponse.bnVolB4h)
+ && Objects.equals(this.bnVolS4h, marketStatsStreamResponse.bnVolS4h)
+ && Objects.equals(this.bnVolB24h, marketStatsStreamResponse.bnVolB24h)
+ && Objects.equals(this.bnVolS24h, marketStatsStreamResponse.bnVolS24h)
+ && Objects.equals(this.bnTxs5m, marketStatsStreamResponse.bnTxs5m)
+ && Objects.equals(this.bnTxs1h, marketStatsStreamResponse.bnTxs1h)
+ && Objects.equals(this.bnTxs4h, marketStatsStreamResponse.bnTxs4h)
+ && Objects.equals(this.bnTxs24h, marketStatsStreamResponse.bnTxs24h)
+ && Objects.equals(this.bnTxsB5m, marketStatsStreamResponse.bnTxsB5m)
+ && Objects.equals(this.bnTxsS5m, marketStatsStreamResponse.bnTxsS5m)
+ && Objects.equals(this.bnTxsB1h, marketStatsStreamResponse.bnTxsB1h)
+ && Objects.equals(this.bnTxsS1h, marketStatsStreamResponse.bnTxsS1h)
+ && Objects.equals(this.bnTxsB4h, marketStatsStreamResponse.bnTxsB4h)
+ && Objects.equals(this.bnTxsS4h, marketStatsStreamResponse.bnTxsS4h)
+ && Objects.equals(this.bnTxsB24h, marketStatsStreamResponse.bnTxsB24h)
+ && Objects.equals(this.bnTxsS24h, marketStatsStreamResponse.bnTxsS24h);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ pLowerCase,
+ tLowerCase,
+ pc5m,
+ pc1h,
+ pc4h,
+ pc24h,
+ vol5m,
+ vol1h,
+ vol4h,
+ vol24h,
+ volB5m,
+ volS5m,
+ volB1h,
+ volS1h,
+ volB4h,
+ volS4h,
+ volB24h,
+ volS24h,
+ txs5m,
+ txs1h,
+ txs4h,
+ txs24h,
+ txsB5m,
+ txsS5m,
+ txsB1h,
+ txsS1h,
+ txsB4h,
+ txsS4h,
+ txsB24h,
+ txsS24h,
+ cs,
+ mc,
+ liq,
+ holders,
+ bnVol5m,
+ bnVol1h,
+ bnVol4h,
+ bnVol24h,
+ bnVolB5m,
+ bnVolS5m,
+ bnVolB1h,
+ bnVolS1h,
+ bnVolB4h,
+ bnVolS4h,
+ bnVolB24h,
+ bnVolS24h,
+ bnTxs5m,
+ bnTxs1h,
+ bnTxs4h,
+ bnTxs24h,
+ bnTxsB5m,
+ bnTxsS5m,
+ bnTxsB1h,
+ bnTxsS1h,
+ bnTxsB4h,
+ bnTxsS4h,
+ bnTxsB24h,
+ bnTxsS24h);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MarketStatsStreamResponse {\n");
+ sb.append(" pLowerCase: ").append(toIndentedString(pLowerCase)).append("\n");
+ sb.append(" tLowerCase: ").append(toIndentedString(tLowerCase)).append("\n");
+ sb.append(" pc5m: ").append(toIndentedString(pc5m)).append("\n");
+ sb.append(" pc1h: ").append(toIndentedString(pc1h)).append("\n");
+ sb.append(" pc4h: ").append(toIndentedString(pc4h)).append("\n");
+ sb.append(" pc24h: ").append(toIndentedString(pc24h)).append("\n");
+ sb.append(" vol5m: ").append(toIndentedString(vol5m)).append("\n");
+ sb.append(" vol1h: ").append(toIndentedString(vol1h)).append("\n");
+ sb.append(" vol4h: ").append(toIndentedString(vol4h)).append("\n");
+ sb.append(" vol24h: ").append(toIndentedString(vol24h)).append("\n");
+ sb.append(" volB5m: ").append(toIndentedString(volB5m)).append("\n");
+ sb.append(" volS5m: ").append(toIndentedString(volS5m)).append("\n");
+ sb.append(" volB1h: ").append(toIndentedString(volB1h)).append("\n");
+ sb.append(" volS1h: ").append(toIndentedString(volS1h)).append("\n");
+ sb.append(" volB4h: ").append(toIndentedString(volB4h)).append("\n");
+ sb.append(" volS4h: ").append(toIndentedString(volS4h)).append("\n");
+ sb.append(" volB24h: ").append(toIndentedString(volB24h)).append("\n");
+ sb.append(" volS24h: ").append(toIndentedString(volS24h)).append("\n");
+ sb.append(" txs5m: ").append(toIndentedString(txs5m)).append("\n");
+ sb.append(" txs1h: ").append(toIndentedString(txs1h)).append("\n");
+ sb.append(" txs4h: ").append(toIndentedString(txs4h)).append("\n");
+ sb.append(" txs24h: ").append(toIndentedString(txs24h)).append("\n");
+ sb.append(" txsB5m: ").append(toIndentedString(txsB5m)).append("\n");
+ sb.append(" txsS5m: ").append(toIndentedString(txsS5m)).append("\n");
+ sb.append(" txsB1h: ").append(toIndentedString(txsB1h)).append("\n");
+ sb.append(" txsS1h: ").append(toIndentedString(txsS1h)).append("\n");
+ sb.append(" txsB4h: ").append(toIndentedString(txsB4h)).append("\n");
+ sb.append(" txsS4h: ").append(toIndentedString(txsS4h)).append("\n");
+ sb.append(" txsB24h: ").append(toIndentedString(txsB24h)).append("\n");
+ sb.append(" txsS24h: ").append(toIndentedString(txsS24h)).append("\n");
+ sb.append(" cs: ").append(toIndentedString(cs)).append("\n");
+ sb.append(" mc: ").append(toIndentedString(mc)).append("\n");
+ sb.append(" liq: ").append(toIndentedString(liq)).append("\n");
+ sb.append(" holders: ").append(toIndentedString(holders)).append("\n");
+ sb.append(" bnVol5m: ").append(toIndentedString(bnVol5m)).append("\n");
+ sb.append(" bnVol1h: ").append(toIndentedString(bnVol1h)).append("\n");
+ sb.append(" bnVol4h: ").append(toIndentedString(bnVol4h)).append("\n");
+ sb.append(" bnVol24h: ").append(toIndentedString(bnVol24h)).append("\n");
+ sb.append(" bnVolB5m: ").append(toIndentedString(bnVolB5m)).append("\n");
+ sb.append(" bnVolS5m: ").append(toIndentedString(bnVolS5m)).append("\n");
+ sb.append(" bnVolB1h: ").append(toIndentedString(bnVolB1h)).append("\n");
+ sb.append(" bnVolS1h: ").append(toIndentedString(bnVolS1h)).append("\n");
+ sb.append(" bnVolB4h: ").append(toIndentedString(bnVolB4h)).append("\n");
+ sb.append(" bnVolS4h: ").append(toIndentedString(bnVolS4h)).append("\n");
+ sb.append(" bnVolB24h: ").append(toIndentedString(bnVolB24h)).append("\n");
+ sb.append(" bnVolS24h: ").append(toIndentedString(bnVolS24h)).append("\n");
+ sb.append(" bnTxs5m: ").append(toIndentedString(bnTxs5m)).append("\n");
+ sb.append(" bnTxs1h: ").append(toIndentedString(bnTxs1h)).append("\n");
+ sb.append(" bnTxs4h: ").append(toIndentedString(bnTxs4h)).append("\n");
+ sb.append(" bnTxs24h: ").append(toIndentedString(bnTxs24h)).append("\n");
+ sb.append(" bnTxsB5m: ").append(toIndentedString(bnTxsB5m)).append("\n");
+ sb.append(" bnTxsS5m: ").append(toIndentedString(bnTxsS5m)).append("\n");
+ sb.append(" bnTxsB1h: ").append(toIndentedString(bnTxsB1h)).append("\n");
+ sb.append(" bnTxsS1h: ").append(toIndentedString(bnTxsS1h)).append("\n");
+ sb.append(" bnTxsB4h: ").append(toIndentedString(bnTxsB4h)).append("\n");
+ sb.append(" bnTxsS4h: ").append(toIndentedString(bnTxsS4h)).append("\n");
+ sb.append(" bnTxsB24h: ").append(toIndentedString(bnTxsB24h)).append("\n");
+ sb.append(" bnTxsS24h: ").append(toIndentedString(bnTxsS24h)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ public String toUrlQueryString() {
+ StringBuilder sb = new StringBuilder();
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ String pLowerCaseValue = getpLowerCase();
+ if (pLowerCaseValue != null) {
+ String pLowerCaseValueAsString = pLowerCaseValue.toString();
+ valMap.put("pLowerCase", pLowerCaseValueAsString);
+ }
+ Long tLowerCaseValue = gettLowerCase();
+ if (tLowerCaseValue != null) {
+ String tLowerCaseValueAsString = tLowerCaseValue.toString();
+ valMap.put("tLowerCase", tLowerCaseValueAsString);
+ }
+ String pc5mValue = getPc5m();
+ if (pc5mValue != null) {
+ String pc5mValueAsString = pc5mValue.toString();
+ valMap.put("pc5m", pc5mValueAsString);
+ }
+ String pc1hValue = getPc1h();
+ if (pc1hValue != null) {
+ String pc1hValueAsString = pc1hValue.toString();
+ valMap.put("pc1h", pc1hValueAsString);
+ }
+ String pc4hValue = getPc4h();
+ if (pc4hValue != null) {
+ String pc4hValueAsString = pc4hValue.toString();
+ valMap.put("pc4h", pc4hValueAsString);
+ }
+ String pc24hValue = getPc24h();
+ if (pc24hValue != null) {
+ String pc24hValueAsString = pc24hValue.toString();
+ valMap.put("pc24h", pc24hValueAsString);
+ }
+ String vol5mValue = getVol5m();
+ if (vol5mValue != null) {
+ String vol5mValueAsString = vol5mValue.toString();
+ valMap.put("vol5m", vol5mValueAsString);
+ }
+ String vol1hValue = getVol1h();
+ if (vol1hValue != null) {
+ String vol1hValueAsString = vol1hValue.toString();
+ valMap.put("vol1h", vol1hValueAsString);
+ }
+ String vol4hValue = getVol4h();
+ if (vol4hValue != null) {
+ String vol4hValueAsString = vol4hValue.toString();
+ valMap.put("vol4h", vol4hValueAsString);
+ }
+ String vol24hValue = getVol24h();
+ if (vol24hValue != null) {
+ String vol24hValueAsString = vol24hValue.toString();
+ valMap.put("vol24h", vol24hValueAsString);
+ }
+ String volB5mValue = getVolB5m();
+ if (volB5mValue != null) {
+ String volB5mValueAsString = volB5mValue.toString();
+ valMap.put("volB5m", volB5mValueAsString);
+ }
+ String volS5mValue = getVolS5m();
+ if (volS5mValue != null) {
+ String volS5mValueAsString = volS5mValue.toString();
+ valMap.put("volS5m", volS5mValueAsString);
+ }
+ String volB1hValue = getVolB1h();
+ if (volB1hValue != null) {
+ String volB1hValueAsString = volB1hValue.toString();
+ valMap.put("volB1h", volB1hValueAsString);
+ }
+ String volS1hValue = getVolS1h();
+ if (volS1hValue != null) {
+ String volS1hValueAsString = volS1hValue.toString();
+ valMap.put("volS1h", volS1hValueAsString);
+ }
+ String volB4hValue = getVolB4h();
+ if (volB4hValue != null) {
+ String volB4hValueAsString = volB4hValue.toString();
+ valMap.put("volB4h", volB4hValueAsString);
+ }
+ String volS4hValue = getVolS4h();
+ if (volS4hValue != null) {
+ String volS4hValueAsString = volS4hValue.toString();
+ valMap.put("volS4h", volS4hValueAsString);
+ }
+ String volB24hValue = getVolB24h();
+ if (volB24hValue != null) {
+ String volB24hValueAsString = volB24hValue.toString();
+ valMap.put("volB24h", volB24hValueAsString);
+ }
+ String volS24hValue = getVolS24h();
+ if (volS24hValue != null) {
+ String volS24hValueAsString = volS24hValue.toString();
+ valMap.put("volS24h", volS24hValueAsString);
+ }
+ Integer txs5mValue = getTxs5m();
+ if (txs5mValue != null) {
+ String txs5mValueAsString = txs5mValue.toString();
+ valMap.put("txs5m", txs5mValueAsString);
+ }
+ Integer txs1hValue = getTxs1h();
+ if (txs1hValue != null) {
+ String txs1hValueAsString = txs1hValue.toString();
+ valMap.put("txs1h", txs1hValueAsString);
+ }
+ Integer txs4hValue = getTxs4h();
+ if (txs4hValue != null) {
+ String txs4hValueAsString = txs4hValue.toString();
+ valMap.put("txs4h", txs4hValueAsString);
+ }
+ Integer txs24hValue = getTxs24h();
+ if (txs24hValue != null) {
+ String txs24hValueAsString = txs24hValue.toString();
+ valMap.put("txs24h", txs24hValueAsString);
+ }
+ Integer txsB5mValue = getTxsB5m();
+ if (txsB5mValue != null) {
+ String txsB5mValueAsString = txsB5mValue.toString();
+ valMap.put("txsB5m", txsB5mValueAsString);
+ }
+ Integer txsS5mValue = getTxsS5m();
+ if (txsS5mValue != null) {
+ String txsS5mValueAsString = txsS5mValue.toString();
+ valMap.put("txsS5m", txsS5mValueAsString);
+ }
+ Integer txsB1hValue = getTxsB1h();
+ if (txsB1hValue != null) {
+ String txsB1hValueAsString = txsB1hValue.toString();
+ valMap.put("txsB1h", txsB1hValueAsString);
+ }
+ Integer txsS1hValue = getTxsS1h();
+ if (txsS1hValue != null) {
+ String txsS1hValueAsString = txsS1hValue.toString();
+ valMap.put("txsS1h", txsS1hValueAsString);
+ }
+ Integer txsB4hValue = getTxsB4h();
+ if (txsB4hValue != null) {
+ String txsB4hValueAsString = txsB4hValue.toString();
+ valMap.put("txsB4h", txsB4hValueAsString);
+ }
+ Integer txsS4hValue = getTxsS4h();
+ if (txsS4hValue != null) {
+ String txsS4hValueAsString = txsS4hValue.toString();
+ valMap.put("txsS4h", txsS4hValueAsString);
+ }
+ Integer txsB24hValue = getTxsB24h();
+ if (txsB24hValue != null) {
+ String txsB24hValueAsString = txsB24hValue.toString();
+ valMap.put("txsB24h", txsB24hValueAsString);
+ }
+ Integer txsS24hValue = getTxsS24h();
+ if (txsS24hValue != null) {
+ String txsS24hValueAsString = txsS24hValue.toString();
+ valMap.put("txsS24h", txsS24hValueAsString);
+ }
+ String csValue = getCs();
+ if (csValue != null) {
+ String csValueAsString = csValue.toString();
+ valMap.put("cs", csValueAsString);
+ }
+ String mcValue = getMc();
+ if (mcValue != null) {
+ String mcValueAsString = mcValue.toString();
+ valMap.put("mc", mcValueAsString);
+ }
+ String liqValue = getLiq();
+ if (liqValue != null) {
+ String liqValueAsString = liqValue.toString();
+ valMap.put("liq", liqValueAsString);
+ }
+ Integer holdersValue = getHolders();
+ if (holdersValue != null) {
+ String holdersValueAsString = holdersValue.toString();
+ valMap.put("holders", holdersValueAsString);
+ }
+ String bnVol5mValue = getBnVol5m();
+ if (bnVol5mValue != null) {
+ String bnVol5mValueAsString = bnVol5mValue.toString();
+ valMap.put("bnVol5m", bnVol5mValueAsString);
+ }
+ String bnVol1hValue = getBnVol1h();
+ if (bnVol1hValue != null) {
+ String bnVol1hValueAsString = bnVol1hValue.toString();
+ valMap.put("bnVol1h", bnVol1hValueAsString);
+ }
+ String bnVol4hValue = getBnVol4h();
+ if (bnVol4hValue != null) {
+ String bnVol4hValueAsString = bnVol4hValue.toString();
+ valMap.put("bnVol4h", bnVol4hValueAsString);
+ }
+ String bnVol24hValue = getBnVol24h();
+ if (bnVol24hValue != null) {
+ String bnVol24hValueAsString = bnVol24hValue.toString();
+ valMap.put("bnVol24h", bnVol24hValueAsString);
+ }
+ String bnVolB5mValue = getBnVolB5m();
+ if (bnVolB5mValue != null) {
+ String bnVolB5mValueAsString = bnVolB5mValue.toString();
+ valMap.put("bnVolB5m", bnVolB5mValueAsString);
+ }
+ String bnVolS5mValue = getBnVolS5m();
+ if (bnVolS5mValue != null) {
+ String bnVolS5mValueAsString = bnVolS5mValue.toString();
+ valMap.put("bnVolS5m", bnVolS5mValueAsString);
+ }
+ String bnVolB1hValue = getBnVolB1h();
+ if (bnVolB1hValue != null) {
+ String bnVolB1hValueAsString = bnVolB1hValue.toString();
+ valMap.put("bnVolB1h", bnVolB1hValueAsString);
+ }
+ String bnVolS1hValue = getBnVolS1h();
+ if (bnVolS1hValue != null) {
+ String bnVolS1hValueAsString = bnVolS1hValue.toString();
+ valMap.put("bnVolS1h", bnVolS1hValueAsString);
+ }
+ String bnVolB4hValue = getBnVolB4h();
+ if (bnVolB4hValue != null) {
+ String bnVolB4hValueAsString = bnVolB4hValue.toString();
+ valMap.put("bnVolB4h", bnVolB4hValueAsString);
+ }
+ String bnVolS4hValue = getBnVolS4h();
+ if (bnVolS4hValue != null) {
+ String bnVolS4hValueAsString = bnVolS4hValue.toString();
+ valMap.put("bnVolS4h", bnVolS4hValueAsString);
+ }
+ String bnVolB24hValue = getBnVolB24h();
+ if (bnVolB24hValue != null) {
+ String bnVolB24hValueAsString = bnVolB24hValue.toString();
+ valMap.put("bnVolB24h", bnVolB24hValueAsString);
+ }
+ String bnVolS24hValue = getBnVolS24h();
+ if (bnVolS24hValue != null) {
+ String bnVolS24hValueAsString = bnVolS24hValue.toString();
+ valMap.put("bnVolS24h", bnVolS24hValueAsString);
+ }
+ Integer bnTxs5mValue = getBnTxs5m();
+ if (bnTxs5mValue != null) {
+ String bnTxs5mValueAsString = bnTxs5mValue.toString();
+ valMap.put("bnTxs5m", bnTxs5mValueAsString);
+ }
+ Integer bnTxs1hValue = getBnTxs1h();
+ if (bnTxs1hValue != null) {
+ String bnTxs1hValueAsString = bnTxs1hValue.toString();
+ valMap.put("bnTxs1h", bnTxs1hValueAsString);
+ }
+ Integer bnTxs4hValue = getBnTxs4h();
+ if (bnTxs4hValue != null) {
+ String bnTxs4hValueAsString = bnTxs4hValue.toString();
+ valMap.put("bnTxs4h", bnTxs4hValueAsString);
+ }
+ Integer bnTxs24hValue = getBnTxs24h();
+ if (bnTxs24hValue != null) {
+ String bnTxs24hValueAsString = bnTxs24hValue.toString();
+ valMap.put("bnTxs24h", bnTxs24hValueAsString);
+ }
+ Integer bnTxsB5mValue = getBnTxsB5m();
+ if (bnTxsB5mValue != null) {
+ String bnTxsB5mValueAsString = bnTxsB5mValue.toString();
+ valMap.put("bnTxsB5m", bnTxsB5mValueAsString);
+ }
+ Integer bnTxsS5mValue = getBnTxsS5m();
+ if (bnTxsS5mValue != null) {
+ String bnTxsS5mValueAsString = bnTxsS5mValue.toString();
+ valMap.put("bnTxsS5m", bnTxsS5mValueAsString);
+ }
+ Integer bnTxsB1hValue = getBnTxsB1h();
+ if (bnTxsB1hValue != null) {
+ String bnTxsB1hValueAsString = bnTxsB1hValue.toString();
+ valMap.put("bnTxsB1h", bnTxsB1hValueAsString);
+ }
+ Integer bnTxsS1hValue = getBnTxsS1h();
+ if (bnTxsS1hValue != null) {
+ String bnTxsS1hValueAsString = bnTxsS1hValue.toString();
+ valMap.put("bnTxsS1h", bnTxsS1hValueAsString);
+ }
+ Integer bnTxsB4hValue = getBnTxsB4h();
+ if (bnTxsB4hValue != null) {
+ String bnTxsB4hValueAsString = bnTxsB4hValue.toString();
+ valMap.put("bnTxsB4h", bnTxsB4hValueAsString);
+ }
+ Integer bnTxsS4hValue = getBnTxsS4h();
+ if (bnTxsS4hValue != null) {
+ String bnTxsS4hValueAsString = bnTxsS4hValue.toString();
+ valMap.put("bnTxsS4h", bnTxsS4hValueAsString);
+ }
+ Integer bnTxsB24hValue = getBnTxsB24h();
+ if (bnTxsB24hValue != null) {
+ String bnTxsB24hValueAsString = bnTxsB24hValue.toString();
+ valMap.put("bnTxsB24h", bnTxsB24hValueAsString);
+ }
+ Integer bnTxsS24hValue = getBnTxsS24h();
+ if (bnTxsS24hValue != null) {
+ String bnTxsS24hValueAsString = bnTxsS24hValue.toString();
+ valMap.put("bnTxsS24h", bnTxsS24hValueAsString);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return asciiEncode(
+ valMap.keySet().stream()
+ .map(key -> key + "=" + valMap.get(key))
+ .collect(Collectors.joining("&")));
+ }
+
+ public Map toMap() {
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ Object pLowerCaseValue = getpLowerCase();
+ if (pLowerCaseValue != null) {
+ valMap.put("pLowerCase", pLowerCaseValue);
+ }
+ Object tLowerCaseValue = gettLowerCase();
+ if (tLowerCaseValue != null) {
+ valMap.put("tLowerCase", tLowerCaseValue);
+ }
+ Object pc5mValue = getPc5m();
+ if (pc5mValue != null) {
+ valMap.put("pc5m", pc5mValue);
+ }
+ Object pc1hValue = getPc1h();
+ if (pc1hValue != null) {
+ valMap.put("pc1h", pc1hValue);
+ }
+ Object pc4hValue = getPc4h();
+ if (pc4hValue != null) {
+ valMap.put("pc4h", pc4hValue);
+ }
+ Object pc24hValue = getPc24h();
+ if (pc24hValue != null) {
+ valMap.put("pc24h", pc24hValue);
+ }
+ Object vol5mValue = getVol5m();
+ if (vol5mValue != null) {
+ valMap.put("vol5m", vol5mValue);
+ }
+ Object vol1hValue = getVol1h();
+ if (vol1hValue != null) {
+ valMap.put("vol1h", vol1hValue);
+ }
+ Object vol4hValue = getVol4h();
+ if (vol4hValue != null) {
+ valMap.put("vol4h", vol4hValue);
+ }
+ Object vol24hValue = getVol24h();
+ if (vol24hValue != null) {
+ valMap.put("vol24h", vol24hValue);
+ }
+ Object volB5mValue = getVolB5m();
+ if (volB5mValue != null) {
+ valMap.put("volB5m", volB5mValue);
+ }
+ Object volS5mValue = getVolS5m();
+ if (volS5mValue != null) {
+ valMap.put("volS5m", volS5mValue);
+ }
+ Object volB1hValue = getVolB1h();
+ if (volB1hValue != null) {
+ valMap.put("volB1h", volB1hValue);
+ }
+ Object volS1hValue = getVolS1h();
+ if (volS1hValue != null) {
+ valMap.put("volS1h", volS1hValue);
+ }
+ Object volB4hValue = getVolB4h();
+ if (volB4hValue != null) {
+ valMap.put("volB4h", volB4hValue);
+ }
+ Object volS4hValue = getVolS4h();
+ if (volS4hValue != null) {
+ valMap.put("volS4h", volS4hValue);
+ }
+ Object volB24hValue = getVolB24h();
+ if (volB24hValue != null) {
+ valMap.put("volB24h", volB24hValue);
+ }
+ Object volS24hValue = getVolS24h();
+ if (volS24hValue != null) {
+ valMap.put("volS24h", volS24hValue);
+ }
+ Object txs5mValue = getTxs5m();
+ if (txs5mValue != null) {
+ valMap.put("txs5m", txs5mValue);
+ }
+ Object txs1hValue = getTxs1h();
+ if (txs1hValue != null) {
+ valMap.put("txs1h", txs1hValue);
+ }
+ Object txs4hValue = getTxs4h();
+ if (txs4hValue != null) {
+ valMap.put("txs4h", txs4hValue);
+ }
+ Object txs24hValue = getTxs24h();
+ if (txs24hValue != null) {
+ valMap.put("txs24h", txs24hValue);
+ }
+ Object txsB5mValue = getTxsB5m();
+ if (txsB5mValue != null) {
+ valMap.put("txsB5m", txsB5mValue);
+ }
+ Object txsS5mValue = getTxsS5m();
+ if (txsS5mValue != null) {
+ valMap.put("txsS5m", txsS5mValue);
+ }
+ Object txsB1hValue = getTxsB1h();
+ if (txsB1hValue != null) {
+ valMap.put("txsB1h", txsB1hValue);
+ }
+ Object txsS1hValue = getTxsS1h();
+ if (txsS1hValue != null) {
+ valMap.put("txsS1h", txsS1hValue);
+ }
+ Object txsB4hValue = getTxsB4h();
+ if (txsB4hValue != null) {
+ valMap.put("txsB4h", txsB4hValue);
+ }
+ Object txsS4hValue = getTxsS4h();
+ if (txsS4hValue != null) {
+ valMap.put("txsS4h", txsS4hValue);
+ }
+ Object txsB24hValue = getTxsB24h();
+ if (txsB24hValue != null) {
+ valMap.put("txsB24h", txsB24hValue);
+ }
+ Object txsS24hValue = getTxsS24h();
+ if (txsS24hValue != null) {
+ valMap.put("txsS24h", txsS24hValue);
+ }
+ Object csValue = getCs();
+ if (csValue != null) {
+ valMap.put("cs", csValue);
+ }
+ Object mcValue = getMc();
+ if (mcValue != null) {
+ valMap.put("mc", mcValue);
+ }
+ Object liqValue = getLiq();
+ if (liqValue != null) {
+ valMap.put("liq", liqValue);
+ }
+ Object holdersValue = getHolders();
+ if (holdersValue != null) {
+ valMap.put("holders", holdersValue);
+ }
+ Object bnVol5mValue = getBnVol5m();
+ if (bnVol5mValue != null) {
+ valMap.put("bnVol5m", bnVol5mValue);
+ }
+ Object bnVol1hValue = getBnVol1h();
+ if (bnVol1hValue != null) {
+ valMap.put("bnVol1h", bnVol1hValue);
+ }
+ Object bnVol4hValue = getBnVol4h();
+ if (bnVol4hValue != null) {
+ valMap.put("bnVol4h", bnVol4hValue);
+ }
+ Object bnVol24hValue = getBnVol24h();
+ if (bnVol24hValue != null) {
+ valMap.put("bnVol24h", bnVol24hValue);
+ }
+ Object bnVolB5mValue = getBnVolB5m();
+ if (bnVolB5mValue != null) {
+ valMap.put("bnVolB5m", bnVolB5mValue);
+ }
+ Object bnVolS5mValue = getBnVolS5m();
+ if (bnVolS5mValue != null) {
+ valMap.put("bnVolS5m", bnVolS5mValue);
+ }
+ Object bnVolB1hValue = getBnVolB1h();
+ if (bnVolB1hValue != null) {
+ valMap.put("bnVolB1h", bnVolB1hValue);
+ }
+ Object bnVolS1hValue = getBnVolS1h();
+ if (bnVolS1hValue != null) {
+ valMap.put("bnVolS1h", bnVolS1hValue);
+ }
+ Object bnVolB4hValue = getBnVolB4h();
+ if (bnVolB4hValue != null) {
+ valMap.put("bnVolB4h", bnVolB4hValue);
+ }
+ Object bnVolS4hValue = getBnVolS4h();
+ if (bnVolS4hValue != null) {
+ valMap.put("bnVolS4h", bnVolS4hValue);
+ }
+ Object bnVolB24hValue = getBnVolB24h();
+ if (bnVolB24hValue != null) {
+ valMap.put("bnVolB24h", bnVolB24hValue);
+ }
+ Object bnVolS24hValue = getBnVolS24h();
+ if (bnVolS24hValue != null) {
+ valMap.put("bnVolS24h", bnVolS24hValue);
+ }
+ Object bnTxs5mValue = getBnTxs5m();
+ if (bnTxs5mValue != null) {
+ valMap.put("bnTxs5m", bnTxs5mValue);
+ }
+ Object bnTxs1hValue = getBnTxs1h();
+ if (bnTxs1hValue != null) {
+ valMap.put("bnTxs1h", bnTxs1hValue);
+ }
+ Object bnTxs4hValue = getBnTxs4h();
+ if (bnTxs4hValue != null) {
+ valMap.put("bnTxs4h", bnTxs4hValue);
+ }
+ Object bnTxs24hValue = getBnTxs24h();
+ if (bnTxs24hValue != null) {
+ valMap.put("bnTxs24h", bnTxs24hValue);
+ }
+ Object bnTxsB5mValue = getBnTxsB5m();
+ if (bnTxsB5mValue != null) {
+ valMap.put("bnTxsB5m", bnTxsB5mValue);
+ }
+ Object bnTxsS5mValue = getBnTxsS5m();
+ if (bnTxsS5mValue != null) {
+ valMap.put("bnTxsS5m", bnTxsS5mValue);
+ }
+ Object bnTxsB1hValue = getBnTxsB1h();
+ if (bnTxsB1hValue != null) {
+ valMap.put("bnTxsB1h", bnTxsB1hValue);
+ }
+ Object bnTxsS1hValue = getBnTxsS1h();
+ if (bnTxsS1hValue != null) {
+ valMap.put("bnTxsS1h", bnTxsS1hValue);
+ }
+ Object bnTxsB4hValue = getBnTxsB4h();
+ if (bnTxsB4hValue != null) {
+ valMap.put("bnTxsB4h", bnTxsB4hValue);
+ }
+ Object bnTxsS4hValue = getBnTxsS4h();
+ if (bnTxsS4hValue != null) {
+ valMap.put("bnTxsS4h", bnTxsS4hValue);
+ }
+ Object bnTxsB24hValue = getBnTxsB24h();
+ if (bnTxsB24hValue != null) {
+ valMap.put("bnTxsB24h", bnTxsB24hValue);
+ }
+ Object bnTxsS24hValue = getBnTxsS24h();
+ if (bnTxsS24hValue != null) {
+ valMap.put("bnTxsS24h", bnTxsS24hValue);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return valMap;
+ }
+
+ public static String asciiEncode(String s) {
+ return new String(s.getBytes(), StandardCharsets.US_ASCII);
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet();
+ openapiFields.add("p");
+ openapiFields.add("t");
+ openapiFields.add("pc5m");
+ openapiFields.add("pc1h");
+ openapiFields.add("pc4h");
+ openapiFields.add("pc24h");
+ openapiFields.add("vol5m");
+ openapiFields.add("vol1h");
+ openapiFields.add("vol4h");
+ openapiFields.add("vol24h");
+ openapiFields.add("volB5m");
+ openapiFields.add("volS5m");
+ openapiFields.add("volB1h");
+ openapiFields.add("volS1h");
+ openapiFields.add("volB4h");
+ openapiFields.add("volS4h");
+ openapiFields.add("volB24h");
+ openapiFields.add("volS24h");
+ openapiFields.add("txs5m");
+ openapiFields.add("txs1h");
+ openapiFields.add("txs4h");
+ openapiFields.add("txs24h");
+ openapiFields.add("txsB5m");
+ openapiFields.add("txsS5m");
+ openapiFields.add("txsB1h");
+ openapiFields.add("txsS1h");
+ openapiFields.add("txsB4h");
+ openapiFields.add("txsS4h");
+ openapiFields.add("txsB24h");
+ openapiFields.add("txsS24h");
+ openapiFields.add("cs");
+ openapiFields.add("mc");
+ openapiFields.add("liq");
+ openapiFields.add("holders");
+ openapiFields.add("bnVol5m");
+ openapiFields.add("bnVol1h");
+ openapiFields.add("bnVol4h");
+ openapiFields.add("bnVol24h");
+ openapiFields.add("bnVolB5m");
+ openapiFields.add("bnVolS5m");
+ openapiFields.add("bnVolB1h");
+ openapiFields.add("bnVolS1h");
+ openapiFields.add("bnVolB4h");
+ openapiFields.add("bnVolS4h");
+ openapiFields.add("bnVolB24h");
+ openapiFields.add("bnVolS24h");
+ openapiFields.add("bnTxs5m");
+ openapiFields.add("bnTxs1h");
+ openapiFields.add("bnTxs4h");
+ openapiFields.add("bnTxs24h");
+ openapiFields.add("bnTxsB5m");
+ openapiFields.add("bnTxsS5m");
+ openapiFields.add("bnTxsB1h");
+ openapiFields.add("bnTxsS1h");
+ openapiFields.add("bnTxsB4h");
+ openapiFields.add("bnTxsS4h");
+ openapiFields.add("bnTxsB24h");
+ openapiFields.add("bnTxsS24h");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to MarketStatsStreamResponse
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!MarketStatsStreamResponse.openapiRequiredFields
+ .isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field(s) %s in MarketStatsStreamResponse is not found"
+ + " in the empty JSON string",
+ MarketStatsStreamResponse.openapiRequiredFields.toString()));
+ }
+ }
+
+ Set> entries = jsonElement.getAsJsonObject().entrySet();
+ // check to see if the JSON string contains additional fields
+ for (Map.Entry entry : entries) {
+ if (!MarketStatsStreamResponse.openapiFields.contains(entry.getKey())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The field `%s` in the JSON string is not defined in the"
+ + " `MarketStatsStreamResponse` properties. JSON: %s",
+ entry.getKey(), jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ if ((jsonObj.get("p") != null && !jsonObj.get("p").isJsonNull())
+ && !jsonObj.get("p").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `p` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("p").toString()));
+ }
+ if ((jsonObj.get("pc5m") != null && !jsonObj.get("pc5m").isJsonNull())
+ && !jsonObj.get("pc5m").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `pc5m` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("pc5m").toString()));
+ }
+ if ((jsonObj.get("pc1h") != null && !jsonObj.get("pc1h").isJsonNull())
+ && !jsonObj.get("pc1h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `pc1h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("pc1h").toString()));
+ }
+ if ((jsonObj.get("pc4h") != null && !jsonObj.get("pc4h").isJsonNull())
+ && !jsonObj.get("pc4h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `pc4h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("pc4h").toString()));
+ }
+ if ((jsonObj.get("pc24h") != null && !jsonObj.get("pc24h").isJsonNull())
+ && !jsonObj.get("pc24h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `pc24h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("pc24h").toString()));
+ }
+ if ((jsonObj.get("vol5m") != null && !jsonObj.get("vol5m").isJsonNull())
+ && !jsonObj.get("vol5m").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `vol5m` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("vol5m").toString()));
+ }
+ if ((jsonObj.get("vol1h") != null && !jsonObj.get("vol1h").isJsonNull())
+ && !jsonObj.get("vol1h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `vol1h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("vol1h").toString()));
+ }
+ if ((jsonObj.get("vol4h") != null && !jsonObj.get("vol4h").isJsonNull())
+ && !jsonObj.get("vol4h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `vol4h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("vol4h").toString()));
+ }
+ if ((jsonObj.get("vol24h") != null && !jsonObj.get("vol24h").isJsonNull())
+ && !jsonObj.get("vol24h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `vol24h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("vol24h").toString()));
+ }
+ if ((jsonObj.get("volB5m") != null && !jsonObj.get("volB5m").isJsonNull())
+ && !jsonObj.get("volB5m").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `volB5m` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("volB5m").toString()));
+ }
+ if ((jsonObj.get("volS5m") != null && !jsonObj.get("volS5m").isJsonNull())
+ && !jsonObj.get("volS5m").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `volS5m` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("volS5m").toString()));
+ }
+ if ((jsonObj.get("volB1h") != null && !jsonObj.get("volB1h").isJsonNull())
+ && !jsonObj.get("volB1h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `volB1h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("volB1h").toString()));
+ }
+ if ((jsonObj.get("volS1h") != null && !jsonObj.get("volS1h").isJsonNull())
+ && !jsonObj.get("volS1h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `volS1h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("volS1h").toString()));
+ }
+ if ((jsonObj.get("volB4h") != null && !jsonObj.get("volB4h").isJsonNull())
+ && !jsonObj.get("volB4h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `volB4h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("volB4h").toString()));
+ }
+ if ((jsonObj.get("volS4h") != null && !jsonObj.get("volS4h").isJsonNull())
+ && !jsonObj.get("volS4h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `volS4h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("volS4h").toString()));
+ }
+ if ((jsonObj.get("volB24h") != null && !jsonObj.get("volB24h").isJsonNull())
+ && !jsonObj.get("volB24h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `volB24h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("volB24h").toString()));
+ }
+ if ((jsonObj.get("volS24h") != null && !jsonObj.get("volS24h").isJsonNull())
+ && !jsonObj.get("volS24h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `volS24h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("volS24h").toString()));
+ }
+ if ((jsonObj.get("cs") != null && !jsonObj.get("cs").isJsonNull())
+ && !jsonObj.get("cs").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `cs` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("cs").toString()));
+ }
+ if ((jsonObj.get("mc") != null && !jsonObj.get("mc").isJsonNull())
+ && !jsonObj.get("mc").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `mc` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("mc").toString()));
+ }
+ if ((jsonObj.get("liq") != null && !jsonObj.get("liq").isJsonNull())
+ && !jsonObj.get("liq").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `liq` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("liq").toString()));
+ }
+ if ((jsonObj.get("bnVol5m") != null && !jsonObj.get("bnVol5m").isJsonNull())
+ && !jsonObj.get("bnVol5m").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVol5m` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("bnVol5m").toString()));
+ }
+ if ((jsonObj.get("bnVol1h") != null && !jsonObj.get("bnVol1h").isJsonNull())
+ && !jsonObj.get("bnVol1h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVol1h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("bnVol1h").toString()));
+ }
+ if ((jsonObj.get("bnVol4h") != null && !jsonObj.get("bnVol4h").isJsonNull())
+ && !jsonObj.get("bnVol4h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVol4h` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("bnVol4h").toString()));
+ }
+ if ((jsonObj.get("bnVol24h") != null && !jsonObj.get("bnVol24h").isJsonNull())
+ && !jsonObj.get("bnVol24h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVol24h` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVol24h").toString()));
+ }
+ if ((jsonObj.get("bnVolB5m") != null && !jsonObj.get("bnVolB5m").isJsonNull())
+ && !jsonObj.get("bnVolB5m").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVolB5m` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVolB5m").toString()));
+ }
+ if ((jsonObj.get("bnVolS5m") != null && !jsonObj.get("bnVolS5m").isJsonNull())
+ && !jsonObj.get("bnVolS5m").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVolS5m` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVolS5m").toString()));
+ }
+ if ((jsonObj.get("bnVolB1h") != null && !jsonObj.get("bnVolB1h").isJsonNull())
+ && !jsonObj.get("bnVolB1h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVolB1h` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVolB1h").toString()));
+ }
+ if ((jsonObj.get("bnVolS1h") != null && !jsonObj.get("bnVolS1h").isJsonNull())
+ && !jsonObj.get("bnVolS1h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVolS1h` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVolS1h").toString()));
+ }
+ if ((jsonObj.get("bnVolB4h") != null && !jsonObj.get("bnVolB4h").isJsonNull())
+ && !jsonObj.get("bnVolB4h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVolB4h` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVolB4h").toString()));
+ }
+ if ((jsonObj.get("bnVolS4h") != null && !jsonObj.get("bnVolS4h").isJsonNull())
+ && !jsonObj.get("bnVolS4h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVolS4h` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVolS4h").toString()));
+ }
+ if ((jsonObj.get("bnVolB24h") != null && !jsonObj.get("bnVolB24h").isJsonNull())
+ && !jsonObj.get("bnVolB24h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVolB24h` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVolB24h").toString()));
+ }
+ if ((jsonObj.get("bnVolS24h") != null && !jsonObj.get("bnVolS24h").isJsonNull())
+ && !jsonObj.get("bnVolS24h").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `bnVolS24h` to be a primitive type in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("bnVolS24h").toString()));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!MarketStatsStreamResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'MarketStatsStreamResponse' and its
+ // subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(this, TypeToken.get(MarketStatsStreamResponse.class));
+
+ return (TypeAdapter)
+ new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, MarketStatsStreamResponse value)
+ throws IOException {
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public MarketStatsStreamResponse read(JsonReader in) throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ // validateJsonElement(jsonElement);
+ return thisAdapter.fromJsonTree(jsonElement);
+ }
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of MarketStatsStreamResponse given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of MarketStatsStreamResponse
+ * @throws IOException if the JSON string is invalid with respect to MarketStatsStreamResponse
+ */
+ public static MarketStatsStreamResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, MarketStatsStreamResponse.class);
+ }
+
+ /**
+ * Convert an instance of MarketStatsStreamResponse to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/PriceStreamRequest.java b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/PriceStreamRequest.java
new file mode 100644
index 0000000..a16c164
--- /dev/null
+++ b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/PriceStreamRequest.java
@@ -0,0 +1,333 @@
+/*
+ * Binance Web3 WebSocket Streams
+ * Real-time on-chain data streaming over WebSocket for the Binance Web3 API platform.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.binance.connector.client.web3_wallet.websocket.stream.model;
+
+import com.binance.connector.client.common.websocket.dtos.BaseDTO;
+import com.binance.connector.client.web3_wallet.websocket.stream.JSON;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import jakarta.validation.constraints.*;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.stream.Collectors;
+import org.hibernate.validator.constraints.*;
+
+/** PriceStreamRequest */
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.22.0")
+public class PriceStreamRequest extends BaseDTO {
+ public static final String SERIALIZED_NAME_ID = "id";
+
+ @SerializedName(SERIALIZED_NAME_ID)
+ @jakarta.annotation.Nullable
+ private String id;
+
+ public static final String SERIALIZED_NAME_CHAIN_ID = "chainId";
+
+ @SerializedName(SERIALIZED_NAME_CHAIN_ID)
+ @jakarta.annotation.Nullable
+ private String chainId;
+
+ public static final String SERIALIZED_NAME_CONTRACT_ADDRESS = "contractAddress";
+
+ @SerializedName(SERIALIZED_NAME_CONTRACT_ADDRESS)
+ @jakarta.annotation.Nullable
+ private String contractAddress;
+
+ public PriceStreamRequest() {}
+
+ public PriceStreamRequest id(@jakarta.annotation.Nullable String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Unique WebSocket request ID.
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nullable
+ public String getId() {
+ return id;
+ }
+
+ public void setId(@jakarta.annotation.Nullable String id) {
+ this.id = id;
+ }
+
+ public PriceStreamRequest chainId(@jakarta.annotation.Nullable String chainId) {
+ this.chainId = chainId;
+ return this;
+ }
+
+ /**
+ * Chain identifier, e.g. \"1\"=Ethereum, \"56\"=BSC,
+ * \"CT_501\"=Solana. Full supported-chain list: same as the
+ * [\"supported/chain\"](/catalog/web3-wallet/api/rest-api/general-data#get-supported-chains)
+ * endpoint.
+ *
+ * @return chainId
+ */
+ @jakarta.annotation.Nullable
+ public String getChainId() {
+ return chainId;
+ }
+
+ public void setChainId(@jakarta.annotation.Nullable String chainId) {
+ this.chainId = chainId;
+ }
+
+ public PriceStreamRequest contractAddress(@jakarta.annotation.Nullable String contractAddress) {
+ this.contractAddress = contractAddress;
+ return this;
+ }
+
+ /**
+ * Token contract address.
+ *
+ * @return contractAddress
+ */
+ @jakarta.annotation.Nullable
+ public String getContractAddress() {
+ return contractAddress;
+ }
+
+ public void setContractAddress(@jakarta.annotation.Nullable String contractAddress) {
+ this.contractAddress = contractAddress;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ PriceStreamRequest priceStreamRequest = (PriceStreamRequest) o;
+ return Objects.equals(this.id, priceStreamRequest.id)
+ && Objects.equals(this.chainId, priceStreamRequest.chainId)
+ && Objects.equals(this.contractAddress, priceStreamRequest.contractAddress);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, chainId, contractAddress);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class PriceStreamRequest {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" chainId: ").append(toIndentedString(chainId)).append("\n");
+ sb.append(" contractAddress: ").append(toIndentedString(contractAddress)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ public String toUrlQueryString() {
+ StringBuilder sb = new StringBuilder();
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ String idValue = getId();
+ if (idValue != null) {
+ String idValueAsString = idValue.toString();
+ valMap.put("id", idValueAsString);
+ }
+ String chainIdValue = getChainId();
+ if (chainIdValue != null) {
+ String chainIdValueAsString = chainIdValue.toString();
+ valMap.put("chainId", chainIdValueAsString);
+ }
+ String contractAddressValue = getContractAddress();
+ if (contractAddressValue != null) {
+ String contractAddressValueAsString = contractAddressValue.toString();
+ valMap.put("contractAddress", contractAddressValueAsString);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return asciiEncode(
+ valMap.keySet().stream()
+ .map(key -> key + "=" + valMap.get(key))
+ .collect(Collectors.joining("&")));
+ }
+
+ public Map toMap() {
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ Object idValue = getId();
+ if (idValue != null) {
+ valMap.put("id", idValue);
+ }
+ Object chainIdValue = getChainId();
+ if (chainIdValue != null) {
+ valMap.put("chainId", chainIdValue);
+ }
+ Object contractAddressValue = getContractAddress();
+ if (contractAddressValue != null) {
+ valMap.put("contractAddress", contractAddressValue);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return valMap;
+ }
+
+ public static String asciiEncode(String s) {
+ return new String(s.getBytes(), StandardCharsets.US_ASCII);
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet();
+ openapiFields.add("id");
+ openapiFields.add("chainId");
+ openapiFields.add("contractAddress");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to PriceStreamRequest
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!PriceStreamRequest.openapiRequiredFields
+ .isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field(s) %s in PriceStreamRequest is not found in the"
+ + " empty JSON string",
+ PriceStreamRequest.openapiRequiredFields.toString()));
+ }
+ }
+
+ Set> entries = jsonElement.getAsJsonObject().entrySet();
+ // check to see if the JSON string contains additional fields
+ for (Map.Entry entry : entries) {
+ if (!PriceStreamRequest.openapiFields.contains(entry.getKey())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The field `%s` in the JSON string is not defined in the"
+ + " `PriceStreamRequest` properties. JSON: %s",
+ entry.getKey(), jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull())
+ && !jsonObj.get("id").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `id` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("id").toString()));
+ }
+ if ((jsonObj.get("chainId") != null && !jsonObj.get("chainId").isJsonNull())
+ && !jsonObj.get("chainId").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `chainId` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("chainId").toString()));
+ }
+ if ((jsonObj.get("contractAddress") != null && !jsonObj.get("contractAddress").isJsonNull())
+ && !jsonObj.get("contractAddress").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `contractAddress` to be a primitive type in the"
+ + " JSON string but got `%s`",
+ jsonObj.get("contractAddress").toString()));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!PriceStreamRequest.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'PriceStreamRequest' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(this, TypeToken.get(PriceStreamRequest.class));
+
+ return (TypeAdapter)
+ new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, PriceStreamRequest value)
+ throws IOException {
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public PriceStreamRequest read(JsonReader in) throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ // validateJsonElement(jsonElement);
+ return thisAdapter.fromJsonTree(jsonElement);
+ }
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of PriceStreamRequest given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of PriceStreamRequest
+ * @throws IOException if the JSON string is invalid with respect to PriceStreamRequest
+ */
+ public static PriceStreamRequest fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, PriceStreamRequest.class);
+ }
+
+ /**
+ * Convert an instance of PriceStreamRequest to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/PriceStreamResponse.java b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/PriceStreamResponse.java
new file mode 100644
index 0000000..68e4222
--- /dev/null
+++ b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/PriceStreamResponse.java
@@ -0,0 +1,277 @@
+/*
+ * Binance Web3 WebSocket Streams
+ * Real-time on-chain data streaming over WebSocket for the Binance Web3 API platform.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.binance.connector.client.web3_wallet.websocket.stream.model;
+
+import com.binance.connector.client.common.websocket.dtos.BaseDTO;
+import com.binance.connector.client.web3_wallet.websocket.stream.JSON;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import jakarta.validation.constraints.*;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.stream.Collectors;
+import org.hibernate.validator.constraints.*;
+
+/** Price stream event payload. */
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.22.0")
+public class PriceStreamResponse extends BaseDTO {
+ public static final String SERIALIZED_NAME_P_LOWER_CASE = "p";
+
+ @SerializedName(SERIALIZED_NAME_P_LOWER_CASE)
+ @jakarta.annotation.Nullable
+ private String pLowerCase;
+
+ public static final String SERIALIZED_NAME_T_LOWER_CASE = "t";
+
+ @SerializedName(SERIALIZED_NAME_T_LOWER_CASE)
+ @jakarta.annotation.Nullable
+ private Long tLowerCase;
+
+ public PriceStreamResponse() {}
+
+ public PriceStreamResponse pLowerCase(@jakarta.annotation.Nullable String pLowerCase) {
+ this.pLowerCase = pLowerCase;
+ return this;
+ }
+
+ /**
+ * Latest price.
+ *
+ * @return pLowerCase
+ */
+ @jakarta.annotation.Nullable
+ public String getpLowerCase() {
+ return pLowerCase;
+ }
+
+ public void setpLowerCase(@jakarta.annotation.Nullable String pLowerCase) {
+ this.pLowerCase = pLowerCase;
+ }
+
+ public PriceStreamResponse tLowerCase(@jakarta.annotation.Nullable Long tLowerCase) {
+ this.tLowerCase = tLowerCase;
+ return this;
+ }
+
+ /**
+ * Price timestamp in milliseconds.
+ *
+ * @return tLowerCase
+ */
+ @jakarta.annotation.Nullable
+ public Long gettLowerCase() {
+ return tLowerCase;
+ }
+
+ public void settLowerCase(@jakarta.annotation.Nullable Long tLowerCase) {
+ this.tLowerCase = tLowerCase;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ PriceStreamResponse priceStreamResponse = (PriceStreamResponse) o;
+ return Objects.equals(this.pLowerCase, priceStreamResponse.pLowerCase)
+ && Objects.equals(this.tLowerCase, priceStreamResponse.tLowerCase);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pLowerCase, tLowerCase);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class PriceStreamResponse {\n");
+ sb.append(" pLowerCase: ").append(toIndentedString(pLowerCase)).append("\n");
+ sb.append(" tLowerCase: ").append(toIndentedString(tLowerCase)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ public String toUrlQueryString() {
+ StringBuilder sb = new StringBuilder();
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ String pLowerCaseValue = getpLowerCase();
+ if (pLowerCaseValue != null) {
+ String pLowerCaseValueAsString = pLowerCaseValue.toString();
+ valMap.put("pLowerCase", pLowerCaseValueAsString);
+ }
+ Long tLowerCaseValue = gettLowerCase();
+ if (tLowerCaseValue != null) {
+ String tLowerCaseValueAsString = tLowerCaseValue.toString();
+ valMap.put("tLowerCase", tLowerCaseValueAsString);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return asciiEncode(
+ valMap.keySet().stream()
+ .map(key -> key + "=" + valMap.get(key))
+ .collect(Collectors.joining("&")));
+ }
+
+ public Map toMap() {
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ Object pLowerCaseValue = getpLowerCase();
+ if (pLowerCaseValue != null) {
+ valMap.put("pLowerCase", pLowerCaseValue);
+ }
+ Object tLowerCaseValue = gettLowerCase();
+ if (tLowerCaseValue != null) {
+ valMap.put("tLowerCase", tLowerCaseValue);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return valMap;
+ }
+
+ public static String asciiEncode(String s) {
+ return new String(s.getBytes(), StandardCharsets.US_ASCII);
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet();
+ openapiFields.add("p");
+ openapiFields.add("t");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to PriceStreamResponse
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!PriceStreamResponse.openapiRequiredFields
+ .isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field(s) %s in PriceStreamResponse is not found in"
+ + " the empty JSON string",
+ PriceStreamResponse.openapiRequiredFields.toString()));
+ }
+ }
+
+ Set> entries = jsonElement.getAsJsonObject().entrySet();
+ // check to see if the JSON string contains additional fields
+ for (Map.Entry entry : entries) {
+ if (!PriceStreamResponse.openapiFields.contains(entry.getKey())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The field `%s` in the JSON string is not defined in the"
+ + " `PriceStreamResponse` properties. JSON: %s",
+ entry.getKey(), jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ if ((jsonObj.get("p") != null && !jsonObj.get("p").isJsonNull())
+ && !jsonObj.get("p").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `p` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("p").toString()));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!PriceStreamResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'PriceStreamResponse' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(this, TypeToken.get(PriceStreamResponse.class));
+
+ return (TypeAdapter)
+ new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, PriceStreamResponse value)
+ throws IOException {
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public PriceStreamResponse read(JsonReader in) throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ // validateJsonElement(jsonElement);
+ return thisAdapter.fromJsonTree(jsonElement);
+ }
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of PriceStreamResponse given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of PriceStreamResponse
+ * @throws IOException if the JSON string is invalid with respect to PriceStreamResponse
+ */
+ public static PriceStreamResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, PriceStreamResponse.class);
+ }
+
+ /**
+ * Convert an instance of PriceStreamResponse to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamRequest.java b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamRequest.java
new file mode 100644
index 0000000..89097ab
--- /dev/null
+++ b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamRequest.java
@@ -0,0 +1,337 @@
+/*
+ * Binance Web3 WebSocket Streams
+ * Real-time on-chain data streaming over WebSocket for the Binance Web3 API platform.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.binance.connector.client.web3_wallet.websocket.stream.model;
+
+import com.binance.connector.client.common.websocket.dtos.BaseDTO;
+import com.binance.connector.client.web3_wallet.websocket.stream.JSON;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import jakarta.validation.constraints.*;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.stream.Collectors;
+import org.hibernate.validator.constraints.*;
+
+/** RealTimeTradesStreamRequest */
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.22.0")
+public class RealTimeTradesStreamRequest extends BaseDTO {
+ public static final String SERIALIZED_NAME_ID = "id";
+
+ @SerializedName(SERIALIZED_NAME_ID)
+ @jakarta.annotation.Nullable
+ private String id;
+
+ public static final String SERIALIZED_NAME_CHAIN_ID = "chainId";
+
+ @SerializedName(SERIALIZED_NAME_CHAIN_ID)
+ @jakarta.annotation.Nullable
+ private String chainId;
+
+ public static final String SERIALIZED_NAME_CONTRACT_ADDRESS = "contractAddress";
+
+ @SerializedName(SERIALIZED_NAME_CONTRACT_ADDRESS)
+ @jakarta.annotation.Nullable
+ private String contractAddress;
+
+ public RealTimeTradesStreamRequest() {}
+
+ public RealTimeTradesStreamRequest id(@jakarta.annotation.Nullable String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Unique WebSocket request ID.
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nullable
+ public String getId() {
+ return id;
+ }
+
+ public void setId(@jakarta.annotation.Nullable String id) {
+ this.id = id;
+ }
+
+ public RealTimeTradesStreamRequest chainId(@jakarta.annotation.Nullable String chainId) {
+ this.chainId = chainId;
+ return this;
+ }
+
+ /**
+ * Chain identifier, e.g. \"1\"=Ethereum, \"56\"=BSC,
+ * \"CT_501\"=Solana. Full supported-chain list: same as the
+ * [\"supported/chain\"](/catalog/web3-wallet/api/rest-api/general-data#get-supported-chains)
+ * endpoint.
+ *
+ * @return chainId
+ */
+ @jakarta.annotation.Nullable
+ public String getChainId() {
+ return chainId;
+ }
+
+ public void setChainId(@jakarta.annotation.Nullable String chainId) {
+ this.chainId = chainId;
+ }
+
+ public RealTimeTradesStreamRequest contractAddress(
+ @jakarta.annotation.Nullable String contractAddress) {
+ this.contractAddress = contractAddress;
+ return this;
+ }
+
+ /**
+ * Token contract address.
+ *
+ * @return contractAddress
+ */
+ @jakarta.annotation.Nullable
+ public String getContractAddress() {
+ return contractAddress;
+ }
+
+ public void setContractAddress(@jakarta.annotation.Nullable String contractAddress) {
+ this.contractAddress = contractAddress;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ RealTimeTradesStreamRequest realTimeTradesStreamRequest = (RealTimeTradesStreamRequest) o;
+ return Objects.equals(this.id, realTimeTradesStreamRequest.id)
+ && Objects.equals(this.chainId, realTimeTradesStreamRequest.chainId)
+ && Objects.equals(
+ this.contractAddress, realTimeTradesStreamRequest.contractAddress);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, chainId, contractAddress);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class RealTimeTradesStreamRequest {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" chainId: ").append(toIndentedString(chainId)).append("\n");
+ sb.append(" contractAddress: ").append(toIndentedString(contractAddress)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ public String toUrlQueryString() {
+ StringBuilder sb = new StringBuilder();
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ String idValue = getId();
+ if (idValue != null) {
+ String idValueAsString = idValue.toString();
+ valMap.put("id", idValueAsString);
+ }
+ String chainIdValue = getChainId();
+ if (chainIdValue != null) {
+ String chainIdValueAsString = chainIdValue.toString();
+ valMap.put("chainId", chainIdValueAsString);
+ }
+ String contractAddressValue = getContractAddress();
+ if (contractAddressValue != null) {
+ String contractAddressValueAsString = contractAddressValue.toString();
+ valMap.put("contractAddress", contractAddressValueAsString);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return asciiEncode(
+ valMap.keySet().stream()
+ .map(key -> key + "=" + valMap.get(key))
+ .collect(Collectors.joining("&")));
+ }
+
+ public Map toMap() {
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ Object idValue = getId();
+ if (idValue != null) {
+ valMap.put("id", idValue);
+ }
+ Object chainIdValue = getChainId();
+ if (chainIdValue != null) {
+ valMap.put("chainId", chainIdValue);
+ }
+ Object contractAddressValue = getContractAddress();
+ if (contractAddressValue != null) {
+ valMap.put("contractAddress", contractAddressValue);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return valMap;
+ }
+
+ public static String asciiEncode(String s) {
+ return new String(s.getBytes(), StandardCharsets.US_ASCII);
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet();
+ openapiFields.add("id");
+ openapiFields.add("chainId");
+ openapiFields.add("contractAddress");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to
+ * RealTimeTradesStreamRequest
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!RealTimeTradesStreamRequest.openapiRequiredFields
+ .isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field(s) %s in RealTimeTradesStreamRequest is not"
+ + " found in the empty JSON string",
+ RealTimeTradesStreamRequest.openapiRequiredFields.toString()));
+ }
+ }
+
+ Set> entries = jsonElement.getAsJsonObject().entrySet();
+ // check to see if the JSON string contains additional fields
+ for (Map.Entry entry : entries) {
+ if (!RealTimeTradesStreamRequest.openapiFields.contains(entry.getKey())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The field `%s` in the JSON string is not defined in the"
+ + " `RealTimeTradesStreamRequest` properties. JSON: %s",
+ entry.getKey(), jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull())
+ && !jsonObj.get("id").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `id` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("id").toString()));
+ }
+ if ((jsonObj.get("chainId") != null && !jsonObj.get("chainId").isJsonNull())
+ && !jsonObj.get("chainId").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `chainId` to be a primitive type in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("chainId").toString()));
+ }
+ if ((jsonObj.get("contractAddress") != null && !jsonObj.get("contractAddress").isJsonNull())
+ && !jsonObj.get("contractAddress").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `contractAddress` to be a primitive type in the"
+ + " JSON string but got `%s`",
+ jsonObj.get("contractAddress").toString()));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!RealTimeTradesStreamRequest.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'RealTimeTradesStreamRequest' and its
+ // subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(this, TypeToken.get(RealTimeTradesStreamRequest.class));
+
+ return (TypeAdapter)
+ new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, RealTimeTradesStreamRequest value)
+ throws IOException {
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public RealTimeTradesStreamRequest read(JsonReader in) throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ // validateJsonElement(jsonElement);
+ return thisAdapter.fromJsonTree(jsonElement);
+ }
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of RealTimeTradesStreamRequest given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of RealTimeTradesStreamRequest
+ * @throws IOException if the JSON string is invalid with respect to RealTimeTradesStreamRequest
+ */
+ public static RealTimeTradesStreamRequest fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, RealTimeTradesStreamRequest.class);
+ }
+
+ /**
+ * Convert an instance of RealTimeTradesStreamRequest to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamResponse.java b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamResponse.java
new file mode 100644
index 0000000..d754922
--- /dev/null
+++ b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamResponse.java
@@ -0,0 +1,492 @@
+/*
+ * Binance Web3 WebSocket Streams
+ * Real-time on-chain data streaming over WebSocket for the Binance Web3 API platform.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.binance.connector.client.web3_wallet.websocket.stream.model;
+
+import com.binance.connector.client.common.websocket.dtos.BaseDTO;
+import com.binance.connector.client.web3_wallet.websocket.stream.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.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.*;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.stream.Collectors;
+import org.hibernate.validator.constraints.*;
+
+/** Trade history event payload. */
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.22.0")
+public class RealTimeTradesStreamResponse extends BaseDTO {
+ public static final String SERIALIZED_NAME_TX = "tx";
+
+ @SerializedName(SERIALIZED_NAME_TX)
+ @jakarta.annotation.Nullable
+ private String tx;
+
+ public static final String SERIALIZED_NAME_UA = "ua";
+
+ @SerializedName(SERIALIZED_NAME_UA)
+ @jakarta.annotation.Nullable
+ private String ua;
+
+ public static final String SERIALIZED_NAME_TP = "tp";
+
+ @SerializedName(SERIALIZED_NAME_TP)
+ @jakarta.annotation.Nullable
+ private String tp;
+
+ public static final String SERIALIZED_NAME_VOL = "vol";
+
+ @SerializedName(SERIALIZED_NAME_VOL)
+ @jakarta.annotation.Nullable
+ private String vol;
+
+ public static final String SERIALIZED_NAME_T_LOWER_CASE = "t";
+
+ @SerializedName(SERIALIZED_NAME_T_LOWER_CASE)
+ @jakarta.annotation.Nullable
+ private Long tLowerCase;
+
+ public static final String SERIALIZED_NAME_TOKENS = "tokens";
+
+ @SerializedName(SERIALIZED_NAME_TOKENS)
+ @jakarta.annotation.Nullable
+ private List<@Valid RealTimeTradesStreamResponseTokensInner> tokens;
+
+ public RealTimeTradesStreamResponse() {}
+
+ public RealTimeTradesStreamResponse tx(@jakarta.annotation.Nullable String tx) {
+ this.tx = tx;
+ return this;
+ }
+
+ /**
+ * Transaction hash.
+ *
+ * @return tx
+ */
+ @jakarta.annotation.Nullable
+ public String getTx() {
+ return tx;
+ }
+
+ public void setTx(@jakarta.annotation.Nullable String tx) {
+ this.tx = tx;
+ }
+
+ public RealTimeTradesStreamResponse ua(@jakarta.annotation.Nullable String ua) {
+ this.ua = ua;
+ return this;
+ }
+
+ /**
+ * Transaction initiator wallet address (the wallet that initiated the swap).
+ *
+ * @return ua
+ */
+ @jakarta.annotation.Nullable
+ public String getUa() {
+ return ua;
+ }
+
+ public void setUa(@jakarta.annotation.Nullable String ua) {
+ this.ua = ua;
+ }
+
+ public RealTimeTradesStreamResponse tp(@jakarta.annotation.Nullable String tp) {
+ this.tp = tp;
+ return this;
+ }
+
+ /**
+ * Trade direction relative to the queried (base) token: buy or sell.
+ *
+ * @return tp
+ */
+ @jakarta.annotation.Nullable
+ public String getTp() {
+ return tp;
+ }
+
+ public void setTp(@jakarta.annotation.Nullable String tp) {
+ this.tp = tp;
+ }
+
+ public RealTimeTradesStreamResponse vol(@jakarta.annotation.Nullable String vol) {
+ this.vol = vol;
+ return this;
+ }
+
+ /**
+ * Trade amount in USD.
+ *
+ * @return vol
+ */
+ @jakarta.annotation.Nullable
+ public String getVol() {
+ return vol;
+ }
+
+ public void setVol(@jakarta.annotation.Nullable String vol) {
+ this.vol = vol;
+ }
+
+ public RealTimeTradesStreamResponse tLowerCase(@jakarta.annotation.Nullable Long tLowerCase) {
+ this.tLowerCase = tLowerCase;
+ return this;
+ }
+
+ /**
+ * Trade timestamp in milliseconds.
+ *
+ * @return tLowerCase
+ */
+ @jakarta.annotation.Nullable
+ public Long gettLowerCase() {
+ return tLowerCase;
+ }
+
+ public void settLowerCase(@jakarta.annotation.Nullable Long tLowerCase) {
+ this.tLowerCase = tLowerCase;
+ }
+
+ public RealTimeTradesStreamResponse tokens(
+ @jakarta.annotation.Nullable
+ List<@Valid RealTimeTradesStreamResponseTokensInner> tokens) {
+ this.tokens = tokens;
+ return this;
+ }
+
+ public RealTimeTradesStreamResponse addTokensItem(
+ RealTimeTradesStreamResponseTokensInner tokensItem) {
+ if (this.tokens == null) {
+ this.tokens = new ArrayList<>();
+ }
+ this.tokens.add(tokensItem);
+ return this;
+ }
+
+ /**
+ * Token pair info. Fixed 2 elements — first is the base token, second is the quote token.
+ *
+ * @return tokens
+ */
+ @jakarta.annotation.Nullable
+ @Valid
+ public List<@Valid RealTimeTradesStreamResponseTokensInner> getTokens() {
+ return tokens;
+ }
+
+ public void setTokens(
+ @jakarta.annotation.Nullable
+ List<@Valid RealTimeTradesStreamResponseTokensInner> tokens) {
+ this.tokens = tokens;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ RealTimeTradesStreamResponse realTimeTradesStreamResponse =
+ (RealTimeTradesStreamResponse) o;
+ return Objects.equals(this.tx, realTimeTradesStreamResponse.tx)
+ && Objects.equals(this.ua, realTimeTradesStreamResponse.ua)
+ && Objects.equals(this.tp, realTimeTradesStreamResponse.tp)
+ && Objects.equals(this.vol, realTimeTradesStreamResponse.vol)
+ && Objects.equals(this.tLowerCase, realTimeTradesStreamResponse.tLowerCase)
+ && Objects.equals(this.tokens, realTimeTradesStreamResponse.tokens);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(tx, ua, tp, vol, tLowerCase, tokens);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class RealTimeTradesStreamResponse {\n");
+ sb.append(" tx: ").append(toIndentedString(tx)).append("\n");
+ sb.append(" ua: ").append(toIndentedString(ua)).append("\n");
+ sb.append(" tp: ").append(toIndentedString(tp)).append("\n");
+ sb.append(" vol: ").append(toIndentedString(vol)).append("\n");
+ sb.append(" tLowerCase: ").append(toIndentedString(tLowerCase)).append("\n");
+ sb.append(" tokens: ").append(toIndentedString(tokens)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ public String toUrlQueryString() {
+ StringBuilder sb = new StringBuilder();
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ String txValue = getTx();
+ if (txValue != null) {
+ String txValueAsString = txValue.toString();
+ valMap.put("tx", txValueAsString);
+ }
+ String uaValue = getUa();
+ if (uaValue != null) {
+ String uaValueAsString = uaValue.toString();
+ valMap.put("ua", uaValueAsString);
+ }
+ String tpValue = getTp();
+ if (tpValue != null) {
+ String tpValueAsString = tpValue.toString();
+ valMap.put("tp", tpValueAsString);
+ }
+ String volValue = getVol();
+ if (volValue != null) {
+ String volValueAsString = volValue.toString();
+ valMap.put("vol", volValueAsString);
+ }
+ Long tLowerCaseValue = gettLowerCase();
+ if (tLowerCaseValue != null) {
+ String tLowerCaseValueAsString = tLowerCaseValue.toString();
+ valMap.put("tLowerCase", tLowerCaseValueAsString);
+ }
+ List<@Valid RealTimeTradesStreamResponseTokensInner> tokensValue = getTokens();
+ if (tokensValue != null) {
+ String tokensValueAsString = JSON.getGson().toJson(tokensValue);
+ valMap.put("tokens", tokensValueAsString);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return asciiEncode(
+ valMap.keySet().stream()
+ .map(key -> key + "=" + valMap.get(key))
+ .collect(Collectors.joining("&")));
+ }
+
+ public Map toMap() {
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ Object txValue = getTx();
+ if (txValue != null) {
+ valMap.put("tx", txValue);
+ }
+ Object uaValue = getUa();
+ if (uaValue != null) {
+ valMap.put("ua", uaValue);
+ }
+ Object tpValue = getTp();
+ if (tpValue != null) {
+ valMap.put("tp", tpValue);
+ }
+ Object volValue = getVol();
+ if (volValue != null) {
+ valMap.put("vol", volValue);
+ }
+ Object tLowerCaseValue = gettLowerCase();
+ if (tLowerCaseValue != null) {
+ valMap.put("tLowerCase", tLowerCaseValue);
+ }
+ Object tokensValue = getTokens();
+ if (tokensValue != null) {
+ valMap.put("tokens", tokensValue);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return valMap;
+ }
+
+ public static String asciiEncode(String s) {
+ return new String(s.getBytes(), StandardCharsets.US_ASCII);
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet();
+ openapiFields.add("tx");
+ openapiFields.add("ua");
+ openapiFields.add("tp");
+ openapiFields.add("vol");
+ openapiFields.add("t");
+ openapiFields.add("tokens");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to
+ * RealTimeTradesStreamResponse
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!RealTimeTradesStreamResponse.openapiRequiredFields
+ .isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field(s) %s in RealTimeTradesStreamResponse is not"
+ + " found in the empty JSON string",
+ RealTimeTradesStreamResponse.openapiRequiredFields.toString()));
+ }
+ }
+
+ Set> entries = jsonElement.getAsJsonObject().entrySet();
+ // check to see if the JSON string contains additional fields
+ for (Map.Entry entry : entries) {
+ if (!RealTimeTradesStreamResponse.openapiFields.contains(entry.getKey())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The field `%s` in the JSON string is not defined in the"
+ + " `RealTimeTradesStreamResponse` properties. JSON: %s",
+ entry.getKey(), jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ if ((jsonObj.get("tx") != null && !jsonObj.get("tx").isJsonNull())
+ && !jsonObj.get("tx").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `tx` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("tx").toString()));
+ }
+ if ((jsonObj.get("ua") != null && !jsonObj.get("ua").isJsonNull())
+ && !jsonObj.get("ua").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `ua` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("ua").toString()));
+ }
+ if ((jsonObj.get("tp") != null && !jsonObj.get("tp").isJsonNull())
+ && !jsonObj.get("tp").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `tp` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("tp").toString()));
+ }
+ if ((jsonObj.get("vol") != null && !jsonObj.get("vol").isJsonNull())
+ && !jsonObj.get("vol").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `vol` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("vol").toString()));
+ }
+ if (jsonObj.get("tokens") != null && !jsonObj.get("tokens").isJsonNull()) {
+ JsonArray jsonArraytokens = jsonObj.getAsJsonArray("tokens");
+ if (jsonArraytokens != null) {
+ // ensure the json data is an array
+ if (!jsonObj.get("tokens").isJsonArray()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `tokens` to be an array in the JSON string"
+ + " but got `%s`",
+ jsonObj.get("tokens").toString()));
+ }
+
+ // validate the optional field `tokens` (array)
+ for (int i = 0; i < jsonArraytokens.size(); i++) {
+ RealTimeTradesStreamResponseTokensInner.validateJsonElement(
+ jsonArraytokens.get(i));
+ }
+ ;
+ }
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!RealTimeTradesStreamResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'RealTimeTradesStreamResponse' and its
+ // subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(
+ this, TypeToken.get(RealTimeTradesStreamResponse.class));
+
+ return (TypeAdapter)
+ new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, RealTimeTradesStreamResponse value)
+ throws IOException {
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public RealTimeTradesStreamResponse read(JsonReader in) throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ // validateJsonElement(jsonElement);
+ return thisAdapter.fromJsonTree(jsonElement);
+ }
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of RealTimeTradesStreamResponse given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of RealTimeTradesStreamResponse
+ * @throws IOException if the JSON string is invalid with respect to
+ * RealTimeTradesStreamResponse
+ */
+ public static RealTimeTradesStreamResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, RealTimeTradesStreamResponse.class);
+ }
+
+ /**
+ * Convert an instance of RealTimeTradesStreamResponse to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamResponseTokensInner.java b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamResponseTokensInner.java
new file mode 100644
index 0000000..d7886f5
--- /dev/null
+++ b/clients/web3-wallet/src/main/java/com/binance/connector/client/web3_wallet/websocket/stream/model/RealTimeTradesStreamResponseTokensInner.java
@@ -0,0 +1,345 @@
+/*
+ * Binance Web3 WebSocket Streams
+ * Real-time on-chain data streaming over WebSocket for the Binance Web3 API platform.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.binance.connector.client.web3_wallet.websocket.stream.model;
+
+import com.binance.connector.client.common.websocket.dtos.BaseDTO;
+import com.binance.connector.client.web3_wallet.websocket.stream.JSON;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import jakarta.validation.constraints.*;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.stream.Collectors;
+import org.hibernate.validator.constraints.*;
+
+/** RealTimeTradesStreamResponseTokensInner */
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.22.0")
+public class RealTimeTradesStreamResponseTokensInner extends BaseDTO {
+ public static final String SERIALIZED_NAME_A_LOWER_CASE = "a";
+
+ @SerializedName(SERIALIZED_NAME_A_LOWER_CASE)
+ @jakarta.annotation.Nullable
+ private String aLowerCase;
+
+ public static final String SERIALIZED_NAME_S_LOWER_CASE = "s";
+
+ @SerializedName(SERIALIZED_NAME_S_LOWER_CASE)
+ @jakarta.annotation.Nullable
+ private String sLowerCase;
+
+ public static final String SERIALIZED_NAME_CA = "ca";
+
+ @SerializedName(SERIALIZED_NAME_CA)
+ @jakarta.annotation.Nullable
+ private String ca;
+
+ public RealTimeTradesStreamResponseTokensInner() {}
+
+ public RealTimeTradesStreamResponseTokensInner aLowerCase(
+ @jakarta.annotation.Nullable String aLowerCase) {
+ this.aLowerCase = aLowerCase;
+ return this;
+ }
+
+ /**
+ * Token amount.
+ *
+ * @return aLowerCase
+ */
+ @jakarta.annotation.Nullable
+ public String getaLowerCase() {
+ return aLowerCase;
+ }
+
+ public void setaLowerCase(@jakarta.annotation.Nullable String aLowerCase) {
+ this.aLowerCase = aLowerCase;
+ }
+
+ public RealTimeTradesStreamResponseTokensInner sLowerCase(
+ @jakarta.annotation.Nullable String sLowerCase) {
+ this.sLowerCase = sLowerCase;
+ return this;
+ }
+
+ /**
+ * Token symbol.
+ *
+ * @return sLowerCase
+ */
+ @jakarta.annotation.Nullable
+ public String getsLowerCase() {
+ return sLowerCase;
+ }
+
+ public void setsLowerCase(@jakarta.annotation.Nullable String sLowerCase) {
+ this.sLowerCase = sLowerCase;
+ }
+
+ public RealTimeTradesStreamResponseTokensInner ca(@jakarta.annotation.Nullable String ca) {
+ this.ca = ca;
+ return this;
+ }
+
+ /**
+ * Token contract address.
+ *
+ * @return ca
+ */
+ @jakarta.annotation.Nullable
+ public String getCa() {
+ return ca;
+ }
+
+ public void setCa(@jakarta.annotation.Nullable String ca) {
+ this.ca = ca;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ RealTimeTradesStreamResponseTokensInner realTimeTradesStreamResponseTokensInner =
+ (RealTimeTradesStreamResponseTokensInner) o;
+ return Objects.equals(this.aLowerCase, realTimeTradesStreamResponseTokensInner.aLowerCase)
+ && Objects.equals(
+ this.sLowerCase, realTimeTradesStreamResponseTokensInner.sLowerCase)
+ && Objects.equals(this.ca, realTimeTradesStreamResponseTokensInner.ca);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(aLowerCase, sLowerCase, ca);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class RealTimeTradesStreamResponseTokensInner {\n");
+ sb.append(" aLowerCase: ").append(toIndentedString(aLowerCase)).append("\n");
+ sb.append(" sLowerCase: ").append(toIndentedString(sLowerCase)).append("\n");
+ sb.append(" ca: ").append(toIndentedString(ca)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ public String toUrlQueryString() {
+ StringBuilder sb = new StringBuilder();
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ String aLowerCaseValue = getaLowerCase();
+ if (aLowerCaseValue != null) {
+ String aLowerCaseValueAsString = aLowerCaseValue.toString();
+ valMap.put("aLowerCase", aLowerCaseValueAsString);
+ }
+ String sLowerCaseValue = getsLowerCase();
+ if (sLowerCaseValue != null) {
+ String sLowerCaseValueAsString = sLowerCaseValue.toString();
+ valMap.put("sLowerCase", sLowerCaseValueAsString);
+ }
+ String caValue = getCa();
+ if (caValue != null) {
+ String caValueAsString = caValue.toString();
+ valMap.put("ca", caValueAsString);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return asciiEncode(
+ valMap.keySet().stream()
+ .map(key -> key + "=" + valMap.get(key))
+ .collect(Collectors.joining("&")));
+ }
+
+ public Map toMap() {
+ Map valMap = new TreeMap();
+ valMap.put("apiKey", getApiKey());
+ Object aLowerCaseValue = getaLowerCase();
+ if (aLowerCaseValue != null) {
+ valMap.put("aLowerCase", aLowerCaseValue);
+ }
+ Object sLowerCaseValue = getsLowerCase();
+ if (sLowerCaseValue != null) {
+ valMap.put("sLowerCase", sLowerCaseValue);
+ }
+ Object caValue = getCa();
+ if (caValue != null) {
+ valMap.put("ca", caValue);
+ }
+
+ valMap.put("timestamp", getTimestamp());
+ return valMap;
+ }
+
+ public static String asciiEncode(String s) {
+ return new String(s.getBytes(), StandardCharsets.US_ASCII);
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet();
+ openapiFields.add("a");
+ openapiFields.add("s");
+ openapiFields.add("ca");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to
+ * RealTimeTradesStreamResponseTokensInner
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!RealTimeTradesStreamResponseTokensInner.openapiRequiredFields
+ .isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field(s) %s in"
+ + " RealTimeTradesStreamResponseTokensInner is not found in the"
+ + " empty JSON string",
+ RealTimeTradesStreamResponseTokensInner.openapiRequiredFields
+ .toString()));
+ }
+ }
+
+ Set> entries = jsonElement.getAsJsonObject().entrySet();
+ // check to see if the JSON string contains additional fields
+ for (Map.Entry entry : entries) {
+ if (!RealTimeTradesStreamResponseTokensInner.openapiFields.contains(entry.getKey())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The field `%s` in the JSON string is not defined in the"
+ + " `RealTimeTradesStreamResponseTokensInner` properties. JSON:"
+ + " %s",
+ entry.getKey(), jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ if ((jsonObj.get("a") != null && !jsonObj.get("a").isJsonNull())
+ && !jsonObj.get("a").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `a` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("a").toString()));
+ }
+ if ((jsonObj.get("s") != null && !jsonObj.get("s").isJsonNull())
+ && !jsonObj.get("s").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `s` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("s").toString()));
+ }
+ if ((jsonObj.get("ca") != null && !jsonObj.get("ca").isJsonNull())
+ && !jsonObj.get("ca").isJsonPrimitive()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `ca` to be a primitive type in the JSON string but"
+ + " got `%s`",
+ jsonObj.get("ca").toString()));
+ }
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!RealTimeTradesStreamResponseTokensInner.class.isAssignableFrom(
+ type.getRawType())) {
+ return null; // this class only serializes 'RealTimeTradesStreamResponseTokensInner'
+ // and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(
+ this, TypeToken.get(RealTimeTradesStreamResponseTokensInner.class));
+
+ return (TypeAdapter)
+ new TypeAdapter() {
+ @Override
+ public void write(
+ JsonWriter out, RealTimeTradesStreamResponseTokensInner value)
+ throws IOException {
+ JsonElement obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public RealTimeTradesStreamResponseTokensInner read(JsonReader in)
+ throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ // validateJsonElement(jsonElement);
+ return thisAdapter.fromJsonTree(jsonElement);
+ }
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of RealTimeTradesStreamResponseTokensInner given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of RealTimeTradesStreamResponseTokensInner
+ * @throws IOException if the JSON string is invalid with respect to
+ * RealTimeTradesStreamResponseTokensInner
+ */
+ public static RealTimeTradesStreamResponseTokensInner fromJson(String jsonString)
+ throws IOException {
+ return JSON.getGson().fromJson(jsonString, RealTimeTradesStreamResponseTokensInner.class);
+ }
+
+ /**
+ * Convert an instance of RealTimeTradesStreamResponseTokensInner to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/clients/web3-wallet/src/test/java/com/binance/connector/client/web3_wallet/websocket/stream/api/MarketApiTest.java b/clients/web3-wallet/src/test/java/com/binance/connector/client/web3_wallet/websocket/stream/api/MarketApiTest.java
new file mode 100644
index 0000000..01b16f0
--- /dev/null
+++ b/clients/web3-wallet/src/test/java/com/binance/connector/client/web3_wallet/websocket/stream/api/MarketApiTest.java
@@ -0,0 +1,244 @@
+/*
+ * Binance Web3 WebSocket Streams
+ * Real-time on-chain data streaming over WebSocket for the Binance Web3 API platform.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.binance.connector.client.web3_wallet.websocket.stream.api;
+
+import com.binance.connector.client.common.ApiException;
+import com.binance.connector.client.common.ApiResponse;
+import com.binance.connector.client.common.configuration.SignatureConfiguration;
+import com.binance.connector.client.common.websocket.dtos.RequestWrapperDTO;
+import com.binance.connector.client.common.websocket.service.StreamBlockingQueueWrapper;
+import com.binance.connector.client.web3.common.ApiClient;
+import com.binance.connector.client.web3.common.dtos.GetWebSocketAuthTokenResponse;
+import com.binance.connector.client.web3.common.dtos.GetWebSocketAuthTokenResponseData;
+import com.binance.connector.client.web3.common.websocket.adapter.stream.Web3StreamConnectionWrapper;
+import com.binance.connector.client.web3.common.websocket.configuration.Web3WebSocketClientConfiguration;
+import com.binance.connector.client.web3_wallet.websocket.stream.model.*;
+import org.eclipse.jetty.websocket.api.RemoteEndpoint;
+import org.eclipse.jetty.websocket.api.Session;
+import org.eclipse.jetty.websocket.client.WebSocketClient;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
+import org.skyscreamer.jsonassert.JSONAssert;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.HashMap;
+import java.util.Set;
+import java.util.concurrent.CompletableFuture;
+
+/**
+ * API tests for MarketApi
+ */
+public class MarketApiTest {
+
+ private MarketApi api;
+ private Web3StreamConnectionWrapper connectionSpy;
+ private Session sessionMock;
+
+ @BeforeEach
+ public void initApiClient() throws Exception {
+ SignatureConfiguration signatureConfiguration = new SignatureConfiguration();
+ signatureConfiguration.setApiKey("apiKey");
+ signatureConfiguration.setSecretKey("apiSecret");
+ Web3WebSocketClientConfiguration clientConfiguration =
+ new Web3WebSocketClientConfiguration();
+ clientConfiguration.setAutoLogon(false);
+ clientConfiguration.setSignatureConfiguration(signatureConfiguration);
+ clientConfiguration.setUrl("wss://localhost:8080");
+
+ WebSocketClient webSocketClient = Mockito.mock(WebSocketClient.class);
+ CompletableFuture sessionCompletableFuture = new CompletableFuture<>();
+ Mockito.doReturn(sessionCompletableFuture)
+ .when(webSocketClient)
+ .connect(Mockito.any(), Mockito.any(), Mockito.any());
+ sessionMock = Mockito.mock(Session.class);
+
+ RemoteEndpoint remoteEndpointMock = Mockito.mock(RemoteEndpoint.class);
+ Mockito.doReturn(remoteEndpointMock).when(sessionMock).getRemote();
+ sessionCompletableFuture.complete(sessionMock);
+
+ ApiClient httpClient = Mockito.mock(ApiClient.class);
+
+ GetWebSocketAuthTokenResponseData getWebSocketAuthTokenResponseData = new GetWebSocketAuthTokenResponseData();
+ getWebSocketAuthTokenResponseData.setToken("token123456");
+
+ GetWebSocketAuthTokenResponse getWebSocketAuthTokenResponse = new GetWebSocketAuthTokenResponse();
+ getWebSocketAuthTokenResponse.setData(getWebSocketAuthTokenResponseData);
+
+ ApiResponse getWebSocketAuthTokenResponseApiResponse = new ApiResponse<>(200, new HashMap<>(), getWebSocketAuthTokenResponse);
+
+ Mockito.doReturn(getWebSocketAuthTokenResponseApiResponse).when(httpClient).execute(Mockito.any(), Mockito.any());
+
+ Web3StreamConnectionWrapper connectionWrapper =
+ new Web3StreamConnectionWrapper(clientConfiguration, webSocketClient, httpClient);
+ connectionSpy = Mockito.spy(connectionWrapper);
+ Mockito.doNothing().when(connectionSpy).setUserAgent(Mockito.anyString());
+ Mockito.doReturn(1736393892000L).when(connectionSpy).getTimestamp();
+ connectionSpy.connect();
+ MarketApi apiClient = new MarketApi(connectionSpy);
+ api = Mockito.spy(apiClient);
+ Mockito.doReturn("eaf3292c-64b6-4c04-ad4f-4ca2608b42b4").when(api).getRequestID();
+ }
+
+ /**
+ * Candlestick Stream
+ *
+ * Push token candlestick (K-line) data in real time. The current (unclosed) candle keeps
+ * updating as new trades occur. Update Speed: Real-time
+ *
+ * @throws ApiException if the Api call fails
+ */
+ @Test
+ public void candlestickStreamTest() throws ApiException, URISyntaxException, IOException {
+ CandlestickStreamRequest candlestickStreamRequest = new CandlestickStreamRequest();
+ candlestickStreamRequest.id("e9d6b4349871b40611412680b3445fac");
+ candlestickStreamRequest.bar("1s");
+ candlestickStreamRequest.chainId("CT_501");
+ candlestickStreamRequest.contractAddress("C3DwDjT17gDvvCYC2nsdGHxDHVmQRdhKfpAdqQ29pump");
+
+ StreamBlockingQueueWrapper response =
+ api.candlestickStream(candlestickStreamRequest);
+ ArgumentCaptor, CandlestickStreamResponse>>
+ callArgumentCaptor = ArgumentCaptor.forClass(RequestWrapperDTO.class);
+ Mockito.verify(connectionSpy).innerSend(callArgumentCaptor.capture());
+ ArgumentCaptor sendArgumentCaptor = ArgumentCaptor.forClass(String.class);
+ RemoteEndpoint remote = sessionMock.getRemote();
+ Mockito.verify(remote).sendString(sendArgumentCaptor.capture(), Mockito.any());
+ RequestWrapperDTO