diff --git a/api/openapi.yaml b/api/openapi.yaml index 85a1999..6955a64 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -5444,6 +5444,7 @@ paths: - Algorand - TRON - NEAR + - Solana operationId: registerNewAsset parameters: - description: "A unique identifier for the request. If the request is sent\ @@ -5480,6 +5481,10 @@ paths: - The asset address is invalid. Error code: 1003 - Self serve listing an asset on the requested blockchain is currently not supported, please contact support. Error code: 1004 + + - Blockchain is deprecated. Error code: 1006 + + - The asset's standard is not supported. Error code: 1007 "403": content: application/json: @@ -5487,6 +5492,10 @@ paths: $ref: '#/components/schemas/AssetForbiddenErrorResponse' description: | - The asset creation quota reached. Error code: 1005 + + - Tenant is not allowed to create testnet assets. Error code: 1008 + + - Tenant is not allowed to create mainnet assets. Error code: 1009 "404": content: application/json: @@ -9816,6 +9825,7 @@ paths: - XTZ - XTZ_TEST - BASECHAIN_ETH + - BASECHAIN_ETH_TEST3 type: string style: form - description: A comma separated list of Vault Account IDs. Up to 100 are allowed @@ -9997,7 +10007,6 @@ paths: schema: enum: - ETH - - ETH_TEST3 - ETH_TEST5 - ETH_TEST6 - POLYGON @@ -16007,11 +16016,14 @@ components: example: "(ETH, ETH_TEST5, MATIC_POLYGON)" type: string address: - description: "Asset address. \n- For EVM based chains this should be the\ - \ token contract address.\n- For Stellar (XLM) this should be the issuer\ - \ address.\n- For Algorand (ALGO) this should be the asset ID.\n- For\ - \ TRON (TRX) this should be the token contract address.\n- For NEAR this\ - \ will be the token address.\n" + description: | + Asset address. + - EVM-based chains: token contract address + - Stellar (XLM): issuer address + - Algorand (ALGO): asset ID + - TRON (TRX): token contract address + - NEAR: token address + - Solana: token's mint account address example: 0xe7A9as1oa38bc4da0248s179E30aa94CcF453991 type: string symbol: @@ -16192,6 +16204,7 @@ components: description: Source of the transaction. example: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16222,6 +16235,11 @@ components: walletId: format: uuid type: string + tradingAccount: + description: "If this transaction is an exchange internal transfer, this\ + \ field will be populated with the type of that trading account." + nullable: true + type: string required: - type type: object @@ -16232,6 +16250,7 @@ components: **Note:** In case the transaction is sent to multiple destinations, the `destinations` parameter is be used instead of this. example: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16262,6 +16281,11 @@ components: walletId: format: uuid type: string + tradingAccount: + description: "If this transaction is an exchange internal transfer, this\ + \ field will be populated with the type of that trading account." + nullable: true + type: string required: - type type: object @@ -16339,6 +16363,7 @@ components: payload: "{}" destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16424,6 +16449,7 @@ components: networkFee: networkFee destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16431,6 +16457,7 @@ components: index: 6.027456183070403 source: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16716,6 +16743,7 @@ components: fee: 6.84685269835264 destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16724,6 +16752,7 @@ components: extraParameters: "{}" source: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16737,6 +16766,7 @@ components: networkFee: networkFee destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16744,6 +16774,7 @@ components: index: 6.027456183070403 source: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16762,6 +16793,7 @@ components: networkFee: networkFee destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16769,6 +16801,7 @@ components: index: 6.027456183070403 source: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16817,6 +16850,7 @@ components: payload: "{}" destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -16840,6 +16874,7 @@ components: payload: "{}" destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + tradingAccount: tradingAccount name: name subType: subType id: id @@ -21935,6 +21970,7 @@ components: - XTZ - XTZ_TEST - BASECHAIN_ETH + - BASECHAIN_ETH_TEST3 type: string description: type: string @@ -22085,6 +22121,7 @@ components: - XTZ - XTZ_TEST - BASECHAIN_ETH + - BASECHAIN_ETH_TEST3 type: string description: type: string @@ -22173,6 +22210,7 @@ components: - XTZ - XTZ_TEST - BASECHAIN_ETH + - BASECHAIN_ETH_TEST3 type: string contractAddress: description: Collection contract standard @@ -26603,7 +26641,6 @@ components: required: - decimals - name - - standard - symbol type: object AssetResponse_metadata: diff --git a/docs/AssetResponseOnchain.md b/docs/AssetResponseOnchain.md index d963320..9ed25f3 100644 --- a/docs/AssetResponseOnchain.md +++ b/docs/AssetResponseOnchain.md @@ -11,7 +11,7 @@ |**name** | **String** | The asset name | | |**address** | **String** | The asset address | [optional] | |**decimals** | **BigDecimal** | Number of decimals | | -|**standard** | **String** | The asset standard | | +|**standard** | **String** | The asset standard | [optional] | diff --git a/docs/BlockchainsAssetsApi.md b/docs/BlockchainsAssetsApi.md index 12dd574..696bed6 100644 --- a/docs/BlockchainsAssetsApi.md +++ b/docs/BlockchainsAssetsApi.md @@ -94,7 +94,7 @@ No authorization required Register an asset -Register a new asset to a workspace and return the newly created asset's details. Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR +Register a new asset to a workspace and return the newly created asset's details. Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR - Solana ### Example @@ -170,8 +170,8 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | A new asset has been created successfully | - | -| **400** | - Listing an asset on the requested blockchain is not supported. Error code: 1000 - The asset address is invalid. Error code: 1003 - Self serve listing an asset on the requested blockchain is currently not supported, please contact support. Error code: 1004 | - | -| **403** | - The asset creation quota reached. Error code: 1005 | - | +| **400** | - Listing an asset on the requested blockchain is not supported. Error code: 1000 - The asset address is invalid. Error code: 1003 - Self serve listing an asset on the requested blockchain is currently not supported, please contact support. Error code: 1004 - Blockchain is deprecated. Error code: 1006 - The asset's standard is not supported. Error code: 1007 | - | +| **403** | - The asset creation quota reached. Error code: 1005 - Tenant is not allowed to create testnet assets. Error code: 1008 - Tenant is not allowed to create mainnet assets. Error code: 1009 | - | | **404** | - Invalid address, could not get asset information. Error code 1003 | - | | **409** | - The asset is already supported globally. Error code: 1001 - The asset has already been added to this workspace. Error code: 1002 | - | | **500** | Failed to create asset | - | diff --git a/docs/CollectionOwnershipResponse.md b/docs/CollectionOwnershipResponse.md index 2c6f32d..c5af33b 100644 --- a/docs/CollectionOwnershipResponse.md +++ b/docs/CollectionOwnershipResponse.md @@ -30,6 +30,7 @@ | XTZ | "XTZ" | | XTZ_TEST | "XTZ_TEST" | | BASECHAIN_ETH | "BASECHAIN_ETH" | +| BASECHAIN_ETH_TEST3 | "BASECHAIN_ETH_TEST3" | diff --git a/docs/DestinationTransferPeerPathResponse.md b/docs/DestinationTransferPeerPathResponse.md index bbbe489..115e6a9 100644 --- a/docs/DestinationTransferPeerPathResponse.md +++ b/docs/DestinationTransferPeerPathResponse.md @@ -13,6 +13,7 @@ Destination of the transaction. **Note:** In case the transaction is sent to mu |**id** | **String** | The ID of the peer. You can retrieve the ID of each venue object using the endpoints for [listing vault accounts](https://developers.fireblocks.com/reference/get_vault-accounts-paged), [listing exchange account](https://developers.fireblocks.com/reference/get_exchange-accounts), [listing fiat accounts](https://developers.fireblocks.com/reference/get_fiat-accounts), [listing internal wallets](https://developers.fireblocks.com/reference/get_internal-wallets), [listing external wallets](https://developers.fireblocks.com/reference/get_external-wallets), [listing network connections](https://developers.fireblocks.com/reference/get_network-connections). For the other types, this parameter is not needed. | [optional] | |**name** | **String** | The name of the peer. | [optional] | |**walletId** | **UUID** | | [optional] | +|**tradingAccount** | **String** | If this transaction is an exchange internal transfer, this field will be populated with the type of that trading account. | [optional] | diff --git a/docs/NftsApi.md b/docs/NftsApi.md index 56548ec..83182d7 100644 --- a/docs/NftsApi.md +++ b/docs/NftsApi.md @@ -262,7 +262,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **blockchainDescriptor** | **String**| Blockchain descriptor filter | [optional] [enum: ETH, ETH_TEST3, ETH_TEST5, ETH_TEST6, POLYGON, POLYGON_TEST_MUMBAI, AMOY_POLYGON_TEST, XTZ, XTZ_TEST, BASECHAIN_ETH] | +| **blockchainDescriptor** | **String**| Blockchain descriptor filter | [optional] [enum: ETH, ETH_TEST3, ETH_TEST5, ETH_TEST6, POLYGON, POLYGON_TEST_MUMBAI, AMOY_POLYGON_TEST, XTZ, XTZ_TEST, BASECHAIN_ETH, BASECHAIN_ETH_TEST3] | | **vaultAccountIds** | **String**| A comma separated list of Vault Account IDs. Up to 100 are allowed in a single request. This field will be ignored when walletType=END_USER_WALLET or ncwId is provided. | [optional] | | **ncwId** | **String**| Tenant's Non-Custodial Wallet ID | [optional] | | **ncwAccountIds** | **String**| A comma separated list of Non-Custodial account IDs. Up to 100 are allowed in a single request. This field will be ignored when walletType=VAULT_ACCOUNT or ncwId is not provided. | [optional] | @@ -635,7 +635,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **blockchainDescriptor** | **String**| Blockchain descriptor filter | [enum: ETH, ETH_TEST3, ETH_TEST5, ETH_TEST6, POLYGON, POLYGON_TEST_MUMBAI, AMOY_POLYGON_TEST, BASECHAIN_ETH] | +| **blockchainDescriptor** | **String**| Blockchain descriptor filter | [enum: ETH, ETH_TEST5, ETH_TEST6, POLYGON, POLYGON_TEST_MUMBAI, AMOY_POLYGON_TEST, BASECHAIN_ETH] | | **vaultAccountId** | **String**| Vault account filter | | | **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] | diff --git a/docs/RegisterNewAssetRequest.md b/docs/RegisterNewAssetRequest.md index 743c549..ea8f74b 100644 --- a/docs/RegisterNewAssetRequest.md +++ b/docs/RegisterNewAssetRequest.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**blockchainId** | **String** | Native asset ID of the blockchain | | -|**address** | **String** | Asset address. - For EVM based chains this should be the token contract address. - For Stellar (XLM) this should be the issuer address. - For Algorand (ALGO) this should be the asset ID. - For TRON (TRX) this should be the token contract address. - For NEAR this will be the token address. | | +|**address** | **String** | Asset address. - EVM-based chains: token contract address - Stellar (XLM): issuer address - Algorand (ALGO): asset ID - TRON (TRX): token contract address - NEAR: token address - Solana: token's mint account address | | |**symbol** | **String** | Required for Stellar only, asset code is expected. | [optional] | diff --git a/docs/SourceTransferPeerPathResponse.md b/docs/SourceTransferPeerPathResponse.md index 40492f5..96114db 100644 --- a/docs/SourceTransferPeerPathResponse.md +++ b/docs/SourceTransferPeerPathResponse.md @@ -13,6 +13,7 @@ Source of the transaction. |**id** | **String** | The ID of the peer. You can retrieve the ID of each venue object using the endpoints for [listing vault accounts](https://developers.fireblocks.com/reference/get_vault-accounts-paged), [listing exchange account](https://developers.fireblocks.com/reference/get_exchange-accounts), [listing fiat accounts](https://developers.fireblocks.com/reference/get_fiat-accounts), [listing internal wallets](https://developers.fireblocks.com/reference/get_internal-wallets), [listing external wallets](https://developers.fireblocks.com/reference/get_external-wallets), [listing network connections](https://developers.fireblocks.com/reference/get_network-connections). For the other types, this parameter is not needed. | [optional] | |**name** | **String** | The name of the peer. | [optional] | |**walletId** | **UUID** | | [optional] | +|**tradingAccount** | **String** | If this transaction is an exchange internal transfer, this field will be populated with the type of that trading account. | [optional] | diff --git a/docs/TokenOwnershipResponse.md b/docs/TokenOwnershipResponse.md index c00637c..74da11c 100644 --- a/docs/TokenOwnershipResponse.md +++ b/docs/TokenOwnershipResponse.md @@ -42,6 +42,7 @@ | XTZ | "XTZ" | | XTZ_TEST | "XTZ_TEST" | | BASECHAIN_ETH | "BASECHAIN_ETH" | +| BASECHAIN_ETH_TEST3 | "BASECHAIN_ETH_TEST3" | diff --git a/docs/TokenResponse.md b/docs/TokenResponse.md index 1f5ec45..25a8a0c 100644 --- a/docs/TokenResponse.md +++ b/docs/TokenResponse.md @@ -35,6 +35,7 @@ | XTZ | "XTZ" | | XTZ_TEST | "XTZ_TEST" | | BASECHAIN_ETH | "BASECHAIN_ETH" | +| BASECHAIN_ETH_TEST3 | "BASECHAIN_ETH_TEST3" | diff --git a/src/main/java/com/fireblocks/sdk/api/BlockchainsAssetsApi.java b/src/main/java/com/fireblocks/sdk/api/BlockchainsAssetsApi.java index dc174c7..04efe94 100644 --- a/src/main/java/com/fireblocks/sdk/api/BlockchainsAssetsApi.java +++ b/src/main/java/com/fireblocks/sdk/api/BlockchainsAssetsApi.java @@ -136,7 +136,7 @@ private HttpRequest.Builder getSupportedAssetsRequestBuilder() throws ApiExcepti /** * Register an asset Register a new asset to a workspace and return the newly created * asset's details. Currently supported chains are: - EVM based chains - Stellar - Algorand - * - TRON - NEAR + * - TRON - NEAR - Solana * * @param registerNewAssetRequest (optional) * @param idempotencyKey A unique identifier for the request. If the request is sent multiple diff --git a/src/main/java/com/fireblocks/sdk/model/AssetResponseOnchain.java b/src/main/java/com/fireblocks/sdk/model/AssetResponseOnchain.java index 09ea9a7..d71b4a6 100644 --- a/src/main/java/com/fireblocks/sdk/model/AssetResponseOnchain.java +++ b/src/main/java/com/fireblocks/sdk/model/AssetResponseOnchain.java @@ -151,15 +151,15 @@ public AssetResponseOnchain standard(String standard) { * * @return standard */ - @jakarta.annotation.Nonnull + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_STANDARD) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public String getStandard() { return standard; } @JsonProperty(JSON_PROPERTY_STANDARD) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setStandard(String standard) { this.standard = standard; } diff --git a/src/main/java/com/fireblocks/sdk/model/CollectionOwnershipResponse.java b/src/main/java/com/fireblocks/sdk/model/CollectionOwnershipResponse.java index 63f7da4..4301946 100644 --- a/src/main/java/com/fireblocks/sdk/model/CollectionOwnershipResponse.java +++ b/src/main/java/com/fireblocks/sdk/model/CollectionOwnershipResponse.java @@ -66,7 +66,9 @@ public enum BlockchainDescriptorEnum { XTZ_TEST("XTZ_TEST"), - BASECHAIN_ETH("BASECHAIN_ETH"); + BASECHAIN_ETH("BASECHAIN_ETH"), + + BASECHAIN_ETH_TEST3("BASECHAIN_ETH_TEST3"); private String value; diff --git a/src/main/java/com/fireblocks/sdk/model/DestinationTransferPeerPathResponse.java b/src/main/java/com/fireblocks/sdk/model/DestinationTransferPeerPathResponse.java index a98075e..733c0ac 100644 --- a/src/main/java/com/fireblocks/sdk/model/DestinationTransferPeerPathResponse.java +++ b/src/main/java/com/fireblocks/sdk/model/DestinationTransferPeerPathResponse.java @@ -31,7 +31,8 @@ DestinationTransferPeerPathResponse.JSON_PROPERTY_SUB_TYPE, DestinationTransferPeerPathResponse.JSON_PROPERTY_ID, DestinationTransferPeerPathResponse.JSON_PROPERTY_NAME, - DestinationTransferPeerPathResponse.JSON_PROPERTY_WALLET_ID + DestinationTransferPeerPathResponse.JSON_PROPERTY_WALLET_ID, + DestinationTransferPeerPathResponse.JSON_PROPERTY_TRADING_ACCOUNT }) @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class DestinationTransferPeerPathResponse { @@ -50,6 +51,9 @@ public class DestinationTransferPeerPathResponse { public static final String JSON_PROPERTY_WALLET_ID = "walletId"; private UUID walletId; + public static final String JSON_PROPERTY_TRADING_ACCOUNT = "tradingAccount"; + private String tradingAccount; + public DestinationTransferPeerPathResponse() {} public DestinationTransferPeerPathResponse type(TransferPeerPathType type) { @@ -179,6 +183,30 @@ public void setWalletId(UUID walletId) { this.walletId = walletId; } + public DestinationTransferPeerPathResponse tradingAccount(String tradingAccount) { + this.tradingAccount = tradingAccount; + return this; + } + + /** + * If this transaction is an exchange internal transfer, this field will be populated with the + * type of that trading account. + * + * @return tradingAccount + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRADING_ACCOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTradingAccount() { + return tradingAccount; + } + + @JsonProperty(JSON_PROPERTY_TRADING_ACCOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTradingAccount(String tradingAccount) { + this.tradingAccount = tradingAccount; + } + /** Return true if this DestinationTransferPeerPathResponse object is equal to o. */ @Override public boolean equals(Object o) { @@ -194,12 +222,14 @@ public boolean equals(Object o) { && Objects.equals(this.subType, destinationTransferPeerPathResponse.subType) && Objects.equals(this.id, destinationTransferPeerPathResponse.id) && Objects.equals(this.name, destinationTransferPeerPathResponse.name) - && Objects.equals(this.walletId, destinationTransferPeerPathResponse.walletId); + && Objects.equals(this.walletId, destinationTransferPeerPathResponse.walletId) + && Objects.equals( + this.tradingAccount, destinationTransferPeerPathResponse.tradingAccount); } @Override public int hashCode() { - return Objects.hash(type, subType, id, name, walletId); + return Objects.hash(type, subType, id, name, walletId, tradingAccount); } @Override @@ -211,6 +241,7 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" tradingAccount: ").append(toIndentedString(tradingAccount)).append("\n"); sb.append("}"); return sb.toString(); } @@ -313,6 +344,19 @@ public String toUrlQueryString(String prefix) { .replaceAll("\\+", "%20"))); } + // add `tradingAccount` to the URL query string + if (getTradingAccount() != null) { + joiner.add( + String.format( + "%stradingAccount%s=%s", + prefix, + suffix, + URLEncoder.encode( + String.valueOf(getTradingAccount()), + StandardCharsets.UTF_8) + .replaceAll("\\+", "%20"))); + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/RegisterNewAssetRequest.java b/src/main/java/com/fireblocks/sdk/model/RegisterNewAssetRequest.java index 2d35d6c..87bc1cb 100644 --- a/src/main/java/com/fireblocks/sdk/model/RegisterNewAssetRequest.java +++ b/src/main/java/com/fireblocks/sdk/model/RegisterNewAssetRequest.java @@ -69,10 +69,9 @@ public RegisterNewAssetRequest address(String address) { } /** - * Asset address. - For EVM based chains this should be the token contract address. - For - * Stellar (XLM) this should be the issuer address. - For Algorand (ALGO) this should be the - * asset ID. - For TRON (TRX) this should be the token contract address. - For NEAR this will be - * the token address. + * Asset address. - EVM-based chains: token contract address - Stellar (XLM): issuer address - + * Algorand (ALGO): asset ID - TRON (TRX): token contract address - NEAR: token address - + * Solana: token's mint account address * * @return address */ diff --git a/src/main/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponse.java b/src/main/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponse.java index ead7ede..9a2e913 100644 --- a/src/main/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponse.java +++ b/src/main/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponse.java @@ -28,7 +28,8 @@ SourceTransferPeerPathResponse.JSON_PROPERTY_SUB_TYPE, SourceTransferPeerPathResponse.JSON_PROPERTY_ID, SourceTransferPeerPathResponse.JSON_PROPERTY_NAME, - SourceTransferPeerPathResponse.JSON_PROPERTY_WALLET_ID + SourceTransferPeerPathResponse.JSON_PROPERTY_WALLET_ID, + SourceTransferPeerPathResponse.JSON_PROPERTY_TRADING_ACCOUNT }) @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class SourceTransferPeerPathResponse { @@ -47,6 +48,9 @@ public class SourceTransferPeerPathResponse { public static final String JSON_PROPERTY_WALLET_ID = "walletId"; private UUID walletId; + public static final String JSON_PROPERTY_TRADING_ACCOUNT = "tradingAccount"; + private String tradingAccount; + public SourceTransferPeerPathResponse() {} public SourceTransferPeerPathResponse type(TransferPeerPathType type) { @@ -176,6 +180,30 @@ public void setWalletId(UUID walletId) { this.walletId = walletId; } + public SourceTransferPeerPathResponse tradingAccount(String tradingAccount) { + this.tradingAccount = tradingAccount; + return this; + } + + /** + * If this transaction is an exchange internal transfer, this field will be populated with the + * type of that trading account. + * + * @return tradingAccount + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRADING_ACCOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTradingAccount() { + return tradingAccount; + } + + @JsonProperty(JSON_PROPERTY_TRADING_ACCOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTradingAccount(String tradingAccount) { + this.tradingAccount = tradingAccount; + } + /** Return true if this SourceTransferPeerPathResponse object is equal to o. */ @Override public boolean equals(Object o) { @@ -191,12 +219,14 @@ public boolean equals(Object o) { && Objects.equals(this.subType, sourceTransferPeerPathResponse.subType) && Objects.equals(this.id, sourceTransferPeerPathResponse.id) && Objects.equals(this.name, sourceTransferPeerPathResponse.name) - && Objects.equals(this.walletId, sourceTransferPeerPathResponse.walletId); + && Objects.equals(this.walletId, sourceTransferPeerPathResponse.walletId) + && Objects.equals( + this.tradingAccount, sourceTransferPeerPathResponse.tradingAccount); } @Override public int hashCode() { - return Objects.hash(type, subType, id, name, walletId); + return Objects.hash(type, subType, id, name, walletId, tradingAccount); } @Override @@ -208,6 +238,7 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" tradingAccount: ").append(toIndentedString(tradingAccount)).append("\n"); sb.append("}"); return sb.toString(); } @@ -310,6 +341,19 @@ public String toUrlQueryString(String prefix) { .replaceAll("\\+", "%20"))); } + // add `tradingAccount` to the URL query string + if (getTradingAccount() != null) { + joiner.add( + String.format( + "%stradingAccount%s=%s", + prefix, + suffix, + URLEncoder.encode( + String.valueOf(getTradingAccount()), + StandardCharsets.UTF_8) + .replaceAll("\\+", "%20"))); + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/TokenOwnershipResponse.java b/src/main/java/com/fireblocks/sdk/model/TokenOwnershipResponse.java index 47cf7fc..2caa662 100644 --- a/src/main/java/com/fireblocks/sdk/model/TokenOwnershipResponse.java +++ b/src/main/java/com/fireblocks/sdk/model/TokenOwnershipResponse.java @@ -105,7 +105,9 @@ public enum BlockchainDescriptorEnum { XTZ_TEST("XTZ_TEST"), - BASECHAIN_ETH("BASECHAIN_ETH"); + BASECHAIN_ETH("BASECHAIN_ETH"), + + BASECHAIN_ETH_TEST3("BASECHAIN_ETH_TEST3"); private String value; diff --git a/src/main/java/com/fireblocks/sdk/model/TokenResponse.java b/src/main/java/com/fireblocks/sdk/model/TokenResponse.java index 5d6935e..10e526d 100644 --- a/src/main/java/com/fireblocks/sdk/model/TokenResponse.java +++ b/src/main/java/com/fireblocks/sdk/model/TokenResponse.java @@ -85,7 +85,9 @@ public enum BlockchainDescriptorEnum { XTZ_TEST("XTZ_TEST"), - BASECHAIN_ETH("BASECHAIN_ETH"); + BASECHAIN_ETH("BASECHAIN_ETH"), + + BASECHAIN_ETH_TEST3("BASECHAIN_ETH_TEST3"); private String value; diff --git a/src/test/java/com/fireblocks/sdk/api/BlockchainsAssetsApiTest.java b/src/test/java/com/fireblocks/sdk/api/BlockchainsAssetsApiTest.java index 36d43b8..c39a21d 100644 --- a/src/test/java/com/fireblocks/sdk/api/BlockchainsAssetsApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/BlockchainsAssetsApiTest.java @@ -45,7 +45,8 @@ public void getSupportedAssetsTest() throws ApiException { * Register an asset * *
Register a new asset to a workspace and return the newly created asset's details. - * Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR + * Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR - + * Solana * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/fireblocks/sdk/model/DestinationTransferPeerPathResponseTest.java b/src/test/java/com/fireblocks/sdk/model/DestinationTransferPeerPathResponseTest.java index 3731482..7c160ce 100644 --- a/src/test/java/com/fireblocks/sdk/model/DestinationTransferPeerPathResponseTest.java +++ b/src/test/java/com/fireblocks/sdk/model/DestinationTransferPeerPathResponseTest.java @@ -55,4 +55,10 @@ public void nameTest() { public void walletIdTest() { // TODO: test walletId } + + /** Test the property 'tradingAccount' */ + @Test + public void tradingAccountTest() { + // TODO: test tradingAccount + } } diff --git a/src/test/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponseTest.java b/src/test/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponseTest.java index 255e1ff..fb5d1e7 100644 --- a/src/test/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponseTest.java +++ b/src/test/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponseTest.java @@ -54,4 +54,10 @@ public void nameTest() { public void walletIdTest() { // TODO: test walletId } + + /** Test the property 'tradingAccount' */ + @Test + public void tradingAccountTest() { + // TODO: test tradingAccount + } }