> getSchemas() {
+ return QuoteResponse.schemas;
+ }
+
+ /**
+ * Set the instance that matches the oneOf child schema, check the instance parameter is valid
+ * against the oneOf child schemas: NonWalletQuoteResponse, WalletQuoteResponse
+ *
+ * It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be
+ * a composed schema (allOf, anyOf, oneOf).
+ */
+ @Override
+ public void setActualInstance(Object instance) {
+ if (JSON.isInstanceOf(NonWalletQuoteResponse.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (JSON.isInstanceOf(WalletQuoteResponse.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ throw new RuntimeException(
+ "Invalid instance type. Must be NonWalletQuoteResponse, WalletQuoteResponse");
+ }
+
+ /**
+ * Get the actual instance, which can be the following: NonWalletQuoteResponse,
+ * WalletQuoteResponse
+ *
+ * @return The actual instance (NonWalletQuoteResponse, WalletQuoteResponse)
+ */
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `NonWalletQuoteResponse`. If the actual instance is not
+ * `NonWalletQuoteResponse`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `NonWalletQuoteResponse`
+ * @throws ClassCastException if the instance is not `NonWalletQuoteResponse`
+ */
+ public NonWalletQuoteResponse getNonWalletQuoteResponse() throws ClassCastException {
+ return (NonWalletQuoteResponse) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `WalletQuoteResponse`. If the actual instance is not
+ * `WalletQuoteResponse`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `WalletQuoteResponse`
+ * @throws ClassCastException if the instance is not `WalletQuoteResponse`
+ */
+ public WalletQuoteResponse getWalletQuoteResponse() throws ClassCastException {
+ return (WalletQuoteResponse) super.getActualInstance();
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ if (getActualInstance() instanceof WalletQuoteResponse) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((WalletQuoteResponse) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_0" + suffix));
+ }
+ return joiner.toString();
+ }
+ if (getActualInstance() instanceof NonWalletQuoteResponse) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((NonWalletQuoteResponse) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_1" + suffix));
+ }
+ return joiner.toString();
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapFlowError.java b/src/main/java/com/fireblocks/sdk/model/SwapFlowError.java
new file mode 100644
index 00000000..91987ee0
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapFlowError.java
@@ -0,0 +1,178 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** The error message for the swap */
+@JsonPropertyOrder({SwapFlowError.JSON_PROPERTY_CODE, SwapFlowError.JSON_PROPERTY_MESSAGE})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SwapFlowError {
+ public static final String JSON_PROPERTY_CODE = "code";
+ private String code;
+
+ public static final String JSON_PROPERTY_MESSAGE = "message";
+ private String message;
+
+ public SwapFlowError() {}
+
+ public SwapFlowError code(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * The code representing the error
+ *
+ * @return code
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_CODE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getCode() {
+ return code;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CODE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public SwapFlowError message(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Error message
+ *
+ * @return message
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_MESSAGE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getMessage() {
+ return message;
+ }
+
+ @JsonProperty(JSON_PROPERTY_MESSAGE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ /** Return true if this SwapFlowError object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SwapFlowError swapFlowError = (SwapFlowError) o;
+ return Objects.equals(this.code, swapFlowError.code)
+ && Objects.equals(this.message, swapFlowError.message);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(code, message);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SwapFlowError {\n");
+ sb.append(" code: ").append(toIndentedString(code)).append("\n");
+ sb.append(" message: ").append(toIndentedString(message)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * 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 ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `code` to the URL query string
+ if (getCode() != null) {
+ joiner.add(
+ String.format(
+ "%scode%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getCode()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `message` to the URL query string
+ if (getMessage() != null) {
+ joiner.add(
+ String.format(
+ "%smessage%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getMessage()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapOperation.java b/src/main/java/com/fireblocks/sdk/model/SwapOperation.java
new file mode 100644
index 00000000..b6c897f3
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapOperation.java
@@ -0,0 +1,937 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonValue;
+import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.time.OffsetDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+import java.util.UUID;
+
+/** SwapOperation */
+@JsonPropertyOrder({
+ SwapOperation.JSON_PROPERTY_ID,
+ SwapOperation.JSON_PROPERTY_ACCOUNT_ID,
+ SwapOperation.JSON_PROPERTY_PROVIDER_ID,
+ SwapOperation.JSON_PROPERTY_CATEGORY,
+ SwapOperation.JSON_PROPERTY_PROTOCOL,
+ SwapOperation.JSON_PROPERTY_STATUS,
+ SwapOperation.JSON_PROPERTY_INPUT_AMOUNT,
+ SwapOperation.JSON_PROPERTY_INPUT_ASSET,
+ SwapOperation.JSON_PROPERTY_SLIPPAGE_TOLERANCE,
+ SwapOperation.JSON_PROPERTY_OUTPUT_MIN_AMOUNT,
+ SwapOperation.JSON_PROPERTY_OUTPUT_MAX_AMOUNT,
+ SwapOperation.JSON_PROPERTY_OUTPUT_ASSET,
+ SwapOperation.JSON_PROPERTY_OUTPUT_FINAL_AMOUNT,
+ SwapOperation.JSON_PROPERTY_REQUIRED_ACTIONS,
+ SwapOperation.JSON_PROPERTY_ERROR,
+ SwapOperation.JSON_PROPERTY_CREATED_AT,
+ SwapOperation.JSON_PROPERTY_UPDATED_AT,
+ SwapOperation.JSON_PROPERTY_CREATED_BY
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SwapOperation {
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_ACCOUNT_ID = "accountId";
+ private String accountId;
+
+ public static final String JSON_PROPERTY_PROVIDER_ID = "providerId";
+ private String providerId;
+
+ public static final String JSON_PROPERTY_CATEGORY = "category";
+ private ProviderCategoryEnum category;
+
+ public static final String JSON_PROPERTY_PROTOCOL = "protocol";
+ private SwapProviderProtocolsEnum protocol;
+
+ /**
+ * **CREATED** – The swap request has been created but not yet started. **PENDING_USER_ACTION**
+ * – Awaiting a user action (e.g. signature or approval). **PENDING_PROVIDER_ACTION** – Awaiting
+ * the provider to process the request. **PROCESSING** – The swap is actively being executed
+ * on‐chain. **COMPLETED** – The swap has finished successfully. **CANCELED** – The swap was
+ * cancelled by user or provider before completion. **FAILED** – The swap attempted but
+ * encountered an error.
+ */
+ public enum StatusEnum {
+ CREATED("CREATED"),
+
+ TRANSACTION_IN_PROGRESS("TRANSACTION_IN_PROGRESS"),
+
+ PENDING_PROVIDER_ACTION("PENDING_PROVIDER_ACTION"),
+
+ COMPLETED("COMPLETED"),
+
+ CANCELED("CANCELED"),
+
+ FAILED("FAILED");
+
+ private String value;
+
+ StatusEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static StatusEnum fromValue(String value) {
+ for (StatusEnum b : StatusEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_STATUS = "status";
+ private StatusEnum status;
+
+ public static final String JSON_PROPERTY_INPUT_AMOUNT = "inputAmount";
+ private String inputAmount;
+
+ public static final String JSON_PROPERTY_INPUT_ASSET = "inputAsset";
+ private String inputAsset;
+
+ public static final String JSON_PROPERTY_SLIPPAGE_TOLERANCE = "slippageTolerance";
+ private BigDecimal slippageTolerance;
+
+ public static final String JSON_PROPERTY_OUTPUT_MIN_AMOUNT = "outputMinAmount";
+ private String outputMinAmount;
+
+ public static final String JSON_PROPERTY_OUTPUT_MAX_AMOUNT = "outputMaxAmount";
+ private String outputMaxAmount;
+
+ public static final String JSON_PROPERTY_OUTPUT_ASSET = "outputAsset";
+ private String outputAsset;
+
+ public static final String JSON_PROPERTY_OUTPUT_FINAL_AMOUNT = "outputFinalAmount";
+ private String outputFinalAmount;
+
+ public static final String JSON_PROPERTY_REQUIRED_ACTIONS = "requiredActions";
+ private List requiredActions = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_ERROR = "error";
+ private SwapFlowError error;
+
+ public static final String JSON_PROPERTY_CREATED_AT = "createdAt";
+ private OffsetDateTime createdAt;
+
+ public static final String JSON_PROPERTY_UPDATED_AT = "updatedAt";
+ private OffsetDateTime updatedAt;
+
+ public static final String JSON_PROPERTY_CREATED_BY = "createdBy";
+ private UUID createdBy;
+
+ public SwapOperation() {}
+
+ public SwapOperation id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The id of the swap operation
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public SwapOperation accountId(String accountId) {
+ this.accountId = accountId;
+ return this;
+ }
+
+ /**
+ * The id of the vault account or account id
+ *
+ * @return accountId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAccountId() {
+ return accountId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAccountId(String accountId) {
+ this.accountId = accountId;
+ }
+
+ public SwapOperation providerId(String providerId) {
+ this.providerId = providerId;
+ return this;
+ }
+
+ /**
+ * The ID of the provider
+ *
+ * @return providerId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getProviderId() {
+ return providerId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROVIDER_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProviderId(String providerId) {
+ this.providerId = providerId;
+ }
+
+ public SwapOperation category(ProviderCategoryEnum category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ * Get category
+ *
+ * @return category
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_CATEGORY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ProviderCategoryEnum getCategory() {
+ return category;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CATEGORY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setCategory(ProviderCategoryEnum category) {
+ this.category = category;
+ }
+
+ public SwapOperation protocol(SwapProviderProtocolsEnum protocol) {
+ this.protocol = protocol;
+ return this;
+ }
+
+ /**
+ * Get protocol
+ *
+ * @return protocol
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROTOCOL)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SwapProviderProtocolsEnum getProtocol() {
+ return protocol;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROTOCOL)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProtocol(SwapProviderProtocolsEnum protocol) {
+ this.protocol = protocol;
+ }
+
+ public SwapOperation status(StatusEnum status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * **CREATED** – The swap request has been created but not yet started. **PENDING_USER_ACTION**
+ * – Awaiting a user action (e.g. signature or approval). **PENDING_PROVIDER_ACTION** – Awaiting
+ * the provider to process the request. **PROCESSING** – The swap is actively being executed
+ * on‐chain. **COMPLETED** – The swap has finished successfully. **CANCELED** – The swap was
+ * cancelled by user or provider before completion. **FAILED** – The swap attempted but
+ * encountered an error.
+ *
+ * @return status
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public StatusEnum getStatus() {
+ return status;
+ }
+
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setStatus(StatusEnum status) {
+ this.status = status;
+ }
+
+ public SwapOperation inputAmount(String inputAmount) {
+ this.inputAmount = inputAmount;
+ return this;
+ }
+
+ /**
+ * The amount of tokens the swapper will provide
+ *
+ * @return inputAmount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_INPUT_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInputAmount() {
+ return inputAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_INPUT_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setInputAmount(String inputAmount) {
+ this.inputAmount = inputAmount;
+ }
+
+ public SwapOperation inputAsset(String inputAsset) {
+ this.inputAsset = inputAsset;
+ return this;
+ }
+
+ /**
+ * The id of the asset the swapper will provide
+ *
+ * @return inputAsset
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_INPUT_ASSET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInputAsset() {
+ return inputAsset;
+ }
+
+ @JsonProperty(JSON_PROPERTY_INPUT_ASSET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setInputAsset(String inputAsset) {
+ this.inputAsset = inputAsset;
+ }
+
+ public SwapOperation slippageTolerance(BigDecimal slippageTolerance) {
+ this.slippageTolerance = slippageTolerance;
+ return this;
+ }
+
+ /**
+ * The slippage tolerance is a percentage. The slippage tolerance is the maximum amount the
+ * price can change between the time the transaction is submitted and the time it is executed
+ *
+ * @return slippageTolerance
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_SLIPPAGE_TOLERANCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public BigDecimal getSlippageTolerance() {
+ return slippageTolerance;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SLIPPAGE_TOLERANCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setSlippageTolerance(BigDecimal slippageTolerance) {
+ this.slippageTolerance = slippageTolerance;
+ }
+
+ public SwapOperation outputMinAmount(String outputMinAmount) {
+ this.outputMinAmount = outputMinAmount;
+ return this;
+ }
+
+ /**
+ * The minimum amount of tokens the swapper will receive
+ *
+ * @return outputMinAmount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_OUTPUT_MIN_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getOutputMinAmount() {
+ return outputMinAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_OUTPUT_MIN_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setOutputMinAmount(String outputMinAmount) {
+ this.outputMinAmount = outputMinAmount;
+ }
+
+ public SwapOperation outputMaxAmount(String outputMaxAmount) {
+ this.outputMaxAmount = outputMaxAmount;
+ return this;
+ }
+
+ /**
+ * Maximum amount of tokens that the swapper will receive
+ *
+ * @return outputMaxAmount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_OUTPUT_MAX_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getOutputMaxAmount() {
+ return outputMaxAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_OUTPUT_MAX_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setOutputMaxAmount(String outputMaxAmount) {
+ this.outputMaxAmount = outputMaxAmount;
+ }
+
+ public SwapOperation outputAsset(String outputAsset) {
+ this.outputAsset = outputAsset;
+ return this;
+ }
+
+ /**
+ * The id of the asset the swapper will receive
+ *
+ * @return outputAsset
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_OUTPUT_ASSET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getOutputAsset() {
+ return outputAsset;
+ }
+
+ @JsonProperty(JSON_PROPERTY_OUTPUT_ASSET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setOutputAsset(String outputAsset) {
+ this.outputAsset = outputAsset;
+ }
+
+ public SwapOperation outputFinalAmount(String outputFinalAmount) {
+ this.outputFinalAmount = outputFinalAmount;
+ return this;
+ }
+
+ /**
+ * Final amount of tokens that the swapper will receive
+ *
+ * @return outputFinalAmount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_OUTPUT_FINAL_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getOutputFinalAmount() {
+ return outputFinalAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_OUTPUT_FINAL_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setOutputFinalAmount(String outputFinalAmount) {
+ this.outputFinalAmount = outputFinalAmount;
+ }
+
+ public SwapOperation requiredActions(List requiredActions) {
+ this.requiredActions = requiredActions;
+ return this;
+ }
+
+ public SwapOperation addRequiredActionsItem(SwapRequiredAction requiredActionsItem) {
+ if (this.requiredActions == null) {
+ this.requiredActions = new ArrayList<>();
+ }
+ this.requiredActions.add(requiredActionsItem);
+ return this;
+ }
+
+ /**
+ * The required actions for the swap, including the type of action, the status of the action,
+ * and the transaction id
+ *
+ * @return requiredActions
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_REQUIRED_ACTIONS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getRequiredActions() {
+ return requiredActions;
+ }
+
+ @JsonProperty(JSON_PROPERTY_REQUIRED_ACTIONS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setRequiredActions(List requiredActions) {
+ this.requiredActions = requiredActions;
+ }
+
+ public SwapOperation error(SwapFlowError error) {
+ this.error = error;
+ return this;
+ }
+
+ /**
+ * Get error
+ *
+ * @return error
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ERROR)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SwapFlowError getError() {
+ return error;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ERROR)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setError(SwapFlowError error) {
+ this.error = error;
+ }
+
+ public SwapOperation createdAt(OffsetDateTime createdAt) {
+ this.createdAt = createdAt;
+ return this;
+ }
+
+ /**
+ * The creation time of the swap operation (ISO Date time).
+ *
+ * @return createdAt
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_CREATED_AT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public OffsetDateTime getCreatedAt() {
+ return createdAt;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CREATED_AT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setCreatedAt(OffsetDateTime createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public SwapOperation updatedAt(OffsetDateTime updatedAt) {
+ this.updatedAt = updatedAt;
+ return this;
+ }
+
+ /**
+ * The last update time of the swap operation (ISO Date time).
+ *
+ * @return updatedAt
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_UPDATED_AT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public OffsetDateTime getUpdatedAt() {
+ return updatedAt;
+ }
+
+ @JsonProperty(JSON_PROPERTY_UPDATED_AT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setUpdatedAt(OffsetDateTime updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
+ public SwapOperation createdBy(UUID createdBy) {
+ this.createdBy = createdBy;
+ return this;
+ }
+
+ /**
+ * Fireblocks user id that issued the swap
+ *
+ * @return createdBy
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_CREATED_BY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public UUID getCreatedBy() {
+ return createdBy;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CREATED_BY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setCreatedBy(UUID createdBy) {
+ this.createdBy = createdBy;
+ }
+
+ /** Return true if this SwapOperation object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SwapOperation swapOperation = (SwapOperation) o;
+ return Objects.equals(this.id, swapOperation.id)
+ && Objects.equals(this.accountId, swapOperation.accountId)
+ && Objects.equals(this.providerId, swapOperation.providerId)
+ && Objects.equals(this.category, swapOperation.category)
+ && Objects.equals(this.protocol, swapOperation.protocol)
+ && Objects.equals(this.status, swapOperation.status)
+ && Objects.equals(this.inputAmount, swapOperation.inputAmount)
+ && Objects.equals(this.inputAsset, swapOperation.inputAsset)
+ && Objects.equals(this.slippageTolerance, swapOperation.slippageTolerance)
+ && Objects.equals(this.outputMinAmount, swapOperation.outputMinAmount)
+ && Objects.equals(this.outputMaxAmount, swapOperation.outputMaxAmount)
+ && Objects.equals(this.outputAsset, swapOperation.outputAsset)
+ && Objects.equals(this.outputFinalAmount, swapOperation.outputFinalAmount)
+ && Objects.equals(this.requiredActions, swapOperation.requiredActions)
+ && Objects.equals(this.error, swapOperation.error)
+ && Objects.equals(this.createdAt, swapOperation.createdAt)
+ && Objects.equals(this.updatedAt, swapOperation.updatedAt)
+ && Objects.equals(this.createdBy, swapOperation.createdBy);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ id,
+ accountId,
+ providerId,
+ category,
+ protocol,
+ status,
+ inputAmount,
+ inputAsset,
+ slippageTolerance,
+ outputMinAmount,
+ outputMaxAmount,
+ outputAsset,
+ outputFinalAmount,
+ requiredActions,
+ error,
+ createdAt,
+ updatedAt,
+ createdBy);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SwapOperation {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
+ sb.append(" providerId: ").append(toIndentedString(providerId)).append("\n");
+ sb.append(" category: ").append(toIndentedString(category)).append("\n");
+ sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).append("\n");
+ sb.append(" inputAmount: ").append(toIndentedString(inputAmount)).append("\n");
+ sb.append(" inputAsset: ").append(toIndentedString(inputAsset)).append("\n");
+ sb.append(" slippageTolerance: ")
+ .append(toIndentedString(slippageTolerance))
+ .append("\n");
+ sb.append(" outputMinAmount: ").append(toIndentedString(outputMinAmount)).append("\n");
+ sb.append(" outputMaxAmount: ").append(toIndentedString(outputMaxAmount)).append("\n");
+ sb.append(" outputAsset: ").append(toIndentedString(outputAsset)).append("\n");
+ sb.append(" outputFinalAmount: ")
+ .append(toIndentedString(outputFinalAmount))
+ .append("\n");
+ sb.append(" requiredActions: ").append(toIndentedString(requiredActions)).append("\n");
+ sb.append(" error: ").append(toIndentedString(error)).append("\n");
+ sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n");
+ sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n");
+ sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * 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 ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `id` to the URL query string
+ if (getId() != null) {
+ joiner.add(
+ String.format(
+ "%sid%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `accountId` to the URL query string
+ if (getAccountId() != null) {
+ joiner.add(
+ String.format(
+ "%saccountId%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getAccountId()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `providerId` to the URL query string
+ if (getProviderId() != null) {
+ joiner.add(
+ String.format(
+ "%sproviderId%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getProviderId()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `category` to the URL query string
+ if (getCategory() != null) {
+ joiner.add(
+ String.format(
+ "%scategory%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getCategory()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `protocol` to the URL query string
+ if (getProtocol() != null) {
+ joiner.add(
+ String.format(
+ "%sprotocol%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getProtocol()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `status` to the URL query string
+ if (getStatus() != null) {
+ joiner.add(
+ String.format(
+ "%sstatus%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `inputAmount` to the URL query string
+ if (getInputAmount() != null) {
+ joiner.add(
+ String.format(
+ "%sinputAmount%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getInputAmount()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `inputAsset` to the URL query string
+ if (getInputAsset() != null) {
+ joiner.add(
+ String.format(
+ "%sinputAsset%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getInputAsset()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `slippageTolerance` to the URL query string
+ if (getSlippageTolerance() != null) {
+ joiner.add(
+ String.format(
+ "%sslippageTolerance%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getSlippageTolerance()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `outputMinAmount` to the URL query string
+ if (getOutputMinAmount() != null) {
+ joiner.add(
+ String.format(
+ "%soutputMinAmount%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getOutputMinAmount()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `outputMaxAmount` to the URL query string
+ if (getOutputMaxAmount() != null) {
+ joiner.add(
+ String.format(
+ "%soutputMaxAmount%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getOutputMaxAmount()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `outputAsset` to the URL query string
+ if (getOutputAsset() != null) {
+ joiner.add(
+ String.format(
+ "%soutputAsset%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getOutputAsset()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `outputFinalAmount` to the URL query string
+ if (getOutputFinalAmount() != null) {
+ joiner.add(
+ String.format(
+ "%soutputFinalAmount%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getOutputFinalAmount()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `requiredActions` to the URL query string
+ if (getRequiredActions() != null) {
+ for (int i = 0; i < getRequiredActions().size(); i++) {
+ if (getRequiredActions().get(i) != null) {
+ joiner.add(
+ getRequiredActions()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%srequiredActions%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `error` to the URL query string
+ if (getError() != null) {
+ joiner.add(getError().toUrlQueryString(prefix + "error" + suffix));
+ }
+
+ // add `createdAt` to the URL query string
+ if (getCreatedAt() != null) {
+ joiner.add(
+ String.format(
+ "%screatedAt%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getCreatedAt()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `updatedAt` to the URL query string
+ if (getUpdatedAt() != null) {
+ joiner.add(
+ String.format(
+ "%supdatedAt%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getUpdatedAt()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `createdBy` to the URL query string
+ if (getCreatedBy() != null) {
+ joiner.add(
+ String.format(
+ "%screatedBy%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getCreatedBy()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapOperationRequest.java b/src/main/java/com/fireblocks/sdk/model/SwapOperationRequest.java
new file mode 100644
index 00000000..45757fc2
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapOperationRequest.java
@@ -0,0 +1,261 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonValue;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Objects;
+import java.util.StringJoiner;
+import java.util.UUID;
+
+/** SwapOperationRequest */
+@JsonPropertyOrder({
+ SwapOperationRequest.JSON_PROPERTY_PROVIDER_QUOTE_ID,
+ SwapOperationRequest.JSON_PROPERTY_FEE_LEVEL,
+ SwapOperationRequest.JSON_PROPERTY_TX_NOTE
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SwapOperationRequest {
+ public static final String JSON_PROPERTY_PROVIDER_QUOTE_ID = "providerQuoteId";
+ private UUID providerQuoteId;
+
+ /** The fee level of the transaction */
+ public enum FeeLevelEnum {
+ LOW("LOW"),
+
+ MEDIUM("MEDIUM"),
+
+ HIGH("HIGH");
+
+ private String value;
+
+ FeeLevelEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static FeeLevelEnum fromValue(String value) {
+ for (FeeLevelEnum b : FeeLevelEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_FEE_LEVEL = "feeLevel";
+ private FeeLevelEnum feeLevel;
+
+ public static final String JSON_PROPERTY_TX_NOTE = "txNote";
+ private String txNote;
+
+ public SwapOperationRequest() {}
+
+ public SwapOperationRequest providerQuoteId(UUID providerQuoteId) {
+ this.providerQuoteId = providerQuoteId;
+ return this;
+ }
+
+ /**
+ * An identifier that uniquely identifies the received quote
+ *
+ * @return providerQuoteId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROVIDER_QUOTE_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public UUID getProviderQuoteId() {
+ return providerQuoteId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROVIDER_QUOTE_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProviderQuoteId(UUID providerQuoteId) {
+ this.providerQuoteId = providerQuoteId;
+ }
+
+ public SwapOperationRequest feeLevel(FeeLevelEnum feeLevel) {
+ this.feeLevel = feeLevel;
+ return this;
+ }
+
+ /**
+ * The fee level of the transaction
+ *
+ * @return feeLevel
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FEE_LEVEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public FeeLevelEnum getFeeLevel() {
+ return feeLevel;
+ }
+
+ @JsonProperty(JSON_PROPERTY_FEE_LEVEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFeeLevel(FeeLevelEnum feeLevel) {
+ this.feeLevel = feeLevel;
+ }
+
+ public SwapOperationRequest txNote(String txNote) {
+ this.txNote = txNote;
+ return this;
+ }
+
+ /**
+ * user note on the transaction
+ *
+ * @return txNote
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TX_NOTE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getTxNote() {
+ return txNote;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TX_NOTE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTxNote(String txNote) {
+ this.txNote = txNote;
+ }
+
+ /** Return true if this SwapOperationRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SwapOperationRequest swapOperationRequest = (SwapOperationRequest) o;
+ return Objects.equals(this.providerQuoteId, swapOperationRequest.providerQuoteId)
+ && Objects.equals(this.feeLevel, swapOperationRequest.feeLevel)
+ && Objects.equals(this.txNote, swapOperationRequest.txNote);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(providerQuoteId, feeLevel, txNote);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SwapOperationRequest {\n");
+ sb.append(" providerQuoteId: ").append(toIndentedString(providerQuoteId)).append("\n");
+ sb.append(" feeLevel: ").append(toIndentedString(feeLevel)).append("\n");
+ sb.append(" txNote: ").append(toIndentedString(txNote)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * 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 ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `providerQuoteId` to the URL query string
+ if (getProviderQuoteId() != null) {
+ joiner.add(
+ String.format(
+ "%sproviderQuoteId%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getProviderQuoteId()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `feeLevel` to the URL query string
+ if (getFeeLevel() != null) {
+ joiner.add(
+ String.format(
+ "%sfeeLevel%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getFeeLevel()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `txNote` to the URL query string
+ if (getTxNote() != null) {
+ joiner.add(
+ String.format(
+ "%stxNote%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getTxNote()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapOperationsPaginatedResponse.java b/src/main/java/com/fireblocks/sdk/model/SwapOperationsPaginatedResponse.java
new file mode 100644
index 00000000..e3fe1a92
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapOperationsPaginatedResponse.java
@@ -0,0 +1,205 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** SwapOperationsPaginatedResponse */
+@JsonPropertyOrder({
+ SwapOperationsPaginatedResponse.JSON_PROPERTY_DATA,
+ SwapOperationsPaginatedResponse.JSON_PROPERTY_NEXT
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SwapOperationsPaginatedResponse {
+ public static final String JSON_PROPERTY_DATA = "data";
+ private List data = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_NEXT = "next";
+ private String next;
+
+ public SwapOperationsPaginatedResponse() {}
+
+ public SwapOperationsPaginatedResponse data(List data) {
+ this.data = data;
+ return this;
+ }
+
+ public SwapOperationsPaginatedResponse addDataItem(SwapOperation dataItem) {
+ if (this.data == null) {
+ this.data = new ArrayList<>();
+ }
+ this.data.add(dataItem);
+ return this;
+ }
+
+ /**
+ * The data of the current page
+ *
+ * @return data
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getData() {
+ return data;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public SwapOperationsPaginatedResponse next(String next) {
+ this.next = next;
+ return this;
+ }
+
+ /**
+ * The cursor to fetch the next page of results, if absent or null, there are no additional
+ * results.
+ *
+ * @return next
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getNext() {
+ return next;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setNext(String next) {
+ this.next = next;
+ }
+
+ /** Return true if this SwapOperationsPaginatedResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SwapOperationsPaginatedResponse swapOperationsPaginatedResponse =
+ (SwapOperationsPaginatedResponse) o;
+ return Objects.equals(this.data, swapOperationsPaginatedResponse.data)
+ && Objects.equals(this.next, swapOperationsPaginatedResponse.next);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, next);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SwapOperationsPaginatedResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" next: ").append(toIndentedString(next)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * 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 ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `data` to the URL query string
+ if (getData() != null) {
+ for (int i = 0; i < getData().size(); i++) {
+ if (getData().get(i) != null) {
+ joiner.add(
+ getData()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%sdata%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `next` to the URL query string
+ if (getNext() != null) {
+ joiner.add(
+ String.format(
+ "%snext%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getNext()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapProvider.java b/src/main/java/com/fireblocks/sdk/model/SwapProvider.java
new file mode 100644
index 00000000..eb5f9f54
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapProvider.java
@@ -0,0 +1,426 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** SwapProvider */
+@JsonPropertyOrder({
+ SwapProvider.JSON_PROPERTY_ID,
+ SwapProvider.JSON_PROPERTY_NAME,
+ SwapProvider.JSON_PROPERTY_PROTOCOLS,
+ SwapProvider.JSON_PROPERTY_CATEGORY,
+ SwapProvider.JSON_PROPERTY_IS_TERMS_APPROVAL_REQUIRED,
+ SwapProvider.JSON_PROPERTY_TERMS_OF_SERVICE_URL,
+ SwapProvider.JSON_PROPERTY_IS_TERMS_OF_SERVICE_APPROVED
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SwapProvider {
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_PROTOCOLS = "protocols";
+ private List protocols = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_CATEGORY = "category";
+ private ProviderCategoryEnum category;
+
+ public static final String JSON_PROPERTY_IS_TERMS_APPROVAL_REQUIRED = "isTermsApprovalRequired";
+ private Boolean isTermsApprovalRequired;
+
+ public static final String JSON_PROPERTY_TERMS_OF_SERVICE_URL = "termsOfServiceUrl";
+ private String termsOfServiceUrl;
+
+ public static final String JSON_PROPERTY_IS_TERMS_OF_SERVICE_APPROVED =
+ "isTermsOfServiceApproved";
+ private Boolean isTermsOfServiceApproved;
+
+ public SwapProvider() {}
+
+ public SwapProvider id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The ID of the provider
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public SwapProvider name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Name of the provider
+ *
+ * @return name
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public SwapProvider protocols(List protocols) {
+ this.protocols = protocols;
+ return this;
+ }
+
+ public SwapProvider addProtocolsItem(SwapProviderProtocolsEnum protocolsItem) {
+ if (this.protocols == null) {
+ this.protocols = new ArrayList<>();
+ }
+ this.protocols.add(protocolsItem);
+ return this;
+ }
+
+ /**
+ * List of supported protocols. Protocols are specific per provider
+ *
+ * @return protocols
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROTOCOLS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getProtocols() {
+ return protocols;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROTOCOLS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProtocols(List protocols) {
+ this.protocols = protocols;
+ }
+
+ public SwapProvider category(ProviderCategoryEnum category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ * Get category
+ *
+ * @return category
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_CATEGORY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ProviderCategoryEnum getCategory() {
+ return category;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CATEGORY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setCategory(ProviderCategoryEnum category) {
+ this.category = category;
+ }
+
+ public SwapProvider isTermsApprovalRequired(Boolean isTermsApprovalRequired) {
+ this.isTermsApprovalRequired = isTermsApprovalRequired;
+ return this;
+ }
+
+ /**
+ * Indicates whether the terms of service are required for the provider. if `true`,
+ * the user must approve the terms of service before using the provider. otherwise,
+ * `termsOfServiceUrl` and `isTermsOfServiceApproved` are not shown under
+ * the provider data.
+ *
+ * @return isTermsApprovalRequired
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_IS_TERMS_APPROVAL_REQUIRED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Boolean getIsTermsApprovalRequired() {
+ return isTermsApprovalRequired;
+ }
+
+ @JsonProperty(JSON_PROPERTY_IS_TERMS_APPROVAL_REQUIRED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setIsTermsApprovalRequired(Boolean isTermsApprovalRequired) {
+ this.isTermsApprovalRequired = isTermsApprovalRequired;
+ }
+
+ public SwapProvider termsOfServiceUrl(String termsOfServiceUrl) {
+ this.termsOfServiceUrl = termsOfServiceUrl;
+ return this;
+ }
+
+ /**
+ * URL to the terms of service
+ *
+ * @return termsOfServiceUrl
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TERMS_OF_SERVICE_URL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getTermsOfServiceUrl() {
+ return termsOfServiceUrl;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TERMS_OF_SERVICE_URL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTermsOfServiceUrl(String termsOfServiceUrl) {
+ this.termsOfServiceUrl = termsOfServiceUrl;
+ }
+
+ public SwapProvider isTermsOfServiceApproved(Boolean isTermsOfServiceApproved) {
+ this.isTermsOfServiceApproved = isTermsOfServiceApproved;
+ return this;
+ }
+
+ /**
+ * Indicates whether the terms of service are approved by the user
+ *
+ * @return isTermsOfServiceApproved
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_IS_TERMS_OF_SERVICE_APPROVED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getIsTermsOfServiceApproved() {
+ return isTermsOfServiceApproved;
+ }
+
+ @JsonProperty(JSON_PROPERTY_IS_TERMS_OF_SERVICE_APPROVED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setIsTermsOfServiceApproved(Boolean isTermsOfServiceApproved) {
+ this.isTermsOfServiceApproved = isTermsOfServiceApproved;
+ }
+
+ /** Return true if this SwapProvider object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SwapProvider swapProvider = (SwapProvider) o;
+ return Objects.equals(this.id, swapProvider.id)
+ && Objects.equals(this.name, swapProvider.name)
+ && Objects.equals(this.protocols, swapProvider.protocols)
+ && Objects.equals(this.category, swapProvider.category)
+ && Objects.equals(
+ this.isTermsApprovalRequired, swapProvider.isTermsApprovalRequired)
+ && Objects.equals(this.termsOfServiceUrl, swapProvider.termsOfServiceUrl)
+ && Objects.equals(
+ this.isTermsOfServiceApproved, swapProvider.isTermsOfServiceApproved);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ id,
+ name,
+ protocols,
+ category,
+ isTermsApprovalRequired,
+ termsOfServiceUrl,
+ isTermsOfServiceApproved);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SwapProvider {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" protocols: ").append(toIndentedString(protocols)).append("\n");
+ sb.append(" category: ").append(toIndentedString(category)).append("\n");
+ sb.append(" isTermsApprovalRequired: ")
+ .append(toIndentedString(isTermsApprovalRequired))
+ .append("\n");
+ sb.append(" termsOfServiceUrl: ")
+ .append(toIndentedString(termsOfServiceUrl))
+ .append("\n");
+ sb.append(" isTermsOfServiceApproved: ")
+ .append(toIndentedString(isTermsOfServiceApproved))
+ .append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * 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 ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `id` to the URL query string
+ if (getId() != null) {
+ joiner.add(
+ String.format(
+ "%sid%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(
+ String.format(
+ "%sname%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `protocols` to the URL query string
+ if (getProtocols() != null) {
+ for (int i = 0; i < getProtocols().size(); i++) {
+ if (getProtocols().get(i) != null) {
+ joiner.add(
+ String.format(
+ "%sprotocols%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(
+ String.valueOf(getProtocols().get(i)),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+ }
+ }
+
+ // add `category` to the URL query string
+ if (getCategory() != null) {
+ joiner.add(
+ String.format(
+ "%scategory%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getCategory()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `isTermsApprovalRequired` to the URL query string
+ if (getIsTermsApprovalRequired() != null) {
+ joiner.add(
+ String.format(
+ "%sisTermsApprovalRequired%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getIsTermsApprovalRequired()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `termsOfServiceUrl` to the URL query string
+ if (getTermsOfServiceUrl() != null) {
+ joiner.add(
+ String.format(
+ "%stermsOfServiceUrl%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getTermsOfServiceUrl()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `isTermsOfServiceApproved` to the URL query string
+ if (getIsTermsOfServiceApproved() != null) {
+ joiner.add(
+ String.format(
+ "%sisTermsOfServiceApproved%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getIsTermsOfServiceApproved()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnum.java b/src/main/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnum.java
new file mode 100644
index 00000000..657266f9
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnum.java
@@ -0,0 +1,72 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Protocol options supported by each provider. `UNISWAP` supports
+ * `UNISWAP_CLASSIC` and `UNISWAPX`. `WRAP_UNWRAP` supports
+ * `WRAP` and `UNWRAP.`
+ */
+public enum SwapProviderProtocolsEnum {
+ UNISWAP_CLASSIC("UNISWAP_CLASSIC"),
+
+ UNISWAPX("UNISWAPX"),
+
+ WRAP("WRAP"),
+
+ UNWRAP("UNWRAP");
+
+ private String value;
+
+ SwapProviderProtocolsEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static SwapProviderProtocolsEnum fromValue(String value) {
+ for (SwapProviderProtocolsEnum b : SwapProviderProtocolsEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ if (prefix == null) {
+ prefix = "";
+ }
+
+ return String.format("%s=%s", prefix, this.toString());
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapProvidersPaginatedResponse.java b/src/main/java/com/fireblocks/sdk/model/SwapProvidersPaginatedResponse.java
new file mode 100644
index 00000000..f6260075
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapProvidersPaginatedResponse.java
@@ -0,0 +1,205 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** SwapProvidersPaginatedResponse */
+@JsonPropertyOrder({
+ SwapProvidersPaginatedResponse.JSON_PROPERTY_DATA,
+ SwapProvidersPaginatedResponse.JSON_PROPERTY_NEXT
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SwapProvidersPaginatedResponse {
+ public static final String JSON_PROPERTY_DATA = "data";
+ private List data = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_NEXT = "next";
+ private String next;
+
+ public SwapProvidersPaginatedResponse() {}
+
+ public SwapProvidersPaginatedResponse data(List data) {
+ this.data = data;
+ return this;
+ }
+
+ public SwapProvidersPaginatedResponse addDataItem(SwapProvider dataItem) {
+ if (this.data == null) {
+ this.data = new ArrayList<>();
+ }
+ this.data.add(dataItem);
+ return this;
+ }
+
+ /**
+ * The data of the current page
+ *
+ * @return data
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getData() {
+ return data;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public SwapProvidersPaginatedResponse next(String next) {
+ this.next = next;
+ return this;
+ }
+
+ /**
+ * The cursor to fetch the next page of results, if absent or null, there are no additional
+ * results.
+ *
+ * @return next
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getNext() {
+ return next;
+ }
+
+ @JsonProperty(JSON_PROPERTY_NEXT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setNext(String next) {
+ this.next = next;
+ }
+
+ /** Return true if this SwapProvidersPaginatedResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SwapProvidersPaginatedResponse swapProvidersPaginatedResponse =
+ (SwapProvidersPaginatedResponse) o;
+ return Objects.equals(this.data, swapProvidersPaginatedResponse.data)
+ && Objects.equals(this.next, swapProvidersPaginatedResponse.next);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, next);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SwapProvidersPaginatedResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" next: ").append(toIndentedString(next)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * 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 ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `data` to the URL query string
+ if (getData() != null) {
+ for (int i = 0; i < getData().size(); i++) {
+ if (getData().get(i) != null) {
+ joiner.add(
+ getData()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%sdata%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `next` to the URL query string
+ if (getNext() != null) {
+ joiner.add(
+ String.format(
+ "%snext%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getNext()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapRequiredAction.java b/src/main/java/com/fireblocks/sdk/model/SwapRequiredAction.java
new file mode 100644
index 00000000..43fb5190
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapRequiredAction.java
@@ -0,0 +1,262 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonValue;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** SwapRequiredAction */
+@JsonPropertyOrder({
+ SwapRequiredAction.JSON_PROPERTY_TYPE,
+ SwapRequiredAction.JSON_PROPERTY_STATUS,
+ SwapRequiredAction.JSON_PROPERTY_TX_ID
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SwapRequiredAction {
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private SwapRequiredActionsEnum type;
+
+ /** The status of the required action */
+ public enum StatusEnum {
+ WAITING("WAITING"),
+
+ PROCESSING("PROCESSING"),
+
+ COMPLETED("COMPLETED"),
+
+ FAILED("FAILED"),
+
+ CANCELED("CANCELED");
+
+ private String value;
+
+ StatusEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static StatusEnum fromValue(String value) {
+ for (StatusEnum b : StatusEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_STATUS = "status";
+ private StatusEnum status;
+
+ public static final String JSON_PROPERTY_TX_ID = "txId";
+ private String txId;
+
+ public SwapRequiredAction() {}
+
+ public SwapRequiredAction type(SwapRequiredActionsEnum type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get type
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SwapRequiredActionsEnum getType() {
+ return type;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setType(SwapRequiredActionsEnum type) {
+ this.type = type;
+ }
+
+ public SwapRequiredAction status(StatusEnum status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * The status of the required action
+ *
+ * @return status
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public StatusEnum getStatus() {
+ return status;
+ }
+
+ @JsonProperty(JSON_PROPERTY_STATUS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setStatus(StatusEnum status) {
+ this.status = status;
+ }
+
+ public SwapRequiredAction txId(String txId) {
+ this.txId = txId;
+ return this;
+ }
+
+ /**
+ * The transaction id of the required action
+ *
+ * @return txId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TX_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getTxId() {
+ return txId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TX_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTxId(String txId) {
+ this.txId = txId;
+ }
+
+ /** Return true if this SwapRequiredAction object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SwapRequiredAction swapRequiredAction = (SwapRequiredAction) o;
+ return Objects.equals(this.type, swapRequiredAction.type)
+ && Objects.equals(this.status, swapRequiredAction.status)
+ && Objects.equals(this.txId, swapRequiredAction.txId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type, status, txId);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SwapRequiredAction {\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" status: ").append(toIndentedString(status)).append("\n");
+ sb.append(" txId: ").append(toIndentedString(txId)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * 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 ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `type` to the URL query string
+ if (getType() != null) {
+ joiner.add(
+ String.format(
+ "%stype%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getType()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `status` to the URL query string
+ if (getStatus() != null) {
+ joiner.add(
+ String.format(
+ "%sstatus%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `txId` to the URL query string
+ if (getTxId() != null) {
+ joiner.add(
+ String.format(
+ "%stxId%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getTxId()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SwapRequiredActionsEnum.java b/src/main/java/com/fireblocks/sdk/model/SwapRequiredActionsEnum.java
new file mode 100644
index 00000000..15922f2b
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SwapRequiredActionsEnum.java
@@ -0,0 +1,66 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/** Gets or Sets SwapRequiredActionsEnum */
+public enum SwapRequiredActionsEnum {
+ APPROVE("APPROVE"),
+
+ PERMIT("PERMIT"),
+
+ CONTRACT_CALL("CONTRACT_CALL");
+
+ private String value;
+
+ SwapRequiredActionsEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static SwapRequiredActionsEnum fromValue(String value) {
+ for (SwapRequiredActionsEnum b : SwapRequiredActionsEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ if (prefix == null) {
+ prefix = "";
+ }
+
+ return String.format("%s=%s", prefix, this.toString());
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/WalletQuoteResponse.java b/src/main/java/com/fireblocks/sdk/model/WalletQuoteResponse.java
new file mode 100644
index 00000000..3f1377e8
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/WalletQuoteResponse.java
@@ -0,0 +1,621 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.time.OffsetDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+import java.util.UUID;
+
+/** Return a quote with id that can be used for swap operation. */
+@JsonPropertyOrder({
+ WalletQuoteResponse.JSON_PROPERTY_PROTOCOL,
+ WalletQuoteResponse.JSON_PROPERTY_INPUT_AMOUNT,
+ WalletQuoteResponse.JSON_PROPERTY_INPUT_ASSET,
+ WalletQuoteResponse.JSON_PROPERTY_SLIPPAGE_TOLERANCE,
+ WalletQuoteResponse.JSON_PROPERTY_OUTPUT_MIN_AMOUNT,
+ WalletQuoteResponse.JSON_PROPERTY_OUTPUT_MAX_AMOUNT,
+ WalletQuoteResponse.JSON_PROPERTY_OUTPUT_ASSET,
+ WalletQuoteResponse.JSON_PROPERTY_ADDITIONAL_DATA,
+ WalletQuoteResponse.JSON_PROPERTY_PROVIDER_QUOTE_ID,
+ WalletQuoteResponse.JSON_PROPERTY_EXPIRED_AT,
+ WalletQuoteResponse.JSON_PROPERTY_REQUIRED_ACTIONS,
+ WalletQuoteResponse.JSON_PROPERTY_ESTIMATED_FEES
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class WalletQuoteResponse {
+ public static final String JSON_PROPERTY_PROTOCOL = "protocol";
+ private SwapProviderProtocolsEnum protocol;
+
+ public static final String JSON_PROPERTY_INPUT_AMOUNT = "inputAmount";
+ private String inputAmount;
+
+ public static final String JSON_PROPERTY_INPUT_ASSET = "inputAsset";
+ private String inputAsset;
+
+ public static final String JSON_PROPERTY_SLIPPAGE_TOLERANCE = "slippageTolerance";
+ private BigDecimal slippageTolerance;
+
+ public static final String JSON_PROPERTY_OUTPUT_MIN_AMOUNT = "outputMinAmount";
+ private String outputMinAmount;
+
+ public static final String JSON_PROPERTY_OUTPUT_MAX_AMOUNT = "outputMaxAmount";
+ private String outputMaxAmount;
+
+ public static final String JSON_PROPERTY_OUTPUT_ASSET = "outputAsset";
+ private String outputAsset;
+
+ public static final String JSON_PROPERTY_ADDITIONAL_DATA = "additionalData";
+ private ProviderAdditionalData additionalData;
+
+ public static final String JSON_PROPERTY_PROVIDER_QUOTE_ID = "providerQuoteId";
+ private UUID providerQuoteId;
+
+ public static final String JSON_PROPERTY_EXPIRED_AT = "expiredAt";
+ private OffsetDateTime expiredAt;
+
+ public static final String JSON_PROPERTY_REQUIRED_ACTIONS = "requiredActions";
+ private List requiredActions = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_ESTIMATED_FEES = "estimatedFees";
+ private QuoteFee estimatedFees;
+
+ public WalletQuoteResponse() {}
+
+ public WalletQuoteResponse protocol(SwapProviderProtocolsEnum protocol) {
+ this.protocol = protocol;
+ return this;
+ }
+
+ /**
+ * Get protocol
+ *
+ * @return protocol
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROTOCOL)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SwapProviderProtocolsEnum getProtocol() {
+ return protocol;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROTOCOL)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProtocol(SwapProviderProtocolsEnum protocol) {
+ this.protocol = protocol;
+ }
+
+ public WalletQuoteResponse inputAmount(String inputAmount) {
+ this.inputAmount = inputAmount;
+ return this;
+ }
+
+ /**
+ * The amount of tokens the swapper will provide
+ *
+ * @return inputAmount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_INPUT_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInputAmount() {
+ return inputAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_INPUT_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setInputAmount(String inputAmount) {
+ this.inputAmount = inputAmount;
+ }
+
+ public WalletQuoteResponse inputAsset(String inputAsset) {
+ this.inputAsset = inputAsset;
+ return this;
+ }
+
+ /**
+ * The id of the asset the swapper will provide
+ *
+ * @return inputAsset
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_INPUT_ASSET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInputAsset() {
+ return inputAsset;
+ }
+
+ @JsonProperty(JSON_PROPERTY_INPUT_ASSET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setInputAsset(String inputAsset) {
+ this.inputAsset = inputAsset;
+ }
+
+ public WalletQuoteResponse slippageTolerance(BigDecimal slippageTolerance) {
+ this.slippageTolerance = slippageTolerance;
+ return this;
+ }
+
+ /**
+ * The slippage tolerance is a percentage. The slippage tolerance is the maximum amount the
+ * price can change between the time the transaction is submitted and the time it is executed
+ *
+ * @return slippageTolerance
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_SLIPPAGE_TOLERANCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public BigDecimal getSlippageTolerance() {
+ return slippageTolerance;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SLIPPAGE_TOLERANCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setSlippageTolerance(BigDecimal slippageTolerance) {
+ this.slippageTolerance = slippageTolerance;
+ }
+
+ public WalletQuoteResponse outputMinAmount(String outputMinAmount) {
+ this.outputMinAmount = outputMinAmount;
+ return this;
+ }
+
+ /**
+ * The minimum amount of tokens the swapper will receive
+ *
+ * @return outputMinAmount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_OUTPUT_MIN_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getOutputMinAmount() {
+ return outputMinAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_OUTPUT_MIN_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setOutputMinAmount(String outputMinAmount) {
+ this.outputMinAmount = outputMinAmount;
+ }
+
+ public WalletQuoteResponse outputMaxAmount(String outputMaxAmount) {
+ this.outputMaxAmount = outputMaxAmount;
+ return this;
+ }
+
+ /**
+ * Maximum amount of tokens that the swapper will receive
+ *
+ * @return outputMaxAmount
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_OUTPUT_MAX_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getOutputMaxAmount() {
+ return outputMaxAmount;
+ }
+
+ @JsonProperty(JSON_PROPERTY_OUTPUT_MAX_AMOUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setOutputMaxAmount(String outputMaxAmount) {
+ this.outputMaxAmount = outputMaxAmount;
+ }
+
+ public WalletQuoteResponse outputAsset(String outputAsset) {
+ this.outputAsset = outputAsset;
+ return this;
+ }
+
+ /**
+ * The id of the asset the swapper will receive
+ *
+ * @return outputAsset
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_OUTPUT_ASSET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getOutputAsset() {
+ return outputAsset;
+ }
+
+ @JsonProperty(JSON_PROPERTY_OUTPUT_ASSET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setOutputAsset(String outputAsset) {
+ this.outputAsset = outputAsset;
+ }
+
+ public WalletQuoteResponse additionalData(ProviderAdditionalData additionalData) {
+ this.additionalData = additionalData;
+ return this;
+ }
+
+ /**
+ * Get additionalData
+ *
+ * @return additionalData
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ADDITIONAL_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ProviderAdditionalData getAdditionalData() {
+ return additionalData;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ADDITIONAL_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAdditionalData(ProviderAdditionalData additionalData) {
+ this.additionalData = additionalData;
+ }
+
+ public WalletQuoteResponse providerQuoteId(UUID providerQuoteId) {
+ this.providerQuoteId = providerQuoteId;
+ return this;
+ }
+
+ /**
+ * An identifier that uniquely identifies the received quote
+ *
+ * @return providerQuoteId
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_PROVIDER_QUOTE_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public UUID getProviderQuoteId() {
+ return providerQuoteId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROVIDER_QUOTE_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setProviderQuoteId(UUID providerQuoteId) {
+ this.providerQuoteId = providerQuoteId;
+ }
+
+ public WalletQuoteResponse expiredAt(OffsetDateTime expiredAt) {
+ this.expiredAt = expiredAt;
+ return this;
+ }
+
+ /**
+ * When was the received `providerQuoteId` is expired (ISO Date time).
+ *
+ * @return expiredAt
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_EXPIRED_AT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public OffsetDateTime getExpiredAt() {
+ return expiredAt;
+ }
+
+ @JsonProperty(JSON_PROPERTY_EXPIRED_AT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setExpiredAt(OffsetDateTime expiredAt) {
+ this.expiredAt = expiredAt;
+ }
+
+ public WalletQuoteResponse requiredActions(List requiredActions) {
+ this.requiredActions = requiredActions;
+ return this;
+ }
+
+ public WalletQuoteResponse addRequiredActionsItem(SwapRequiredActionsEnum requiredActionsItem) {
+ if (this.requiredActions == null) {
+ this.requiredActions = new ArrayList<>();
+ }
+ this.requiredActions.add(requiredActionsItem);
+ return this;
+ }
+
+ /**
+ * The required actions for completing a swap operation
+ *
+ * @return requiredActions
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_REQUIRED_ACTIONS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getRequiredActions() {
+ return requiredActions;
+ }
+
+ @JsonProperty(JSON_PROPERTY_REQUIRED_ACTIONS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setRequiredActions(List requiredActions) {
+ this.requiredActions = requiredActions;
+ }
+
+ public WalletQuoteResponse estimatedFees(QuoteFee estimatedFees) {
+ this.estimatedFees = estimatedFees;
+ return this;
+ }
+
+ /**
+ * Get estimatedFees
+ *
+ * @return estimatedFees
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ESTIMATED_FEES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public QuoteFee getEstimatedFees() {
+ return estimatedFees;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ESTIMATED_FEES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setEstimatedFees(QuoteFee estimatedFees) {
+ this.estimatedFees = estimatedFees;
+ }
+
+ /** Return true if this WalletQuoteResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ WalletQuoteResponse walletQuoteResponse = (WalletQuoteResponse) o;
+ return Objects.equals(this.protocol, walletQuoteResponse.protocol)
+ && Objects.equals(this.inputAmount, walletQuoteResponse.inputAmount)
+ && Objects.equals(this.inputAsset, walletQuoteResponse.inputAsset)
+ && Objects.equals(this.slippageTolerance, walletQuoteResponse.slippageTolerance)
+ && Objects.equals(this.outputMinAmount, walletQuoteResponse.outputMinAmount)
+ && Objects.equals(this.outputMaxAmount, walletQuoteResponse.outputMaxAmount)
+ && Objects.equals(this.outputAsset, walletQuoteResponse.outputAsset)
+ && Objects.equals(this.additionalData, walletQuoteResponse.additionalData)
+ && Objects.equals(this.providerQuoteId, walletQuoteResponse.providerQuoteId)
+ && Objects.equals(this.expiredAt, walletQuoteResponse.expiredAt)
+ && Objects.equals(this.requiredActions, walletQuoteResponse.requiredActions)
+ && Objects.equals(this.estimatedFees, walletQuoteResponse.estimatedFees);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ protocol,
+ inputAmount,
+ inputAsset,
+ slippageTolerance,
+ outputMinAmount,
+ outputMaxAmount,
+ outputAsset,
+ additionalData,
+ providerQuoteId,
+ expiredAt,
+ requiredActions,
+ estimatedFees);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class WalletQuoteResponse {\n");
+ sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n");
+ sb.append(" inputAmount: ").append(toIndentedString(inputAmount)).append("\n");
+ sb.append(" inputAsset: ").append(toIndentedString(inputAsset)).append("\n");
+ sb.append(" slippageTolerance: ")
+ .append(toIndentedString(slippageTolerance))
+ .append("\n");
+ sb.append(" outputMinAmount: ").append(toIndentedString(outputMinAmount)).append("\n");
+ sb.append(" outputMaxAmount: ").append(toIndentedString(outputMaxAmount)).append("\n");
+ sb.append(" outputAsset: ").append(toIndentedString(outputAsset)).append("\n");
+ sb.append(" additionalData: ").append(toIndentedString(additionalData)).append("\n");
+ sb.append(" providerQuoteId: ").append(toIndentedString(providerQuoteId)).append("\n");
+ sb.append(" expiredAt: ").append(toIndentedString(expiredAt)).append("\n");
+ sb.append(" requiredActions: ").append(toIndentedString(requiredActions)).append("\n");
+ sb.append(" estimatedFees: ").append(toIndentedString(estimatedFees)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * 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 ");
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @return URL query string
+ */
+ public String toUrlQueryString() {
+ return toUrlQueryString(null);
+ }
+
+ /**
+ * Convert the instance into URL query string.
+ *
+ * @param prefix prefix of the query string
+ * @return URL query string
+ */
+ public String toUrlQueryString(String prefix) {
+ String suffix = "";
+ String containerSuffix = "";
+ String containerPrefix = "";
+ if (prefix == null) {
+ // style=form, explode=true, e.g. /pet?name=cat&type=manx
+ prefix = "";
+ } else {
+ // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
+ prefix = prefix + "[";
+ suffix = "]";
+ containerSuffix = "]";
+ containerPrefix = "[";
+ }
+
+ StringJoiner joiner = new StringJoiner("&");
+
+ // add `protocol` to the URL query string
+ if (getProtocol() != null) {
+ joiner.add(
+ String.format(
+ "%sprotocol%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getProtocol()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `inputAmount` to the URL query string
+ if (getInputAmount() != null) {
+ joiner.add(
+ String.format(
+ "%sinputAmount%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getInputAmount()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `inputAsset` to the URL query string
+ if (getInputAsset() != null) {
+ joiner.add(
+ String.format(
+ "%sinputAsset%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getInputAsset()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `slippageTolerance` to the URL query string
+ if (getSlippageTolerance() != null) {
+ joiner.add(
+ String.format(
+ "%sslippageTolerance%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getSlippageTolerance()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `outputMinAmount` to the URL query string
+ if (getOutputMinAmount() != null) {
+ joiner.add(
+ String.format(
+ "%soutputMinAmount%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getOutputMinAmount()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `outputMaxAmount` to the URL query string
+ if (getOutputMaxAmount() != null) {
+ joiner.add(
+ String.format(
+ "%soutputMaxAmount%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getOutputMaxAmount()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `outputAsset` to the URL query string
+ if (getOutputAsset() != null) {
+ joiner.add(
+ String.format(
+ "%soutputAsset%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getOutputAsset()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `additionalData` to the URL query string
+ if (getAdditionalData() != null) {
+ joiner.add(getAdditionalData().toUrlQueryString(prefix + "additionalData" + suffix));
+ }
+
+ // add `providerQuoteId` to the URL query string
+ if (getProviderQuoteId() != null) {
+ joiner.add(
+ String.format(
+ "%sproviderQuoteId%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getProviderQuoteId()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `expiredAt` to the URL query string
+ if (getExpiredAt() != null) {
+ joiner.add(
+ String.format(
+ "%sexpiredAt%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getExpiredAt()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `requiredActions` to the URL query string
+ if (getRequiredActions() != null) {
+ for (int i = 0; i < getRequiredActions().size(); i++) {
+ if (getRequiredActions().get(i) != null) {
+ joiner.add(
+ String.format(
+ "%srequiredActions%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(
+ String.valueOf(getRequiredActions().get(i)),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+ }
+ }
+
+ // add `estimatedFees` to the URL query string
+ if (getEstimatedFees() != null) {
+ joiner.add(getEstimatedFees().toUrlQueryString(prefix + "estimatedFees" + suffix));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/FireblocksTest.java b/src/test/java/com/fireblocks/sdk/FireblocksTest.java
index aa60672b..c33dee55 100644
--- a/src/test/java/com/fireblocks/sdk/FireblocksTest.java
+++ b/src/test/java/com/fireblocks/sdk/FireblocksTest.java
@@ -597,6 +597,14 @@ public void testGetStakingApi() {
Assert.assertSame(staking, fireblocks.staking());
}
+ @Test
+ public void testGetSwapBetaApi() {
+ setupFireblocks(true, null, null);
+ SwapBetaApi swapBeta = fireblocks.swapBeta();
+ Assert.assertNotNull(swapBeta);
+ Assert.assertSame(swapBeta, fireblocks.swapBeta());
+ }
+
@Test
public void testGetTokenizationApi() {
setupFireblocks(true, null, null);
diff --git a/src/test/java/com/fireblocks/sdk/api/StakingApiTest.java b/src/test/java/com/fireblocks/sdk/api/StakingApiTest.java
index 8b6974c5..29c6999b 100644
--- a/src/test/java/com/fireblocks/sdk/api/StakingApiTest.java
+++ b/src/test/java/com/fireblocks/sdk/api/StakingApiTest.java
@@ -172,9 +172,10 @@ public void getSummaryByVaultTest() throws ApiException {
}
/**
- * Execute a Merge operation on SOL/SOL_TEST stake accounts
+ * Merge Solana on stake accounts
*
- * Perform a Solana Merge of two active stake accounts into one.
+ *
Perform a Solana Merge of two active stake accounts into one. Endpoint Permission: Owner,
+ * Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
*
* @throws ApiException if the Api call fails
*/
diff --git a/src/test/java/com/fireblocks/sdk/api/SwapBetaApiTest.java b/src/test/java/com/fireblocks/sdk/api/SwapBetaApiTest.java
new file mode 100644
index 00000000..ae39233f
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/api/SwapBetaApiTest.java
@@ -0,0 +1,149 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.api;
+
+
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.model.QuoteRequest;
+import com.fireblocks.sdk.model.QuoteResponse;
+import com.fireblocks.sdk.model.SwapOperation;
+import com.fireblocks.sdk.model.SwapOperationRequest;
+import com.fireblocks.sdk.model.SwapOperationsPaginatedResponse;
+import com.fireblocks.sdk.model.SwapProvider;
+import com.fireblocks.sdk.model.SwapProvidersPaginatedResponse;
+import java.math.BigDecimal;
+import java.util.concurrent.CompletableFuture;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/** API tests for SwapBetaApi */
+@Ignore
+public class SwapBetaApiTest {
+
+ private final SwapBetaApi api = new SwapBetaApi();
+
+ /**
+ * Approve terms of service
+ *
+ *
Approve the terms of service for a swap provider. Some providers require this approval
+ * before performing a swap action for the first time. Note: These endpoints are currently in
+ * beta and might be subject to changes. If you want to participate and learn more about the
+ * Fireblocks Swap, please contact your Fireblocks Customer Success Manager or send an email
+ * to CSM@fireblocks.com. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor.
+ *
+ * @throws ApiException if the Api call fails
+ */
+ @Test
+ public void approveTermsOfServiceTest() throws ApiException {
+ String providerId = null;
+ String idempotencyKey = null;
+ CompletableFuture> response =
+ api.approveTermsOfService(providerId, idempotencyKey);
+ }
+
+ /**
+ * Create a quote
+ *
+ * Create a quote from specific swap provider. Note: These endpoints are currently in beta
+ * and might be subject to changes. If you want to participate and learn more about the
+ * Fireblocks Swap, please contact your Fireblocks Customer Success Manager or send an email
+ * to CSM@fireblocks.com. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer,
+ * Approver, Editor, Viewer.
+ *
+ * @throws ApiException if the Api call fails
+ */
+ @Test
+ public void createQuoteTest() throws ApiException {
+ QuoteRequest quoteRequest = null;
+ String providerId = null;
+ String idempotencyKey = null;
+ CompletableFuture> response =
+ api.createQuote(quoteRequest, providerId, idempotencyKey);
+ }
+
+ /**
+ * Create swap operation
+ *
+ * Create swap operation based on a provided quote Id Note: These endpoints are currently in
+ * beta and might be subject to changes. If you want to participate and learn more about the
+ * Fireblocks Swap, please contact your Fireblocks Customer Success Manager or send an email
+ * to CSM@fireblocks.com. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor.
+ *
+ * @throws ApiException if the Api call fails
+ */
+ @Test
+ public void createSwapOperationTest() throws ApiException {
+ SwapOperationRequest swapOperationRequest = null;
+ String idempotencyKey = null;
+ CompletableFuture> response =
+ api.createSwapOperation(swapOperationRequest, idempotencyKey);
+ }
+
+ /**
+ * Get operation details
+ *
+ * Get swap operation Details by ID. Note:These endpoints are currently in beta and might be
+ * subject to changes. If you want to participate and learn more about the Fireblocks Swap,
+ * please contact your Fireblocks Customer Success Manager or send an email
+ * to CSM@fireblocks.com. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer,
+ * Approver, Editor, Viewer.
+ *
+ * @throws ApiException if the Api call fails
+ */
+ @Test
+ public void getSwapOperationByIdTest() throws ApiException {
+ String operationId = null;
+ CompletableFuture> response =
+ api.getSwapOperationById(operationId);
+ }
+
+ /**
+ * Get Operations list
+ *
+ * Return a list of swap operations for the specific workspace The operations are sorted by
+ * creation date in descending order, meaning the most recent operation appears first.
+ * Note:These endpoints are currently in beta and might be subject to changes. If you want to
+ * participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer
+ * Success Manager or send an email to CSM@fireblocks.com. Endpoint Permission: Owner, Admin,
+ * Non-Signing Admin, Signer, Approver, Editor, Viewer.
+ *
+ * @throws ApiException if the Api call fails
+ */
+ @Test
+ public void getSwapOperationsTest() throws ApiException {
+ String pageCursor = null;
+ BigDecimal pageSize = null;
+ CompletableFuture> response =
+ api.getSwapOperations(pageCursor, pageSize);
+ }
+
+ /**
+ * Get Providers List
+ *
+ * Return a list of all supported swap providers. Note: These endpoints are currently in beta
+ * and might be subject to changes. If you want to participate and learn more about the
+ * Fireblocks Swap, please contact your Fireblocks Customer Success Manager or send an email
+ * to CSM@fireblocks.com. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer,
+ * Approver, Editor, Viewer.
+ *
+ * @throws ApiException if the Api call fails
+ */
+ @Test
+ public void getSwapProvidersTest() throws ApiException {
+ String pageCursor = null;
+ BigDecimal pageSize = null;
+ CompletableFuture> response =
+ api.getSwapProviders(pageCursor, pageSize);
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/NonWalletQuoteFeeTest.java b/src/test/java/com/fireblocks/sdk/model/NonWalletQuoteFeeTest.java
new file mode 100644
index 00000000..2e335332
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/NonWalletQuoteFeeTest.java
@@ -0,0 +1,57 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for NonWalletQuoteFee */
+public class NonWalletQuoteFeeTest {
+ private final NonWalletQuoteFee model = new NonWalletQuoteFee();
+
+ /** Model tests for NonWalletQuoteFee */
+ @Test
+ public void testNonWalletQuoteFee() {
+ // TODO: test NonWalletQuoteFee
+ }
+
+ /** Test the property 'networkExecutionFee' */
+ @Test
+ public void networkExecutionFeeTest() {
+ // TODO: test networkExecutionFee
+ }
+
+ /** Test the property 'networkFeeAssetId' */
+ @Test
+ public void networkFeeAssetIdTest() {
+ // TODO: test networkFeeAssetId
+ }
+
+ /** Test the property 'providerFee' */
+ @Test
+ public void providerFeeTest() {
+ // TODO: test providerFee
+ }
+
+ /** Test the property 'providerFeeAssetId' */
+ @Test
+ public void providerFeeAssetIdTest() {
+ // TODO: test providerFeeAssetId
+ }
+
+ /** Test the property 'providerFeeRate' */
+ @Test
+ public void providerFeeRateTest() {
+ // TODO: test providerFeeRate
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/NonWalletQuoteResponseTest.java b/src/test/java/com/fireblocks/sdk/model/NonWalletQuoteResponseTest.java
new file mode 100644
index 00000000..276455fc
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/NonWalletQuoteResponseTest.java
@@ -0,0 +1,81 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for NonWalletQuoteResponse */
+public class NonWalletQuoteResponseTest {
+ private final NonWalletQuoteResponse model = new NonWalletQuoteResponse();
+
+ /** Model tests for NonWalletQuoteResponse */
+ @Test
+ public void testNonWalletQuoteResponse() {
+ // TODO: test NonWalletQuoteResponse
+ }
+
+ /** Test the property 'protocol' */
+ @Test
+ public void protocolTest() {
+ // TODO: test protocol
+ }
+
+ /** Test the property 'inputAmount' */
+ @Test
+ public void inputAmountTest() {
+ // TODO: test inputAmount
+ }
+
+ /** Test the property 'inputAsset' */
+ @Test
+ public void inputAssetTest() {
+ // TODO: test inputAsset
+ }
+
+ /** Test the property 'slippageTolerance' */
+ @Test
+ public void slippageToleranceTest() {
+ // TODO: test slippageTolerance
+ }
+
+ /** Test the property 'outputMinAmount' */
+ @Test
+ public void outputMinAmountTest() {
+ // TODO: test outputMinAmount
+ }
+
+ /** Test the property 'outputMaxAmount' */
+ @Test
+ public void outputMaxAmountTest() {
+ // TODO: test outputMaxAmount
+ }
+
+ /** Test the property 'outputAsset' */
+ @Test
+ public void outputAssetTest() {
+ // TODO: test outputAsset
+ }
+
+ /** Test the property 'additionalData' */
+ @Test
+ public void additionalDataTest() {
+ // TODO: test additionalData
+ }
+
+ /** Test the property 'estimatedFees' */
+ @Test
+ public void estimatedFeesTest() {
+ // TODO: test estimatedFees
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/ProviderAdditionalDataTest.java b/src/test/java/com/fireblocks/sdk/model/ProviderAdditionalDataTest.java
new file mode 100644
index 00000000..97bd64cd
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/ProviderAdditionalDataTest.java
@@ -0,0 +1,33 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for ProviderAdditionalData */
+public class ProviderAdditionalDataTest {
+ private final ProviderAdditionalData model = new ProviderAdditionalData();
+
+ /** Model tests for ProviderAdditionalData */
+ @Test
+ public void testProviderAdditionalData() {
+ // TODO: test ProviderAdditionalData
+ }
+
+ /** Test the property 'priceImpact' */
+ @Test
+ public void priceImpactTest() {
+ // TODO: test priceImpact
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/ProviderCategoryEnumTest.java b/src/test/java/com/fireblocks/sdk/model/ProviderCategoryEnumTest.java
new file mode 100644
index 00000000..798b2e6d
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/ProviderCategoryEnumTest.java
@@ -0,0 +1,25 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for ProviderCategoryEnum */
+public class ProviderCategoryEnumTest {
+ /** Model tests for ProviderCategoryEnum */
+ @Test
+ public void testProviderCategoryEnum() {
+ // TODO: test ProviderCategoryEnum
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/QuoteFeeTest.java b/src/test/java/com/fireblocks/sdk/model/QuoteFeeTest.java
new file mode 100644
index 00000000..e4ba86f4
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/QuoteFeeTest.java
@@ -0,0 +1,63 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for QuoteFee */
+public class QuoteFeeTest {
+ private final QuoteFee model = new QuoteFee();
+
+ /** Model tests for QuoteFee */
+ @Test
+ public void testQuoteFee() {
+ // TODO: test QuoteFee
+ }
+
+ /** Test the property 'networkExecutionFee' */
+ @Test
+ public void networkExecutionFeeTest() {
+ // TODO: test networkExecutionFee
+ }
+
+ /** Test the property 'networkFeeAssetId' */
+ @Test
+ public void networkFeeAssetIdTest() {
+ // TODO: test networkFeeAssetId
+ }
+
+ /** Test the property 'providerFee' */
+ @Test
+ public void providerFeeTest() {
+ // TODO: test providerFee
+ }
+
+ /** Test the property 'providerFeeAssetId' */
+ @Test
+ public void providerFeeAssetIdTest() {
+ // TODO: test providerFeeAssetId
+ }
+
+ /** Test the property 'providerFeeRate' */
+ @Test
+ public void providerFeeRateTest() {
+ // TODO: test providerFeeRate
+ }
+
+ /** Test the property 'networkApproveFee' */
+ @Test
+ public void networkApproveFeeTest() {
+ // TODO: test networkApproveFee
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/QuoteRequestTest.java b/src/test/java/com/fireblocks/sdk/model/QuoteRequestTest.java
new file mode 100644
index 00000000..de2f71f2
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/QuoteRequestTest.java
@@ -0,0 +1,63 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for QuoteRequest */
+public class QuoteRequestTest {
+ private final QuoteRequest model = new QuoteRequest();
+
+ /** Model tests for QuoteRequest */
+ @Test
+ public void testQuoteRequest() {
+ // TODO: test QuoteRequest
+ }
+
+ /** Test the property 'accountId' */
+ @Test
+ public void accountIdTest() {
+ // TODO: test accountId
+ }
+
+ /** Test the property 'inputAmount' */
+ @Test
+ public void inputAmountTest() {
+ // TODO: test inputAmount
+ }
+
+ /** Test the property 'inputAsset' */
+ @Test
+ public void inputAssetTest() {
+ // TODO: test inputAsset
+ }
+
+ /** Test the property 'outputAsset' */
+ @Test
+ public void outputAssetTest() {
+ // TODO: test outputAsset
+ }
+
+ /** Test the property 'slippageTolerance' */
+ @Test
+ public void slippageToleranceTest() {
+ // TODO: test slippageTolerance
+ }
+
+ /** Test the property 'protocol' */
+ @Test
+ public void protocolTest() {
+ // TODO: test protocol
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/QuoteResponseTest.java b/src/test/java/com/fireblocks/sdk/model/QuoteResponseTest.java
new file mode 100644
index 00000000..3e3f25ed
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/QuoteResponseTest.java
@@ -0,0 +1,99 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for QuoteResponse */
+public class QuoteResponseTest {
+ private final QuoteResponse model = new QuoteResponse();
+
+ /** Model tests for QuoteResponse */
+ @Test
+ public void testQuoteResponse() {
+ // TODO: test QuoteResponse
+ }
+
+ /** Test the property 'protocol' */
+ @Test
+ public void protocolTest() {
+ // TODO: test protocol
+ }
+
+ /** Test the property 'inputAmount' */
+ @Test
+ public void inputAmountTest() {
+ // TODO: test inputAmount
+ }
+
+ /** Test the property 'inputAsset' */
+ @Test
+ public void inputAssetTest() {
+ // TODO: test inputAsset
+ }
+
+ /** Test the property 'slippageTolerance' */
+ @Test
+ public void slippageToleranceTest() {
+ // TODO: test slippageTolerance
+ }
+
+ /** Test the property 'outputMinAmount' */
+ @Test
+ public void outputMinAmountTest() {
+ // TODO: test outputMinAmount
+ }
+
+ /** Test the property 'outputMaxAmount' */
+ @Test
+ public void outputMaxAmountTest() {
+ // TODO: test outputMaxAmount
+ }
+
+ /** Test the property 'outputAsset' */
+ @Test
+ public void outputAssetTest() {
+ // TODO: test outputAsset
+ }
+
+ /** Test the property 'additionalData' */
+ @Test
+ public void additionalDataTest() {
+ // TODO: test additionalData
+ }
+
+ /** Test the property 'providerQuoteId' */
+ @Test
+ public void providerQuoteIdTest() {
+ // TODO: test providerQuoteId
+ }
+
+ /** Test the property 'expiredAt' */
+ @Test
+ public void expiredAtTest() {
+ // TODO: test expiredAt
+ }
+
+ /** Test the property 'requiredActions' */
+ @Test
+ public void requiredActionsTest() {
+ // TODO: test requiredActions
+ }
+
+ /** Test the property 'estimatedFees' */
+ @Test
+ public void estimatedFeesTest() {
+ // TODO: test estimatedFees
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapFlowErrorTest.java b/src/test/java/com/fireblocks/sdk/model/SwapFlowErrorTest.java
new file mode 100644
index 00000000..a7250137
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapFlowErrorTest.java
@@ -0,0 +1,39 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapFlowError */
+public class SwapFlowErrorTest {
+ private final SwapFlowError model = new SwapFlowError();
+
+ /** Model tests for SwapFlowError */
+ @Test
+ public void testSwapFlowError() {
+ // TODO: test SwapFlowError
+ }
+
+ /** Test the property 'code' */
+ @Test
+ public void codeTest() {
+ // TODO: test code
+ }
+
+ /** Test the property 'message' */
+ @Test
+ public void messageTest() {
+ // TODO: test message
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapOperationRequestTest.java b/src/test/java/com/fireblocks/sdk/model/SwapOperationRequestTest.java
new file mode 100644
index 00000000..6bbffe7b
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapOperationRequestTest.java
@@ -0,0 +1,45 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapOperationRequest */
+public class SwapOperationRequestTest {
+ private final SwapOperationRequest model = new SwapOperationRequest();
+
+ /** Model tests for SwapOperationRequest */
+ @Test
+ public void testSwapOperationRequest() {
+ // TODO: test SwapOperationRequest
+ }
+
+ /** Test the property 'providerQuoteId' */
+ @Test
+ public void providerQuoteIdTest() {
+ // TODO: test providerQuoteId
+ }
+
+ /** Test the property 'feeLevel' */
+ @Test
+ public void feeLevelTest() {
+ // TODO: test feeLevel
+ }
+
+ /** Test the property 'txNote' */
+ @Test
+ public void txNoteTest() {
+ // TODO: test txNote
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapOperationTest.java b/src/test/java/com/fireblocks/sdk/model/SwapOperationTest.java
new file mode 100644
index 00000000..99c2999e
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapOperationTest.java
@@ -0,0 +1,135 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapOperation */
+public class SwapOperationTest {
+ private final SwapOperation model = new SwapOperation();
+
+ /** Model tests for SwapOperation */
+ @Test
+ public void testSwapOperation() {
+ // TODO: test SwapOperation
+ }
+
+ /** Test the property 'id' */
+ @Test
+ public void idTest() {
+ // TODO: test id
+ }
+
+ /** Test the property 'accountId' */
+ @Test
+ public void accountIdTest() {
+ // TODO: test accountId
+ }
+
+ /** Test the property 'providerId' */
+ @Test
+ public void providerIdTest() {
+ // TODO: test providerId
+ }
+
+ /** Test the property 'category' */
+ @Test
+ public void categoryTest() {
+ // TODO: test category
+ }
+
+ /** Test the property 'protocol' */
+ @Test
+ public void protocolTest() {
+ // TODO: test protocol
+ }
+
+ /** Test the property 'status' */
+ @Test
+ public void statusTest() {
+ // TODO: test status
+ }
+
+ /** Test the property 'inputAmount' */
+ @Test
+ public void inputAmountTest() {
+ // TODO: test inputAmount
+ }
+
+ /** Test the property 'inputAsset' */
+ @Test
+ public void inputAssetTest() {
+ // TODO: test inputAsset
+ }
+
+ /** Test the property 'slippageTolerance' */
+ @Test
+ public void slippageToleranceTest() {
+ // TODO: test slippageTolerance
+ }
+
+ /** Test the property 'outputMinAmount' */
+ @Test
+ public void outputMinAmountTest() {
+ // TODO: test outputMinAmount
+ }
+
+ /** Test the property 'outputMaxAmount' */
+ @Test
+ public void outputMaxAmountTest() {
+ // TODO: test outputMaxAmount
+ }
+
+ /** Test the property 'outputAsset' */
+ @Test
+ public void outputAssetTest() {
+ // TODO: test outputAsset
+ }
+
+ /** Test the property 'outputFinalAmount' */
+ @Test
+ public void outputFinalAmountTest() {
+ // TODO: test outputFinalAmount
+ }
+
+ /** Test the property 'requiredActions' */
+ @Test
+ public void requiredActionsTest() {
+ // TODO: test requiredActions
+ }
+
+ /** Test the property 'error' */
+ @Test
+ public void errorTest() {
+ // TODO: test error
+ }
+
+ /** Test the property 'createdAt' */
+ @Test
+ public void createdAtTest() {
+ // TODO: test createdAt
+ }
+
+ /** Test the property 'updatedAt' */
+ @Test
+ public void updatedAtTest() {
+ // TODO: test updatedAt
+ }
+
+ /** Test the property 'createdBy' */
+ @Test
+ public void createdByTest() {
+ // TODO: test createdBy
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapOperationsPaginatedResponseTest.java b/src/test/java/com/fireblocks/sdk/model/SwapOperationsPaginatedResponseTest.java
new file mode 100644
index 00000000..07935d6b
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapOperationsPaginatedResponseTest.java
@@ -0,0 +1,39 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapOperationsPaginatedResponse */
+public class SwapOperationsPaginatedResponseTest {
+ private final SwapOperationsPaginatedResponse model = new SwapOperationsPaginatedResponse();
+
+ /** Model tests for SwapOperationsPaginatedResponse */
+ @Test
+ public void testSwapOperationsPaginatedResponse() {
+ // TODO: test SwapOperationsPaginatedResponse
+ }
+
+ /** Test the property 'data' */
+ @Test
+ public void dataTest() {
+ // TODO: test data
+ }
+
+ /** Test the property 'next' */
+ @Test
+ public void nextTest() {
+ // TODO: test next
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnumTest.java b/src/test/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnumTest.java
new file mode 100644
index 00000000..d9bb7c6b
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapProviderProtocolsEnumTest.java
@@ -0,0 +1,25 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapProviderProtocolsEnum */
+public class SwapProviderProtocolsEnumTest {
+ /** Model tests for SwapProviderProtocolsEnum */
+ @Test
+ public void testSwapProviderProtocolsEnum() {
+ // TODO: test SwapProviderProtocolsEnum
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapProviderTest.java b/src/test/java/com/fireblocks/sdk/model/SwapProviderTest.java
new file mode 100644
index 00000000..d8e8a60b
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapProviderTest.java
@@ -0,0 +1,69 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapProvider */
+public class SwapProviderTest {
+ private final SwapProvider model = new SwapProvider();
+
+ /** Model tests for SwapProvider */
+ @Test
+ public void testSwapProvider() {
+ // TODO: test SwapProvider
+ }
+
+ /** Test the property 'id' */
+ @Test
+ public void idTest() {
+ // TODO: test id
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'protocols' */
+ @Test
+ public void protocolsTest() {
+ // TODO: test protocols
+ }
+
+ /** Test the property 'category' */
+ @Test
+ public void categoryTest() {
+ // TODO: test category
+ }
+
+ /** Test the property 'isTermsApprovalRequired' */
+ @Test
+ public void isTermsApprovalRequiredTest() {
+ // TODO: test isTermsApprovalRequired
+ }
+
+ /** Test the property 'termsOfServiceUrl' */
+ @Test
+ public void termsOfServiceUrlTest() {
+ // TODO: test termsOfServiceUrl
+ }
+
+ /** Test the property 'isTermsOfServiceApproved' */
+ @Test
+ public void isTermsOfServiceApprovedTest() {
+ // TODO: test isTermsOfServiceApproved
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapProvidersPaginatedResponseTest.java b/src/test/java/com/fireblocks/sdk/model/SwapProvidersPaginatedResponseTest.java
new file mode 100644
index 00000000..15f5b4e5
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapProvidersPaginatedResponseTest.java
@@ -0,0 +1,39 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapProvidersPaginatedResponse */
+public class SwapProvidersPaginatedResponseTest {
+ private final SwapProvidersPaginatedResponse model = new SwapProvidersPaginatedResponse();
+
+ /** Model tests for SwapProvidersPaginatedResponse */
+ @Test
+ public void testSwapProvidersPaginatedResponse() {
+ // TODO: test SwapProvidersPaginatedResponse
+ }
+
+ /** Test the property 'data' */
+ @Test
+ public void dataTest() {
+ // TODO: test data
+ }
+
+ /** Test the property 'next' */
+ @Test
+ public void nextTest() {
+ // TODO: test next
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapRequiredActionTest.java b/src/test/java/com/fireblocks/sdk/model/SwapRequiredActionTest.java
new file mode 100644
index 00000000..e745250e
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapRequiredActionTest.java
@@ -0,0 +1,45 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapRequiredAction */
+public class SwapRequiredActionTest {
+ private final SwapRequiredAction model = new SwapRequiredAction();
+
+ /** Model tests for SwapRequiredAction */
+ @Test
+ public void testSwapRequiredAction() {
+ // TODO: test SwapRequiredAction
+ }
+
+ /** Test the property 'type' */
+ @Test
+ public void typeTest() {
+ // TODO: test type
+ }
+
+ /** Test the property 'status' */
+ @Test
+ public void statusTest() {
+ // TODO: test status
+ }
+
+ /** Test the property 'txId' */
+ @Test
+ public void txIdTest() {
+ // TODO: test txId
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SwapRequiredActionsEnumTest.java b/src/test/java/com/fireblocks/sdk/model/SwapRequiredActionsEnumTest.java
new file mode 100644
index 00000000..65c74772
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SwapRequiredActionsEnumTest.java
@@ -0,0 +1,25 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for SwapRequiredActionsEnum */
+public class SwapRequiredActionsEnumTest {
+ /** Model tests for SwapRequiredActionsEnum */
+ @Test
+ public void testSwapRequiredActionsEnum() {
+ // TODO: test SwapRequiredActionsEnum
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/WalletQuoteResponseTest.java b/src/test/java/com/fireblocks/sdk/model/WalletQuoteResponseTest.java
new file mode 100644
index 00000000..d632a5a3
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/WalletQuoteResponseTest.java
@@ -0,0 +1,99 @@
+/*
+ * Fireblocks API
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: support@fireblocks.com
+ *
+ * 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.fireblocks.sdk.model;
+
+
+import org.junit.Test;
+
+/** Model tests for WalletQuoteResponse */
+public class WalletQuoteResponseTest {
+ private final WalletQuoteResponse model = new WalletQuoteResponse();
+
+ /** Model tests for WalletQuoteResponse */
+ @Test
+ public void testWalletQuoteResponse() {
+ // TODO: test WalletQuoteResponse
+ }
+
+ /** Test the property 'protocol' */
+ @Test
+ public void protocolTest() {
+ // TODO: test protocol
+ }
+
+ /** Test the property 'inputAmount' */
+ @Test
+ public void inputAmountTest() {
+ // TODO: test inputAmount
+ }
+
+ /** Test the property 'inputAsset' */
+ @Test
+ public void inputAssetTest() {
+ // TODO: test inputAsset
+ }
+
+ /** Test the property 'slippageTolerance' */
+ @Test
+ public void slippageToleranceTest() {
+ // TODO: test slippageTolerance
+ }
+
+ /** Test the property 'outputMinAmount' */
+ @Test
+ public void outputMinAmountTest() {
+ // TODO: test outputMinAmount
+ }
+
+ /** Test the property 'outputMaxAmount' */
+ @Test
+ public void outputMaxAmountTest() {
+ // TODO: test outputMaxAmount
+ }
+
+ /** Test the property 'outputAsset' */
+ @Test
+ public void outputAssetTest() {
+ // TODO: test outputAsset
+ }
+
+ /** Test the property 'additionalData' */
+ @Test
+ public void additionalDataTest() {
+ // TODO: test additionalData
+ }
+
+ /** Test the property 'providerQuoteId' */
+ @Test
+ public void providerQuoteIdTest() {
+ // TODO: test providerQuoteId
+ }
+
+ /** Test the property 'expiredAt' */
+ @Test
+ public void expiredAtTest() {
+ // TODO: test expiredAt
+ }
+
+ /** Test the property 'requiredActions' */
+ @Test
+ public void requiredActionsTest() {
+ // TODO: test requiredActions
+ }
+
+ /** Test the property 'estimatedFees' */
+ @Test
+ public void estimatedFeesTest() {
+ // TODO: test estimatedFees
+ }
+}