> getSchemas() {
+ return ContractAbiResponseDtoAbiInner.schemas;
+ }
+
+ /**
+ * Set the instance that matches the oneOf child schema, check the instance parameter is valid
+ * against the oneOf child schemas: AbiFunction, SolanaInstruction
+ *
+ * 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(AbiFunction.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (JSON.isInstanceOf(SolanaInstruction.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ throw new RuntimeException("Invalid instance type. Must be AbiFunction, SolanaInstruction");
+ }
+
+ /**
+ * Get the actual instance, which can be the following: AbiFunction, SolanaInstruction
+ *
+ * @return The actual instance (AbiFunction, SolanaInstruction)
+ */
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `AbiFunction`. If the actual instance is not `AbiFunction`, the
+ * ClassCastException will be thrown.
+ *
+ * @return The actual instance of `AbiFunction`
+ * @throws ClassCastException if the instance is not `AbiFunction`
+ */
+ public AbiFunction getAbiFunction() throws ClassCastException {
+ return (AbiFunction) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `SolanaInstruction`. If the actual instance is not
+ * `SolanaInstruction`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `SolanaInstruction`
+ * @throws ClassCastException if the instance is not `SolanaInstruction`
+ */
+ public SolanaInstruction getSolanaInstruction() throws ClassCastException {
+ return (SolanaInstruction) 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 AbiFunction) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((AbiFunction) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_0" + suffix));
+ }
+ return joiner.toString();
+ }
+ if (getActualInstance() instanceof SolanaInstruction) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((SolanaInstruction) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_1" + suffix));
+ }
+ return joiner.toString();
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ContractUploadRequest.java b/src/main/java/com/fireblocks/sdk/model/ContractUploadRequest.java
index 1e217d1a..fbfd53eb 100644
--- a/src/main/java/com/fireblocks/sdk/model/ContractUploadRequest.java
+++ b/src/main/java/com/fireblocks/sdk/model/ContractUploadRequest.java
@@ -35,7 +35,8 @@
ContractUploadRequest.JSON_PROPERTY_TYPE,
ContractUploadRequest.JSON_PROPERTY_DOCS,
ContractUploadRequest.JSON_PROPERTY_ABI,
- ContractUploadRequest.JSON_PROPERTY_ATTRIBUTES
+ ContractUploadRequest.JSON_PROPERTY_ATTRIBUTES,
+ ContractUploadRequest.JSON_PROPERTY_PROTOCOL
})
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class ContractUploadRequest {
@@ -105,6 +106,42 @@ public static TypeEnum fromValue(String value) {
public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
private ContractAttributes attributes;
+ /** The protocol that the template will be used for */
+ public enum ProtocolEnum {
+ ETH("ETH"),
+
+ SOL("SOL");
+
+ private String value;
+
+ ProtocolEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static ProtocolEnum fromValue(String value) {
+ for (ProtocolEnum b : ProtocolEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_PROTOCOL = "protocol";
+ private ProtocolEnum protocol;
+
public ContractUploadRequest() {}
public ContractUploadRequest name(String name) {
@@ -324,6 +361,29 @@ public void setAttributes(ContractAttributes attributes) {
this.attributes = attributes;
}
+ public ContractUploadRequest protocol(ProtocolEnum protocol) {
+ this.protocol = protocol;
+ return this;
+ }
+
+ /**
+ * The protocol that the template will be used for
+ *
+ * @return protocol
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PROTOCOL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public ProtocolEnum getProtocol() {
+ return protocol;
+ }
+
+ @JsonProperty(JSON_PROPERTY_PROTOCOL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setProtocol(ProtocolEnum protocol) {
+ this.protocol = protocol;
+ }
+
/** Return true if this ContractUploadRequest object is equal to o. */
@Override
public boolean equals(Object o) {
@@ -342,7 +402,8 @@ public boolean equals(Object o) {
&& Objects.equals(this.type, contractUploadRequest.type)
&& Objects.equals(this.docs, contractUploadRequest.docs)
&& Objects.equals(this.abi, contractUploadRequest.abi)
- && Objects.equals(this.attributes, contractUploadRequest.attributes);
+ && Objects.equals(this.attributes, contractUploadRequest.attributes)
+ && Objects.equals(this.protocol, contractUploadRequest.protocol);
}
@Override
@@ -356,7 +417,8 @@ public int hashCode() {
type,
docs,
abi,
- attributes);
+ attributes,
+ protocol);
}
@Override
@@ -372,6 +434,7 @@ public String toString() {
sb.append(" docs: ").append(toIndentedString(docs)).append("\n");
sb.append(" abi: ").append(toIndentedString(abi)).append("\n");
sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -522,6 +585,17 @@ public String toUrlQueryString(String prefix) {
joiner.add(getAttributes().toUrlQueryString(prefix + "attributes" + suffix));
}
+ // 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")));
+ }
+
return joiner.toString();
}
}
diff --git a/src/main/java/com/fireblocks/sdk/model/CreateTokenRequestDtoCreateParams.java b/src/main/java/com/fireblocks/sdk/model/CreateTokenRequestDtoCreateParams.java
index edfe47c4..93643e07 100644
--- a/src/main/java/com/fireblocks/sdk/model/CreateTokenRequestDtoCreateParams.java
+++ b/src/main/java/com/fireblocks/sdk/model/CreateTokenRequestDtoCreateParams.java
@@ -134,6 +134,55 @@ public CreateTokenRequestDtoCreateParams deserialize(
e);
}
+ // deserialize SolanaSimpleCreateParams
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (SolanaSimpleCreateParams.class.equals(Integer.class)
+ || SolanaSimpleCreateParams.class.equals(Long.class)
+ || SolanaSimpleCreateParams.class.equals(Float.class)
+ || SolanaSimpleCreateParams.class.equals(Double.class)
+ || SolanaSimpleCreateParams.class.equals(Boolean.class)
+ || SolanaSimpleCreateParams.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((SolanaSimpleCreateParams.class.equals(Integer.class)
+ || SolanaSimpleCreateParams.class.equals(
+ Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((SolanaSimpleCreateParams.class.equals(Float.class)
+ || SolanaSimpleCreateParams.class.equals(
+ Double.class))
+ && token == JsonToken.VALUE_NUMBER_FLOAT);
+ attemptParsing |=
+ (SolanaSimpleCreateParams.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE
+ || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (SolanaSimpleCreateParams.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ deserialized =
+ tree.traverse(jp.getCodec())
+ .readValueAs(SolanaSimpleCreateParams.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ match++;
+ log.log(Level.FINER, "Input data matches schema 'SolanaSimpleCreateParams'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'SolanaSimpleCreateParams'",
+ e);
+ }
+
// deserialize StellarRippleCreateParamsDto
try {
boolean attemptParsing = true;
@@ -218,6 +267,11 @@ public CreateTokenRequestDtoCreateParams(EVMTokenCreateParamsDto o) {
setActualInstance(o);
}
+ public CreateTokenRequestDtoCreateParams(SolanaSimpleCreateParams o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
public CreateTokenRequestDtoCreateParams(StellarRippleCreateParamsDto o) {
super("oneOf", Boolean.FALSE);
setActualInstance(o);
@@ -225,6 +279,7 @@ public CreateTokenRequestDtoCreateParams(StellarRippleCreateParamsDto o) {
static {
schemas.put("EVMTokenCreateParamsDto", EVMTokenCreateParamsDto.class);
+ schemas.put("SolanaSimpleCreateParams", SolanaSimpleCreateParams.class);
schemas.put("StellarRippleCreateParamsDto", StellarRippleCreateParamsDto.class);
JSON.registerDescendants(
CreateTokenRequestDtoCreateParams.class, Collections.unmodifiableMap(schemas));
@@ -237,7 +292,8 @@ public Map> getSchemas() {
/**
* Set the instance that matches the oneOf child schema, check the instance parameter is valid
- * against the oneOf child schemas: EVMTokenCreateParamsDto, StellarRippleCreateParamsDto
+ * against the oneOf child schemas: EVMTokenCreateParamsDto, SolanaSimpleCreateParams,
+ * StellarRippleCreateParamsDto
*
* It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be
* a composed schema (allOf, anyOf, oneOf).
@@ -249,6 +305,11 @@ public void setActualInstance(Object instance) {
return;
}
+ if (JSON.isInstanceOf(SolanaSimpleCreateParams.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
if (JSON.isInstanceOf(
StellarRippleCreateParamsDto.class, instance, new HashSet>())) {
super.setActualInstance(instance);
@@ -256,15 +317,16 @@ public void setActualInstance(Object instance) {
}
throw new RuntimeException(
- "Invalid instance type. Must be EVMTokenCreateParamsDto,"
+ "Invalid instance type. Must be EVMTokenCreateParamsDto, SolanaSimpleCreateParams,"
+ " StellarRippleCreateParamsDto");
}
/**
* Get the actual instance, which can be the following: EVMTokenCreateParamsDto,
- * StellarRippleCreateParamsDto
+ * SolanaSimpleCreateParams, StellarRippleCreateParamsDto
*
- * @return The actual instance (EVMTokenCreateParamsDto, StellarRippleCreateParamsDto)
+ * @return The actual instance (EVMTokenCreateParamsDto, SolanaSimpleCreateParams,
+ * StellarRippleCreateParamsDto)
*/
@Override
public Object getActualInstance() {
@@ -282,6 +344,17 @@ public EVMTokenCreateParamsDto getEVMTokenCreateParamsDto() throws ClassCastExce
return (EVMTokenCreateParamsDto) super.getActualInstance();
}
+ /**
+ * Get the actual instance of `SolanaSimpleCreateParams`. If the actual instance is not
+ * `SolanaSimpleCreateParams`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `SolanaSimpleCreateParams`
+ * @throws ClassCastException if the instance is not `SolanaSimpleCreateParams`
+ */
+ public SolanaSimpleCreateParams getSolanaSimpleCreateParams() throws ClassCastException {
+ return (SolanaSimpleCreateParams) super.getActualInstance();
+ }
+
/**
* Get the actual instance of `StellarRippleCreateParamsDto`. If the actual instance is not
* `StellarRippleCreateParamsDto`, the ClassCastException will be thrown.
@@ -342,6 +415,14 @@ public String toUrlQueryString(String prefix) {
}
return joiner.toString();
}
+ if (getActualInstance() instanceof SolanaSimpleCreateParams) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((SolanaSimpleCreateParams) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_2" + suffix));
+ }
+ return joiner.toString();
+ }
return null;
}
}
diff --git a/src/main/java/com/fireblocks/sdk/model/DeployedContractResponseDto.java b/src/main/java/com/fireblocks/sdk/model/DeployedContractResponseDto.java
index 7b356c46..f4afd66a 100644
--- a/src/main/java/com/fireblocks/sdk/model/DeployedContractResponseDto.java
+++ b/src/main/java/com/fireblocks/sdk/model/DeployedContractResponseDto.java
@@ -27,7 +27,11 @@
DeployedContractResponseDto.JSON_PROPERTY_CONTRACT_ADDRESS,
DeployedContractResponseDto.JSON_PROPERTY_CONTRACT_TEMPLATE_ID,
DeployedContractResponseDto.JSON_PROPERTY_VAULT_ACCOUNT_ID,
- DeployedContractResponseDto.JSON_PROPERTY_BLOCKCHAIN_ID
+ DeployedContractResponseDto.JSON_PROPERTY_BLOCKCHAIN_ID,
+ DeployedContractResponseDto.JSON_PROPERTY_BASE_ASSET_ID,
+ DeployedContractResponseDto.JSON_PROPERTY_GASLESS_CONFIG,
+ DeployedContractResponseDto.JSON_PROPERTY_MULTICHAIN_DEPLOYMENT_METADATA,
+ DeployedContractResponseDto.JSON_PROPERTY_SOLANA_CONFIG
})
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class DeployedContractResponseDto {
@@ -46,6 +50,19 @@ public class DeployedContractResponseDto {
public static final String JSON_PROPERTY_BLOCKCHAIN_ID = "blockchainId";
private String blockchainId;
+ public static final String JSON_PROPERTY_BASE_ASSET_ID = "baseAssetId";
+ private String baseAssetId;
+
+ public static final String JSON_PROPERTY_GASLESS_CONFIG = "gaslessConfig";
+ private GasslessStandardConfigurations gaslessConfig;
+
+ public static final String JSON_PROPERTY_MULTICHAIN_DEPLOYMENT_METADATA =
+ "multichainDeploymentMetadata";
+ private MultichainDeploymentMetadata multichainDeploymentMetadata;
+
+ public static final String JSON_PROPERTY_SOLANA_CONFIG = "solanaConfig";
+ private SolanaConfig solanaConfig;
+
public DeployedContractResponseDto() {}
public DeployedContractResponseDto id(String id) {
@@ -163,6 +180,100 @@ public void setBlockchainId(String blockchainId) {
this.blockchainId = blockchainId;
}
+ public DeployedContractResponseDto baseAssetId(String baseAssetId) {
+ this.baseAssetId = baseAssetId;
+ return this;
+ }
+
+ /**
+ * The blockchain base assetId
+ *
+ * @return baseAssetId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_BASE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getBaseAssetId() {
+ return baseAssetId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_BASE_ASSET_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setBaseAssetId(String baseAssetId) {
+ this.baseAssetId = baseAssetId;
+ }
+
+ public DeployedContractResponseDto gaslessConfig(GasslessStandardConfigurations gaslessConfig) {
+ this.gaslessConfig = gaslessConfig;
+ return this;
+ }
+
+ /**
+ * Get gaslessConfig
+ *
+ * @return gaslessConfig
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_GASLESS_CONFIG)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public GasslessStandardConfigurations getGaslessConfig() {
+ return gaslessConfig;
+ }
+
+ @JsonProperty(JSON_PROPERTY_GASLESS_CONFIG)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setGaslessConfig(GasslessStandardConfigurations gaslessConfig) {
+ this.gaslessConfig = gaslessConfig;
+ }
+
+ public DeployedContractResponseDto multichainDeploymentMetadata(
+ MultichainDeploymentMetadata multichainDeploymentMetadata) {
+ this.multichainDeploymentMetadata = multichainDeploymentMetadata;
+ return this;
+ }
+
+ /**
+ * Get multichainDeploymentMetadata
+ *
+ * @return multichainDeploymentMetadata
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_MULTICHAIN_DEPLOYMENT_METADATA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public MultichainDeploymentMetadata getMultichainDeploymentMetadata() {
+ return multichainDeploymentMetadata;
+ }
+
+ @JsonProperty(JSON_PROPERTY_MULTICHAIN_DEPLOYMENT_METADATA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setMultichainDeploymentMetadata(
+ MultichainDeploymentMetadata multichainDeploymentMetadata) {
+ this.multichainDeploymentMetadata = multichainDeploymentMetadata;
+ }
+
+ public DeployedContractResponseDto solanaConfig(SolanaConfig solanaConfig) {
+ this.solanaConfig = solanaConfig;
+ return this;
+ }
+
+ /**
+ * Get solanaConfig
+ *
+ * @return solanaConfig
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SOLANA_CONFIG)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SolanaConfig getSolanaConfig() {
+ return solanaConfig;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SOLANA_CONFIG)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setSolanaConfig(SolanaConfig solanaConfig) {
+ this.solanaConfig = solanaConfig;
+ }
+
/** Return true if this DeployedContractResponseDto object is equal to o. */
@Override
public boolean equals(Object o) {
@@ -178,12 +289,27 @@ public boolean equals(Object o) {
&& Objects.equals(
this.contractTemplateId, deployedContractResponseDto.contractTemplateId)
&& Objects.equals(this.vaultAccountId, deployedContractResponseDto.vaultAccountId)
- && Objects.equals(this.blockchainId, deployedContractResponseDto.blockchainId);
+ && Objects.equals(this.blockchainId, deployedContractResponseDto.blockchainId)
+ && Objects.equals(this.baseAssetId, deployedContractResponseDto.baseAssetId)
+ && Objects.equals(this.gaslessConfig, deployedContractResponseDto.gaslessConfig)
+ && Objects.equals(
+ this.multichainDeploymentMetadata,
+ deployedContractResponseDto.multichainDeploymentMetadata)
+ && Objects.equals(this.solanaConfig, deployedContractResponseDto.solanaConfig);
}
@Override
public int hashCode() {
- return Objects.hash(id, contractAddress, contractTemplateId, vaultAccountId, blockchainId);
+ return Objects.hash(
+ id,
+ contractAddress,
+ contractTemplateId,
+ vaultAccountId,
+ blockchainId,
+ baseAssetId,
+ gaslessConfig,
+ multichainDeploymentMetadata,
+ solanaConfig);
}
@Override
@@ -197,6 +323,12 @@ public String toString() {
.append("\n");
sb.append(" vaultAccountId: ").append(toIndentedString(vaultAccountId)).append("\n");
sb.append(" blockchainId: ").append(toIndentedString(blockchainId)).append("\n");
+ sb.append(" baseAssetId: ").append(toIndentedString(baseAssetId)).append("\n");
+ sb.append(" gaslessConfig: ").append(toIndentedString(gaslessConfig)).append("\n");
+ sb.append(" multichainDeploymentMetadata: ")
+ .append(toIndentedString(multichainDeploymentMetadata))
+ .append("\n");
+ sb.append(" solanaConfig: ").append(toIndentedString(solanaConfig)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -307,6 +439,36 @@ public String toUrlQueryString(String prefix) {
.replaceAll("\\+", "%20")));
}
+ // add `baseAssetId` to the URL query string
+ if (getBaseAssetId() != null) {
+ joiner.add(
+ String.format(
+ "%sbaseAssetId%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getBaseAssetId()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `gaslessConfig` to the URL query string
+ if (getGaslessConfig() != null) {
+ joiner.add(getGaslessConfig().toUrlQueryString(prefix + "gaslessConfig" + suffix));
+ }
+
+ // add `multichainDeploymentMetadata` to the URL query string
+ if (getMultichainDeploymentMetadata() != null) {
+ joiner.add(
+ getMultichainDeploymentMetadata()
+ .toUrlQueryString(prefix + "multichainDeploymentMetadata" + suffix));
+ }
+
+ // add `solanaConfig` to the URL query string
+ if (getSolanaConfig() != null) {
+ joiner.add(getSolanaConfig().toUrlQueryString(prefix + "solanaConfig" + suffix));
+ }
+
return joiner.toString();
}
}
diff --git a/src/main/java/com/fireblocks/sdk/model/GasslessStandardConfigurations.java b/src/main/java/com/fireblocks/sdk/model/GasslessStandardConfigurations.java
new file mode 100644
index 00000000..3b6514e3
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/GasslessStandardConfigurations.java
@@ -0,0 +1,174 @@
+/*
+ * 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.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** The gasless configuration of the contract */
+@JsonPropertyOrder({GasslessStandardConfigurations.JSON_PROPERTY_GASLESS_STANDARD_CONFIGURATIONS})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class GasslessStandardConfigurations {
+ public static final String JSON_PROPERTY_GASLESS_STANDARD_CONFIGURATIONS =
+ "gaslessStandardConfigurations";
+ private Map
+ gaslessStandardConfigurations = new HashMap<>();
+
+ public GasslessStandardConfigurations() {}
+
+ public GasslessStandardConfigurations gaslessStandardConfigurations(
+ Map
+ gaslessStandardConfigurations) {
+ this.gaslessStandardConfigurations = gaslessStandardConfigurations;
+ return this;
+ }
+
+ public GasslessStandardConfigurations putGaslessStandardConfigurationsItem(
+ String key,
+ GasslessStandardConfigurationsGaslessStandardConfigurationsValue
+ gaslessStandardConfigurationsItem) {
+ if (this.gaslessStandardConfigurations == null) {
+ this.gaslessStandardConfigurations = new HashMap<>();
+ }
+ this.gaslessStandardConfigurations.put(key, gaslessStandardConfigurationsItem);
+ return this;
+ }
+
+ /**
+ * Get gaslessStandardConfigurations
+ *
+ * @return gaslessStandardConfigurations
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_GASLESS_STANDARD_CONFIGURATIONS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Map
+ getGaslessStandardConfigurations() {
+ return gaslessStandardConfigurations;
+ }
+
+ @JsonProperty(JSON_PROPERTY_GASLESS_STANDARD_CONFIGURATIONS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setGaslessStandardConfigurations(
+ Map
+ gaslessStandardConfigurations) {
+ this.gaslessStandardConfigurations = gaslessStandardConfigurations;
+ }
+
+ /** Return true if this GasslessStandardConfigurations object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ GasslessStandardConfigurations gasslessStandardConfigurations =
+ (GasslessStandardConfigurations) o;
+ return Objects.equals(
+ this.gaslessStandardConfigurations,
+ gasslessStandardConfigurations.gaslessStandardConfigurations);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(gaslessStandardConfigurations);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class GasslessStandardConfigurations {\n");
+ sb.append(" gaslessStandardConfigurations: ")
+ .append(toIndentedString(gaslessStandardConfigurations))
+ .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 `gaslessStandardConfigurations` to the URL query string
+ if (getGaslessStandardConfigurations() != null) {
+ for (String _key : getGaslessStandardConfigurations().keySet()) {
+ if (getGaslessStandardConfigurations().get(_key) != null) {
+ joiner.add(
+ getGaslessStandardConfigurations()
+ .get(_key)
+ .toUrlQueryString(
+ String.format(
+ "%sgaslessStandardConfigurations%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ _key,
+ containerSuffix))));
+ }
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsGaslessStandardConfigurationsValue.java b/src/main/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsGaslessStandardConfigurationsValue.java
new file mode 100644
index 00000000..2b7518c7
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsGaslessStandardConfigurationsValue.java
@@ -0,0 +1,220 @@
+/*
+ * 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.time.OffsetDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** GasslessStandardConfigurationsGaslessStandardConfigurationsValue */
+@JsonPropertyOrder({
+ GasslessStandardConfigurationsGaslessStandardConfigurationsValue
+ .JSON_PROPERTY_LAST_ON_CHAIN_CHECK,
+ GasslessStandardConfigurationsGaslessStandardConfigurationsValue
+ .JSON_PROPERTY_FORWARDER_ADDRESSES
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class GasslessStandardConfigurationsGaslessStandardConfigurationsValue {
+ public static final String JSON_PROPERTY_LAST_ON_CHAIN_CHECK = "lastOnChainCheck";
+ private OffsetDateTime lastOnChainCheck;
+
+ public static final String JSON_PROPERTY_FORWARDER_ADDRESSES = "forwarderAddresses";
+ private List forwarderAddresses;
+
+ public GasslessStandardConfigurationsGaslessStandardConfigurationsValue() {}
+
+ public GasslessStandardConfigurationsGaslessStandardConfigurationsValue lastOnChainCheck(
+ OffsetDateTime lastOnChainCheck) {
+ this.lastOnChainCheck = lastOnChainCheck;
+ return this;
+ }
+
+ /**
+ * Get lastOnChainCheck
+ *
+ * @return lastOnChainCheck
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LAST_ON_CHAIN_CHECK)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public OffsetDateTime getLastOnChainCheck() {
+ return lastOnChainCheck;
+ }
+
+ @JsonProperty(JSON_PROPERTY_LAST_ON_CHAIN_CHECK)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setLastOnChainCheck(OffsetDateTime lastOnChainCheck) {
+ this.lastOnChainCheck = lastOnChainCheck;
+ }
+
+ public GasslessStandardConfigurationsGaslessStandardConfigurationsValue forwarderAddresses(
+ List forwarderAddresses) {
+ this.forwarderAddresses = forwarderAddresses;
+ return this;
+ }
+
+ public GasslessStandardConfigurationsGaslessStandardConfigurationsValue
+ addForwarderAddressesItem(String forwarderAddressesItem) {
+ if (this.forwarderAddresses == null) {
+ this.forwarderAddresses = new ArrayList<>();
+ }
+ this.forwarderAddresses.add(forwarderAddressesItem);
+ return this;
+ }
+
+ /**
+ * Get forwarderAddresses
+ *
+ * @return forwarderAddresses
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FORWARDER_ADDRESSES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getForwarderAddresses() {
+ return forwarderAddresses;
+ }
+
+ @JsonProperty(JSON_PROPERTY_FORWARDER_ADDRESSES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setForwarderAddresses(List forwarderAddresses) {
+ this.forwarderAddresses = forwarderAddresses;
+ }
+
+ /**
+ * Return true if this GasslessStandardConfigurations_gaslessStandardConfigurations_value object
+ * is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ GasslessStandardConfigurationsGaslessStandardConfigurationsValue
+ gasslessStandardConfigurationsGaslessStandardConfigurationsValue =
+ (GasslessStandardConfigurationsGaslessStandardConfigurationsValue) o;
+ return Objects.equals(
+ this.lastOnChainCheck,
+ gasslessStandardConfigurationsGaslessStandardConfigurationsValue
+ .lastOnChainCheck)
+ && Objects.equals(
+ this.forwarderAddresses,
+ gasslessStandardConfigurationsGaslessStandardConfigurationsValue
+ .forwarderAddresses);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(lastOnChainCheck, forwarderAddresses);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class GasslessStandardConfigurationsGaslessStandardConfigurationsValue {\n");
+ sb.append(" lastOnChainCheck: ").append(toIndentedString(lastOnChainCheck)).append("\n");
+ sb.append(" forwarderAddresses: ")
+ .append(toIndentedString(forwarderAddresses))
+ .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 `lastOnChainCheck` to the URL query string
+ if (getLastOnChainCheck() != null) {
+ joiner.add(
+ String.format(
+ "%slastOnChainCheck%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getLastOnChainCheck()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `forwarderAddresses` to the URL query string
+ if (getForwarderAddresses() != null) {
+ for (int i = 0; i < getForwarderAddresses().size(); i++) {
+ joiner.add(
+ String.format(
+ "%sforwarderAddresses%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(
+ String.valueOf(getForwarderAddresses().get(i)),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/IdlType.java b/src/main/java/com/fireblocks/sdk/model/IdlType.java
new file mode 100644
index 00000000..7b50eda4
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/IdlType.java
@@ -0,0 +1,96 @@
+/*
+ * 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;
+
+/** The type of the parameter */
+public enum IdlType {
+ BOOL("bool"),
+
+ U8("u8"),
+
+ I8("i8"),
+
+ U16("u16"),
+
+ I16("i16"),
+
+ U32("u32"),
+
+ I32("i32"),
+
+ F32("f32"),
+
+ U64("u64"),
+
+ I64("i64"),
+
+ F64("f64"),
+
+ U128("u128"),
+
+ I128("i128"),
+
+ U256("u256"),
+
+ I256("i256"),
+
+ BYTES("bytes"),
+
+ STRING("string"),
+
+ PUBKEY("pubkey");
+
+ private String value;
+
+ IdlType(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static IdlType fromValue(String value) {
+ for (IdlType b : IdlType.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/MultichainDeploymentMetadata.java b/src/main/java/com/fireblocks/sdk/model/MultichainDeploymentMetadata.java
new file mode 100644
index 00000000..320f8d6a
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/MultichainDeploymentMetadata.java
@@ -0,0 +1,373 @@
+/*
+ * 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;
+import java.util.UUID;
+
+/** The multichain deployment metadata */
+@JsonPropertyOrder({
+ MultichainDeploymentMetadata.JSON_PROPERTY_ID,
+ MultichainDeploymentMetadata.JSON_PROPERTY_ADDRESS,
+ MultichainDeploymentMetadata.JSON_PROPERTY_TEMPLATE_ID,
+ MultichainDeploymentMetadata.JSON_PROPERTY_DEPLOYMENT_SALT,
+ MultichainDeploymentMetadata.JSON_PROPERTY_INIT_PARAMS,
+ MultichainDeploymentMetadata.JSON_PROPERTY_ENCODED_INIT_PARAMS
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class MultichainDeploymentMetadata {
+ public static final String JSON_PROPERTY_ID = "id";
+ private UUID id;
+
+ public static final String JSON_PROPERTY_ADDRESS = "address";
+ private String address;
+
+ public static final String JSON_PROPERTY_TEMPLATE_ID = "templateId";
+ private UUID templateId;
+
+ public static final String JSON_PROPERTY_DEPLOYMENT_SALT = "deploymentSalt";
+ private String deploymentSalt;
+
+ public static final String JSON_PROPERTY_INIT_PARAMS = "initParams";
+ private List initParams;
+
+ public static final String JSON_PROPERTY_ENCODED_INIT_PARAMS = "encodedInitParams";
+ private String encodedInitParams;
+
+ public MultichainDeploymentMetadata() {}
+
+ public MultichainDeploymentMetadata id(UUID id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The unique identifier of the deployment metadata
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public UUID getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setId(UUID id) {
+ this.id = id;
+ }
+
+ public MultichainDeploymentMetadata address(String address) {
+ this.address = address;
+ return this;
+ }
+
+ /**
+ * The address of the deployed contract
+ *
+ * @return address
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getAddress() {
+ return address;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public MultichainDeploymentMetadata templateId(UUID templateId) {
+ this.templateId = templateId;
+ return this;
+ }
+
+ /**
+ * The unique identifier of the contract template
+ *
+ * @return templateId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TEMPLATE_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public UUID getTemplateId() {
+ return templateId;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TEMPLATE_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTemplateId(UUID templateId) {
+ this.templateId = templateId;
+ }
+
+ public MultichainDeploymentMetadata deploymentSalt(String deploymentSalt) {
+ this.deploymentSalt = deploymentSalt;
+ return this;
+ }
+
+ /**
+ * The salt used for the deployment
+ *
+ * @return deploymentSalt
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DEPLOYMENT_SALT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDeploymentSalt() {
+ return deploymentSalt;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DEPLOYMENT_SALT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setDeploymentSalt(String deploymentSalt) {
+ this.deploymentSalt = deploymentSalt;
+ }
+
+ public MultichainDeploymentMetadata initParams(List initParams) {
+ this.initParams = initParams;
+ return this;
+ }
+
+ public MultichainDeploymentMetadata addInitParamsItem(ParameterWithValue initParamsItem) {
+ if (this.initParams == null) {
+ this.initParams = new ArrayList<>();
+ }
+ this.initParams.add(initParamsItem);
+ return this;
+ }
+
+ /**
+ * Get initParams
+ *
+ * @return initParams
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_INIT_PARAMS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getInitParams() {
+ return initParams;
+ }
+
+ @JsonProperty(JSON_PROPERTY_INIT_PARAMS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setInitParams(List initParams) {
+ this.initParams = initParams;
+ }
+
+ public MultichainDeploymentMetadata encodedInitParams(String encodedInitParams) {
+ this.encodedInitParams = encodedInitParams;
+ return this;
+ }
+
+ /**
+ * The encoded init params
+ *
+ * @return encodedInitParams
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ENCODED_INIT_PARAMS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getEncodedInitParams() {
+ return encodedInitParams;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ENCODED_INIT_PARAMS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setEncodedInitParams(String encodedInitParams) {
+ this.encodedInitParams = encodedInitParams;
+ }
+
+ /** Return true if this MultichainDeploymentMetadata object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ MultichainDeploymentMetadata multichainDeploymentMetadata =
+ (MultichainDeploymentMetadata) o;
+ return Objects.equals(this.id, multichainDeploymentMetadata.id)
+ && Objects.equals(this.address, multichainDeploymentMetadata.address)
+ && Objects.equals(this.templateId, multichainDeploymentMetadata.templateId)
+ && Objects.equals(this.deploymentSalt, multichainDeploymentMetadata.deploymentSalt)
+ && Objects.equals(this.initParams, multichainDeploymentMetadata.initParams)
+ && Objects.equals(
+ this.encodedInitParams, multichainDeploymentMetadata.encodedInitParams);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, address, templateId, deploymentSalt, initParams, encodedInitParams);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MultichainDeploymentMetadata {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" address: ").append(toIndentedString(address)).append("\n");
+ sb.append(" templateId: ").append(toIndentedString(templateId)).append("\n");
+ sb.append(" deploymentSalt: ").append(toIndentedString(deploymentSalt)).append("\n");
+ sb.append(" initParams: ").append(toIndentedString(initParams)).append("\n");
+ sb.append(" encodedInitParams: ")
+ .append(toIndentedString(encodedInitParams))
+ .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 `address` to the URL query string
+ if (getAddress() != null) {
+ joiner.add(
+ String.format(
+ "%saddress%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getAddress()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `templateId` to the URL query string
+ if (getTemplateId() != null) {
+ joiner.add(
+ String.format(
+ "%stemplateId%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getTemplateId()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `deploymentSalt` to the URL query string
+ if (getDeploymentSalt() != null) {
+ joiner.add(
+ String.format(
+ "%sdeploymentSalt%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getDeploymentSalt()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `initParams` to the URL query string
+ if (getInitParams() != null) {
+ for (int i = 0; i < getInitParams().size(); i++) {
+ if (getInitParams().get(i) != null) {
+ joiner.add(
+ getInitParams()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%sinitParams%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `encodedInitParams` to the URL query string
+ if (getEncodedInitParams() != null) {
+ joiner.add(
+ String.format(
+ "%sencodedInitParams%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(
+ String.valueOf(getEncodedInitParams()),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/ReadCallFunctionDto.java b/src/main/java/com/fireblocks/sdk/model/ReadCallFunctionDto.java
index 2af90501..e69af647 100644
--- a/src/main/java/com/fireblocks/sdk/model/ReadCallFunctionDto.java
+++ b/src/main/java/com/fireblocks/sdk/model/ReadCallFunctionDto.java
@@ -24,11 +24,11 @@
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class ReadCallFunctionDto {
public static final String JSON_PROPERTY_ABI_FUNCTION = "abiFunction";
- private ReadAbiFunction abiFunction;
+ private ReadCallFunctionDtoAbiFunction abiFunction;
public ReadCallFunctionDto() {}
- public ReadCallFunctionDto abiFunction(ReadAbiFunction abiFunction) {
+ public ReadCallFunctionDto abiFunction(ReadCallFunctionDtoAbiFunction abiFunction) {
this.abiFunction = abiFunction;
return this;
}
@@ -41,13 +41,13 @@ public ReadCallFunctionDto abiFunction(ReadAbiFunction abiFunction) {
@jakarta.annotation.Nonnull
@JsonProperty(JSON_PROPERTY_ABI_FUNCTION)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
- public ReadAbiFunction getAbiFunction() {
+ public ReadCallFunctionDtoAbiFunction getAbiFunction() {
return abiFunction;
}
@JsonProperty(JSON_PROPERTY_ABI_FUNCTION)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
- public void setAbiFunction(ReadAbiFunction abiFunction) {
+ public void setAbiFunction(ReadCallFunctionDtoAbiFunction abiFunction) {
this.abiFunction = abiFunction;
}
diff --git a/src/main/java/com/fireblocks/sdk/model/ReadCallFunctionDtoAbiFunction.java b/src/main/java/com/fireblocks/sdk/model/ReadCallFunctionDtoAbiFunction.java
new file mode 100644
index 00000000..28eab481
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/ReadCallFunctionDtoAbiFunction.java
@@ -0,0 +1,335 @@
+/*
+ * 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.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import com.fireblocks.sdk.JSON;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.StringJoiner;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+@JsonDeserialize(
+ using = ReadCallFunctionDtoAbiFunction.ReadCallFunctionDtoAbiFunctionDeserializer.class)
+@JsonSerialize(
+ using = ReadCallFunctionDtoAbiFunction.ReadCallFunctionDtoAbiFunctionSerializer.class)
+public class ReadCallFunctionDtoAbiFunction extends AbstractOpenApiSchema {
+ private static final Logger log =
+ Logger.getLogger(ReadCallFunctionDtoAbiFunction.class.getName());
+
+ public static class ReadCallFunctionDtoAbiFunctionSerializer
+ extends StdSerializer {
+ public ReadCallFunctionDtoAbiFunctionSerializer(Class t) {
+ super(t);
+ }
+
+ public ReadCallFunctionDtoAbiFunctionSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ReadCallFunctionDtoAbiFunction value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.getActualInstance());
+ }
+ }
+
+ public static class ReadCallFunctionDtoAbiFunctionDeserializer
+ extends StdDeserializer {
+ public ReadCallFunctionDtoAbiFunctionDeserializer() {
+ this(ReadCallFunctionDtoAbiFunction.class);
+ }
+
+ public ReadCallFunctionDtoAbiFunctionDeserializer(Class> vc) {
+ super(vc);
+ }
+
+ @Override
+ public ReadCallFunctionDtoAbiFunction deserialize(
+ JsonParser jp, DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+ JsonNode tree = jp.readValueAsTree();
+ Object deserialized = null;
+ boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS);
+ int match = 0;
+ JsonToken token = tree.traverse(jp.getCodec()).nextToken();
+ // deserialize ReadAbiFunction
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (ReadAbiFunction.class.equals(Integer.class)
+ || ReadAbiFunction.class.equals(Long.class)
+ || ReadAbiFunction.class.equals(Float.class)
+ || ReadAbiFunction.class.equals(Double.class)
+ || ReadAbiFunction.class.equals(Boolean.class)
+ || ReadAbiFunction.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((ReadAbiFunction.class.equals(Integer.class)
+ || ReadAbiFunction.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((ReadAbiFunction.class.equals(Float.class)
+ || ReadAbiFunction.class.equals(Double.class))
+ && token == JsonToken.VALUE_NUMBER_FLOAT);
+ attemptParsing |=
+ (ReadAbiFunction.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE
+ || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (ReadAbiFunction.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ deserialized = tree.traverse(jp.getCodec()).readValueAs(ReadAbiFunction.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ match++;
+ log.log(Level.FINER, "Input data matches schema 'ReadAbiFunction'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(Level.FINER, "Input data does not match schema 'ReadAbiFunction'", e);
+ }
+
+ // deserialize SolanaInstructionWithValue
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (SolanaInstructionWithValue.class.equals(Integer.class)
+ || SolanaInstructionWithValue.class.equals(Long.class)
+ || SolanaInstructionWithValue.class.equals(Float.class)
+ || SolanaInstructionWithValue.class.equals(Double.class)
+ || SolanaInstructionWithValue.class.equals(Boolean.class)
+ || SolanaInstructionWithValue.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((SolanaInstructionWithValue.class.equals(Integer.class)
+ || SolanaInstructionWithValue.class.equals(
+ Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((SolanaInstructionWithValue.class.equals(Float.class)
+ || SolanaInstructionWithValue.class.equals(
+ Double.class))
+ && token == JsonToken.VALUE_NUMBER_FLOAT);
+ attemptParsing |=
+ (SolanaInstructionWithValue.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE
+ || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (SolanaInstructionWithValue.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ deserialized =
+ tree.traverse(jp.getCodec())
+ .readValueAs(SolanaInstructionWithValue.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ match++;
+ log.log(Level.FINER, "Input data matches schema 'SolanaInstructionWithValue'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'SolanaInstructionWithValue'",
+ e);
+ }
+
+ if (match == 1) {
+ ReadCallFunctionDtoAbiFunction ret = new ReadCallFunctionDtoAbiFunction();
+ ret.setActualInstance(deserialized);
+ return ret;
+ }
+ throw new IOException(
+ String.format(
+ "Failed deserialization for ReadCallFunctionDtoAbiFunction: %d classes"
+ + " match result, expected 1",
+ match));
+ }
+
+ /** Handle deserialization of the 'null' value. */
+ @Override
+ public ReadCallFunctionDtoAbiFunction getNullValue(DeserializationContext ctxt)
+ throws JsonMappingException {
+ throw new JsonMappingException(
+ ctxt.getParser(), "ReadCallFunctionDtoAbiFunction cannot be null");
+ }
+ }
+
+ // store a list of schema names defined in oneOf
+ public static final Map> schemas = new HashMap<>();
+
+ public ReadCallFunctionDtoAbiFunction() {
+ super("oneOf", Boolean.FALSE);
+ }
+
+ public ReadCallFunctionDtoAbiFunction(ReadAbiFunction o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ public ReadCallFunctionDtoAbiFunction(SolanaInstructionWithValue o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ static {
+ schemas.put("ReadAbiFunction", ReadAbiFunction.class);
+ schemas.put("SolanaInstructionWithValue", SolanaInstructionWithValue.class);
+ JSON.registerDescendants(
+ ReadCallFunctionDtoAbiFunction.class, Collections.unmodifiableMap(schemas));
+ }
+
+ @Override
+ public Map> getSchemas() {
+ return ReadCallFunctionDtoAbiFunction.schemas;
+ }
+
+ /**
+ * Set the instance that matches the oneOf child schema, check the instance parameter is valid
+ * against the oneOf child schemas: ReadAbiFunction, SolanaInstructionWithValue
+ *
+ * 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(ReadAbiFunction.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (JSON.isInstanceOf(
+ SolanaInstructionWithValue.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ throw new RuntimeException(
+ "Invalid instance type. Must be ReadAbiFunction, SolanaInstructionWithValue");
+ }
+
+ /**
+ * Get the actual instance, which can be the following: ReadAbiFunction,
+ * SolanaInstructionWithValue
+ *
+ * @return The actual instance (ReadAbiFunction, SolanaInstructionWithValue)
+ */
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `ReadAbiFunction`. If the actual instance is not
+ * `ReadAbiFunction`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `ReadAbiFunction`
+ * @throws ClassCastException if the instance is not `ReadAbiFunction`
+ */
+ public ReadAbiFunction getReadAbiFunction() throws ClassCastException {
+ return (ReadAbiFunction) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `SolanaInstructionWithValue`. If the actual instance is not
+ * `SolanaInstructionWithValue`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `SolanaInstructionWithValue`
+ * @throws ClassCastException if the instance is not `SolanaInstructionWithValue`
+ */
+ public SolanaInstructionWithValue getSolanaInstructionWithValue() throws ClassCastException {
+ return (SolanaInstructionWithValue) 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 ReadAbiFunction) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((ReadAbiFunction) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_0" + suffix));
+ }
+ return joiner.toString();
+ }
+ if (getActualInstance() instanceof SolanaInstructionWithValue) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((SolanaInstructionWithValue) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_1" + suffix));
+ }
+ return joiner.toString();
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SOLAccount.java b/src/main/java/com/fireblocks/sdk/model/SOLAccount.java
new file mode 100644
index 00000000..f5e858a1
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SOLAccount.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.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 accounts involved in the instruction */
+@JsonPropertyOrder({
+ SOLAccount.JSON_PROPERTY_NAME,
+ SOLAccount.JSON_PROPERTY_SIGNER,
+ SOLAccount.JSON_PROPERTY_WRITABLE,
+ SOLAccount.JSON_PROPERTY_ADDRESS
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SOLAccount {
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_SIGNER = "signer";
+ private Boolean signer;
+
+ public static final String JSON_PROPERTY_WRITABLE = "writable";
+ private Boolean writable;
+
+ public static final String JSON_PROPERTY_ADDRESS = "address";
+ private String address;
+
+ public SOLAccount() {}
+
+ public SOLAccount name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The name of the account
+ *
+ * @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 SOLAccount signer(Boolean signer) {
+ this.signer = signer;
+ return this;
+ }
+
+ /**
+ * Indicates if the account needs to sign the instruction. If true a signature for this account
+ * must be provided
+ *
+ * @return signer
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SIGNER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getSigner() {
+ return signer;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SIGNER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setSigner(Boolean signer) {
+ this.signer = signer;
+ }
+
+ public SOLAccount writable(Boolean writable) {
+ this.writable = writable;
+ return this;
+ }
+
+ /**
+ * Indicates if the account's data can be changed by the instruction.
+ *
+ * @return writable
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_WRITABLE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getWritable() {
+ return writable;
+ }
+
+ @JsonProperty(JSON_PROPERTY_WRITABLE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setWritable(Boolean writable) {
+ this.writable = writable;
+ }
+
+ public SOLAccount address(String address) {
+ this.address = address;
+ return this;
+ }
+
+ /**
+ * The address of the account
+ *
+ * @return address
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getAddress() {
+ return address;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ /** Return true if this SOLAccount object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SOLAccount soLAccount = (SOLAccount) o;
+ return Objects.equals(this.name, soLAccount.name)
+ && Objects.equals(this.signer, soLAccount.signer)
+ && Objects.equals(this.writable, soLAccount.writable)
+ && Objects.equals(this.address, soLAccount.address);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, signer, writable, address);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SOLAccount {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" signer: ").append(toIndentedString(signer)).append("\n");
+ sb.append(" writable: ").append(toIndentedString(writable)).append("\n");
+ sb.append(" address: ").append(toIndentedString(address)).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 `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 `signer` to the URL query string
+ if (getSigner() != null) {
+ joiner.add(
+ String.format(
+ "%ssigner%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getSigner()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `writable` to the URL query string
+ if (getWritable() != null) {
+ joiner.add(
+ String.format(
+ "%swritable%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getWritable()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `address` to the URL query string
+ if (getAddress() != null) {
+ joiner.add(
+ String.format(
+ "%saddress%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getAddress()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SOLAccountWithValue.java b/src/main/java/com/fireblocks/sdk/model/SOLAccountWithValue.java
new file mode 100644
index 00000000..91c63d38
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SOLAccountWithValue.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.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;
+
+/** SOLAccountWithValue */
+@JsonPropertyOrder({
+ SOLAccountWithValue.JSON_PROPERTY_NAME,
+ SOLAccountWithValue.JSON_PROPERTY_SIGNER,
+ SOLAccountWithValue.JSON_PROPERTY_WRITABLE,
+ SOLAccountWithValue.JSON_PROPERTY_ADDRESS
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SOLAccountWithValue {
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_SIGNER = "signer";
+ private Boolean signer;
+
+ public static final String JSON_PROPERTY_WRITABLE = "writable";
+ private Boolean writable;
+
+ public static final String JSON_PROPERTY_ADDRESS = "address";
+ private String address;
+
+ public SOLAccountWithValue() {}
+
+ public SOLAccountWithValue name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The name of the account
+ *
+ * @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 SOLAccountWithValue signer(Boolean signer) {
+ this.signer = signer;
+ return this;
+ }
+
+ /**
+ * Indicates if the account needs to sign the instruction. If true a signature for this account
+ * must be provided
+ *
+ * @return signer
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SIGNER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getSigner() {
+ return signer;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SIGNER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setSigner(Boolean signer) {
+ this.signer = signer;
+ }
+
+ public SOLAccountWithValue writable(Boolean writable) {
+ this.writable = writable;
+ return this;
+ }
+
+ /**
+ * Indicates if the account's data can be changed by the instruction.
+ *
+ * @return writable
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_WRITABLE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getWritable() {
+ return writable;
+ }
+
+ @JsonProperty(JSON_PROPERTY_WRITABLE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setWritable(Boolean writable) {
+ this.writable = writable;
+ }
+
+ public SOLAccountWithValue address(String address) {
+ this.address = address;
+ return this;
+ }
+
+ /**
+ * The address of the account
+ *
+ * @return address
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getAddress() {
+ return address;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ADDRESS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ /** Return true if this SOLAccountWithValue object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SOLAccountWithValue soLAccountWithValue = (SOLAccountWithValue) o;
+ return Objects.equals(this.name, soLAccountWithValue.name)
+ && Objects.equals(this.signer, soLAccountWithValue.signer)
+ && Objects.equals(this.writable, soLAccountWithValue.writable)
+ && Objects.equals(this.address, soLAccountWithValue.address);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, signer, writable, address);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SOLAccountWithValue {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" signer: ").append(toIndentedString(signer)).append("\n");
+ sb.append(" writable: ").append(toIndentedString(writable)).append("\n");
+ sb.append(" address: ").append(toIndentedString(address)).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 `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 `signer` to the URL query string
+ if (getSigner() != null) {
+ joiner.add(
+ String.format(
+ "%ssigner%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getSigner()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `writable` to the URL query string
+ if (getWritable() != null) {
+ joiner.add(
+ String.format(
+ "%swritable%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getWritable()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `address` to the URL query string
+ if (getAddress() != null) {
+ joiner.add(
+ String.format(
+ "%saddress%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getAddress()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SolParameter.java b/src/main/java/com/fireblocks/sdk/model/SolParameter.java
new file mode 100644
index 00000000..8f35cab7
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SolParameter.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 arguments of the instruction */
+@JsonPropertyOrder({SolParameter.JSON_PROPERTY_NAME, SolParameter.JSON_PROPERTY_TYPE})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SolParameter {
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private IdlType type;
+
+ public SolParameter() {}
+
+ public SolParameter name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The name of the parameter
+ *
+ * @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 SolParameter type(IdlType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get type
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public IdlType getType() {
+ return type;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setType(IdlType type) {
+ this.type = type;
+ }
+
+ /** Return true if this SolParameter object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SolParameter solParameter = (SolParameter) o;
+ return Objects.equals(this.name, solParameter.name)
+ && Objects.equals(this.type, solParameter.type);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, type);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SolParameter {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).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 `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 `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")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SolParameterWithValue.java b/src/main/java/com/fireblocks/sdk/model/SolParameterWithValue.java
new file mode 100644
index 00000000..c0b5cf37
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SolParameterWithValue.java
@@ -0,0 +1,221 @@
+/*
+ * 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;
+
+/** SolParameterWithValue */
+@JsonPropertyOrder({
+ SolParameterWithValue.JSON_PROPERTY_VALUE,
+ SolParameterWithValue.JSON_PROPERTY_NAME,
+ SolParameterWithValue.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SolParameterWithValue {
+ public static final String JSON_PROPERTY_VALUE = "value";
+ private String value;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private IdlType type;
+
+ public SolParameterWithValue() {}
+
+ public SolParameterWithValue value(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * The value of the parameter
+ *
+ * @return value
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_VALUE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getValue() {
+ return value;
+ }
+
+ @JsonProperty(JSON_PROPERTY_VALUE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public SolParameterWithValue name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The name of the parameter
+ *
+ * @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 SolParameterWithValue type(IdlType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get type
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public IdlType getType() {
+ return type;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setType(IdlType type) {
+ this.type = type;
+ }
+
+ /** Return true if this SolParameterWithValue object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SolParameterWithValue solParameterWithValue = (SolParameterWithValue) o;
+ return Objects.equals(this.value, solParameterWithValue.value)
+ && Objects.equals(this.name, solParameterWithValue.name)
+ && Objects.equals(this.type, solParameterWithValue.type);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(value, name, type);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SolParameterWithValue {\n");
+ sb.append(" value: ").append(toIndentedString(value)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).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 `value` to the URL query string
+ if (getValue() != null) {
+ joiner.add(
+ String.format(
+ "%svalue%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getValue()), 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 `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")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SolanaConfig.java b/src/main/java/com/fireblocks/sdk/model/SolanaConfig.java
new file mode 100644
index 00000000..c8acba7b
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SolanaConfig.java
@@ -0,0 +1,233 @@
+/*
+ * 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.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** The Solana configuration of the contract */
+@JsonPropertyOrder({SolanaConfig.JSON_PROPERTY_EXTENSIONS, SolanaConfig.JSON_PROPERTY_TYPE})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SolanaConfig {
+ public static final String JSON_PROPERTY_EXTENSIONS = "extensions";
+ private List extensions;
+
+ /** The type of the contract. */
+ public enum TypeEnum {
+ SPL("SPL"),
+
+ TOKEN2022("TOKEN2022"),
+
+ PROGRAM("PROGRAM");
+
+ private String value;
+
+ TypeEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static TypeEnum fromValue(String value) {
+ for (TypeEnum b : TypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+ }
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private TypeEnum type;
+
+ public SolanaConfig() {}
+
+ public SolanaConfig extensions(List extensions) {
+ this.extensions = extensions;
+ return this;
+ }
+
+ public SolanaConfig addExtensionsItem(String extensionsItem) {
+ if (this.extensions == null) {
+ this.extensions = new ArrayList<>();
+ }
+ this.extensions.add(extensionsItem);
+ return this;
+ }
+
+ /**
+ * The extensions that the contract implements.
+ *
+ * @return extensions
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_EXTENSIONS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getExtensions() {
+ return extensions;
+ }
+
+ @JsonProperty(JSON_PROPERTY_EXTENSIONS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setExtensions(List extensions) {
+ this.extensions = extensions;
+ }
+
+ public SolanaConfig type(TypeEnum type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * The type of the contract.
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public TypeEnum getType() {
+ return type;
+ }
+
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setType(TypeEnum type) {
+ this.type = type;
+ }
+
+ /** Return true if this SolanaConfig object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SolanaConfig solanaConfig = (SolanaConfig) o;
+ return Objects.equals(this.extensions, solanaConfig.extensions)
+ && Objects.equals(this.type, solanaConfig.type);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(extensions, type);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SolanaConfig {\n");
+ sb.append(" extensions: ").append(toIndentedString(extensions)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).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 `extensions` to the URL query string
+ if (getExtensions() != null) {
+ for (int i = 0; i < getExtensions().size(); i++) {
+ joiner.add(
+ String.format(
+ "%sextensions%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(
+ String.valueOf(getExtensions().get(i)),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+ }
+
+ // 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")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SolanaInstruction.java b/src/main/java/com/fireblocks/sdk/model/SolanaInstruction.java
new file mode 100644
index 00000000..525f1245
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SolanaInstruction.java
@@ -0,0 +1,322 @@
+/*
+ * 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.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** SolanaInstruction */
+@JsonPropertyOrder({
+ SolanaInstruction.JSON_PROPERTY_NAME,
+ SolanaInstruction.JSON_PROPERTY_DISCRIMINATOR,
+ SolanaInstruction.JSON_PROPERTY_ACCOUNTS,
+ SolanaInstruction.JSON_PROPERTY_ARGS
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SolanaInstruction {
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_DISCRIMINATOR = "discriminator";
+ private List discriminator = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_ACCOUNTS = "accounts";
+ private List accounts = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_ARGS = "args";
+ private List args = new ArrayList<>();
+
+ public SolanaInstruction() {}
+
+ public SolanaInstruction name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The name of the instruction
+ *
+ * @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 SolanaInstruction discriminator(List discriminator) {
+ this.discriminator = discriminator;
+ return this;
+ }
+
+ public SolanaInstruction addDiscriminatorItem(BigDecimal discriminatorItem) {
+ if (this.discriminator == null) {
+ this.discriminator = new ArrayList<>();
+ }
+ this.discriminator.add(discriminatorItem);
+ return this;
+ }
+
+ /**
+ * The discriminator for the instruction. Acts as a function selector
+ *
+ * @return discriminator
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DISCRIMINATOR)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getDiscriminator() {
+ return discriminator;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DISCRIMINATOR)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setDiscriminator(List discriminator) {
+ this.discriminator = discriminator;
+ }
+
+ public SolanaInstruction accounts(List accounts) {
+ this.accounts = accounts;
+ return this;
+ }
+
+ public SolanaInstruction addAccountsItem(SOLAccount accountsItem) {
+ if (this.accounts == null) {
+ this.accounts = new ArrayList<>();
+ }
+ this.accounts.add(accountsItem);
+ return this;
+ }
+
+ /**
+ * Get accounts
+ *
+ * @return accounts
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ACCOUNTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getAccounts() {
+ return accounts;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAccounts(List accounts) {
+ this.accounts = accounts;
+ }
+
+ public SolanaInstruction args(List args) {
+ this.args = args;
+ return this;
+ }
+
+ public SolanaInstruction addArgsItem(SolParameter argsItem) {
+ if (this.args == null) {
+ this.args = new ArrayList<>();
+ }
+ this.args.add(argsItem);
+ return this;
+ }
+
+ /**
+ * Get args
+ *
+ * @return args
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ARGS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getArgs() {
+ return args;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ARGS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setArgs(List args) {
+ this.args = args;
+ }
+
+ /** Return true if this SolanaInstruction object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SolanaInstruction solanaInstruction = (SolanaInstruction) o;
+ return Objects.equals(this.name, solanaInstruction.name)
+ && Objects.equals(this.discriminator, solanaInstruction.discriminator)
+ && Objects.equals(this.accounts, solanaInstruction.accounts)
+ && Objects.equals(this.args, solanaInstruction.args);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, discriminator, accounts, args);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SolanaInstruction {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" discriminator: ").append(toIndentedString(discriminator)).append("\n");
+ sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n");
+ sb.append(" args: ").append(toIndentedString(args)).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 `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 `discriminator` to the URL query string
+ if (getDiscriminator() != null) {
+ for (int i = 0; i < getDiscriminator().size(); i++) {
+ if (getDiscriminator().get(i) != null) {
+ joiner.add(
+ String.format(
+ "%sdiscriminator%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(
+ String.valueOf(getDiscriminator().get(i)),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+ }
+ }
+
+ // add `accounts` to the URL query string
+ if (getAccounts() != null) {
+ for (int i = 0; i < getAccounts().size(); i++) {
+ if (getAccounts().get(i) != null) {
+ joiner.add(
+ getAccounts()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%saccounts%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `args` to the URL query string
+ if (getArgs() != null) {
+ for (int i = 0; i < getArgs().size(); i++) {
+ if (getArgs().get(i) != null) {
+ joiner.add(
+ getArgs()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%sargs%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SolanaInstructionWithValue.java b/src/main/java/com/fireblocks/sdk/model/SolanaInstructionWithValue.java
new file mode 100644
index 00000000..7d63bb8c
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SolanaInstructionWithValue.java
@@ -0,0 +1,322 @@
+/*
+ * 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.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
+
+/** SolanaInstructionWithValue */
+@JsonPropertyOrder({
+ SolanaInstructionWithValue.JSON_PROPERTY_NAME,
+ SolanaInstructionWithValue.JSON_PROPERTY_DISCRIMINATOR,
+ SolanaInstructionWithValue.JSON_PROPERTY_ACCOUNTS,
+ SolanaInstructionWithValue.JSON_PROPERTY_ARGS
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SolanaInstructionWithValue {
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_DISCRIMINATOR = "discriminator";
+ private List discriminator = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_ACCOUNTS = "accounts";
+ private List accounts = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_ARGS = "args";
+ private List args = new ArrayList<>();
+
+ public SolanaInstructionWithValue() {}
+
+ public SolanaInstructionWithValue name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The name of the instruction
+ *
+ * @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 SolanaInstructionWithValue discriminator(List discriminator) {
+ this.discriminator = discriminator;
+ return this;
+ }
+
+ public SolanaInstructionWithValue addDiscriminatorItem(BigDecimal discriminatorItem) {
+ if (this.discriminator == null) {
+ this.discriminator = new ArrayList<>();
+ }
+ this.discriminator.add(discriminatorItem);
+ return this;
+ }
+
+ /**
+ * The discriminator for the instruction. Acts as a function selector
+ *
+ * @return discriminator
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DISCRIMINATOR)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getDiscriminator() {
+ return discriminator;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DISCRIMINATOR)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setDiscriminator(List discriminator) {
+ this.discriminator = discriminator;
+ }
+
+ public SolanaInstructionWithValue accounts(List accounts) {
+ this.accounts = accounts;
+ return this;
+ }
+
+ public SolanaInstructionWithValue addAccountsItem(SOLAccountWithValue accountsItem) {
+ if (this.accounts == null) {
+ this.accounts = new ArrayList<>();
+ }
+ this.accounts.add(accountsItem);
+ return this;
+ }
+
+ /**
+ * Get accounts
+ *
+ * @return accounts
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ACCOUNTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getAccounts() {
+ return accounts;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACCOUNTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setAccounts(List accounts) {
+ this.accounts = accounts;
+ }
+
+ public SolanaInstructionWithValue args(List args) {
+ this.args = args;
+ return this;
+ }
+
+ public SolanaInstructionWithValue addArgsItem(SolParameterWithValue argsItem) {
+ if (this.args == null) {
+ this.args = new ArrayList<>();
+ }
+ this.args.add(argsItem);
+ return this;
+ }
+
+ /**
+ * The arguments of the instruction
+ *
+ * @return args
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_ARGS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getArgs() {
+ return args;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ARGS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setArgs(List args) {
+ this.args = args;
+ }
+
+ /** Return true if this SolanaInstructionWithValue object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SolanaInstructionWithValue solanaInstructionWithValue = (SolanaInstructionWithValue) o;
+ return Objects.equals(this.name, solanaInstructionWithValue.name)
+ && Objects.equals(this.discriminator, solanaInstructionWithValue.discriminator)
+ && Objects.equals(this.accounts, solanaInstructionWithValue.accounts)
+ && Objects.equals(this.args, solanaInstructionWithValue.args);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, discriminator, accounts, args);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SolanaInstructionWithValue {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" discriminator: ").append(toIndentedString(discriminator)).append("\n");
+ sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n");
+ sb.append(" args: ").append(toIndentedString(args)).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 `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 `discriminator` to the URL query string
+ if (getDiscriminator() != null) {
+ for (int i = 0; i < getDiscriminator().size(); i++) {
+ if (getDiscriminator().get(i) != null) {
+ joiner.add(
+ String.format(
+ "%sdiscriminator%s%s=%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(
+ String.valueOf(getDiscriminator().get(i)),
+ StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+ }
+ }
+
+ // add `accounts` to the URL query string
+ if (getAccounts() != null) {
+ for (int i = 0; i < getAccounts().size(); i++) {
+ if (getAccounts().get(i) != null) {
+ joiner.add(
+ getAccounts()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%saccounts%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ // add `args` to the URL query string
+ if (getArgs() != null) {
+ for (int i = 0; i < getArgs().size(); i++) {
+ if (getArgs().get(i) != null) {
+ joiner.add(
+ getArgs()
+ .get(i)
+ .toUrlQueryString(
+ String.format(
+ "%sargs%s%s",
+ prefix,
+ suffix,
+ "".equals(suffix)
+ ? ""
+ : String.format(
+ "%s%d%s",
+ containerPrefix,
+ i,
+ containerSuffix))));
+ }
+ }
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/SolanaSimpleCreateParams.java b/src/main/java/com/fireblocks/sdk/model/SolanaSimpleCreateParams.java
new file mode 100644
index 00000000..3c0333a6
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/SolanaSimpleCreateParams.java
@@ -0,0 +1,221 @@
+/*
+ * 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;
+
+/** SolanaSimpleCreateParams */
+@JsonPropertyOrder({
+ SolanaSimpleCreateParams.JSON_PROPERTY_NAME,
+ SolanaSimpleCreateParams.JSON_PROPERTY_SYMBOL,
+ SolanaSimpleCreateParams.JSON_PROPERTY_DECIMALS
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class SolanaSimpleCreateParams {
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_SYMBOL = "symbol";
+ private String symbol;
+
+ public static final String JSON_PROPERTY_DECIMALS = "decimals";
+ private Integer decimals;
+
+ public SolanaSimpleCreateParams() {}
+
+ public SolanaSimpleCreateParams name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The name of the token or asset being created.
+ *
+ * @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 SolanaSimpleCreateParams symbol(String symbol) {
+ this.symbol = symbol;
+ return this;
+ }
+
+ /**
+ * The symbol for the token, typically an abbreviated representation.
+ *
+ * @return symbol
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_SYMBOL)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getSymbol() {
+ return symbol;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SYMBOL)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setSymbol(String symbol) {
+ this.symbol = symbol;
+ }
+
+ public SolanaSimpleCreateParams decimals(Integer decimals) {
+ this.decimals = decimals;
+ return this;
+ }
+
+ /**
+ * The number of decimal places the token supports (e.g., 9 for typical Solana tokens).
+ *
+ * @return decimals
+ */
+ @jakarta.annotation.Nonnull
+ @JsonProperty(JSON_PROPERTY_DECIMALS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getDecimals() {
+ return decimals;
+ }
+
+ @JsonProperty(JSON_PROPERTY_DECIMALS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public void setDecimals(Integer decimals) {
+ this.decimals = decimals;
+ }
+
+ /** Return true if this SolanaSimpleCreateParams object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SolanaSimpleCreateParams solanaSimpleCreateParams = (SolanaSimpleCreateParams) o;
+ return Objects.equals(this.name, solanaSimpleCreateParams.name)
+ && Objects.equals(this.symbol, solanaSimpleCreateParams.symbol)
+ && Objects.equals(this.decimals, solanaSimpleCreateParams.decimals);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, symbol, decimals);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SolanaSimpleCreateParams {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" symbol: ").append(toIndentedString(symbol)).append("\n");
+ sb.append(" decimals: ").append(toIndentedString(decimals)).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 `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 `symbol` to the URL query string
+ if (getSymbol() != null) {
+ joiner.add(
+ String.format(
+ "%ssymbol%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getSymbol()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ // add `decimals` to the URL query string
+ if (getDecimals() != null) {
+ joiner.add(
+ String.format(
+ "%sdecimals%s=%s",
+ prefix,
+ suffix,
+ URLEncoder.encode(String.valueOf(getDecimals()), StandardCharsets.UTF_8)
+ .replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/model/WriteCallFunctionDto.java b/src/main/java/com/fireblocks/sdk/model/WriteCallFunctionDto.java
index 69aacab1..9ad527db 100644
--- a/src/main/java/com/fireblocks/sdk/model/WriteCallFunctionDto.java
+++ b/src/main/java/com/fireblocks/sdk/model/WriteCallFunctionDto.java
@@ -40,7 +40,7 @@ public class WriteCallFunctionDto {
private String vaultAccountId;
public static final String JSON_PROPERTY_ABI_FUNCTION = "abiFunction";
- private WriteAbiFunction abiFunction;
+ private WriteCallFunctionDtoAbiFunction abiFunction;
public static final String JSON_PROPERTY_AMOUNT = "amount";
private String amount;
@@ -122,7 +122,7 @@ public void setVaultAccountId(String vaultAccountId) {
this.vaultAccountId = vaultAccountId;
}
- public WriteCallFunctionDto abiFunction(WriteAbiFunction abiFunction) {
+ public WriteCallFunctionDto abiFunction(WriteCallFunctionDtoAbiFunction abiFunction) {
this.abiFunction = abiFunction;
return this;
}
@@ -135,13 +135,13 @@ public WriteCallFunctionDto abiFunction(WriteAbiFunction abiFunction) {
@jakarta.annotation.Nonnull
@JsonProperty(JSON_PROPERTY_ABI_FUNCTION)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
- public WriteAbiFunction getAbiFunction() {
+ public WriteCallFunctionDtoAbiFunction getAbiFunction() {
return abiFunction;
}
@JsonProperty(JSON_PROPERTY_ABI_FUNCTION)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
- public void setAbiFunction(WriteAbiFunction abiFunction) {
+ public void setAbiFunction(WriteCallFunctionDtoAbiFunction abiFunction) {
this.abiFunction = abiFunction;
}
diff --git a/src/main/java/com/fireblocks/sdk/model/WriteCallFunctionDtoAbiFunction.java b/src/main/java/com/fireblocks/sdk/model/WriteCallFunctionDtoAbiFunction.java
new file mode 100644
index 00000000..631f5cf7
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/model/WriteCallFunctionDtoAbiFunction.java
@@ -0,0 +1,335 @@
+/*
+ * 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.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import com.fireblocks.sdk.JSON;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.StringJoiner;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+@JsonDeserialize(
+ using = WriteCallFunctionDtoAbiFunction.WriteCallFunctionDtoAbiFunctionDeserializer.class)
+@JsonSerialize(
+ using = WriteCallFunctionDtoAbiFunction.WriteCallFunctionDtoAbiFunctionSerializer.class)
+public class WriteCallFunctionDtoAbiFunction extends AbstractOpenApiSchema {
+ private static final Logger log =
+ Logger.getLogger(WriteCallFunctionDtoAbiFunction.class.getName());
+
+ public static class WriteCallFunctionDtoAbiFunctionSerializer
+ extends StdSerializer {
+ public WriteCallFunctionDtoAbiFunctionSerializer(Class t) {
+ super(t);
+ }
+
+ public WriteCallFunctionDtoAbiFunctionSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ WriteCallFunctionDtoAbiFunction value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.getActualInstance());
+ }
+ }
+
+ public static class WriteCallFunctionDtoAbiFunctionDeserializer
+ extends StdDeserializer {
+ public WriteCallFunctionDtoAbiFunctionDeserializer() {
+ this(WriteCallFunctionDtoAbiFunction.class);
+ }
+
+ public WriteCallFunctionDtoAbiFunctionDeserializer(Class> vc) {
+ super(vc);
+ }
+
+ @Override
+ public WriteCallFunctionDtoAbiFunction deserialize(
+ JsonParser jp, DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+ JsonNode tree = jp.readValueAsTree();
+ Object deserialized = null;
+ boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS);
+ int match = 0;
+ JsonToken token = tree.traverse(jp.getCodec()).nextToken();
+ // deserialize SolanaInstructionWithValue
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (SolanaInstructionWithValue.class.equals(Integer.class)
+ || SolanaInstructionWithValue.class.equals(Long.class)
+ || SolanaInstructionWithValue.class.equals(Float.class)
+ || SolanaInstructionWithValue.class.equals(Double.class)
+ || SolanaInstructionWithValue.class.equals(Boolean.class)
+ || SolanaInstructionWithValue.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((SolanaInstructionWithValue.class.equals(Integer.class)
+ || SolanaInstructionWithValue.class.equals(
+ Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((SolanaInstructionWithValue.class.equals(Float.class)
+ || SolanaInstructionWithValue.class.equals(
+ Double.class))
+ && token == JsonToken.VALUE_NUMBER_FLOAT);
+ attemptParsing |=
+ (SolanaInstructionWithValue.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE
+ || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (SolanaInstructionWithValue.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ deserialized =
+ tree.traverse(jp.getCodec())
+ .readValueAs(SolanaInstructionWithValue.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ match++;
+ log.log(Level.FINER, "Input data matches schema 'SolanaInstructionWithValue'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'SolanaInstructionWithValue'",
+ e);
+ }
+
+ // deserialize WriteAbiFunction
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (WriteAbiFunction.class.equals(Integer.class)
+ || WriteAbiFunction.class.equals(Long.class)
+ || WriteAbiFunction.class.equals(Float.class)
+ || WriteAbiFunction.class.equals(Double.class)
+ || WriteAbiFunction.class.equals(Boolean.class)
+ || WriteAbiFunction.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((WriteAbiFunction.class.equals(Integer.class)
+ || WriteAbiFunction.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((WriteAbiFunction.class.equals(Float.class)
+ || WriteAbiFunction.class.equals(Double.class))
+ && token == JsonToken.VALUE_NUMBER_FLOAT);
+ attemptParsing |=
+ (WriteAbiFunction.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE
+ || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (WriteAbiFunction.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ deserialized = tree.traverse(jp.getCodec()).readValueAs(WriteAbiFunction.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ match++;
+ log.log(Level.FINER, "Input data matches schema 'WriteAbiFunction'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(Level.FINER, "Input data does not match schema 'WriteAbiFunction'", e);
+ }
+
+ if (match == 1) {
+ WriteCallFunctionDtoAbiFunction ret = new WriteCallFunctionDtoAbiFunction();
+ ret.setActualInstance(deserialized);
+ return ret;
+ }
+ throw new IOException(
+ String.format(
+ "Failed deserialization for WriteCallFunctionDtoAbiFunction: %d classes"
+ + " match result, expected 1",
+ match));
+ }
+
+ /** Handle deserialization of the 'null' value. */
+ @Override
+ public WriteCallFunctionDtoAbiFunction getNullValue(DeserializationContext ctxt)
+ throws JsonMappingException {
+ throw new JsonMappingException(
+ ctxt.getParser(), "WriteCallFunctionDtoAbiFunction cannot be null");
+ }
+ }
+
+ // store a list of schema names defined in oneOf
+ public static final Map> schemas = new HashMap<>();
+
+ public WriteCallFunctionDtoAbiFunction() {
+ super("oneOf", Boolean.FALSE);
+ }
+
+ public WriteCallFunctionDtoAbiFunction(SolanaInstructionWithValue o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ public WriteCallFunctionDtoAbiFunction(WriteAbiFunction o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ static {
+ schemas.put("SolanaInstructionWithValue", SolanaInstructionWithValue.class);
+ schemas.put("WriteAbiFunction", WriteAbiFunction.class);
+ JSON.registerDescendants(
+ WriteCallFunctionDtoAbiFunction.class, Collections.unmodifiableMap(schemas));
+ }
+
+ @Override
+ public Map> getSchemas() {
+ return WriteCallFunctionDtoAbiFunction.schemas;
+ }
+
+ /**
+ * Set the instance that matches the oneOf child schema, check the instance parameter is valid
+ * against the oneOf child schemas: SolanaInstructionWithValue, WriteAbiFunction
+ *
+ * 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(
+ SolanaInstructionWithValue.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ if (JSON.isInstanceOf(WriteAbiFunction.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+
+ throw new RuntimeException(
+ "Invalid instance type. Must be SolanaInstructionWithValue, WriteAbiFunction");
+ }
+
+ /**
+ * Get the actual instance, which can be the following: SolanaInstructionWithValue,
+ * WriteAbiFunction
+ *
+ * @return The actual instance (SolanaInstructionWithValue, WriteAbiFunction)
+ */
+ @Override
+ public Object getActualInstance() {
+ return super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `SolanaInstructionWithValue`. If the actual instance is not
+ * `SolanaInstructionWithValue`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `SolanaInstructionWithValue`
+ * @throws ClassCastException if the instance is not `SolanaInstructionWithValue`
+ */
+ public SolanaInstructionWithValue getSolanaInstructionWithValue() throws ClassCastException {
+ return (SolanaInstructionWithValue) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `WriteAbiFunction`. If the actual instance is not
+ * `WriteAbiFunction`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `WriteAbiFunction`
+ * @throws ClassCastException if the instance is not `WriteAbiFunction`
+ */
+ public WriteAbiFunction getWriteAbiFunction() throws ClassCastException {
+ return (WriteAbiFunction) 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 WriteAbiFunction) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((WriteAbiFunction) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_0" + suffix));
+ }
+ return joiner.toString();
+ }
+ if (getActualInstance() instanceof SolanaInstructionWithValue) {
+ if (getActualInstance() != null) {
+ joiner.add(
+ ((SolanaInstructionWithValue) getActualInstance())
+ .toUrlQueryString(prefix + "one_of_1" + suffix));
+ }
+ return joiner.toString();
+ }
+ return null;
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/api/KeyLinkBetaApiTest.java b/src/test/java/com/fireblocks/sdk/api/KeyLinkBetaApiTest.java
index a9565d9a..cbae9980 100644
--- a/src/test/java/com/fireblocks/sdk/api/KeyLinkBetaApiTest.java
+++ b/src/test/java/com/fireblocks/sdk/api/KeyLinkBetaApiTest.java
@@ -136,6 +136,7 @@ public void getSigningKeysListTest() throws ApiException {
String algorithm = null;
Boolean enabled = null;
Boolean available = null;
+ Boolean isAssigned = null;
CompletableFuture> response =
api.getSigningKeysList(
pageCursor,
@@ -146,7 +147,8 @@ public void getSigningKeysListTest() throws ApiException {
agentUserId,
algorithm,
enabled,
- available);
+ available,
+ isAssigned);
}
/**
diff --git a/src/test/java/com/fireblocks/sdk/model/ContractAbiResponseDtoAbiInnerTest.java b/src/test/java/com/fireblocks/sdk/model/ContractAbiResponseDtoAbiInnerTest.java
new file mode 100644
index 00000000..bf5ecef0
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/ContractAbiResponseDtoAbiInnerTest.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 ContractAbiResponseDtoAbiInner */
+public class ContractAbiResponseDtoAbiInnerTest {
+ private final ContractAbiResponseDtoAbiInner model = new ContractAbiResponseDtoAbiInner();
+
+ /** Model tests for ContractAbiResponseDtoAbiInner */
+ @Test
+ public void testContractAbiResponseDtoAbiInner() {
+ // TODO: test ContractAbiResponseDtoAbiInner
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'stateMutability' */
+ @Test
+ public void stateMutabilityTest() {
+ // TODO: test stateMutability
+ }
+
+ /** Test the property 'type' */
+ @Test
+ public void typeTest() {
+ // TODO: test type
+ }
+
+ /** Test the property 'inputs' */
+ @Test
+ public void inputsTest() {
+ // TODO: test inputs
+ }
+
+ /** Test the property 'outputs' */
+ @Test
+ public void outputsTest() {
+ // TODO: test outputs
+ }
+
+ /** Test the property 'description' */
+ @Test
+ public void descriptionTest() {
+ // TODO: test description
+ }
+
+ /** Test the property 'discriminator' */
+ @Test
+ public void discriminatorTest() {
+ // TODO: test discriminator
+ }
+
+ /** Test the property 'accounts' */
+ @Test
+ public void accountsTest() {
+ // TODO: test accounts
+ }
+
+ /** Test the property 'args' */
+ @Test
+ public void argsTest() {
+ // TODO: test args
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/ContractUploadRequestTest.java b/src/test/java/com/fireblocks/sdk/model/ContractUploadRequestTest.java
index 547e709b..53dfd83b 100644
--- a/src/test/java/com/fireblocks/sdk/model/ContractUploadRequestTest.java
+++ b/src/test/java/com/fireblocks/sdk/model/ContractUploadRequestTest.java
@@ -78,4 +78,10 @@ public void abiTest() {
public void attributesTest() {
// TODO: test attributes
}
+
+ /** Test the property 'protocol' */
+ @Test
+ public void protocolTest() {
+ // TODO: test protocol
+ }
}
diff --git a/src/test/java/com/fireblocks/sdk/model/CreateTokenRequestDtoCreateParamsTest.java b/src/test/java/com/fireblocks/sdk/model/CreateTokenRequestDtoCreateParamsTest.java
index 97bd9948..c3a67fbe 100644
--- a/src/test/java/com/fireblocks/sdk/model/CreateTokenRequestDtoCreateParamsTest.java
+++ b/src/test/java/com/fireblocks/sdk/model/CreateTokenRequestDtoCreateParamsTest.java
@@ -54,4 +54,10 @@ public void nameTest() {
public void issuerAddressTest() {
// TODO: test issuerAddress
}
+
+ /** Test the property 'decimals' */
+ @Test
+ public void decimalsTest() {
+ // TODO: test decimals
+ }
}
diff --git a/src/test/java/com/fireblocks/sdk/model/DeployedContractResponseDtoTest.java b/src/test/java/com/fireblocks/sdk/model/DeployedContractResponseDtoTest.java
index 962b2976..e7fb5b83 100644
--- a/src/test/java/com/fireblocks/sdk/model/DeployedContractResponseDtoTest.java
+++ b/src/test/java/com/fireblocks/sdk/model/DeployedContractResponseDtoTest.java
@@ -54,4 +54,28 @@ public void vaultAccountIdTest() {
public void blockchainIdTest() {
// TODO: test blockchainId
}
+
+ /** Test the property 'baseAssetId' */
+ @Test
+ public void baseAssetIdTest() {
+ // TODO: test baseAssetId
+ }
+
+ /** Test the property 'gaslessConfig' */
+ @Test
+ public void gaslessConfigTest() {
+ // TODO: test gaslessConfig
+ }
+
+ /** Test the property 'multichainDeploymentMetadata' */
+ @Test
+ public void multichainDeploymentMetadataTest() {
+ // TODO: test multichainDeploymentMetadata
+ }
+
+ /** Test the property 'solanaConfig' */
+ @Test
+ public void solanaConfigTest() {
+ // TODO: test solanaConfig
+ }
}
diff --git a/src/test/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsGaslessStandardConfigurationsValueTest.java b/src/test/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsGaslessStandardConfigurationsValueTest.java
new file mode 100644
index 00000000..0b1139f6
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsGaslessStandardConfigurationsValueTest.java
@@ -0,0 +1,40 @@
+/*
+ * 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 GasslessStandardConfigurationsGaslessStandardConfigurationsValue */
+public class GasslessStandardConfigurationsGaslessStandardConfigurationsValueTest {
+ private final GasslessStandardConfigurationsGaslessStandardConfigurationsValue model =
+ new GasslessStandardConfigurationsGaslessStandardConfigurationsValue();
+
+ /** Model tests for GasslessStandardConfigurationsGaslessStandardConfigurationsValue */
+ @Test
+ public void testGasslessStandardConfigurationsGaslessStandardConfigurationsValue() {
+ // TODO: test GasslessStandardConfigurationsGaslessStandardConfigurationsValue
+ }
+
+ /** Test the property 'lastOnChainCheck' */
+ @Test
+ public void lastOnChainCheckTest() {
+ // TODO: test lastOnChainCheck
+ }
+
+ /** Test the property 'forwarderAddresses' */
+ @Test
+ public void forwarderAddressesTest() {
+ // TODO: test forwarderAddresses
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsTest.java b/src/test/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsTest.java
new file mode 100644
index 00000000..f13a684f
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/GasslessStandardConfigurationsTest.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 GasslessStandardConfigurations */
+public class GasslessStandardConfigurationsTest {
+ private final GasslessStandardConfigurations model = new GasslessStandardConfigurations();
+
+ /** Model tests for GasslessStandardConfigurations */
+ @Test
+ public void testGasslessStandardConfigurations() {
+ // TODO: test GasslessStandardConfigurations
+ }
+
+ /** Test the property 'gaslessStandardConfigurations' */
+ @Test
+ public void gaslessStandardConfigurationsTest() {
+ // TODO: test gaslessStandardConfigurations
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/IdlTypeTest.java b/src/test/java/com/fireblocks/sdk/model/IdlTypeTest.java
new file mode 100644
index 00000000..ef3b0ad7
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/IdlTypeTest.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 IdlType */
+public class IdlTypeTest {
+ /** Model tests for IdlType */
+ @Test
+ public void testIdlType() {
+ // TODO: test IdlType
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/MultichainDeploymentMetadataTest.java b/src/test/java/com/fireblocks/sdk/model/MultichainDeploymentMetadataTest.java
new file mode 100644
index 00000000..f2d7c696
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/MultichainDeploymentMetadataTest.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 MultichainDeploymentMetadata */
+public class MultichainDeploymentMetadataTest {
+ private final MultichainDeploymentMetadata model = new MultichainDeploymentMetadata();
+
+ /** Model tests for MultichainDeploymentMetadata */
+ @Test
+ public void testMultichainDeploymentMetadata() {
+ // TODO: test MultichainDeploymentMetadata
+ }
+
+ /** Test the property 'id' */
+ @Test
+ public void idTest() {
+ // TODO: test id
+ }
+
+ /** Test the property 'address' */
+ @Test
+ public void addressTest() {
+ // TODO: test address
+ }
+
+ /** Test the property 'templateId' */
+ @Test
+ public void templateIdTest() {
+ // TODO: test templateId
+ }
+
+ /** Test the property 'deploymentSalt' */
+ @Test
+ public void deploymentSaltTest() {
+ // TODO: test deploymentSalt
+ }
+
+ /** Test the property 'initParams' */
+ @Test
+ public void initParamsTest() {
+ // TODO: test initParams
+ }
+
+ /** Test the property 'encodedInitParams' */
+ @Test
+ public void encodedInitParamsTest() {
+ // TODO: test encodedInitParams
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/ReadCallFunctionDtoAbiFunctionTest.java b/src/test/java/com/fireblocks/sdk/model/ReadCallFunctionDtoAbiFunctionTest.java
new file mode 100644
index 00000000..80d990d2
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/ReadCallFunctionDtoAbiFunctionTest.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 ReadCallFunctionDtoAbiFunction */
+public class ReadCallFunctionDtoAbiFunctionTest {
+ private final ReadCallFunctionDtoAbiFunction model = new ReadCallFunctionDtoAbiFunction();
+
+ /** Model tests for ReadCallFunctionDtoAbiFunction */
+ @Test
+ public void testReadCallFunctionDtoAbiFunction() {
+ // TODO: test ReadCallFunctionDtoAbiFunction
+ }
+
+ /** Test the property 'stateMutability' */
+ @Test
+ public void stateMutabilityTest() {
+ // TODO: test stateMutability
+ }
+
+ /** Test the property 'outputs' */
+ @Test
+ public void outputsTest() {
+ // TODO: test outputs
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'type' */
+ @Test
+ public void typeTest() {
+ // TODO: test type
+ }
+
+ /** Test the property 'inputs' */
+ @Test
+ public void inputsTest() {
+ // TODO: test inputs
+ }
+
+ /** Test the property 'description' */
+ @Test
+ public void descriptionTest() {
+ // TODO: test description
+ }
+
+ /** Test the property 'discriminator' */
+ @Test
+ public void discriminatorTest() {
+ // TODO: test discriminator
+ }
+
+ /** Test the property 'accounts' */
+ @Test
+ public void accountsTest() {
+ // TODO: test accounts
+ }
+
+ /** Test the property 'args' */
+ @Test
+ public void argsTest() {
+ // TODO: test args
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SOLAccountTest.java b/src/test/java/com/fireblocks/sdk/model/SOLAccountTest.java
new file mode 100644
index 00000000..24656d40
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SOLAccountTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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 SOLAccount */
+public class SOLAccountTest {
+ private final SOLAccount model = new SOLAccount();
+
+ /** Model tests for SOLAccount */
+ @Test
+ public void testSOLAccount() {
+ // TODO: test SOLAccount
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'signer' */
+ @Test
+ public void signerTest() {
+ // TODO: test signer
+ }
+
+ /** Test the property 'writable' */
+ @Test
+ public void writableTest() {
+ // TODO: test writable
+ }
+
+ /** Test the property 'address' */
+ @Test
+ public void addressTest() {
+ // TODO: test address
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SOLAccountWithValueTest.java b/src/test/java/com/fireblocks/sdk/model/SOLAccountWithValueTest.java
new file mode 100644
index 00000000..810d1beb
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SOLAccountWithValueTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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 SOLAccountWithValue */
+public class SOLAccountWithValueTest {
+ private final SOLAccountWithValue model = new SOLAccountWithValue();
+
+ /** Model tests for SOLAccountWithValue */
+ @Test
+ public void testSOLAccountWithValue() {
+ // TODO: test SOLAccountWithValue
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'signer' */
+ @Test
+ public void signerTest() {
+ // TODO: test signer
+ }
+
+ /** Test the property 'writable' */
+ @Test
+ public void writableTest() {
+ // TODO: test writable
+ }
+
+ /** Test the property 'address' */
+ @Test
+ public void addressTest() {
+ // TODO: test address
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SolParameterTest.java b/src/test/java/com/fireblocks/sdk/model/SolParameterTest.java
new file mode 100644
index 00000000..3792b667
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SolParameterTest.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 SolParameter */
+public class SolParameterTest {
+ private final SolParameter model = new SolParameter();
+
+ /** Model tests for SolParameter */
+ @Test
+ public void testSolParameter() {
+ // TODO: test SolParameter
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'type' */
+ @Test
+ public void typeTest() {
+ // TODO: test type
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SolParameterWithValueTest.java b/src/test/java/com/fireblocks/sdk/model/SolParameterWithValueTest.java
new file mode 100644
index 00000000..4c1f79c6
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SolParameterWithValueTest.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 SolParameterWithValue */
+public class SolParameterWithValueTest {
+ private final SolParameterWithValue model = new SolParameterWithValue();
+
+ /** Model tests for SolParameterWithValue */
+ @Test
+ public void testSolParameterWithValue() {
+ // TODO: test SolParameterWithValue
+ }
+
+ /** Test the property 'value' */
+ @Test
+ public void valueTest() {
+ // TODO: test value
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'type' */
+ @Test
+ public void typeTest() {
+ // TODO: test type
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SolanaConfigTest.java b/src/test/java/com/fireblocks/sdk/model/SolanaConfigTest.java
new file mode 100644
index 00000000..62bff5e9
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SolanaConfigTest.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 SolanaConfig */
+public class SolanaConfigTest {
+ private final SolanaConfig model = new SolanaConfig();
+
+ /** Model tests for SolanaConfig */
+ @Test
+ public void testSolanaConfig() {
+ // TODO: test SolanaConfig
+ }
+
+ /** Test the property 'extensions' */
+ @Test
+ public void extensionsTest() {
+ // TODO: test extensions
+ }
+
+ /** Test the property 'type' */
+ @Test
+ public void typeTest() {
+ // TODO: test type
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SolanaInstructionTest.java b/src/test/java/com/fireblocks/sdk/model/SolanaInstructionTest.java
new file mode 100644
index 00000000..51d00c4c
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SolanaInstructionTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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 SolanaInstruction */
+public class SolanaInstructionTest {
+ private final SolanaInstruction model = new SolanaInstruction();
+
+ /** Model tests for SolanaInstruction */
+ @Test
+ public void testSolanaInstruction() {
+ // TODO: test SolanaInstruction
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'discriminator' */
+ @Test
+ public void discriminatorTest() {
+ // TODO: test discriminator
+ }
+
+ /** Test the property 'accounts' */
+ @Test
+ public void accountsTest() {
+ // TODO: test accounts
+ }
+
+ /** Test the property 'args' */
+ @Test
+ public void argsTest() {
+ // TODO: test args
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SolanaInstructionWithValueTest.java b/src/test/java/com/fireblocks/sdk/model/SolanaInstructionWithValueTest.java
new file mode 100644
index 00000000..3f74416f
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SolanaInstructionWithValueTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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 SolanaInstructionWithValue */
+public class SolanaInstructionWithValueTest {
+ private final SolanaInstructionWithValue model = new SolanaInstructionWithValue();
+
+ /** Model tests for SolanaInstructionWithValue */
+ @Test
+ public void testSolanaInstructionWithValue() {
+ // TODO: test SolanaInstructionWithValue
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'discriminator' */
+ @Test
+ public void discriminatorTest() {
+ // TODO: test discriminator
+ }
+
+ /** Test the property 'accounts' */
+ @Test
+ public void accountsTest() {
+ // TODO: test accounts
+ }
+
+ /** Test the property 'args' */
+ @Test
+ public void argsTest() {
+ // TODO: test args
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/SolanaSimpleCreateParamsTest.java b/src/test/java/com/fireblocks/sdk/model/SolanaSimpleCreateParamsTest.java
new file mode 100644
index 00000000..6f8789c5
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/SolanaSimpleCreateParamsTest.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 SolanaSimpleCreateParams */
+public class SolanaSimpleCreateParamsTest {
+ private final SolanaSimpleCreateParams model = new SolanaSimpleCreateParams();
+
+ /** Model tests for SolanaSimpleCreateParams */
+ @Test
+ public void testSolanaSimpleCreateParams() {
+ // TODO: test SolanaSimpleCreateParams
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'symbol' */
+ @Test
+ public void symbolTest() {
+ // TODO: test symbol
+ }
+
+ /** Test the property 'decimals' */
+ @Test
+ public void decimalsTest() {
+ // TODO: test decimals
+ }
+}
diff --git a/src/test/java/com/fireblocks/sdk/model/WriteCallFunctionDtoAbiFunctionTest.java b/src/test/java/com/fireblocks/sdk/model/WriteCallFunctionDtoAbiFunctionTest.java
new file mode 100644
index 00000000..e47be495
--- /dev/null
+++ b/src/test/java/com/fireblocks/sdk/model/WriteCallFunctionDtoAbiFunctionTest.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 WriteCallFunctionDtoAbiFunction */
+public class WriteCallFunctionDtoAbiFunctionTest {
+ private final WriteCallFunctionDtoAbiFunction model = new WriteCallFunctionDtoAbiFunction();
+
+ /** Model tests for WriteCallFunctionDtoAbiFunction */
+ @Test
+ public void testWriteCallFunctionDtoAbiFunction() {
+ // TODO: test WriteCallFunctionDtoAbiFunction
+ }
+
+ /** Test the property 'stateMutability' */
+ @Test
+ public void stateMutabilityTest() {
+ // TODO: test stateMutability
+ }
+
+ /** Test the property 'outputs' */
+ @Test
+ public void outputsTest() {
+ // TODO: test outputs
+ }
+
+ /** Test the property 'type' */
+ @Test
+ public void typeTest() {
+ // TODO: test type
+ }
+
+ /** Test the property 'name' */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /** Test the property 'inputs' */
+ @Test
+ public void inputsTest() {
+ // TODO: test inputs
+ }
+
+ /** Test the property 'description' */
+ @Test
+ public void descriptionTest() {
+ // TODO: test description
+ }
+
+ /** Test the property 'discriminator' */
+ @Test
+ public void discriminatorTest() {
+ // TODO: test discriminator
+ }
+
+ /** Test the property 'accounts' */
+ @Test
+ public void accountsTest() {
+ // TODO: test accounts
+ }
+
+ /** Test the property 'args' */
+ @Test
+ public void argsTest() {
+ // TODO: test args
+ }
+}