From 460f8926802f45ee3d3a3135f77745d42bac19fc Mon Sep 17 00:00:00 2001 From: fireblocks_dx_team Date: Wed, 28 Oct 2026 14:27:08 +0000 Subject: [PATCH] Generated SDK #2999499117 --- .openapi-generator/FILES | 9 + CHANGELOG.md | 239 ---- README.md | 18 +- api/openapi.yaml | 1121 ++++++++++++++++- build.gradle | 2 +- ...AddressRegistryCustomerRegistryResponse.md | 24 + docs/AddressRegistryTenantRegistryResponse.md | 4 +- docs/ComplianceApi.md | 246 +++- docs/CreateOffersRequest.md | 2 +- docs/CreateQuote.md | 2 +- docs/ExtraParameters.md | 3 +- docs/GetTransactionOperation.md | 2 + docs/PricingSide.md | 15 + docs/Rate.md | 1 + docs/RateOffer.md | 1 + docs/RatesRequest.md | 1 + docs/SorobanCallData.md | 14 + docs/TradingApi.md | 6 +- docs/TransactionOperation.md | 2 + docs/TransactionsApi.md | 2 +- docs/TransferPeerPathType.md | 2 + docs/VaultsApi.md | 4 +- pom.xml | 2 +- .../com/fireblocks/sdk/Configuration.java | 2 +- .../com/fireblocks/sdk/api/ComplianceApi.java | 282 ++++- .../com/fireblocks/sdk/api/TradingApi.java | 34 +- .../fireblocks/sdk/api/TransactionsApi.java | 5 +- .../com/fireblocks/sdk/api/VaultsApi.java | 3 +- ...dressRegistryCustomerRegistryResponse.java | 193 +++ ...AddressRegistryTenantRegistryResponse.java | 17 +- .../sdk/model/CreateOffersRequest.java | 18 +- .../com/fireblocks/sdk/model/CreateQuote.java | 18 +- .../fireblocks/sdk/model/ExtraParameters.java | 48 +- .../sdk/model/GetTransactionOperation.java | 5 +- .../com/fireblocks/sdk/model/PricingSide.java | 72 ++ .../java/com/fireblocks/sdk/model/Rate.java | 46 +- .../com/fireblocks/sdk/model/RateOffer.java | 48 +- .../fireblocks/sdk/model/RatesRequest.java | 45 +- .../fireblocks/sdk/model/SorobanCallData.java | 159 +++ .../sdk/model/TransactionOperation.java | 18 +- .../sdk/model/TransferPeerPathType.java | 4 +- .../fireblocks/sdk/api/ComplianceApiTest.java | 62 +- .../fireblocks/sdk/api/TradingApiTest.java | 32 +- .../sdk/api/TransactionsApiTest.java | 4 +- ...sRegistryCustomerRegistryResponseTest.java | 34 + .../sdk/model/ExtraParametersTest.java | 6 + .../com/fireblocks/sdk/model/OfferTest.java | 12 +- .../fireblocks/sdk/model/PricingSideTest.java | 25 + .../fireblocks/sdk/model/RateOfferTest.java | 6 + .../com/fireblocks/sdk/model/RateTest.java | 6 + .../sdk/model/RatesRequestTest.java | 6 + .../sdk/model/SorobanCallDataTest.java | 33 + 52 files changed, 2583 insertions(+), 382 deletions(-) delete mode 100644 CHANGELOG.md create mode 100644 docs/AddressRegistryCustomerRegistryResponse.md create mode 100644 docs/PricingSide.md create mode 100644 docs/SorobanCallData.md create mode 100644 src/main/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/PricingSide.java create mode 100644 src/main/java/com/fireblocks/sdk/model/SorobanCallData.java create mode 100644 src/test/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/PricingSideTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/SorobanCallDataTest.java diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 8818fe61..834459bc 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -61,6 +61,7 @@ docs/AddressRegistryAddVaultOptOutsRequestVaultAccountIdsInner.md docs/AddressRegistryAddVaultOptOutsResponse.md docs/AddressRegistryCreateProofOfOwnershipRequest.md docs/AddressRegistryCreateProofOfOwnershipResponse.md +docs/AddressRegistryCustomerRegistryResponse.md docs/AddressRegistryGetVaultOptOutResponse.md docs/AddressRegistryLegalEntity.md docs/AddressRegistryListVaultOptOutsResponse.md @@ -821,6 +822,7 @@ docs/PostalAddress.md docs/PreScreening.md docs/PrefundedSettlement.md docs/PrefundedSettlementType.md +docs/PricingSide.md docs/ProgramCallConfig.md docs/ProgramCallDecodedDataItem.md docs/Provider.md @@ -1025,6 +1027,7 @@ docs/SolanaInstruction.md docs/SolanaInstructionWithValue.md docs/SolanaRewardsBreakdown.md docs/SolanaSimpleCreateParams.md +docs/SorobanCallData.md docs/SourceConfig.md docs/SourceOfFunds.md docs/SourceTransferPeerPath.md @@ -1524,6 +1527,7 @@ src/main/java/com/fireblocks/sdk/model/AddressRegistryAddVaultOptOutsRequestVaul src/main/java/com/fireblocks/sdk/model/AddressRegistryAddVaultOptOutsResponse.java src/main/java/com/fireblocks/sdk/model/AddressRegistryCreateProofOfOwnershipRequest.java src/main/java/com/fireblocks/sdk/model/AddressRegistryCreateProofOfOwnershipResponse.java +src/main/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponse.java src/main/java/com/fireblocks/sdk/model/AddressRegistryGetVaultOptOutResponse.java src/main/java/com/fireblocks/sdk/model/AddressRegistryLegalEntity.java src/main/java/com/fireblocks/sdk/model/AddressRegistryListVaultOptOutsResponse.java @@ -2248,6 +2252,7 @@ src/main/java/com/fireblocks/sdk/model/PostalAddress.java src/main/java/com/fireblocks/sdk/model/PreScreening.java src/main/java/com/fireblocks/sdk/model/PrefundedSettlement.java src/main/java/com/fireblocks/sdk/model/PrefundedSettlementType.java +src/main/java/com/fireblocks/sdk/model/PricingSide.java src/main/java/com/fireblocks/sdk/model/ProgramCallConfig.java src/main/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItem.java src/main/java/com/fireblocks/sdk/model/Provider.java @@ -2448,6 +2453,7 @@ src/main/java/com/fireblocks/sdk/model/SolanaInstruction.java src/main/java/com/fireblocks/sdk/model/SolanaInstructionWithValue.java src/main/java/com/fireblocks/sdk/model/SolanaRewardsBreakdown.java src/main/java/com/fireblocks/sdk/model/SolanaSimpleCreateParams.java +src/main/java/com/fireblocks/sdk/model/SorobanCallData.java src/main/java/com/fireblocks/sdk/model/SourceConfig.java src/main/java/com/fireblocks/sdk/model/SourceOfFunds.java src/main/java/com/fireblocks/sdk/model/SourceTransferPeerPath.java @@ -2907,6 +2913,7 @@ src/test/java/com/fireblocks/sdk/model/AddressRegistryAddVaultOptOutsRequestVaul src/test/java/com/fireblocks/sdk/model/AddressRegistryAddVaultOptOutsResponseTest.java src/test/java/com/fireblocks/sdk/model/AddressRegistryCreateProofOfOwnershipRequestTest.java src/test/java/com/fireblocks/sdk/model/AddressRegistryCreateProofOfOwnershipResponseTest.java +src/test/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponseTest.java src/test/java/com/fireblocks/sdk/model/AddressRegistryGetVaultOptOutResponseTest.java src/test/java/com/fireblocks/sdk/model/AddressRegistryLegalEntityTest.java src/test/java/com/fireblocks/sdk/model/AddressRegistryListVaultOptOutsResponseTest.java @@ -3631,6 +3638,7 @@ src/test/java/com/fireblocks/sdk/model/PostalAddressTest.java src/test/java/com/fireblocks/sdk/model/PreScreeningTest.java src/test/java/com/fireblocks/sdk/model/PrefundedSettlementTest.java src/test/java/com/fireblocks/sdk/model/PrefundedSettlementTypeTest.java +src/test/java/com/fireblocks/sdk/model/PricingSideTest.java src/test/java/com/fireblocks/sdk/model/ProgramCallConfigTest.java src/test/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItemTest.java src/test/java/com/fireblocks/sdk/model/ProviderTest.java @@ -3831,6 +3839,7 @@ src/test/java/com/fireblocks/sdk/model/SolanaInstructionTest.java src/test/java/com/fireblocks/sdk/model/SolanaInstructionWithValueTest.java src/test/java/com/fireblocks/sdk/model/SolanaRewardsBreakdownTest.java src/test/java/com/fireblocks/sdk/model/SolanaSimpleCreateParamsTest.java +src/test/java/com/fireblocks/sdk/model/SorobanCallDataTest.java src/test/java/com/fireblocks/sdk/model/SourceConfigTest.java src/test/java/com/fireblocks/sdk/model/SourceOfFundsTest.java src/test/java/com/fireblocks/sdk/model/SourceTransferPeerPathResponseTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 67e5c737..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,239 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [v35.1.0](https://github.com/fireblocks/java-sdk/compare/v15.0.0...v35.1.0) - 2026-10-20 - -### Merged - -- Generated SDK #2966549409 [`#162`](https://github.com/fireblocks/java-sdk/pull/162) - -## [v15.0.0](https://github.com/fireblocks/java-sdk/compare/v14.1.0...v15.0.0) - 2026-03-15 - -### Merged - -- Generated SDK #3733 (major) [`#128`](https://github.com/fireblocks/java-sdk/pull/128) - -## [v14.1.0](https://github.com/fireblocks/java-sdk/compare/v14.0.0...v14.1.0) - 2026-02-26 - -### Merged - -- Generated SDK #2167 [`#126`](https://github.com/fireblocks/java-sdk/pull/126) - -## [v14.0.0](https://github.com/fireblocks/java-sdk/compare/v13.0.0...v14.0.0) - 2026-02-03 - -### Merged - -- Generated SDK #4746 [`#121`](https://github.com/fireblocks/java-sdk/pull/121) - -## [v13.0.0](https://github.com/fireblocks/java-sdk/compare/v12.1.3...v13.0.0) - 2025-11-13 - -### Merged - -- Generated SDK #5834 [`#116`](https://github.com/fireblocks/java-sdk/pull/116) - -## [v12.1.3](https://github.com/fireblocks/java-sdk/compare/v12.1.2...v12.1.3) - 2025-10-22 - -### Merged - -- Generated SDK #8293 [`#115`](https://github.com/fireblocks/java-sdk/pull/115) - -## [v12.1.2](https://github.com/fireblocks/java-sdk/compare/v12.1.1...v12.1.2) - 2025-09-29 - -### Merged - -- Generated SDK #6061 [`#113`](https://github.com/fireblocks/java-sdk/pull/113) - -## [v12.1.1](https://github.com/fireblocks/java-sdk/compare/v12.1.0...v12.1.1) - 2025-09-10 - -### Merged - -- Generated SDK #1410 [`#111`](https://github.com/fireblocks/java-sdk/pull/111) - -## [v12.1.0](https://github.com/fireblocks/java-sdk/compare/v12.0.0...v12.1.0) - 2025-09-09 - -### Merged - -- Generated SDK #4521 [`#109`](https://github.com/fireblocks/java-sdk/pull/109) - -## [v12.0.0](https://github.com/fireblocks/java-sdk/compare/v11.2.0...v12.0.0) - 2025-09-01 - -### Merged - -- Generated SDK #7741 [`#108`](https://github.com/fireblocks/java-sdk/pull/108) - -## [v11.2.0](https://github.com/fireblocks/java-sdk/compare/v11.1.0...v11.2.0) - 2025-08-21 - -### Merged - -- Generated SDK #3302 [`#107`](https://github.com/fireblocks/java-sdk/pull/107) - -## [v11.1.0](https://github.com/fireblocks/java-sdk/compare/v11.0.0...v11.1.0) - 2025-08-11 - -### Merged - -- Generated SDK #1782 [`#105`](https://github.com/fireblocks/java-sdk/pull/105) - -## [v11.0.0](https://github.com/fireblocks/java-sdk/compare/v10.4.0...v11.0.0) - 2025-07-15 - -### Merged - -- Generated SDK #5610 [`#103`](https://github.com/fireblocks/java-sdk/pull/103) - -## [v10.4.0](https://github.com/fireblocks/java-sdk/compare/v10.3.0...v10.4.0) - 2025-06-29 - -### Merged - -- Generated SDK #1492 [`#101`](https://github.com/fireblocks/java-sdk/pull/101) - -## [v10.3.0](https://github.com/fireblocks/java-sdk/compare/v10.2.0...v10.3.0) - 2025-06-18 - -### Merged - -- Generated SDK #4009 [`#99`](https://github.com/fireblocks/java-sdk/pull/99) - -## [v10.2.0](https://github.com/fireblocks/java-sdk/compare/v10.1.1...v10.2.0) - 2025-06-04 - -### Merged - -- Generated SDK #8912 [`#98`](https://github.com/fireblocks/java-sdk/pull/98) - -## [v10.1.1](https://github.com/fireblocks/java-sdk/compare/v10.1.0...v10.1.1) - 2025-05-18 - -### Merged - -- Generated SDK #5019 [`#97`](https://github.com/fireblocks/java-sdk/pull/97) - -## [v10.1.0](https://github.com/fireblocks/java-sdk/compare/v10.0.2...v10.1.0) - 2025-05-07 - -### Merged - -- Generated SDK #7076 [`#95`](https://github.com/fireblocks/java-sdk/pull/95) - -## [v10.0.2](https://github.com/fireblocks/java-sdk/compare/v10.0.1...v10.0.2) - 2025-04-20 - -### Merged - -- Generated SDK #4794 [`#94`](https://github.com/fireblocks/java-sdk/pull/94) - -## [v10.0.1](https://github.com/fireblocks/java-sdk/compare/v10.0.0...v10.0.1) - 2025-04-07 - -### Merged - -- Generated SDK #3065 [`#93`](https://github.com/fireblocks/java-sdk/pull/93) - -## [v10.0.0](https://github.com/fireblocks/java-sdk/compare/v9.0.0...v10.0.0) - 2025-03-30 - -### Merged - -- Generated SDK #619 [`#90`](https://github.com/fireblocks/java-sdk/pull/90) - -## [v9.0.0](https://github.com/fireblocks/java-sdk/compare/v8.1.0...v9.0.0) - 2025-03-17 - -### Merged - -- Generated SDK #645 [`#89`](https://github.com/fireblocks/java-sdk/pull/89) - -## [v8.1.0](https://github.com/fireblocks/java-sdk/compare/v8.0.1...v8.1.0) - 2025-02-24 - -### Merged - -- Generated SDK #9833 [`#84`](https://github.com/fireblocks/java-sdk/pull/84) - -## [v8.0.1](https://github.com/fireblocks/java-sdk/compare/v8.0.0...v8.0.1) - 2025-02-12 - -### Merged - -- Generated SDK #4262 [`#82`](https://github.com/fireblocks/java-sdk/pull/82) - -## [v8.0.0](https://github.com/fireblocks/java-sdk/compare/v7.0.0...v8.0.0) - 2025-02-02 - -### Merged - -- Generated SDK #538 [`#80`](https://github.com/fireblocks/java-sdk/pull/80) - -## [v7.0.0](https://github.com/fireblocks/java-sdk/compare/v6.0.0...v7.0.0) - 2025-01-08 - -### Merged - -- Generated SDK #8699 [`#77`](https://github.com/fireblocks/java-sdk/pull/77) - -## [v6.0.0](https://github.com/fireblocks/java-sdk/compare/v5.0.0...v6.0.0) - 2024-12-05 - -### Merged - -- Generated SDK #1430 [`#73`](https://github.com/fireblocks/java-sdk/pull/73) - -## [v5.0.0](https://github.com/fireblocks/java-sdk/compare/v4.0.0...v5.0.0) - 2024-10-31 - -### Merged - -- Generated SDK #5184 [`#71`](https://github.com/fireblocks/java-sdk/pull/71) - -## [v4.0.0](https://github.com/fireblocks/java-sdk/compare/v3.1.0...v4.0.0) - 2024-09-17 - -### Merged - -- Generated SDK #237 [`#70`](https://github.com/fireblocks/java-sdk/pull/70) - -## [v3.1.0](https://github.com/fireblocks/java-sdk/compare/v3.0.0...v3.1.0) - 2024-07-25 - -### Merged - -- Generated SDK #6749 [`#67`](https://github.com/fireblocks/java-sdk/pull/67) - -## [v3.0.0](https://github.com/fireblocks/java-sdk/compare/v2.1.0...v3.0.0) - 2024-07-17 - -### Merged - -- Generated SDK #6152 [`#65`](https://github.com/fireblocks/java-sdk/pull/65) -- Generated SDK #7984 [`#62`](https://github.com/fireblocks/java-sdk/pull/62) -- Generated SDK #2873 [`#61`](https://github.com/fireblocks/java-sdk/pull/61) - -## [v2.1.0](https://github.com/fireblocks/java-sdk/compare/v2.0.1...v2.1.0) - 2024-06-04 - -### Merged - -- Generated SDK for version COR-46191/fix_pipelines [`#24`](https://github.com/fireblocks/java-sdk/pull/24) -- Generated SDK for version COR-46191/fix_pipelines [`#23`](https://github.com/fireblocks/java-sdk/pull/23) -- Generated SDK for version COR-46191/fix_pipelines [`#22`](https://github.com/fireblocks/java-sdk/pull/22) -- Generated SDK for version COR-46191/fix_pipelines [`#21`](https://github.com/fireblocks/java-sdk/pull/21) - -## [v2.0.1](https://github.com/fireblocks/java-sdk/compare/v2.0.0...v2.0.1) - 2024-06-04 - -### Merged - -- Generated SDK for version COR-46191/fix_pipelines [`#20`](https://github.com/fireblocks/java-sdk/pull/20) - -## [v2.0.0](https://github.com/fireblocks/java-sdk/compare/v1.1.0...v2.0.0) - 2024-05-08 - -### Merged - -- feat: add tokenization api [`#12`](https://github.com/fireblocks/java-sdk/pull/12) - -## [v1.1.0](https://github.com/fireblocks/java-sdk/compare/v1.0.1...v1.1.0) - 2024-04-17 - -### Merged - -- feat: add cosigners beta api [`#11`](https://github.com/fireblocks/java-sdk/pull/11) -- fix: fix readme doc headline [`#10`](https://github.com/fireblocks/java-sdk/pull/10) - -## [v1.0.1](https://github.com/fireblocks/java-sdk/compare/v1.0.0...v1.0.1) - 2024-04-07 - -### Merged - -- Generated SDK for version v1.0.1 [`#9`](https://github.com/fireblocks/java-sdk/pull/9) - -## v1.0.0 - 2024-04-07 - -### Merged - -- Generated SDK for version v1.0.0 GA [`#8`](https://github.com/fireblocks/java-sdk/pull/8) -- v0.0.1-beta [`#6`](https://github.com/fireblocks/java-sdk/pull/6) -- Update GitHub Actions workflows [`#5`](https://github.com/fireblocks/java-sdk/pull/5) -- Generated #1189972817 [`#3`](https://github.com/fireblocks/java-sdk/pull/3) -- Add installation instructions [`#2`](https://github.com/fireblocks/java-sdk/pull/2) -- Added Idempotency & NCW headers support #6 [`#1`](https://github.com/fireblocks/java-sdk/pull/1) diff --git a/README.md b/README.md index 357dae21..52826801 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Add this dependency to your project's POM: com.fireblocks.sdk fireblocks-sdk - 35.1.0 + 0.0.0 compile ``` @@ -42,7 +42,7 @@ Add this dependency to your project's POM: Add this dependency to your project's build file: ```groovy -compile "com.fireblocks.sdk:fireblocks-sdk:35.1.0" +compile "com.fireblocks.sdk:fireblocks-sdk:0.0.0" ``` ### Others @@ -55,7 +55,7 @@ mvn clean package Then manually install the following JARs: -- `target/fireblocks-sdk-35.1.0.jar` +- `target/fireblocks-sdk-0.0.0.jar` - `target/lib/*.jar` ## Versioning @@ -225,7 +225,8 @@ Class | Method | HTTP request | Description *ComplianceApi* | [**deactivateByorkConfig**](docs/ComplianceApi.md#deactivateByorkConfig) | **POST** /screening/byork/config/deactivate | Deactivate BYORK Light *ComplianceApi* | [**deleteCounterpartyGroup**](docs/ComplianceApi.md#deleteCounterpartyGroup) | **DELETE** /counterparty_groups/{groupId} | Delete a counterparty group *ComplianceApi* | [**deleteLegalEntity**](docs/ComplianceApi.md#deleteLegalEntity) | **DELETE** /legal_entities/{legalEntityId} | Delete a legal entity -*ComplianceApi* | [**getAddressRegistryTenantParticipationStatus**](docs/ComplianceApi.md#getAddressRegistryTenantParticipationStatus) | **GET** /address_registry/tenant | Get address registry participation status for the authenticated workspace +*ComplianceApi* | [**getAddressRegistryCustomerParticipationStatus**](docs/ComplianceApi.md#getAddressRegistryCustomerParticipationStatus) | **GET** /address_registry/customer | Get your customer's address registry default +*ComplianceApi* | [**getAddressRegistryTenantParticipationStatus**](docs/ComplianceApi.md#getAddressRegistryTenantParticipationStatus) | **GET** /address_registry/tenant | Get address registry status for this workspace *ComplianceApi* | [**getAddressRegistryVaultOptOut**](docs/ComplianceApi.md#getAddressRegistryVaultOptOut) | **GET** /address_registry/vaults/{vaultAccountId} | Get whether a vault account is opted out of the address registry *ComplianceApi* | [**getAmlPostScreeningPolicy**](docs/ComplianceApi.md#getAmlPostScreeningPolicy) | **GET** /screening/aml/post_screening_policy | AML - View Post-Screening Policy *ComplianceApi* | [**getAmlScreeningPolicy**](docs/ComplianceApi.md#getAmlScreeningPolicy) | **GET** /screening/aml/screening_policy | AML - View Screening Policy @@ -241,8 +242,10 @@ Class | Method | HTTP request | Description *ComplianceApi* | [**listCounterpartyGroups**](docs/ComplianceApi.md#listCounterpartyGroups) | **GET** /counterparty_groups | List counterparty groups *ComplianceApi* | [**listLegalEntities**](docs/ComplianceApi.md#listLegalEntities) | **GET** /legal_entities | List legal entities (Paginated) *ComplianceApi* | [**listVaultsForLegalEntity**](docs/ComplianceApi.md#listVaultsForLegalEntity) | **GET** /legal_entities/{legalEntityId}/vaults | List vault accounts for a legal entity (Paginated) -*ComplianceApi* | [**optInAddressRegistryTenant**](docs/ComplianceApi.md#optInAddressRegistryTenant) | **POST** /address_registry/tenant | Opt the workspace in to the address registry -*ComplianceApi* | [**optOutAddressRegistryTenant**](docs/ComplianceApi.md#optOutAddressRegistryTenant) | **DELETE** /address_registry/tenant | Opt the workspace out of the address registry +*ComplianceApi* | [**optInAddressRegistryCustomer**](docs/ComplianceApi.md#optInAddressRegistryCustomer) | **POST** /address_registry/customer | Opt your customer in to the address registry +*ComplianceApi* | [**optInAddressRegistryTenant**](docs/ComplianceApi.md#optInAddressRegistryTenant) | **POST** /address_registry/tenant | Opt this workspace in to the address registry +*ComplianceApi* | [**optOutAddressRegistryCustomer**](docs/ComplianceApi.md#optOutAddressRegistryCustomer) | **DELETE** /address_registry/customer | Opt your customer out of the address registry +*ComplianceApi* | [**optOutAddressRegistryTenant**](docs/ComplianceApi.md#optOutAddressRegistryTenant) | **DELETE** /address_registry/tenant | Opt this workspace out of the address registry *ComplianceApi* | [**registerLegalEntity**](docs/ComplianceApi.md#registerLegalEntity) | **POST** /legal_entities | Register a new legal entity *ComplianceApi* | [**removeAddressRegistryVaultOptOut**](docs/ComplianceApi.md#removeAddressRegistryVaultOptOut) | **DELETE** /address_registry/vaults/{vaultAccountId} | Remove a single vault account from the address registry opt-out list *ComplianceApi* | [**removeAllAddressRegistryVaultOptOuts**](docs/ComplianceApi.md#removeAllAddressRegistryVaultOptOuts) | **DELETE** /address_registry/vaults | Remove all vault-level address registry opt-outs for the workspace @@ -732,6 +735,7 @@ Class | Method | HTTP request | Description - [AddressRegistryAddVaultOptOutsResponse](docs/AddressRegistryAddVaultOptOutsResponse.md) - [AddressRegistryCreateProofOfOwnershipRequest](docs/AddressRegistryCreateProofOfOwnershipRequest.md) - [AddressRegistryCreateProofOfOwnershipResponse](docs/AddressRegistryCreateProofOfOwnershipResponse.md) + - [AddressRegistryCustomerRegistryResponse](docs/AddressRegistryCustomerRegistryResponse.md) - [AddressRegistryGetVaultOptOutResponse](docs/AddressRegistryGetVaultOptOutResponse.md) - [AddressRegistryLegalEntity](docs/AddressRegistryLegalEntity.md) - [AddressRegistryListVaultOptOutsResponse](docs/AddressRegistryListVaultOptOutsResponse.md) @@ -1456,6 +1460,7 @@ Class | Method | HTTP request | Description - [PreScreening](docs/PreScreening.md) - [PrefundedSettlement](docs/PrefundedSettlement.md) - [PrefundedSettlementType](docs/PrefundedSettlementType.md) + - [PricingSide](docs/PricingSide.md) - [ProgramCallConfig](docs/ProgramCallConfig.md) - [ProgramCallDecodedDataItem](docs/ProgramCallDecodedDataItem.md) - [Provider](docs/Provider.md) @@ -1656,6 +1661,7 @@ Class | Method | HTTP request | Description - [SolanaInstructionWithValue](docs/SolanaInstructionWithValue.md) - [SolanaRewardsBreakdown](docs/SolanaRewardsBreakdown.md) - [SolanaSimpleCreateParams](docs/SolanaSimpleCreateParams.md) + - [SorobanCallData](docs/SorobanCallData.md) - [SourceConfig](docs/SourceConfig.md) - [SourceOfFunds](docs/SourceOfFunds.md) - [SourceTransferPeerPath](docs/SourceTransferPeerPath.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index 4ee98b34..ae0539d7 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -116,6 +116,8 @@ paths: tags: - Api User x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -212,6 +214,8 @@ paths: tags: - Api User x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -336,6 +340,8 @@ paths: tags: - Api User x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -1134,6 +1140,8 @@ paths: tags: - Audit Logs x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -1893,6 +1901,8 @@ paths: tags: - Blockchains & assets x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -2018,6 +2028,8 @@ paths: tags: - Blockchains & assets x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -2111,6 +2123,8 @@ paths: tags: - Blockchains & assets x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -2201,6 +2215,8 @@ paths: tags: - Blockchains & assets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -2290,6 +2306,8 @@ paths: tags: - Blockchains & assets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -2411,6 +2429,8 @@ paths: tags: - Blockchains & assets x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -2489,6 +2509,8 @@ paths: tags: - Blockchains & assets x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -2542,6 +2564,8 @@ paths: tags: - Blockchains & assets x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -2796,6 +2820,182 @@ paths: x-content-type: application/json x-accepts: - application/json + /address_registry/customer: + delete: + description: "Set your customer's default to opted out. Workspaces without their\ + \ own setting will follow this default. No request body. Returns `OPTED_OUT`.\ + \ If the customer for this workspace cannot be determined, returns HTTP 404\ + \ with error code **2147**." + operationId: optOutAddressRegistryCustomer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AddressRegistryCustomerRegistryResponse" + description: Success; response body includes status OPTED_OUT + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + "404": + content: + application/json: + example: + code: 2147 + message: The customer for this workspace could not be determined. + schema: + $ref: "#/components/schemas/ErrorSchema" + description: The customer for this workspace could not be determined (error + code 2147) + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Opt your customer out of the address registry + tags: + - Compliance + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.compliance.optOutAddressRegistryCustomer();" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> + response = fireblocks.compliance().optOutAddressRegistryCustomer(); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.compliance.opt_out_address_registry_customer(); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.compliance.optOutAddressRegistryCustomer();" + - lang: Java + source: CompletableFuture> + response = fireblocks.compliance().optOutAddressRegistryCustomer(); + - lang: Python + source: response = fireblocks.compliance.opt_out_address_registry_customer(); + x-accepts: + - application/json + get: + description: "Read your customer's organization-wide address registry setting.\ + \ Workspaces without their own choice use this as the default. Returns `NOT_SET`\ + \ when no choice has been made yet, or `OPTED_IN` / `OPTED_OUT` when one has." + operationId: getAddressRegistryCustomerParticipationStatus + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AddressRegistryCustomerRegistryResponse" + description: Customer registry status in the response body + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Get your customer's address registry default + tags: + - Compliance + x-rate-limit-category: read + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.compliance.getAddressRegistryCustomerParticipationStatus();" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> + response = fireblocks.compliance().getAddressRegistryCustomerParticipationStatus(); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.compliance.get_address_registry_customer_participation_status(); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.compliance.getAddressRegistryCustomerParticipationStatus();" + - lang: Java + source: CompletableFuture> + response = fireblocks.compliance().getAddressRegistryCustomerParticipationStatus(); + - lang: Python + source: response = fireblocks.compliance.get_address_registry_customer_participation_status(); + x-accepts: + - application/json + post: + description: "Set your customer's default to opted in. Workspaces without their\ + \ own setting will follow this default. No request body. Returns `OPTED_IN`.\ + \ If the customer for this workspace cannot be determined, returns HTTP 404\ + \ with error code **2147**." + operationId: optInAddressRegistryCustomer + parameters: + - description: "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." + explode: false + in: header + name: Idempotency-Key + required: false + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AddressRegistryCustomerRegistryResponse" + description: Success; response body includes status OPTED_IN + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + "404": + content: + application/json: + example: + code: 2147 + message: The customer for this workspace could not be determined. + schema: + $ref: "#/components/schemas/ErrorSchema" + description: The customer for this workspace could not be determined (error + code 2147) + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Opt your customer in to the address registry + tags: + - Compliance + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.compliance.optInAddressRegistryCustomer(complianceApiOptInAddressRegistryCustomerRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> + response = fireblocks.compliance().optInAddressRegistryCustomer(idempotencyKey); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.compliance.opt_in_address_registry_customer(idempotency_key); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.compliance.optInAddressRegistryCustomer(complianceApiOptInAddressRegistryCustomerRequest);" + - lang: Java + source: CompletableFuture> + response = fireblocks.compliance().optInAddressRegistryCustomer(idempotencyKey); + - lang: Python + source: response = fireblocks.compliance.opt_in_address_registry_customer(idempotency_key); + x-accepts: + - application/json /address_registry/legal_entities/{address}: get: description: "Returns legal entity information for the given blockchain address\ @@ -2868,6 +3068,8 @@ paths: tags: - Compliance x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -2994,6 +3196,8 @@ paths: tags: - Compliance x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3075,6 +3279,8 @@ paths: tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3106,8 +3312,8 @@ paths: - application/json /address_registry/tenant: delete: - description: Opts the workspace out. No request body. Response uses the same - JSON shape as GET; status is OPTED_OUT. + description: Turn off the address registry for this workspace. No request body. + Returns `OPTED_OUT`. operationId: optOutAddressRegistryTenant responses: "200": @@ -3121,10 +3327,12 @@ paths: $ref: "#/components/headers/X-Request-ID" default: $ref: "#/components/responses/Error" - summary: Opt the workspace out of the address registry + summary: Opt this workspace out of the address registry tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3150,8 +3358,11 @@ paths: x-accepts: - application/json get: - description: Returns whether the workspace is `OPTED_IN` or `OPTED_OUT` of the - address registry. + description: "Check whether this workspace uses the address registry. The response\ + \ is `OPTED_IN` or `OPTED_OUT`. If this workspace has not been configured\ + \ yet, it follows your customer's default (see `GET /v1/address_registry/customer`)\ + \ when that default is `OPTED_IN` or `OPTED_OUT`; otherwise the workspace\ + \ is opted in by default." operationId: getAddressRegistryTenantParticipationStatus responses: "200": @@ -3165,10 +3376,12 @@ paths: $ref: "#/components/headers/X-Request-ID" default: $ref: "#/components/responses/Error" - summary: Get address registry participation status for the authenticated workspace + summary: Get address registry status for this workspace tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3194,8 +3407,8 @@ paths: x-accepts: - application/json post: - description: Opts the workspace in. No request body. Response uses the same - JSON shape as GET; status is OPTED_IN. + description: Turn on the address registry for this workspace. No request body. + Returns `OPTED_IN`. operationId: optInAddressRegistryTenant parameters: - description: "A unique identifier for the request. If the request is sent\ @@ -3221,10 +3434,12 @@ paths: $ref: "#/components/headers/X-Request-ID" default: $ref: "#/components/responses/Error" - summary: Opt the workspace in to the address registry + summary: Opt this workspace in to the address registry tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3269,6 +3484,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3358,6 +3575,8 @@ paths: tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3433,6 +3652,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3507,6 +3728,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3574,6 +3797,8 @@ paths: tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3641,6 +3866,8 @@ paths: tags: - Compliance x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3709,6 +3936,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3774,6 +4003,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3835,6 +4066,8 @@ paths: tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -3915,6 +4148,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4000,6 +4235,8 @@ paths: tags: - Compliance x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4104,6 +4341,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4179,6 +4418,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4239,6 +4480,8 @@ paths: tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4329,6 +4572,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4418,6 +4663,8 @@ paths: tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4503,6 +4750,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4548,6 +4797,8 @@ paths: tags: - Compliance Screening Configuration x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4599,6 +4850,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4639,6 +4892,8 @@ paths: tags: - Compliance x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4679,6 +4934,8 @@ paths: tags: - Compliance x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4769,6 +5026,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4839,6 +5098,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4904,6 +5165,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -4957,6 +5220,8 @@ paths: tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5022,6 +5287,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5088,6 +5355,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5162,6 +5431,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5249,6 +5520,8 @@ paths: tags: - Compliance x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5351,6 +5624,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5411,6 +5686,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5470,6 +5747,8 @@ paths: tags: - Compliance x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5537,6 +5816,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5615,6 +5896,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5660,6 +5943,8 @@ paths: tags: - Compliance Screening Configuration x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5711,6 +5996,8 @@ paths: tags: - Compliance x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5751,6 +6038,8 @@ paths: tags: - Compliance x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -5791,6 +6080,8 @@ paths: tags: - Compliance x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -7295,6 +7586,8 @@ paths: tags: - Console User x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -7394,6 +7687,8 @@ paths: tags: - Console User x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -7759,6 +8054,8 @@ paths: tags: - Contacts x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -7851,6 +8148,8 @@ paths: tags: - Contract Interactions x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -7936,6 +8235,8 @@ paths: tags: - Contract Interactions x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8047,6 +8348,8 @@ paths: \ contract_address, base_asset_id, idempotency_key);" name: Fireblocks SDK Python example x-rate-limit-category: read + x-lifecycle: + state: ga x-codeSamples: - lang: TypeScript source: "const response: Promise>\ @@ -8138,6 +8441,8 @@ paths: \ contract_address, base_asset_id, idempotency_key);" name: Fireblocks SDK Python example x-rate-limit-category: async + x-lifecycle: + state: ga x-codeSamples: - lang: TypeScript source: "const response: Promise>\ @@ -8200,6 +8505,8 @@ paths: tags: - Contract Interactions x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8275,6 +8582,8 @@ paths: tags: - Contract Interactions x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8399,6 +8708,8 @@ paths: tags: - Contract Templates x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8468,6 +8779,8 @@ paths: tags: - Contract Templates x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8531,6 +8844,8 @@ paths: tags: - Contract Templates x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8589,6 +8904,8 @@ paths: tags: - Contract Templates x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8659,6 +8976,8 @@ paths: tags: - Contract Templates x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8740,6 +9059,8 @@ paths: tags: - Contract Templates x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8815,6 +9136,8 @@ paths: tags: - Contract Templates x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -8872,6 +9195,8 @@ paths: tags: - Contract Templates x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -8923,6 +9248,8 @@ paths: tags: - Contracts x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -8982,6 +9309,8 @@ paths: tags: - Contracts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -9033,6 +9362,8 @@ paths: tags: - Contracts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -9082,6 +9413,8 @@ paths: tags: - Contracts x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -9137,6 +9470,8 @@ paths: tags: - Contracts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -9199,6 +9534,8 @@ paths: tags: - Contracts x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -9277,6 +9614,8 @@ paths: tags: - Contracts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -10099,6 +10438,8 @@ paths: tags: - Deployed Contracts x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -10168,6 +10509,8 @@ paths: tags: - Deployed Contracts x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -10231,6 +10574,8 @@ paths: tags: - Deployed Contracts x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -10298,6 +10643,8 @@ paths: tags: - Deployed Contracts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -10362,6 +10709,8 @@ paths: tags: - Deployed Contracts x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -10492,6 +10841,8 @@ paths: tags: - Earn x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -10605,6 +10956,8 @@ paths: tags: - Earn x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -10701,6 +11054,8 @@ paths: tags: - Earn x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -10823,6 +11178,8 @@ paths: tags: - Earn x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -10970,6 +11327,8 @@ paths: tags: - Earn x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11096,6 +11455,8 @@ paths: tags: - Earn x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11202,6 +11563,8 @@ paths: tags: - Earn x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11400,6 +11763,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11459,6 +11824,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11509,6 +11876,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11571,6 +11940,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11636,6 +12007,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11747,6 +12120,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11825,6 +12200,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -11910,6 +12287,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12026,6 +12405,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -12159,6 +12540,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12233,6 +12616,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12320,6 +12705,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12389,6 +12776,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12444,6 +12833,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12552,6 +12943,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12619,6 +13012,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12685,6 +13080,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12766,6 +13163,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12869,6 +13268,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -12931,6 +13332,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -12999,6 +13402,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -13074,6 +13479,8 @@ paths: tags: - Embedded Wallets x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -13177,6 +13584,8 @@ paths: tags: - Exchange accounts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -13237,6 +13646,8 @@ paths: tags: - Exchange accounts x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -13302,6 +13713,8 @@ paths: tags: - Exchange accounts x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -13383,6 +13796,8 @@ paths: tags: - Exchange accounts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -13460,6 +13875,8 @@ paths: tags: - Exchange accounts x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -13509,6 +13926,8 @@ paths: tags: - Exchange accounts x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -13580,6 +13999,8 @@ paths: tags: - Exchange accounts x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -13641,6 +14062,8 @@ paths: tags: - External wallets x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -13712,6 +14135,8 @@ paths: tags: - External wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -13771,6 +14196,8 @@ paths: tags: - External wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -13827,6 +14254,8 @@ paths: tags: - External wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -13888,6 +14317,8 @@ paths: tags: - External wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -13959,6 +14390,8 @@ paths: tags: - External wallets x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14047,6 +14480,8 @@ paths: tags: - External wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14127,6 +14562,8 @@ paths: tags: - External wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14182,6 +14619,8 @@ paths: tags: - Fiat accounts x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14241,6 +14680,8 @@ paths: tags: - Fiat accounts x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14312,6 +14753,8 @@ paths: tags: - Fiat accounts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14393,6 +14836,8 @@ paths: tags: - Fiat accounts x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14450,6 +14895,8 @@ paths: tags: - Gas stations x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14512,6 +14959,8 @@ paths: tags: - Gas stations x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14583,6 +15032,8 @@ paths: tags: - Gas stations x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14670,6 +15121,8 @@ paths: tags: - Gas stations x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -14858,6 +15311,8 @@ paths: tags: - Internal wallets x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -14918,6 +15373,8 @@ paths: tags: - Internal wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -14975,6 +15432,8 @@ paths: tags: - Internal wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -15029,6 +15488,8 @@ paths: tags: - Internal wallets x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -15089,6 +15550,8 @@ paths: tags: - Internal wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -15157,6 +15620,8 @@ paths: tags: - Internal wallets x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -15242,6 +15707,8 @@ paths: tags: - Internal wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -15324,6 +15791,8 @@ paths: tags: - Internal wallets x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -15403,6 +15872,8 @@ paths: tags: - Internal wallets x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -16439,6 +16910,8 @@ paths: tags: - Network connections x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -16523,6 +16996,8 @@ paths: tags: - Network connections x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -16582,6 +17057,8 @@ paths: tags: - Network connections x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -16634,6 +17111,8 @@ paths: tags: - Network connections x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -16704,6 +17183,8 @@ paths: tags: - Network connections x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -16764,6 +17245,8 @@ paths: tags: - Network connections x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -16870,6 +17353,8 @@ paths: tags: - Network connections x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -16923,6 +17408,8 @@ paths: tags: - Network connections x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -16975,6 +17462,8 @@ paths: tags: - Network connections x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17032,6 +17521,8 @@ paths: tags: - Network connections x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17094,6 +17585,8 @@ paths: tags: - Network connections x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17155,6 +17648,8 @@ paths: tags: - Network connections x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17202,6 +17697,8 @@ paths: tags: - Network connections x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17298,6 +17795,8 @@ paths: tags: - Network connections x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17443,6 +17942,8 @@ paths: tags: - NFTs x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17577,6 +18078,8 @@ paths: tags: - NFTs x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17803,6 +18306,8 @@ paths: tags: - NFTs x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17903,6 +18408,8 @@ paths: tags: - NFTs x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -17979,6 +18486,8 @@ paths: tags: - NFTs x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18057,6 +18566,8 @@ paths: tags: - NFTs x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18134,6 +18645,8 @@ paths: tags: - NFTs x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18234,6 +18747,8 @@ paths: tags: - NFTs x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18287,6 +18802,8 @@ paths: tags: - NFTs x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18352,6 +18869,8 @@ paths: tags: - NFTs x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18413,6 +18932,8 @@ paths: tags: - Off exchanges x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18474,6 +18995,8 @@ paths: tags: - Off exchanges x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18531,6 +19054,8 @@ paths: tags: - Off exchanges x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18597,6 +19122,8 @@ paths: tags: - Off exchanges x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18652,6 +19179,8 @@ paths: tags: - Off exchanges x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18757,6 +19286,8 @@ paths: tags: - Onchain Data x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18822,6 +19353,8 @@ paths: tags: - Onchain Data x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -18973,6 +19506,8 @@ paths: tags: - Onchain Data x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -19096,6 +19631,8 @@ paths: tags: - Onchain Data x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -19162,6 +19699,8 @@ paths: tags: - Onchain Data x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -19225,6 +19764,8 @@ paths: tags: - Onchain Data x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -19367,6 +19908,8 @@ paths: tags: - Onchain Data x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -19500,6 +20043,8 @@ paths: tags: - Onchain Data x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -20662,6 +21207,8 @@ paths: tags: - Policy Editor V2 x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -20724,6 +21271,8 @@ paths: tags: - Policy Editor V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -20799,6 +21348,8 @@ paths: tags: - Policy Editor V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -20870,6 +21421,8 @@ paths: tags: - Policy Editor V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -21348,6 +21901,8 @@ paths: tags: - Reset device x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -21511,6 +22066,8 @@ paths: tags: - Security Posture Management x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -21574,6 +22131,8 @@ paths: tags: - Security Posture Management x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -21650,6 +22209,8 @@ paths: tags: - Security Posture Management x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -21738,6 +22299,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -21833,6 +22396,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -21885,6 +22450,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22065,6 +22632,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22146,6 +22715,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22210,6 +22781,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22287,6 +22860,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22370,6 +22945,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22458,6 +23035,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22541,6 +23120,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22625,6 +23206,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22709,6 +23292,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22776,6 +23361,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22842,6 +23429,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -22926,6 +23515,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23022,6 +23613,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23118,6 +23711,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23177,6 +23772,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23247,6 +23844,8 @@ paths: tags: - Smart Transfer x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23336,6 +23935,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23438,6 +24039,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23560,6 +24163,8 @@ paths: tags: - Staking x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23816,6 +24421,8 @@ paths: tags: - Staking x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -23945,6 +24552,8 @@ paths: tags: - Staking x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -24072,6 +24681,8 @@ paths: tags: - Staking x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -24188,6 +24799,8 @@ paths: tags: - Staking x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -24307,6 +24920,8 @@ paths: tags: - Staking x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -24423,6 +25038,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -24579,6 +25196,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -24685,6 +25304,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -24822,6 +25443,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -24930,6 +25553,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25046,6 +25671,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25130,6 +25757,8 @@ paths: tags: - Staking x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25237,6 +25866,8 @@ paths: tags: - Staking x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25357,6 +25988,8 @@ paths: tags: - Tags x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25422,6 +26055,8 @@ paths: tags: - Tags x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25471,6 +26106,8 @@ paths: tags: - Tags x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25518,6 +26155,8 @@ paths: tags: - Tags x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25584,6 +26223,8 @@ paths: tags: - Tags x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25657,6 +26298,8 @@ paths: tags: - Tags x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25817,6 +26460,8 @@ paths: tags: - Tokenization x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25872,6 +26517,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -25945,6 +26592,8 @@ paths: tags: - Tokenization x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -26009,6 +26658,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -26061,6 +26712,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -26107,6 +26760,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -26165,6 +26820,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -26235,6 +26892,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -26308,6 +26967,8 @@ paths: tags: - Tokenization x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -26379,6 +27040,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -26458,6 +27121,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -26545,6 +27210,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -26612,6 +27279,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -26685,6 +27354,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -26773,6 +27444,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -26856,6 +27529,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -26940,6 +27615,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -27023,6 +27700,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -27135,6 +27814,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -27216,6 +27897,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -27313,6 +27996,8 @@ paths: tags: - Tokenization x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -27385,6 +28070,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -27451,6 +28138,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -27503,6 +28192,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -27608,6 +28299,8 @@ paths: tags: - Tokenization x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -27678,6 +28371,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -27826,6 +28521,8 @@ paths: tags: - Tokenization x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -27889,6 +28586,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -27945,6 +28644,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -28082,6 +28783,8 @@ paths: tags: - Tokenization x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -28210,6 +28913,8 @@ paths: tags: - Tokenization x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -28354,6 +29059,8 @@ paths: tags: - Tokenization x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -28399,6 +29106,8 @@ paths: tags: - Tokenization x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -28476,6 +29185,8 @@ paths: tags: - Tokenization x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -28506,6 +29217,8 @@ paths: Always operates in open scope — no provider or account selection required. Returns a mix of indicative rates and committed quotes as applicable per provider. + If `side` is omitted it defaults to `SELL`. Use `side: BOTH` to get offers for each side the provider supports in a single call; providers that support only one side return that side only. Every returned offer carries a concrete `BUY` or `SELL` side, never `BOTH`. + If no slippageBps is provided, it defaults to 50 bps (0.5%). Slippage and settlement configuration do not affect the returned rate. @@ -29644,6 +30357,8 @@ paths: description: |- Generate a time-limited quote for asset conversion, providing exchange rate and amount calculations. + If `side` is omitted it defaults to `SELL`. Use `side: BOTH` to get quotes for each side the provider supports in a single call; providers that support only one side return that side only. Every returned quote carries a concrete `BUY` or `SELL` side, never `BOTH`. + Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). @@ -29759,6 +30474,8 @@ paths: Retrieve indicative exchange rate from specified providers for a given asset pair. Rates are non-executable price signals intended for discovery and display purposes. + If `side` is omitted it defaults to `SELL`. Use `side: BOTH` to get rates for each side the provider supports in a single call; providers that support only one side return that side only. Every returned rate carries a concrete `BUY` or `SELL` side, never `BOTH`. + Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). @@ -29911,6 +30628,8 @@ paths: tags: - Transactions x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30143,6 +30862,8 @@ paths: tags: - Transactions x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30234,6 +30955,8 @@ paths: tags: - Transactions x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30305,6 +31028,8 @@ paths: tags: - Transactions x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30387,6 +31112,8 @@ paths: tags: - Transactions x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30478,6 +31205,8 @@ paths: tags: - Transactions x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30565,6 +31294,8 @@ paths: tags: - Transactions x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30646,6 +31377,8 @@ paths: tags: - Transactions x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30731,6 +31464,8 @@ paths: tags: - Transactions x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30772,6 +31507,7 @@ paths: This endpoint simulates a transaction which means that the system will expect to have the requested asset and balance in the specified wallet. **Note**: Supports all Fireblocks assets except ZCash (ZEC). The PROGRAM_CALL operation is not supported by this endpoint — fee estimation for Solana program calls is not available. + The SOROBAN_CALL operation is not supported by this endpoint - fee estimation for Stellar Soroban contract calls is not available. Learn more about Fireblocks Fee Management in the following [guide](https://developers.fireblocks.com/reference/estimate-transaction-fee). Endpoint Permission: Admin, Signer, Approver, Editor. operationId: estimateTransactionFee @@ -30808,6 +31544,8 @@ paths: tags: - Transactions x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30877,6 +31615,8 @@ paths: tags: - Transactions x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -30945,6 +31685,8 @@ paths: tags: - Transactions x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -31022,6 +31764,8 @@ paths: tags: - Transactions x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -31095,6 +31839,8 @@ paths: tags: - Travel Rule x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31156,6 +31902,8 @@ paths: tags: - Travel Rule x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31284,6 +32032,8 @@ paths: tags: - Travel Rule x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31409,6 +32159,8 @@ paths: tags: - Travel Rule x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31484,6 +32236,8 @@ paths: tags: - Travel Rule x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31546,6 +32300,8 @@ paths: tags: - Travel Rule x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31606,6 +32362,8 @@ paths: tags: - Travel Rule x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -31681,6 +32439,8 @@ paths: tags: - Travel Rule x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -31735,6 +32495,8 @@ paths: tags: - TRLink x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31798,6 +32560,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31855,6 +32619,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31906,6 +32672,8 @@ paths: tags: - TRLink x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -31978,6 +32746,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32039,6 +32809,8 @@ paths: tags: - TRLink x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32104,6 +32876,8 @@ paths: tags: - TRLink x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32174,6 +32948,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32234,6 +33010,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32302,6 +33080,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32382,6 +33162,8 @@ paths: tags: - TRLink x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32450,6 +33232,8 @@ paths: tags: - TRLink x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32510,6 +33294,8 @@ paths: tags: - TRLink x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32579,6 +33365,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32663,6 +33451,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32741,6 +33531,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32810,6 +33602,8 @@ paths: tags: - TRLink x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32892,6 +33686,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -32977,6 +33773,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33042,6 +33840,8 @@ paths: tags: - TRLink x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33123,6 +33923,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33201,6 +34003,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33280,6 +34084,8 @@ paths: tags: - TRLink x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33346,6 +34152,8 @@ paths: tags: - TRLink x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33392,6 +34200,8 @@ paths: tags: - TRLink x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33440,6 +34250,8 @@ paths: tags: - TRLink x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33511,6 +34323,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33588,6 +34402,8 @@ paths: tags: - TRLink x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -33940,6 +34756,8 @@ paths: tags: - Users x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -34680,6 +35498,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -34842,6 +35662,8 @@ paths: tags: - Vaults x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -34912,6 +35734,8 @@ paths: tags: - Vaults x-rate-limit-category: external_query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -34987,6 +35811,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -35065,6 +35891,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -35165,6 +35993,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -35262,6 +36092,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -35358,6 +36190,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -35509,6 +36343,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -35609,6 +36445,8 @@ paths: tags: - Vaults x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -35713,6 +36551,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -35809,6 +36649,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -35905,6 +36747,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -35997,6 +36841,8 @@ paths: tags: - Vaults x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -36070,6 +36916,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -36106,8 +36954,7 @@ paths: **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. operationId: getMaxSpendableAmount parameters: - - description: "The ID of the vault account, or 'default' for the default vault\ - \ account" + - description: The ID of the vault account explode: false in: path name: vaultAccountId @@ -36214,6 +37061,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -36297,6 +37146,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -36378,6 +37229,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -36462,6 +37315,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -36539,6 +37394,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -36618,6 +37475,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -37188,6 +38047,8 @@ paths: tags: - Vaults x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -37246,6 +38107,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -37331,6 +38194,8 @@ paths: tags: - Vaults x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -37460,6 +38325,8 @@ paths: tags: - Vaults x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -37567,6 +38434,8 @@ paths: tags: - Vaults x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -37639,6 +38508,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -37705,6 +38576,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -37850,6 +38723,8 @@ paths: tags: - Vaults x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -37997,6 +38872,8 @@ paths: tags: - Web3 connections x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38084,6 +38961,8 @@ paths: tags: - Web3 connections x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38156,6 +39035,8 @@ paths: tags: - Web3 connections x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38246,6 +39127,8 @@ paths: tags: - Web3 connections x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38308,6 +39191,8 @@ paths: tags: - Webhooks x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -38389,6 +39274,8 @@ paths: tags: - Webhooks x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: python @@ -38481,6 +39368,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38547,6 +39436,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38613,6 +39504,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38681,6 +39574,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38751,6 +39646,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38840,6 +39737,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38897,6 +39796,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -38974,6 +39875,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39022,6 +39925,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39084,6 +39989,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39176,6 +40083,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39233,6 +40142,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39298,6 +40209,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39361,6 +40274,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39412,6 +40327,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39471,6 +40388,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: write + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39538,6 +40457,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39690,6 +40611,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39766,6 +40689,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39850,6 +40775,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: query + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -39925,6 +40852,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -40009,6 +40938,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -40076,6 +41007,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -40150,6 +41083,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: async + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -40236,6 +41171,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: high_compute + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -40303,6 +41240,8 @@ paths: tags: - Webhooks V2 x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -40389,6 +41328,8 @@ paths: tags: - whitelist ip addresses x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: javascript @@ -40440,6 +41381,8 @@ paths: tags: - Workspace x-rate-limit-category: read + x-lifecycle: + state: ga x-readme: code-samples: - language: typescript @@ -48191,6 +49134,7 @@ components: * `REDEEM_FROM_COMPOUND` - Deprecated since April 1st, 2023. Older transactions may have this as their operation, in case users in the workspace have used the direct integration between Fireblocks and the Compound DeFI protocol. * `PROGRAM_CALL` - In Solana refers to invoking on-chain programs (smart contracts) to execute transactions and interact with the blockchain. * `APPROVE` - Enables the approve function for a smart contract or wallet to withdraw from a designated wallet. [Learn more](https://support.fireblocks.io/hc/en-us/articles/4404616097426-Amount-Cap-for-Approve-transactions). + * `SOROBAN_CALL` - Invokes a Soroban smart contract on the Stellar blockchain. enum: - TRANSFER - BURN @@ -48204,6 +49148,7 @@ components: - SUPPLY_TO_COMPOUND - PROGRAM_CALL - APPROVE + - SOROBAN_CALL type: string TransferPeerPathType: enum: @@ -48224,6 +49169,7 @@ components: - MULTI_DESTINATION - OEC_PARTNER - WALLET_POOL + - SOROBAN_CONTRACT type: string TransactionTag: properties: @@ -50966,6 +51912,39 @@ components: $ref: "#/components/schemas/TRLinkResult" type: array type: object + SorobanCallData: + description: |- + The Soroban contract invocation to execute, for `SOROBAN_CALL` operations. + + Fireblocks decodes the submitted envelope, determines the footprint, resource fee, sequence number and authorization entries from its own simulation, and signs a transaction it rebuilt from the invocation. Only the contract invocation itself is carried through unchanged. + example: + envelopeXdr: !!binary |- + QUFBQUFnQUFBQURZOURzbTBsM2pHQVRFWHJQZUMwaFArRzkvNDBwK1NQamVDaThXcHhQaE5nQUFB + R1FBQUFBQUFBQUFBZ0FBQUFFQUFBQUFBQUFBQUFBQUFBQnFuZGxRQUFBQUFBQUFBQUVBQUFBQUFB + QUFHQUFBQUFBQUFBQUJDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1Fr + QUFBQUhaR1Z3YjNOcGRBQUFBQUFCQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUMrdkNBQUFBQUFBQUFB + QUFBQUFBQT0= + properties: + envelopeXdr: + description: |- + A base64 encoded, unsigned Stellar `TransactionEnvelope` carrying exactly one `invokeHostFunction` operation that invokes a contract. + + The API only checks that the value is present. The envelope is decoded and validated after the transaction is created, and a transaction whose envelope fails validation is not signed and ends as `FAILED`. An envelope is rejected if it carries signatures or authorization entries, a memo or a fee-bump wrapper, if its source account is not the Stellar address of the vault account, or if it has no bounded time window. + + A Stellar transaction cannot exceed 132096 bytes, about 176128 base64 characters. + example: !!binary |- + QUFBQUFnQUFBQURZOURzbTBsM2pHQVRFWHJQZUMwaFArRzkvNDBwK1NQamVDaThXcHhQaE5nQUFB + R1FBQUFBQUFBQUFBZ0FBQUFFQUFBQUFBQUFBQUFBQUFBQnFuZGxRQUFBQUFBQUFBQUVBQUFBQUFB + QUFHQUFBQUFBQUFBQUJDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1Fr + QUFBQUhaR1Z3YjNOcGRBQUFBQUFCQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUMrdkNBQUFBQUFBQUFB + QUFBQUFBQT0= + format: byte + maxLength: 176128 + minLength: 1 + type: string + required: + - envelopeXdr + type: object ExtraParameters: additionalProperties: true description: | @@ -50975,13 +51954,22 @@ components: For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure.](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata) + For `SOROBAN_CALL` operations, add the key `sorobanCallData` with the value set to an object containing `envelopeXdr` - a base64 encoded, unsigned Stellar `TransactionEnvelope` holding the contract invocation. + For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. For **exchange compliance (e.g., Binance) and Travel Rule purposes**, include the key `piiData` containing a **custom JSON structure** with Personally Identifiable Information (PII) relevant to the transaction. This data must be fully **encrypted by the sender** before being submitted to the Fireblocks API. The recommended encryption method is **hybrid encryption** using AES-256-GCM for the payload and RSA-OAEP for key exchange, with the recipient exchange's public key. [development libraries](https://developers.fireblocks.com/docs/a-developers-guide-to-constructing-encrypted-pii-messages-for-binance-via-fireblocks) - **Note:** `rawMessageData`, `contractCallData`, and `inputsSelection` cannot be used together in the same call. + **Note:** `rawMessageData`, `contractCallData`, `sorobanCallData`, and `inputsSelection` cannot be used together in the same call. example: piiData: key: "" + sorobanCallData: + envelopeXdr: !!binary |- + QUFBQUFnQUFBQURZOURzbTBsM2pHQVRFWHJQZUMwaFArRzkvNDBwK1NQamVDaThXcHhQaE5nQUFB + R1FBQUFBQUFBQUFBZ0FBQUFFQUFBQUFBQUFBQUFBQUFBQnFuZGxRQUFBQUFBQUFBQUVBQUFBQUFB + QUFHQUFBQUFBQUFBQUJDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1Fr + QUFBQUhaR1Z3YjNOcGRBQUFBQUFCQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUMrdkNBQUFBQUFBQUFB + QUFBQUFBQT0= nodeControls: key: "" contractCallData: contractCallData @@ -51006,6 +51994,8 @@ components: programCallData: nullable: true type: string + sorobanCallData: + $ref: "#/components/schemas/SorobanCallData" inputsSelection: additionalProperties: true nullable: true @@ -51384,6 +52374,13 @@ components: extraParameters: piiData: key: "" + sorobanCallData: + envelopeXdr: !!binary |- + QUFBQUFnQUFBQURZOURzbTBsM2pHQVRFWHJQZUMwaFArRzkvNDBwK1NQamVDaThXcHhQaE5nQUFB + R1FBQUFBQUFBQUFBZ0FBQUFFQUFBQUFBQUFBQUFBQUFBQnFuZGxRQUFBQUFBQUFBQUVBQUFBQUFB + QUFHQUFBQUFBQUFBQUJDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1Fr + QUFBQUhaR1Z3YjNOcGRBQUFBQUFCQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUMrdkNBQUFBQUFBQUFB + QUFBQUFBQT0= nodeControls: key: "" contractCallData: contractCallData @@ -52386,6 +53383,8 @@ components: * `CONTRACT_CALL` - Calls a smart contract method for web3 operations on any EVM blockchain. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. * `PROGRAM_CALL` - Execute multiple instructions on Solana blockchain. The @solana/web3.js library is recommended for building program call transactions. + * `SOROBAN_CALL` - Invokes a Soroban smart contract on the Stellar blockchain. The call is submitted as a base64-encoded, unsigned Stellar `TransactionEnvelope` in `extraParameters.sorobanCallData.envelopeXdr`, which is the same artifact a Soroban dApp hands a wallet. Fireblocks decodes the envelope, determines the footprint, resource fee, sequence number and authorization entries itself, and signs a transaction it rebuilt - the submitted envelope must therefore carry no signatures and no authorization entries. `assetId` is the fee asset (`XLM` or `XLM_TEST`), not the token being moved, and `destination` is the contract wallet or, when enabled for your workspace, a `ONE_TIME_ADDRESS` holding a Stellar contract address (`C...`). `amount` must be omitted or `0`. Fee estimation is not supported for this operation. + * `TYPED_MESSAGE` - An off-chain message in either Ethereum Personal Message or EIP712 format. Use it to sign specific readable messages that are not actual transactions. [Learn more about typed messages](https://developers.fireblocks.com/docs/typed-message-signing). * `RAW` - An off-chain message with no predefined format. Use it to sign any message with your private key, including protocols such as blockchains and custom transaction types that are not natively supported by Fireblocks. [Learn more about raw signing transactions.](https://developers.fireblocks.com/docs/raw-message-signing) * `APPROVE` - Enables the approve function for a smart contract or wallet to withdraw from a designated wallet. [Learn more](https://support.fireblocks.io/hc/en-us/articles/4404616097426-Amount-Cap-for-Approve-transactions). @@ -52396,6 +53395,7 @@ components: - BURN - CONTRACT_CALL - PROGRAM_CALL + - SOROBAN_CALL - MINT - RAW - TYPED_MESSAGE @@ -55332,6 +56332,13 @@ components: extraParameters: piiData: key: "" + sorobanCallData: + envelopeXdr: !!binary |- + QUFBQUFnQUFBQURZOURzbTBsM2pHQVRFWHJQZUMwaFArRzkvNDBwK1NQamVDaThXcHhQaE5nQUFB + R1FBQUFBQUFBQUFBZ0FBQUFFQUFBQUFBQUFBQUFBQUFBQnFuZGxRQUFBQUFBQUFBQUVBQUFBQUFB + QUFHQUFBQUFBQUFBQUJDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1Fr + QUFBQUhaR1Z3YjNOcGRBQUFBQUFCQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUMrdkNBQUFBQUFBQUFB + QUFBQUFBQT0= nodeControls: key: "" contractCallData: contractCallData @@ -59255,6 +60262,13 @@ components: extraParameters: piiData: key: "" + sorobanCallData: + envelopeXdr: !!binary |- + QUFBQUFnQUFBQURZOURzbTBsM2pHQVRFWHJQZUMwaFArRzkvNDBwK1NQamVDaThXcHhQaE5nQUFB + R1FBQUFBQUFBQUFBZ0FBQUFFQUFBQUFBQUFBQUFBQUFBQnFuZGxRQUFBQUFBQUFBQUVBQUFBQUFB + QUFHQUFBQUFBQUFBQUJDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1Fr + QUFBQUhaR1Z3YjNOcGRBQUFBQUFCQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUMrdkNBQUFBQUFBQUFB + QUFBQUFBQT0= nodeControls: key: "" contractCallData: contractCallData @@ -60577,6 +61591,13 @@ components: extraParameters: piiData: key: "" + sorobanCallData: + envelopeXdr: !!binary |- + QUFBQUFnQUFBQURZOURzbTBsM2pHQVRFWHJQZUMwaFArRzkvNDBwK1NQamVDaThXcHhQaE5nQUFB + R1FBQUFBQUFBQUFBZ0FBQUFFQUFBQUFBQUFBQUFBQUFBQnFuZGxRQUFBQUFBQUFBQUVBQUFBQUFB + QUFHQUFBQUFBQUFBQUJDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1Fr + QUFBQUhaR1Z3YjNOcGRBQUFBQUFCQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUMrdkNBQUFBQUFBQUFB + QUFBQUFBQT0= nodeControls: key: "" contractCallData: contractCallData @@ -71139,9 +72160,24 @@ components: required: - providerId type: object + PricingSide: + default: SELL + description: "Side to price on a quote, rate or offer request. BUY: receive\ + \ base / pay quote; SELL: give base / receive quote; BOTH: request pricing\ + \ for both sides at once. Providers that support only one of the sides return\ + \ entries for that side only. BOTH is accepted on requests only, never on\ + \ order execution requests, and responses never return it: every returned\ + \ quote, rate or offer carries a concrete BUY or SELL. When omitted, defaults\ + \ to SELL." + enum: + - BUY + - SELL + - BOTH + type: string RatesRequest: example: baseAssetId: BTC + side: SELL scope: - providerId: prov_8c3f1a4b2d6e9f7c accountId: acc_5e9a2d1c4b7f3e8a @@ -71170,6 +72206,8 @@ components: example: "100.00" pattern: ^\d+(\.\d+)?$ type: string + side: + $ref: "#/components/schemas/PricingSide" required: - baseAssetId - quoteAssetId @@ -71261,9 +72299,16 @@ components: oneOf: - $ref: "#/components/schemas/AccountAccessResponse" - $ref: "#/components/schemas/DirectAccessResponse" + Side: + description: "BUY: receive base / pay quote; SELL: give base / receive quote." + enum: + - BUY + - SELL + type: string Rate: example: baseAssetId: baseAssetId + side: BUY baseAssetRail: BLOCKCHAIN rate: "1.2345" quoteAssetRail: BLOCKCHAIN @@ -71292,6 +72337,8 @@ components: example: "1.2345" pattern: ^\d+(\.\d+)?$ type: string + side: + $ref: "#/components/schemas/Side" required: - baseAssetId - quoteAssetId @@ -71324,6 +72371,7 @@ components: example: rates: - baseAssetId: baseAssetId + side: BUY baseAssetRail: BLOCKCHAIN rate: "1.2345" quoteAssetRail: BLOCKCHAIN @@ -71333,6 +72381,7 @@ components: providerId: uniswap-v3-provider accountId: account-123 - baseAssetId: baseAssetId + side: BUY baseAssetRail: BLOCKCHAIN rate: "1.2345" quoteAssetRail: BLOCKCHAIN @@ -71550,12 +72599,6 @@ components: - sourceAccount - type type: object - Side: - description: "BUY: receive base / pay quote; SELL: give base / receive quote." - enum: - - BUY - - SELL - type: string PersonalEntityTypeEnum: enum: - INDIVIDUAL @@ -71902,7 +72945,7 @@ components: settlement: $ref: "#/components/schemas/DVPSettlement" side: - $ref: "#/components/schemas/Side" + $ref: "#/components/schemas/PricingSide" participantsIdentification: $ref: "#/components/schemas/ParticipantsIdentification" required: @@ -71910,7 +72953,6 @@ components: - baseAssetId - quoteAssetId - scope - - side type: object ExecutionStepType: enum: @@ -72148,7 +73190,7 @@ components: example: baseAssetId: BTC slippageBps: 801 - side: BUY + side: SELL baseAssetRail: BLOCKCHAIN quoteAssetRail: BLOCKCHAIN quoteAssetId: USD @@ -72189,12 +73231,11 @@ components: settlement: $ref: "#/components/schemas/DVPSettlement" side: - $ref: "#/components/schemas/Side" + $ref: "#/components/schemas/PricingSide" required: - baseAmount - baseAssetId - quoteAssetId - - side type: object RateOfferType: properties: @@ -72214,6 +73255,7 @@ components: example: baseAssetId: baseAssetId offerType: RATE + side: BUY baseAssetRail: BLOCKCHAIN rate: "1.2345" quoteAssetRail: BLOCKCHAIN @@ -72251,6 +73293,7 @@ components: offers: - baseAssetId: baseAssetId offerType: RATE + side: BUY baseAssetRail: BLOCKCHAIN rate: "1.2345" quoteAssetRail: BLOCKCHAIN @@ -72261,6 +73304,7 @@ components: accountId: account-123 - baseAssetId: baseAssetId offerType: RATE + side: BUY baseAssetRail: BLOCKCHAIN rate: "1.2345" quoteAssetRail: BLOCKCHAIN @@ -75332,6 +76376,26 @@ components: - proofOfOwnershipAvailable - travelRuleProviders type: object + AddressRegistryCustomerRegistryResponse: + description: "Your customer's organization-wide address registry default. Workspaces\ + \ without their own setting use this value. GET, POST (opt in), and DELETE\ + \ (opt out) all return this object." + example: + status: NOT_SET + properties: + status: + description: "`NOT_SET`, `OPTED_IN`, or `OPTED_OUT`. On GET, `NOT_SET` means\ + \ no default has been chosen yet. On POST or DELETE, returns `OPTED_IN`\ + \ or `OPTED_OUT` after a successful change." + enum: + - NOT_SET + - OPTED_IN + - OPTED_OUT + example: NOT_SET + type: string + required: + - status + type: object AddressRegistryCreateProofOfOwnershipRequest: description: Request body for creating an Address Registry Proof of Ownership PDF export. @@ -75445,13 +76509,18 @@ components: - valid type: object AddressRegistryTenantRegistryResponse: - description: "Workspace participation in the address registry. Same shape for\ - \ GET, POST (opt in), and DELETE (opt out)." + description: "Whether this workspace uses the address registry. GET, POST (opt\ + \ in), and DELETE (opt out) all return this object. On GET, if this workspace\ + \ has no explicit choice, `status` follows the customer default when one is\ + \ set, otherwise the workspace is opted in by default." example: status: OPTED_IN properties: status: - description: OPTED_IN or OPTED_OUT. + description: "`OPTED_IN` or `OPTED_OUT`. On GET, uses the customer default\ + \ when this workspace has no setting of its own and the customer has made\ + \ an explicit choice; is `OPTED_IN` when neither is set. On POST or DELETE,\ + \ reflects the choice you just made for this workspace." enum: - OPTED_IN - OPTED_OUT diff --git a/build.gradle b/build.gradle index f2c73c87..d43e483e 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'eclipse' apply plugin: 'com.diffplug.spotless' group = 'com.fireblocks.sdk' -version = '35.1.0' +version = '0.0.0' buildscript { repositories { diff --git a/docs/AddressRegistryCustomerRegistryResponse.md b/docs/AddressRegistryCustomerRegistryResponse.md new file mode 100644 index 00000000..ecd9ad5b --- /dev/null +++ b/docs/AddressRegistryCustomerRegistryResponse.md @@ -0,0 +1,24 @@ + + +# AddressRegistryCustomerRegistryResponse + +Your customer's organization-wide address registry default. Workspaces without their own setting use this value. GET, POST (opt in), and DELETE (opt out) all return this object. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**status** | [**StatusEnum**](#StatusEnum) | `NOT_SET`, `OPTED_IN`, or `OPTED_OUT`. On GET, `NOT_SET` means no default has been chosen yet. On POST or DELETE, returns `OPTED_IN` or `OPTED_OUT` after a successful change. | | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| NOT_SET | "NOT_SET" | +| OPTED_IN | "OPTED_IN" | +| OPTED_OUT | "OPTED_OUT" | + + + diff --git a/docs/AddressRegistryTenantRegistryResponse.md b/docs/AddressRegistryTenantRegistryResponse.md index 2187cf9d..f73b0a52 100644 --- a/docs/AddressRegistryTenantRegistryResponse.md +++ b/docs/AddressRegistryTenantRegistryResponse.md @@ -2,13 +2,13 @@ # AddressRegistryTenantRegistryResponse -Workspace participation in the address registry. Same shape for GET, POST (opt in), and DELETE (opt out). +Whether this workspace uses the address registry. GET, POST (opt in), and DELETE (opt out) all return this object. On GET, if this workspace has no explicit choice, `status` follows the customer default when one is set, otherwise the workspace is opted in by default. ## Properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**status** | [**StatusEnum**](#StatusEnum) | OPTED_IN or OPTED_OUT. | | +|**status** | [**StatusEnum**](#StatusEnum) | `OPTED_IN` or `OPTED_OUT`. On GET, uses the customer default when this workspace has no setting of its own and the customer has made an explicit choice; is `OPTED_IN` when neither is set. On POST or DELETE, reflects the choice you just made for this workspace. | | diff --git a/docs/ComplianceApi.md b/docs/ComplianceApi.md index caff9ade..3216e903 100644 --- a/docs/ComplianceApi.md +++ b/docs/ComplianceApi.md @@ -14,7 +14,8 @@ All URIs are relative to https://developers.fireblocks.com/reference/ | [**deactivateByorkConfig**](ComplianceApi.md#deactivateByorkConfig) | **POST** /screening/byork/config/deactivate | Deactivate BYORK Light | | [**deleteCounterpartyGroup**](ComplianceApi.md#deleteCounterpartyGroup) | **DELETE** /counterparty_groups/{groupId} | Delete a counterparty group | | [**deleteLegalEntity**](ComplianceApi.md#deleteLegalEntity) | **DELETE** /legal_entities/{legalEntityId} | Delete a legal entity | -| [**getAddressRegistryTenantParticipationStatus**](ComplianceApi.md#getAddressRegistryTenantParticipationStatus) | **GET** /address_registry/tenant | Get address registry participation status for the authenticated workspace | +| [**getAddressRegistryCustomerParticipationStatus**](ComplianceApi.md#getAddressRegistryCustomerParticipationStatus) | **GET** /address_registry/customer | Get your customer's address registry default | +| [**getAddressRegistryTenantParticipationStatus**](ComplianceApi.md#getAddressRegistryTenantParticipationStatus) | **GET** /address_registry/tenant | Get address registry status for this workspace | | [**getAddressRegistryVaultOptOut**](ComplianceApi.md#getAddressRegistryVaultOptOut) | **GET** /address_registry/vaults/{vaultAccountId} | Get whether a vault account is opted out of the address registry | | [**getAmlPostScreeningPolicy**](ComplianceApi.md#getAmlPostScreeningPolicy) | **GET** /screening/aml/post_screening_policy | AML - View Post-Screening Policy | | [**getAmlScreeningPolicy**](ComplianceApi.md#getAmlScreeningPolicy) | **GET** /screening/aml/screening_policy | AML - View Screening Policy | @@ -30,8 +31,10 @@ All URIs are relative to https://developers.fireblocks.com/reference/ | [**listCounterpartyGroups**](ComplianceApi.md#listCounterpartyGroups) | **GET** /counterparty_groups | List counterparty groups | | [**listLegalEntities**](ComplianceApi.md#listLegalEntities) | **GET** /legal_entities | List legal entities (Paginated) | | [**listVaultsForLegalEntity**](ComplianceApi.md#listVaultsForLegalEntity) | **GET** /legal_entities/{legalEntityId}/vaults | List vault accounts for a legal entity (Paginated) | -| [**optInAddressRegistryTenant**](ComplianceApi.md#optInAddressRegistryTenant) | **POST** /address_registry/tenant | Opt the workspace in to the address registry | -| [**optOutAddressRegistryTenant**](ComplianceApi.md#optOutAddressRegistryTenant) | **DELETE** /address_registry/tenant | Opt the workspace out of the address registry | +| [**optInAddressRegistryCustomer**](ComplianceApi.md#optInAddressRegistryCustomer) | **POST** /address_registry/customer | Opt your customer in to the address registry | +| [**optInAddressRegistryTenant**](ComplianceApi.md#optInAddressRegistryTenant) | **POST** /address_registry/tenant | Opt this workspace in to the address registry | +| [**optOutAddressRegistryCustomer**](ComplianceApi.md#optOutAddressRegistryCustomer) | **DELETE** /address_registry/customer | Opt your customer out of the address registry | +| [**optOutAddressRegistryTenant**](ComplianceApi.md#optOutAddressRegistryTenant) | **DELETE** /address_registry/tenant | Opt this workspace out of the address registry | | [**registerLegalEntity**](ComplianceApi.md#registerLegalEntity) | **POST** /legal_entities | Register a new legal entity | | [**removeAddressRegistryVaultOptOut**](ComplianceApi.md#removeAddressRegistryVaultOptOut) | **DELETE** /address_registry/vaults/{vaultAccountId} | Remove a single vault account from the address registry opt-out list | | [**removeAllAddressRegistryVaultOptOuts**](ComplianceApi.md#removeAllAddressRegistryVaultOptOuts) | **DELETE** /address_registry/vaults | Remove all vault-level address registry opt-outs for the workspace | @@ -842,13 +845,86 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## getAddressRegistryCustomerParticipationStatus + +> CompletableFuture> getAddressRegistryCustomerParticipationStatus getAddressRegistryCustomerParticipationStatus() + +Get your customer's address registry default + +Read your customer's organization-wide address registry setting. Workspaces without their own choice use this as the default. Returns `NOT_SET` when no choice has been made yet, or `OPTED_IN` / `OPTED_OUT` when one has. + +### Example + +```java +// Import classes: +import com.fireblocks.sdk.ApiClient; +import com.fireblocks.sdk.ApiException; +import com.fireblocks.sdk.ApiResponse; +import com.fireblocks.sdk.BasePath; +import com.fireblocks.sdk.Fireblocks; +import com.fireblocks.sdk.ConfigurationOptions; +import com.fireblocks.sdk.model.*; +import com.fireblocks.sdk.api.ComplianceApi; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; + +public class Example { + public static void main(String[] args) { + ConfigurationOptions configurationOptions = new ConfigurationOptions() + .basePath(BasePath.Sandbox) + .apiKey("my-api-key") + .secretKey("my-secret-key"); + Fireblocks fireblocks = new Fireblocks(configurationOptions); + + try { + CompletableFuture> response = fireblocks.compliance().getAddressRegistryCustomerParticipationStatus(); + System.out.println("Status code: " + response.get().getStatusCode()); + System.out.println("Response headers: " + response.get().getHeaders()); + System.out.println("Response body: " + response.get().getData()); + } catch (InterruptedException | ExecutionException e) { + ApiException apiException = (ApiException)e.getCause(); + System.err.println("Exception when calling ComplianceApi#getAddressRegistryCustomerParticipationStatus"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +CompletableFuture> + + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Customer registry status in the response body | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## getAddressRegistryTenantParticipationStatus > CompletableFuture> getAddressRegistryTenantParticipationStatus getAddressRegistryTenantParticipationStatus() -Get address registry participation status for the authenticated workspace +Get address registry status for this workspace -Returns whether the workspace is `OPTED_IN` or `OPTED_OUT` of the address registry. +Check whether this workspace uses the address registry. The response is `OPTED_IN` or `OPTED_OUT`. If this workspace has not been configured yet, it follows your customer's default (see `GET /v1/address_registry/customer`) when that default is `OPTED_IN` or `OPTED_OUT`; otherwise the workspace is opted in by default. ### Example @@ -2073,13 +2149,91 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## optInAddressRegistryCustomer + +> CompletableFuture> optInAddressRegistryCustomer optInAddressRegistryCustomer(idempotencyKey) + +Opt your customer in to the address registry + +Set your customer's default to opted in. Workspaces without their own setting will follow this default. No request body. Returns `OPTED_IN`. If the customer for this workspace cannot be determined, returns HTTP 404 with error code **2147**. + +### Example + +```java +// Import classes: +import com.fireblocks.sdk.ApiClient; +import com.fireblocks.sdk.ApiException; +import com.fireblocks.sdk.ApiResponse; +import com.fireblocks.sdk.BasePath; +import com.fireblocks.sdk.Fireblocks; +import com.fireblocks.sdk.ConfigurationOptions; +import com.fireblocks.sdk.model.*; +import com.fireblocks.sdk.api.ComplianceApi; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; + +public class Example { + public static void main(String[] args) { + ConfigurationOptions configurationOptions = new ConfigurationOptions() + .basePath(BasePath.Sandbox) + .apiKey("my-api-key") + .secretKey("my-secret-key"); + Fireblocks fireblocks = new Fireblocks(configurationOptions); + + String idempotencyKey = "idempotencyKey_example"; // 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. + try { + CompletableFuture> response = fireblocks.compliance().optInAddressRegistryCustomer(idempotencyKey); + System.out.println("Status code: " + response.get().getStatusCode()); + System.out.println("Response headers: " + response.get().getHeaders()); + System.out.println("Response body: " + response.get().getData()); + } catch (InterruptedException | ExecutionException e) { + ApiException apiException = (ApiException)e.getCause(); + System.err.println("Exception when calling ComplianceApi#optInAddressRegistryCustomer"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **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] | + +### Return type + +CompletableFuture> + + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Success; response body includes status OPTED_IN | * X-Request-ID -
| +| **404** | The customer for this workspace could not be determined (error code 2147) | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## optInAddressRegistryTenant > CompletableFuture> optInAddressRegistryTenant optInAddressRegistryTenant(idempotencyKey) -Opt the workspace in to the address registry +Opt this workspace in to the address registry -Opts the workspace in. No request body. Response uses the same JSON shape as GET; status is OPTED_IN. +Turn on the address registry for this workspace. No request body. Returns `OPTED_IN`. ### Example @@ -2150,13 +2304,87 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## optOutAddressRegistryCustomer + +> CompletableFuture> optOutAddressRegistryCustomer optOutAddressRegistryCustomer() + +Opt your customer out of the address registry + +Set your customer's default to opted out. Workspaces without their own setting will follow this default. No request body. Returns `OPTED_OUT`. If the customer for this workspace cannot be determined, returns HTTP 404 with error code **2147**. + +### Example + +```java +// Import classes: +import com.fireblocks.sdk.ApiClient; +import com.fireblocks.sdk.ApiException; +import com.fireblocks.sdk.ApiResponse; +import com.fireblocks.sdk.BasePath; +import com.fireblocks.sdk.Fireblocks; +import com.fireblocks.sdk.ConfigurationOptions; +import com.fireblocks.sdk.model.*; +import com.fireblocks.sdk.api.ComplianceApi; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; + +public class Example { + public static void main(String[] args) { + ConfigurationOptions configurationOptions = new ConfigurationOptions() + .basePath(BasePath.Sandbox) + .apiKey("my-api-key") + .secretKey("my-secret-key"); + Fireblocks fireblocks = new Fireblocks(configurationOptions); + + try { + CompletableFuture> response = fireblocks.compliance().optOutAddressRegistryCustomer(); + System.out.println("Status code: " + response.get().getStatusCode()); + System.out.println("Response headers: " + response.get().getHeaders()); + System.out.println("Response body: " + response.get().getData()); + } catch (InterruptedException | ExecutionException e) { + ApiException apiException = (ApiException)e.getCause(); + System.err.println("Exception when calling ComplianceApi#optOutAddressRegistryCustomer"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +CompletableFuture> + + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Success; response body includes status OPTED_OUT | * X-Request-ID -
| +| **404** | The customer for this workspace could not be determined (error code 2147) | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## optOutAddressRegistryTenant > CompletableFuture> optOutAddressRegistryTenant optOutAddressRegistryTenant() -Opt the workspace out of the address registry +Opt this workspace out of the address registry -Opts the workspace out. No request body. Response uses the same JSON shape as GET; status is OPTED_OUT. +Turn off the address registry for this workspace. No request body. Returns `OPTED_OUT`. ### Example diff --git a/docs/CreateOffersRequest.md b/docs/CreateOffersRequest.md index bbb3902d..7fcacf7e 100644 --- a/docs/CreateOffersRequest.md +++ b/docs/CreateOffersRequest.md @@ -14,7 +14,7 @@ |**baseAmount** | **String** | The amount to get offers for | | |**slippageBps** | **Integer** | Slippage tolerance in basis points (bps) for defi quotes - 1 is 0.01% and 10000 is 100%. If not set, defaults to 50 bps (0.5%). | [optional] | |**settlement** | [**DVPSettlement**](DVPSettlement.md) | | [optional] | -|**side** | **Side** | | | +|**side** | **PricingSide** | | [optional] | diff --git a/docs/CreateQuote.md b/docs/CreateQuote.md index 1e897424..4015ec2c 100644 --- a/docs/CreateQuote.md +++ b/docs/CreateQuote.md @@ -15,7 +15,7 @@ |**baseAmount** | **String** | Amount in baseAssetId. BUY = base amount to receive; SELL = base amount to sell. | | |**slippageBps** | **BigDecimal** | Slippage tolerance in basis points (bps) for defi quotes - 1 is 0.01% and 10000 is 100% | [optional] | |**settlement** | [**DVPSettlement**](DVPSettlement.md) | | [optional] | -|**side** | **Side** | | | +|**side** | **PricingSide** | | [optional] | |**participantsIdentification** | [**ParticipantsIdentification**](ParticipantsIdentification.md) | | [optional] | diff --git a/docs/ExtraParameters.md b/docs/ExtraParameters.md index 5ff9d98f..2b867496 100644 --- a/docs/ExtraParameters.md +++ b/docs/ExtraParameters.md @@ -2,7 +2,7 @@ # ExtraParameters -Additional protocol / operation specific key-value parameters: For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set to the [input selection structure.](https://developers.fireblocks.com/reference/transaction-objects#inputsselection) The inputs can be retrieved from the [Retrieve Unspent Inputs endpoint.](https://developers.fireblocks.com/reference/getunspentinputs) For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure.](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata) For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. For **exchange compliance (e.g., Binance) and Travel Rule purposes**, include the key `piiData` containing a **custom JSON structure** with Personally Identifiable Information (PII) relevant to the transaction. This data must be fully **encrypted by the sender** before being submitted to the Fireblocks API. The recommended encryption method is **hybrid encryption** using AES-256-GCM for the payload and RSA-OAEP for key exchange, with the recipient exchange's public key. [development libraries](https://developers.fireblocks.com/docs/a-developers-guide-to-constructing-encrypted-pii-messages-for-binance-via-fireblocks) **Note:** `rawMessageData`, `contractCallData`, and `inputsSelection` cannot be used together in the same call. +Additional protocol / operation specific key-value parameters: For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set to the [input selection structure.](https://developers.fireblocks.com/reference/transaction-objects#inputsselection) The inputs can be retrieved from the [Retrieve Unspent Inputs endpoint.](https://developers.fireblocks.com/reference/getunspentinputs) For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure.](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata) For `SOROBAN_CALL` operations, add the key `sorobanCallData` with the value set to an object containing `envelopeXdr` - a base64 encoded, unsigned Stellar `TransactionEnvelope` holding the contract invocation. For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. For **exchange compliance (e.g., Binance) and Travel Rule purposes**, include the key `piiData` containing a **custom JSON structure** with Personally Identifiable Information (PII) relevant to the transaction. This data must be fully **encrypted by the sender** before being submitted to the Fireblocks API. The recommended encryption method is **hybrid encryption** using AES-256-GCM for the payload and RSA-OAEP for key exchange, with the recipient exchange's public key. [development libraries](https://developers.fireblocks.com/docs/a-developers-guide-to-constructing-encrypted-pii-messages-for-binance-via-fireblocks) **Note:** `rawMessageData`, `contractCallData`, `sorobanCallData`, and `inputsSelection` cannot be used together in the same call. ## Properties @@ -12,6 +12,7 @@ Additional protocol / operation specific key-value parameters: For UTXO-based b |**rawMessageData** | **Map<String, Object>** | | [optional] | |**contractCallData** | **String** | | [optional] | |**programCallData** | **String** | | [optional] | +|**sorobanCallData** | [**SorobanCallData**](SorobanCallData.md) | | [optional] | |**inputsSelection** | **Map<String, Object>** | | [optional] | |**allowBaseAssetAddress** | **Boolean** | | [optional] | |**piiData** | **Map<String, Object>** | | [optional] | diff --git a/docs/GetTransactionOperation.md b/docs/GetTransactionOperation.md index b5c2505c..08277f90 100644 --- a/docs/GetTransactionOperation.md +++ b/docs/GetTransactionOperation.md @@ -29,5 +29,7 @@ * `APPROVE` (value: `"APPROVE"`) +* `SOROBAN_CALL` (value: `"SOROBAN_CALL"`) + diff --git a/docs/PricingSide.md b/docs/PricingSide.md new file mode 100644 index 00000000..0f15b973 --- /dev/null +++ b/docs/PricingSide.md @@ -0,0 +1,15 @@ + + +# PricingSide + +## Enum + + +* `BUY` (value: `"BUY"`) + +* `SELL` (value: `"SELL"`) + +* `BOTH` (value: `"BOTH"`) + + + diff --git a/docs/Rate.md b/docs/Rate.md index 80cc8177..0d6881d8 100644 --- a/docs/Rate.md +++ b/docs/Rate.md @@ -13,6 +13,7 @@ |**quoteAssetId** | **String** | The target asset identifier | | |**quoteAssetRail** | **TransferRail** | | [optional] | |**rate** | **String** | The indicative exchange rate — the number of units of the quote asset that equal 1 unit of the base asset. For example, if base is BTC and quote is USD, a rate of 75000 means 1 BTC = 75,000 USD. | | +|**side** | **Side** | | [optional] | diff --git a/docs/RateOffer.md b/docs/RateOffer.md index 7ce19a96..f017c783 100644 --- a/docs/RateOffer.md +++ b/docs/RateOffer.md @@ -13,6 +13,7 @@ |**quoteAssetId** | **String** | The target asset identifier | | |**quoteAssetRail** | **TransferRail** | | [optional] | |**rate** | **String** | The indicative exchange rate — the number of units of the quote asset that equal 1 unit of the base asset. For example, if base is BTC and quote is USD, a rate of 75000 means 1 BTC = 75,000 USD. | | +|**side** | **Side** | | [optional] | |**offerType** | [**OfferTypeEnum**](#OfferTypeEnum) | The type of offer — RATE for indicative pricing. | | diff --git a/docs/RatesRequest.md b/docs/RatesRequest.md index d9539e65..034dc224 100644 --- a/docs/RatesRequest.md +++ b/docs/RatesRequest.md @@ -11,6 +11,7 @@ |**baseAssetId** | **String** | The source asset identifier. | | |**quoteAssetId** | **String** | The target asset identifier. | | |**baseAmount** | **String** | The amount to convert from | [optional] | +|**side** | **PricingSide** | | [optional] | diff --git a/docs/SorobanCallData.md b/docs/SorobanCallData.md new file mode 100644 index 00000000..89623f01 --- /dev/null +++ b/docs/SorobanCallData.md @@ -0,0 +1,14 @@ + + +# SorobanCallData + +The Soroban contract invocation to execute, for `SOROBAN_CALL` operations. Fireblocks decodes the submitted envelope, determines the footprint, resource fee, sequence number and authorization entries from its own simulation, and signs a transaction it rebuilt from the invocation. Only the contract invocation itself is carried through unchanged. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**envelopeXdr** | **byte[]** | A base64 encoded, unsigned Stellar `TransactionEnvelope` carrying exactly one `invokeHostFunction` operation that invokes a contract. The API only checks that the value is present. The envelope is decoded and validated after the transaction is created, and a transaction whose envelope fails validation is not signed and ends as `FAILED`. An envelope is rejected if it carries signatures or authorization entries, a memo or a fee-bump wrapper, if its source account is not the Stellar address of the vault account, or if it has no bounded time window. A Stellar transaction cannot exceed 132096 bytes, about 176128 base64 characters. | | + + + diff --git a/docs/TradingApi.md b/docs/TradingApi.md index ce44dd3e..1f260790 100644 --- a/docs/TradingApi.md +++ b/docs/TradingApi.md @@ -108,7 +108,7 @@ No authorization required Create a quote -Generate a time-limited quote for asset conversion, providing exchange rate and amount calculations. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). +Generate a time-limited quote for asset conversion, providing exchange rate and amount calculations. If `side` is omitted it defaults to `SELL`. Use `side: BOTH` to get quotes for each side the provider supports in a single call; providers that support only one side return that side only. Every returned quote carries a concrete `BUY` or `SELL` side, never `BOTH`. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). ### Example @@ -192,7 +192,7 @@ No authorization required Get all offers -Retrieve all available offers across the workspace for a given asset pair. Always operates in open scope — no provider or account selection required. Returns a mix of indicative rates and committed quotes as applicable per provider. If no slippageBps is provided, it defaults to 50 bps (0.5%). Slippage and settlement configuration do not affect the returned rate. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). +Retrieve all available offers across the workspace for a given asset pair. Always operates in open scope — no provider or account selection required. Returns a mix of indicative rates and committed quotes as applicable per provider. If `side` is omitted it defaults to `SELL`. Use `side: BOTH` to get offers for each side the provider supports in a single call; providers that support only one side return that side only. Every returned offer carries a concrete `BUY` or `SELL` side, never `BOTH`. If no slippageBps is provided, it defaults to 50 bps (0.5%). Slippage and settlement configuration do not affect the returned rate. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). ### Example @@ -276,7 +276,7 @@ No authorization required Get rates -Retrieve indicative exchange rate from specified providers for a given asset pair. Rates are non-executable price signals intended for discovery and display purposes. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). +Retrieve indicative exchange rate from specified providers for a given asset pair. Rates are non-executable price signals intended for discovery and display purposes. If `side` is omitted it defaults to `SELL`. Use `side: BOTH` to get rates for each side the provider supports in a single call; providers that support only one side return that side only. Every returned rate carries a concrete `BUY` or `SELL` side, never `BOTH`. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). ### Example diff --git a/docs/TransactionOperation.md b/docs/TransactionOperation.md index eb2c5204..7d88721f 100644 --- a/docs/TransactionOperation.md +++ b/docs/TransactionOperation.md @@ -13,6 +13,8 @@ * `PROGRAM_CALL` (value: `"PROGRAM_CALL"`) +* `SOROBAN_CALL` (value: `"SOROBAN_CALL"`) + * `MINT` (value: `"MINT"`) * `RAW` (value: `"RAW"`) diff --git a/docs/TransactionsApi.md b/docs/TransactionsApi.md index cde36217..d031ab8d 100644 --- a/docs/TransactionsApi.md +++ b/docs/TransactionsApi.md @@ -348,7 +348,7 @@ No authorization required Estimate transaction fee -Estimates the transaction fee for a specific transaction request. This endpoint simulates a transaction which means that the system will expect to have the requested asset and balance in the specified wallet. **Note**: Supports all Fireblocks assets except ZCash (ZEC). The PROGRAM_CALL operation is not supported by this endpoint — fee estimation for Solana program calls is not available. Learn more about Fireblocks Fee Management in the following [guide](https://developers.fireblocks.com/reference/estimate-transaction-fee). Endpoint Permission: Admin, Signer, Approver, Editor. +Estimates the transaction fee for a specific transaction request. This endpoint simulates a transaction which means that the system will expect to have the requested asset and balance in the specified wallet. **Note**: Supports all Fireblocks assets except ZCash (ZEC). The PROGRAM_CALL operation is not supported by this endpoint — fee estimation for Solana program calls is not available. The SOROBAN_CALL operation is not supported by this endpoint - fee estimation for Stellar Soroban contract calls is not available. Learn more about Fireblocks Fee Management in the following [guide](https://developers.fireblocks.com/reference/estimate-transaction-fee). Endpoint Permission: Admin, Signer, Approver, Editor. ### Example diff --git a/docs/TransferPeerPathType.md b/docs/TransferPeerPathType.md index c0a5a4c5..3f77066a 100644 --- a/docs/TransferPeerPathType.md +++ b/docs/TransferPeerPathType.md @@ -39,5 +39,7 @@ * `WALLET_POOL` (value: `"WALLET_POOL"`) +* `SOROBAN_CONTRACT` (value: `"SOROBAN_CONTRACT"`) + diff --git a/docs/VaultsApi.md b/docs/VaultsApi.md index 97aa1182..1c122ecc 100644 --- a/docs/VaultsApi.md +++ b/docs/VaultsApi.md @@ -1282,7 +1282,7 @@ public class Example { .secretKey("my-secret-key"); Fireblocks fireblocks = new Fireblocks(configurationOptions); - String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account, or 'default' for the default vault account + String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account String assetId = "assetId_example"; // String | The ID of the asset Boolean manualSignging = true; // Boolean | False by default. The maximum number of inputs depends if the transaction will be signed by an automated co-signer server or on a mobile device. List includeAllLabels = Arrays.asList(); // List | Only include UTXOs that have ALL of these labels (AND logic). Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. @@ -1313,7 +1313,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **vaultAccountId** | **String**| The ID of the vault account, or 'default' for the default vault account | | +| **vaultAccountId** | **String**| The ID of the vault account | | | **assetId** | **String**| The ID of the asset | | | **manualSignging** | **Boolean**| False by default. The maximum number of inputs depends if the transaction will be signed by an automated co-signer server or on a mobile device. | [optional] | | **includeAllLabels** | [**List<String>**](String.md)| Only include UTXOs that have ALL of these labels (AND logic). Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] | diff --git a/pom.xml b/pom.xml index 9cbeed6c..5c58d835 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ fireblocks-sdk jar fireblocks-sdk - 35.1.0 + 0.0.0 https://github.com/fireblocks/java-sdk The Fireblocks Official SDK is a comprehensive software development kit that enables seamless integration and interaction with the Fireblocks platform. Fireblocks is a cutting-edge blockchain infrastructure platform that provides secure and scalable solutions for managing digital assets and transactions. This SDK empowers developers to build robust applications that can interact with the Fireblocks platform's features, including creating and managing vault accounts, initiating secure transactions, managing assets, and more. It abstracts complex interactions with the Fireblocks API, making it easier for developers to leverage the platform's capabilities while adhering to best practices in security and efficiency. diff --git a/src/main/java/com/fireblocks/sdk/Configuration.java b/src/main/java/com/fireblocks/sdk/Configuration.java index 609c9b3f..aa53bae8 100644 --- a/src/main/java/com/fireblocks/sdk/Configuration.java +++ b/src/main/java/com/fireblocks/sdk/Configuration.java @@ -21,7 +21,7 @@ value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.14.0") public class Configuration { - public static final String VERSION = "35.1.0"; + public static final String VERSION = "0.0.0"; private static final AtomicReference defaultApiClient = new AtomicReference<>(); private static volatile Supplier apiClientFactory = ApiClient::new; diff --git a/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java b/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java index 612ec43d..5426f838 100644 --- a/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java +++ b/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java @@ -25,6 +25,7 @@ import com.fireblocks.sdk.model.AddressRegistryAddVaultOptOutsResponse; import com.fireblocks.sdk.model.AddressRegistryCreateProofOfOwnershipRequest; import com.fireblocks.sdk.model.AddressRegistryCreateProofOfOwnershipResponse; +import com.fireblocks.sdk.model.AddressRegistryCustomerRegistryResponse; import com.fireblocks.sdk.model.AddressRegistryGetVaultOptOutResponse; import com.fireblocks.sdk.model.AddressRegistryLegalEntity; import com.fireblocks.sdk.model.AddressRegistryListVaultOptOutsResponse; @@ -1075,8 +1076,98 @@ private HttpRequest.Builder deleteLegalEntityRequestBuilder(UUID legalEntityId) return localVarRequestBuilder; } /** - * Get address registry participation status for the authenticated workspace Returns whether the - * workspace is `OPTED_IN` or `OPTED_OUT` of the address registry. + * Get your customer's address registry default Read your customer's organization-wide + * address registry setting. Workspaces without their own choice use this as the default. + * Returns `NOT_SET` when no choice has been made yet, or `OPTED_IN` / + * `OPTED_OUT` when one has. + * + * @return CompletableFuture<ApiResponse<AddressRegistryCustomerRegistryResponse>>, + * which completes exceptionally with an {@link ApiException} if the API call fails + */ + public CompletableFuture> + getAddressRegistryCustomerParticipationStatus() { + try { + HttpRequest.Builder localVarRequestBuilder = + getAddressRegistryCustomerParticipationStatusRequestBuilder(); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + // Ahead of the status check, which fails the future: the lifecycle + // header + // is present on allowed error responses too. + LifecycleWarning.warn( + localVarResponse.headers(), + "getAddressRegistryCustomerParticipationStatus", + localVarResponse.statusCode()); + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "getAddressRegistryCustomerParticipationStatus", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse< + AddressRegistryCustomerRegistryResponse>( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + AddressRegistryCustomerRegistryResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }) + .handle( + (localVarApiResponse, localVarThrowable) -> + localVarThrowable == null + ? CompletableFuture.completedFuture(localVarApiResponse) + : CompletableFuture + .> + failedFuture( + toApiFailure( + localVarThrowable))) + .thenCompose(localVarNormalized -> localVarNormalized); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder getAddressRegistryCustomerParticipationStatusRequestBuilder() + throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/address_registry/customer"; + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + localVarRequestBuilder.header("Accept", "application/json"); + + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** + * Get address registry status for this workspace Check whether this workspace uses the address + * registry. The response is `OPTED_IN` or `OPTED_OUT`. If this workspace + * has not been configured yet, it follows your customer's default (see `GET + * /v1/address_registry/customer`) when that default is `OPTED_IN` or + * `OPTED_OUT`; otherwise the workspace is opted in by default. * * @return CompletableFuture<ApiResponse<AddressRegistryTenantRegistryResponse>>, * which completes exceptionally with an {@link ApiException} if the API call fails @@ -2531,8 +2622,101 @@ private HttpRequest.Builder listVaultsForLegalEntityRequestBuilder( return localVarRequestBuilder; } /** - * Opt the workspace in to the address registry Opts the workspace in. No request body. Response - * uses the same JSON shape as GET; status is OPTED_IN. + * Opt your customer in to the address registry Set your customer's default to opted in. + * Workspaces without their own setting will follow this default. No request body. Returns + * `OPTED_IN`. If the customer for this workspace cannot be determined, returns HTTP + * 404 with error code **2147**. + * + * @param idempotencyKey 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) + * @return CompletableFuture<ApiResponse<AddressRegistryCustomerRegistryResponse>>, + * which completes exceptionally with an {@link ApiException} if the API call fails + */ + public CompletableFuture> + optInAddressRegistryCustomer(String idempotencyKey) { + try { + HttpRequest.Builder localVarRequestBuilder = + optInAddressRegistryCustomerRequestBuilder(idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + // Ahead of the status check, which fails the future: the lifecycle + // header + // is present on allowed error responses too. + LifecycleWarning.warn( + localVarResponse.headers(), + "optInAddressRegistryCustomer", + localVarResponse.statusCode()); + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "optInAddressRegistryCustomer", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse< + AddressRegistryCustomerRegistryResponse>( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + AddressRegistryCustomerRegistryResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }) + .handle( + (localVarApiResponse, localVarThrowable) -> + localVarThrowable == null + ? CompletableFuture.completedFuture(localVarApiResponse) + : CompletableFuture + .> + failedFuture( + toApiFailure( + localVarThrowable))) + .thenCompose(localVarNormalized -> localVarNormalized); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder optInAddressRegistryCustomerRequestBuilder(String idempotencyKey) + throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/address_registry/customer"; + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + if (idempotencyKey != null) { + localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString()); + } + localVarRequestBuilder.header("Accept", "application/json"); + + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** + * Opt this workspace in to the address registry Turn on the address registry for this + * workspace. No request body. Returns `OPTED_IN`. * * @param idempotencyKey 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 @@ -2621,8 +2805,94 @@ private HttpRequest.Builder optInAddressRegistryTenantRequestBuilder(String idem return localVarRequestBuilder; } /** - * Opt the workspace out of the address registry Opts the workspace out. No request body. - * Response uses the same JSON shape as GET; status is OPTED_OUT. + * Opt your customer out of the address registry Set your customer's default to opted out. + * Workspaces without their own setting will follow this default. No request body. Returns + * `OPTED_OUT`. If the customer for this workspace cannot be determined, returns HTTP + * 404 with error code **2147**. + * + * @return CompletableFuture<ApiResponse<AddressRegistryCustomerRegistryResponse>>, + * which completes exceptionally with an {@link ApiException} if the API call fails + */ + public CompletableFuture> + optOutAddressRegistryCustomer() { + try { + HttpRequest.Builder localVarRequestBuilder = + optOutAddressRegistryCustomerRequestBuilder(); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + // Ahead of the status check, which fails the future: the lifecycle + // header + // is present on allowed error responses too. + LifecycleWarning.warn( + localVarResponse.headers(), + "optOutAddressRegistryCustomer", + localVarResponse.statusCode()); + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "optOutAddressRegistryCustomer", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse< + AddressRegistryCustomerRegistryResponse>( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + AddressRegistryCustomerRegistryResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }) + .handle( + (localVarApiResponse, localVarThrowable) -> + localVarThrowable == null + ? CompletableFuture.completedFuture(localVarApiResponse) + : CompletableFuture + .> + failedFuture( + toApiFailure( + localVarThrowable))) + .thenCompose(localVarNormalized -> localVarNormalized); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder optOutAddressRegistryCustomerRequestBuilder() throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/address_registry/customer"; + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + localVarRequestBuilder.header("Accept", "application/json"); + + localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** + * Opt this workspace out of the address registry Turn off the address registry for this + * workspace. No request body. Returns `OPTED_OUT`. * * @return CompletableFuture<ApiResponse<AddressRegistryTenantRegistryResponse>>, * which completes exceptionally with an {@link ApiException} if the API call fails diff --git a/src/main/java/com/fireblocks/sdk/api/TradingApi.java b/src/main/java/com/fireblocks/sdk/api/TradingApi.java index b5d2398f..3c303140 100644 --- a/src/main/java/com/fireblocks/sdk/api/TradingApi.java +++ b/src/main/java/com/fireblocks/sdk/api/TradingApi.java @@ -219,9 +219,13 @@ private HttpRequest.Builder createOrderRequestBuilder( } /** * Create a quote Generate a time-limited quote for asset conversion, providing exchange rate - * and amount calculations. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, - * Editor. For detailed information about error codes and troubleshooting, please refer to our - * [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). + * and amount calculations. If `side` is omitted it defaults to `SELL`. Use + * `side: BOTH` to get quotes for each side the provider supports in a single call; + * providers that support only one side return that side only. Every returned quote carries a + * concrete `BUY` or `SELL` side, never `BOTH`. Endpoint + * Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For detailed information about + * error codes and troubleshooting, please refer to our [API Error Codes + * documentation](https://developers.fireblocks.com/reference/api-error-codes). * * @param createQuote (required) * @param idempotencyKey A unique identifier for the request. If the request is sent multiple @@ -316,11 +320,15 @@ private HttpRequest.Builder createQuoteRequestBuilder( /** * Get all offers Retrieve all available offers across the workspace for a given asset pair. * Always operates in open scope — no provider or account selection required. Returns a mix of - * indicative rates and committed quotes as applicable per provider. If no slippageBps is - * provided, it defaults to 50 bps (0.5%). Slippage and settlement configuration do not affect - * the returned rate. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For - * detailed information about error codes and troubleshooting, please refer to our [API Error - * Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). + * indicative rates and committed quotes as applicable per provider. If `side` is + * omitted it defaults to `SELL`. Use `side: BOTH` to get offers for each + * side the provider supports in a single call; providers that support only one side return that + * side only. Every returned offer carries a concrete `BUY` or `SELL` side, + * never `BOTH`. If no slippageBps is provided, it defaults to 50 bps (0.5%). Slippage + * and settlement configuration do not affect the returned rate. Endpoint Permission: Owner, + * Admin, Non-Signing Admin, Signer, Editor. For detailed information about error codes and + * troubleshooting, please refer to our [API Error Codes + * documentation](https://developers.fireblocks.com/reference/api-error-codes). * * @param createOffersRequest (required) * @param idempotencyKey A unique identifier for the request. If the request is sent multiple @@ -415,9 +423,13 @@ private HttpRequest.Builder fetchAllOffersRequestBuilder( } /** * Get rates Retrieve indicative exchange rate from specified providers for a given asset pair. - * Rates are non-executable price signals intended for discovery and display purposes. Endpoint - * Permission: Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. For detailed - * information about error codes and troubleshooting, please refer to our [API Error Codes + * Rates are non-executable price signals intended for discovery and display purposes. If + * `side` is omitted it defaults to `SELL`. Use `side: BOTH` to + * get rates for each side the provider supports in a single call; providers that support only + * one side return that side only. Every returned rate carries a concrete `BUY` or + * `SELL` side, never `BOTH`. Endpoint Permission: Owner, Admin, Non-Signing + * Admin, Signer, Approver, Editor, Viewer. For detailed information about error codes and + * troubleshooting, please refer to our [API Error Codes * documentation](https://developers.fireblocks.com/reference/api-error-codes). * * @param ratesRequest (required) diff --git a/src/main/java/com/fireblocks/sdk/api/TransactionsApi.java b/src/main/java/com/fireblocks/sdk/api/TransactionsApi.java index 5c60cc03..e532ffd2 100644 --- a/src/main/java/com/fireblocks/sdk/api/TransactionsApi.java +++ b/src/main/java/com/fireblocks/sdk/api/TransactionsApi.java @@ -546,8 +546,9 @@ private HttpRequest.Builder estimateNetworkFeeRequestBuilder(String assetId) * This endpoint simulates a transaction which means that the system will expect to have the * requested asset and balance in the specified wallet. **Note**: Supports all Fireblocks assets * except ZCash (ZEC). The PROGRAM_CALL operation is not supported by this endpoint — fee - * estimation for Solana program calls is not available. Learn more about Fireblocks Fee - * Management in the following + * estimation for Solana program calls is not available. The SOROBAN_CALL operation is not + * supported by this endpoint - fee estimation for Stellar Soroban contract calls is not + * available. Learn more about Fireblocks Fee Management in the following * [guide](https://developers.fireblocks.com/reference/estimate-transaction-fee). Endpoint * Permission: Admin, Signer, Approver, Editor. * diff --git a/src/main/java/com/fireblocks/sdk/api/VaultsApi.java b/src/main/java/com/fireblocks/sdk/api/VaultsApi.java index 54f1b8e2..eeaebdd4 100644 --- a/src/main/java/com/fireblocks/sdk/api/VaultsApi.java +++ b/src/main/java/com/fireblocks/sdk/api/VaultsApi.java @@ -1735,8 +1735,7 @@ private HttpRequest.Builder getMaxBipIndexUsedRequestBuilder( * account. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, * Viewer. * - * @param vaultAccountId The ID of the vault account, or 'default' for the default vault - * account (required) + * @param vaultAccountId The ID of the vault account (required) * @param assetId The ID of the asset (required) * @param manualSignging False by default. The maximum number of inputs depends if the * transaction will be signed by an automated co-signer server or on a mobile device. diff --git a/src/main/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponse.java b/src/main/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponse.java new file mode 100644 index 00000000..abfc9def --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponse.java @@ -0,0 +1,193 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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 com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** + * Your customer's organization-wide address registry default. Workspaces without their own + * setting use this value. GET, POST (opt in), and DELETE (opt out) all return this object. + */ +@JsonPropertyOrder({AddressRegistryCustomerRegistryResponse.JSON_PROPERTY_STATUS}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class AddressRegistryCustomerRegistryResponse { + /** + * `NOT_SET`, `OPTED_IN`, or `OPTED_OUT`. On GET, + * `NOT_SET` means no default has been chosen yet. On POST or DELETE, returns + * `OPTED_IN` or `OPTED_OUT` after a successful change. + */ + public enum StatusEnum { + NOT_SET(String.valueOf("NOT_SET")), + + OPTED_IN(String.valueOf("OPTED_IN")), + + OPTED_OUT(String.valueOf("OPTED_OUT")); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_STATUS = "status"; + @jakarta.annotation.Nonnull private StatusEnum status; + + public AddressRegistryCustomerRegistryResponse() {} + + @JsonCreator + public AddressRegistryCustomerRegistryResponse( + @JsonProperty(value = JSON_PROPERTY_STATUS, required = true) StatusEnum status) { + this.status = status; + } + + public AddressRegistryCustomerRegistryResponse status( + @jakarta.annotation.Nonnull StatusEnum status) { + this.status = status; + return this; + } + + /** + * `NOT_SET`, `OPTED_IN`, or `OPTED_OUT`. On GET, + * `NOT_SET` means no default has been chosen yet. On POST or DELETE, returns + * `OPTED_IN` or `OPTED_OUT` after a successful change. + * + * @return status + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public StatusEnum getStatus() { + return status; + } + + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setStatus(@jakarta.annotation.Nonnull StatusEnum status) { + this.status = status; + } + + /** Return true if this AddressRegistryCustomerRegistryResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddressRegistryCustomerRegistryResponse addressRegistryCustomerRegistryResponse = + (AddressRegistryCustomerRegistryResponse) o; + return Objects.equals(this.status, addressRegistryCustomerRegistryResponse.status); + } + + @Override + public int hashCode() { + return Objects.hash(status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddressRegistryCustomerRegistryResponse {\n"); + sb.append(" status: ").append(toIndentedString(status)).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 `status` to the URL query string + if (getStatus() != null) { + joiner.add( + String.format( + "%sstatus%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getStatus())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/AddressRegistryTenantRegistryResponse.java b/src/main/java/com/fireblocks/sdk/model/AddressRegistryTenantRegistryResponse.java index 921e07b6..4e216767 100644 --- a/src/main/java/com/fireblocks/sdk/model/AddressRegistryTenantRegistryResponse.java +++ b/src/main/java/com/fireblocks/sdk/model/AddressRegistryTenantRegistryResponse.java @@ -23,15 +23,21 @@ import java.util.StringJoiner; /** - * Workspace participation in the address registry. Same shape for GET, POST (opt in), and DELETE - * (opt out). + * Whether this workspace uses the address registry. GET, POST (opt in), and DELETE (opt out) all + * return this object. On GET, if this workspace has no explicit choice, `status` follows + * the customer default when one is set, otherwise the workspace is opted in by default. */ @JsonPropertyOrder({AddressRegistryTenantRegistryResponse.JSON_PROPERTY_STATUS}) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.14.0") public class AddressRegistryTenantRegistryResponse { - /** OPTED_IN or OPTED_OUT. */ + /** + * `OPTED_IN` or `OPTED_OUT`. On GET, uses the customer default when this + * workspace has no setting of its own and the customer has made an explicit choice; is + * `OPTED_IN` when neither is set. On POST or DELETE, reflects the choice you just + * made for this workspace. + */ public enum StatusEnum { OPTED_IN(String.valueOf("OPTED_IN")), @@ -82,7 +88,10 @@ public AddressRegistryTenantRegistryResponse status( } /** - * OPTED_IN or OPTED_OUT. + * `OPTED_IN` or `OPTED_OUT`. On GET, uses the customer default when this + * workspace has no setting of its own and the customer has made an explicit choice; is + * `OPTED_IN` when neither is set. On POST or DELETE, reflects the choice you just + * made for this workspace. * * @return status */ diff --git a/src/main/java/com/fireblocks/sdk/model/CreateOffersRequest.java b/src/main/java/com/fireblocks/sdk/model/CreateOffersRequest.java index ac1051e4..195aeb74 100644 --- a/src/main/java/com/fireblocks/sdk/model/CreateOffersRequest.java +++ b/src/main/java/com/fireblocks/sdk/model/CreateOffersRequest.java @@ -58,7 +58,7 @@ public class CreateOffersRequest { @jakarta.annotation.Nullable private DVPSettlement settlement; public static final String JSON_PROPERTY_SIDE = "side"; - @jakarta.annotation.Nonnull private Side side; + @jakarta.annotation.Nullable private PricingSide side = PricingSide.SELL; public CreateOffersRequest() {} @@ -67,12 +67,10 @@ public CreateOffersRequest( @JsonProperty(value = JSON_PROPERTY_BASE_ASSET_ID, required = true) String baseAssetId, @JsonProperty(value = JSON_PROPERTY_QUOTE_ASSET_ID, required = true) String quoteAssetId, - @JsonProperty(value = JSON_PROPERTY_BASE_AMOUNT, required = true) String baseAmount, - @JsonProperty(value = JSON_PROPERTY_SIDE, required = true) Side side) { + @JsonProperty(value = JSON_PROPERTY_BASE_AMOUNT, required = true) String baseAmount) { this.baseAssetId = baseAssetId; this.quoteAssetId = quoteAssetId; this.baseAmount = baseAmount; - this.side = side; } public CreateOffersRequest baseAssetId(@jakarta.annotation.Nonnull String baseAssetId) { @@ -239,7 +237,7 @@ public void setSettlement(@jakarta.annotation.Nullable DVPSettlement settlement) this.settlement = settlement; } - public CreateOffersRequest side(@jakarta.annotation.Nonnull Side side) { + public CreateOffersRequest side(@jakarta.annotation.Nullable PricingSide side) { this.side = side; return this; } @@ -249,16 +247,16 @@ public CreateOffersRequest side(@jakarta.annotation.Nonnull Side side) { * * @return side */ - @jakarta.annotation.Nonnull + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_SIDE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public Side getSide() { + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public PricingSide getSide() { return side; } @JsonProperty(JSON_PROPERTY_SIDE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setSide(@jakarta.annotation.Nonnull Side side) { + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSide(@jakarta.annotation.Nullable PricingSide side) { this.side = side; } diff --git a/src/main/java/com/fireblocks/sdk/model/CreateQuote.java b/src/main/java/com/fireblocks/sdk/model/CreateQuote.java index c0dd071b..fc30b4ea 100644 --- a/src/main/java/com/fireblocks/sdk/model/CreateQuote.java +++ b/src/main/java/com/fireblocks/sdk/model/CreateQuote.java @@ -66,7 +66,7 @@ public class CreateQuote { @jakarta.annotation.Nullable private DVPSettlement settlement; public static final String JSON_PROPERTY_SIDE = "side"; - @jakarta.annotation.Nonnull private Side side; + @jakarta.annotation.Nullable private PricingSide side = PricingSide.SELL; public static final String JSON_PROPERTY_PARTICIPANTS_IDENTIFICATION = "participantsIdentification"; @@ -81,13 +81,11 @@ public CreateQuote( @JsonProperty(value = JSON_PROPERTY_BASE_ASSET_ID, required = true) String baseAssetId, @JsonProperty(value = JSON_PROPERTY_QUOTE_ASSET_ID, required = true) String quoteAssetId, - @JsonProperty(value = JSON_PROPERTY_BASE_AMOUNT, required = true) String baseAmount, - @JsonProperty(value = JSON_PROPERTY_SIDE, required = true) Side side) { + @JsonProperty(value = JSON_PROPERTY_BASE_AMOUNT, required = true) String baseAmount) { this.scope = scope; this.baseAssetId = baseAssetId; this.quoteAssetId = quoteAssetId; this.baseAmount = baseAmount; - this.side = side; } public CreateQuote scope(@jakarta.annotation.Nonnull List scope) { @@ -283,7 +281,7 @@ public void setSettlement(@jakarta.annotation.Nullable DVPSettlement settlement) this.settlement = settlement; } - public CreateQuote side(@jakarta.annotation.Nonnull Side side) { + public CreateQuote side(@jakarta.annotation.Nullable PricingSide side) { this.side = side; return this; } @@ -293,16 +291,16 @@ public CreateQuote side(@jakarta.annotation.Nonnull Side side) { * * @return side */ - @jakarta.annotation.Nonnull + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_SIDE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public Side getSide() { + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public PricingSide getSide() { return side; } @JsonProperty(JSON_PROPERTY_SIDE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setSide(@jakarta.annotation.Nonnull Side side) { + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSide(@jakarta.annotation.Nullable PricingSide side) { this.side = side; } diff --git a/src/main/java/com/fireblocks/sdk/model/ExtraParameters.java b/src/main/java/com/fireblocks/sdk/model/ExtraParameters.java index 775bc571..31e5c96d 100644 --- a/src/main/java/com/fireblocks/sdk/model/ExtraParameters.java +++ b/src/main/java/com/fireblocks/sdk/model/ExtraParameters.java @@ -32,9 +32,11 @@ * endpoint.](https://developers.fireblocks.com/reference/getunspentinputs) For `RAW` * operations, add the key `rawMessageData` with the value set to the [raw message data * structure.](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata) For - * `CONTRACT_CALL` operations, add the key `contractCallData` with the value set - * to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks - * [development + * `SOROBAN_CALL` operations, add the key `sorobanCallData` with the value set + * to an object containing `envelopeXdr` - a base64 encoded, unsigned Stellar + * `TransactionEnvelope` holding the contract invocation. For `CONTRACT_CALL` + * operations, add the key `contractCallData` with the value set to the Ethereum smart + * contract Application Binary Interface (ABI) payload. The Fireblocks [development * libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are * recommended for building contract call transactions. For **exchange compliance (e.g., Binance) * and Travel Rule purposes**, include the key `piiData` containing a **custom JSON @@ -43,14 +45,15 @@ * recommended encryption method is **hybrid encryption** using AES-256-GCM for the payload and * RSA-OAEP for key exchange, with the recipient exchange's public key. [development * libraries](https://developers.fireblocks.com/docs/a-developers-guide-to-constructing-encrypted-pii-messages-for-binance-via-fireblocks) - * **Note:** `rawMessageData`, `contractCallData`, and - * `inputsSelection` cannot be used together in the same call. + * **Note:** `rawMessageData`, `contractCallData`, `sorobanCallData`, + * and `inputsSelection` cannot be used together in the same call. */ @JsonPropertyOrder({ ExtraParameters.JSON_PROPERTY_NODE_CONTROLS, ExtraParameters.JSON_PROPERTY_RAW_MESSAGE_DATA, ExtraParameters.JSON_PROPERTY_CONTRACT_CALL_DATA, ExtraParameters.JSON_PROPERTY_PROGRAM_CALL_DATA, + ExtraParameters.JSON_PROPERTY_SOROBAN_CALL_DATA, ExtraParameters.JSON_PROPERTY_INPUTS_SELECTION, ExtraParameters.JSON_PROPERTY_ALLOW_BASE_ASSET_ADDRESS, ExtraParameters.JSON_PROPERTY_PII_DATA @@ -71,6 +74,9 @@ public class ExtraParameters extends HashMap { public static final String JSON_PROPERTY_PROGRAM_CALL_DATA = "programCallData"; @jakarta.annotation.Nullable private String programCallData; + public static final String JSON_PROPERTY_SOROBAN_CALL_DATA = "sorobanCallData"; + @jakarta.annotation.Nullable private SorobanCallData sorobanCallData; + public static final String JSON_PROPERTY_INPUTS_SELECTION = "inputsSelection"; @jakarta.annotation.Nullable private Map inputsSelection; @@ -192,6 +198,30 @@ public void setProgramCallData(@jakarta.annotation.Nullable String programCallDa this.programCallData = programCallData; } + public ExtraParameters sorobanCallData( + @jakarta.annotation.Nullable SorobanCallData sorobanCallData) { + this.sorobanCallData = sorobanCallData; + return this; + } + + /** + * Get sorobanCallData + * + * @return sorobanCallData + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SOROBAN_CALL_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SorobanCallData getSorobanCallData() { + return sorobanCallData; + } + + @JsonProperty(JSON_PROPERTY_SOROBAN_CALL_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSorobanCallData(@jakarta.annotation.Nullable SorobanCallData sorobanCallData) { + this.sorobanCallData = sorobanCallData; + } + public ExtraParameters inputsSelection( @jakarta.annotation.Nullable Map inputsSelection) { this.inputsSelection = inputsSelection; @@ -341,6 +371,7 @@ public boolean equals(Object o) { && Objects.equals(this.rawMessageData, extraParameters.rawMessageData) && Objects.equals(this.contractCallData, extraParameters.contractCallData) && Objects.equals(this.programCallData, extraParameters.programCallData) + && Objects.equals(this.sorobanCallData, extraParameters.sorobanCallData) && Objects.equals(this.inputsSelection, extraParameters.inputsSelection) && Objects.equals(this.allowBaseAssetAddress, extraParameters.allowBaseAssetAddress) && Objects.equals(this.piiData, extraParameters.piiData) @@ -355,6 +386,7 @@ public int hashCode() { rawMessageData, contractCallData, programCallData, + sorobanCallData, inputsSelection, allowBaseAssetAddress, piiData, @@ -371,6 +403,7 @@ public String toString() { sb.append(" rawMessageData: ").append(toIndentedString(rawMessageData)).append("\n"); sb.append(" contractCallData: ").append(toIndentedString(contractCallData)).append("\n"); sb.append(" programCallData: ").append(toIndentedString(programCallData)).append("\n"); + sb.append(" sorobanCallData: ").append(toIndentedString(sorobanCallData)).append("\n"); sb.append(" inputsSelection: ").append(toIndentedString(inputsSelection)).append("\n"); sb.append(" allowBaseAssetAddress: ") .append(toIndentedString(allowBaseAssetAddress)) @@ -482,6 +515,11 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getProgramCallData())))); } + // add `sorobanCallData` to the URL query string + if (getSorobanCallData() != null) { + joiner.add(getSorobanCallData().toUrlQueryString(prefix + "sorobanCallData" + suffix)); + } + // add `inputsSelection` to the URL query string if (getInputsSelection() != null) { for (String _key : getInputsSelection().keySet()) { diff --git a/src/main/java/com/fireblocks/sdk/model/GetTransactionOperation.java b/src/main/java/com/fireblocks/sdk/model/GetTransactionOperation.java index a3191410..db95cc8d 100644 --- a/src/main/java/com/fireblocks/sdk/model/GetTransactionOperation.java +++ b/src/main/java/com/fireblocks/sdk/model/GetTransactionOperation.java @@ -47,6 +47,7 @@ * blockchain. * `APPROVE` - Enables the approve function for a smart contract or wallet * to withdraw from a designated wallet. [Learn * more](https://support.fireblocks.io/hc/en-us/articles/4404616097426-Amount-Cap-for-Approve-transactions). + * * `SOROBAN_CALL` - Invokes a Soroban smart contract on the Stellar blockchain. */ public enum GetTransactionOperation { TRANSFER("TRANSFER"), @@ -71,7 +72,9 @@ public enum GetTransactionOperation { PROGRAM_CALL("PROGRAM_CALL"), - APPROVE("APPROVE"); + APPROVE("APPROVE"), + + SOROBAN_CALL("SOROBAN_CALL"); private String value; diff --git a/src/main/java/com/fireblocks/sdk/model/PricingSide.java b/src/main/java/com/fireblocks/sdk/model/PricingSide.java new file mode 100644 index 00000000..19f47357 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/PricingSide.java @@ -0,0 +1,72 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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; + +/** + * Side to price on a quote, rate or offer request. BUY: receive base / pay quote; SELL: give base / + * receive quote; BOTH: request pricing for both sides at once. Providers that support only one of + * the sides return entries for that side only. BOTH is accepted on requests only, never on order + * execution requests, and responses never return it: every returned quote, rate or offer carries a + * concrete BUY or SELL. When omitted, defaults to SELL. + */ +public enum PricingSide { + BUY("BUY"), + + SELL("SELL"), + + BOTH("BOTH"); + + private String value; + + PricingSide(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static PricingSide fromValue(String value) { + for (PricingSide b : PricingSide.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/Rate.java b/src/main/java/com/fireblocks/sdk/model/Rate.java index e175d9bf..4831cc22 100644 --- a/src/main/java/com/fireblocks/sdk/model/Rate.java +++ b/src/main/java/com/fireblocks/sdk/model/Rate.java @@ -28,7 +28,8 @@ Rate.JSON_PROPERTY_BASE_ASSET_RAIL, Rate.JSON_PROPERTY_QUOTE_ASSET_ID, Rate.JSON_PROPERTY_QUOTE_ASSET_RAIL, - Rate.JSON_PROPERTY_RATE + Rate.JSON_PROPERTY_RATE, + Rate.JSON_PROPERTY_SIDE }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -52,6 +53,9 @@ public class Rate { public static final String JSON_PROPERTY_RATE = "rate"; @jakarta.annotation.Nonnull private String rate; + public static final String JSON_PROPERTY_SIDE = "side"; + @jakarta.annotation.Nullable private Side side; + public Rate() {} @JsonCreator @@ -207,6 +211,29 @@ public void setRate(@jakarta.annotation.Nonnull String rate) { this.rate = rate; } + public Rate side(@jakarta.annotation.Nullable Side side) { + this.side = side; + return this; + } + + /** + * Get side + * + * @return side + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SIDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Side getSide() { + return side; + } + + @JsonProperty(JSON_PROPERTY_SIDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSide(@jakarta.annotation.Nullable Side side) { + this.side = side; + } + /** Return true if this Rate object is equal to o. */ @Override public boolean equals(Object o) { @@ -222,12 +249,14 @@ public boolean equals(Object o) { && Objects.equals(this.baseAssetRail, rate.baseAssetRail) && Objects.equals(this.quoteAssetId, rate.quoteAssetId) && Objects.equals(this.quoteAssetRail, rate.quoteAssetRail) - && Objects.equals(this.rate, rate.rate); + && Objects.equals(this.rate, rate.rate) + && Objects.equals(this.side, rate.side); } @Override public int hashCode() { - return Objects.hash(via, baseAssetId, baseAssetRail, quoteAssetId, quoteAssetRail, rate); + return Objects.hash( + via, baseAssetId, baseAssetRail, quoteAssetId, quoteAssetRail, rate, side); } @Override @@ -240,6 +269,7 @@ public String toString() { sb.append(" quoteAssetId: ").append(toIndentedString(quoteAssetId)).append("\n"); sb.append(" quoteAssetRail: ").append(toIndentedString(quoteAssetRail)).append("\n"); sb.append(" rate: ").append(toIndentedString(rate)).append("\n"); + sb.append(" side: ").append(toIndentedString(side)).append("\n"); sb.append("}"); return sb.toString(); } @@ -342,6 +372,16 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getRate())))); } + // add `side` to the URL query string + if (getSide() != null) { + joiner.add( + String.format( + "%sside%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSide())))); + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/RateOffer.java b/src/main/java/com/fireblocks/sdk/model/RateOffer.java index e7c0ffcc..997f0efe 100644 --- a/src/main/java/com/fireblocks/sdk/model/RateOffer.java +++ b/src/main/java/com/fireblocks/sdk/model/RateOffer.java @@ -30,6 +30,7 @@ RateOffer.JSON_PROPERTY_QUOTE_ASSET_ID, RateOffer.JSON_PROPERTY_QUOTE_ASSET_RAIL, RateOffer.JSON_PROPERTY_RATE, + RateOffer.JSON_PROPERTY_SIDE, RateOffer.JSON_PROPERTY_OFFER_TYPE }) @jakarta.annotation.Generated( @@ -54,6 +55,9 @@ public class RateOffer { public static final String JSON_PROPERTY_RATE = "rate"; @jakarta.annotation.Nonnull private String rate; + public static final String JSON_PROPERTY_SIDE = "side"; + @jakarta.annotation.Nullable private Side side; + /** The type of offer — RATE for indicative pricing. */ public enum OfferTypeEnum { RATE(String.valueOf("RATE")); @@ -246,6 +250,29 @@ public void setRate(@jakarta.annotation.Nonnull String rate) { this.rate = rate; } + public RateOffer side(@jakarta.annotation.Nullable Side side) { + this.side = side; + return this; + } + + /** + * Get side + * + * @return side + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SIDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Side getSide() { + return side; + } + + @JsonProperty(JSON_PROPERTY_SIDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSide(@jakarta.annotation.Nullable Side side) { + this.side = side; + } + public RateOffer offerType(@jakarta.annotation.Nonnull OfferTypeEnum offerType) { this.offerType = offerType; return this; @@ -285,13 +312,21 @@ public boolean equals(Object o) { && Objects.equals(this.quoteAssetId, rateOffer.quoteAssetId) && Objects.equals(this.quoteAssetRail, rateOffer.quoteAssetRail) && Objects.equals(this.rate, rateOffer.rate) + && Objects.equals(this.side, rateOffer.side) && Objects.equals(this.offerType, rateOffer.offerType); } @Override public int hashCode() { return Objects.hash( - via, baseAssetId, baseAssetRail, quoteAssetId, quoteAssetRail, rate, offerType); + via, + baseAssetId, + baseAssetRail, + quoteAssetId, + quoteAssetRail, + rate, + side, + offerType); } @Override @@ -304,6 +339,7 @@ public String toString() { sb.append(" quoteAssetId: ").append(toIndentedString(quoteAssetId)).append("\n"); sb.append(" quoteAssetRail: ").append(toIndentedString(quoteAssetRail)).append("\n"); sb.append(" rate: ").append(toIndentedString(rate)).append("\n"); + sb.append(" side: ").append(toIndentedString(side)).append("\n"); sb.append(" offerType: ").append(toIndentedString(offerType)).append("\n"); sb.append("}"); return sb.toString(); @@ -407,6 +443,16 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getRate())))); } + // add `side` to the URL query string + if (getSide() != null) { + joiner.add( + String.format( + "%sside%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSide())))); + } + // add `offerType` to the URL query string if (getOfferType() != null) { joiner.add( diff --git a/src/main/java/com/fireblocks/sdk/model/RatesRequest.java b/src/main/java/com/fireblocks/sdk/model/RatesRequest.java index b6a018ca..b0fb2842 100644 --- a/src/main/java/com/fireblocks/sdk/model/RatesRequest.java +++ b/src/main/java/com/fireblocks/sdk/model/RatesRequest.java @@ -28,7 +28,8 @@ RatesRequest.JSON_PROPERTY_SCOPE, RatesRequest.JSON_PROPERTY_BASE_ASSET_ID, RatesRequest.JSON_PROPERTY_QUOTE_ASSET_ID, - RatesRequest.JSON_PROPERTY_BASE_AMOUNT + RatesRequest.JSON_PROPERTY_BASE_AMOUNT, + RatesRequest.JSON_PROPERTY_SIDE }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -46,6 +47,9 @@ public class RatesRequest { public static final String JSON_PROPERTY_BASE_AMOUNT = "baseAmount"; @jakarta.annotation.Nullable private String baseAmount; + public static final String JSON_PROPERTY_SIDE = "side"; + @jakarta.annotation.Nullable private PricingSide side = PricingSide.SELL; + public RatesRequest() {} @JsonCreator @@ -159,6 +163,29 @@ public void setBaseAmount(@jakarta.annotation.Nullable String baseAmount) { this.baseAmount = baseAmount; } + public RatesRequest side(@jakarta.annotation.Nullable PricingSide side) { + this.side = side; + return this; + } + + /** + * Get side + * + * @return side + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SIDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public PricingSide getSide() { + return side; + } + + @JsonProperty(JSON_PROPERTY_SIDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSide(@jakarta.annotation.Nullable PricingSide side) { + this.side = side; + } + /** Return true if this RatesRequest object is equal to o. */ @Override public boolean equals(Object o) { @@ -172,12 +199,13 @@ public boolean equals(Object o) { return Objects.equals(this.scope, ratesRequest.scope) && Objects.equals(this.baseAssetId, ratesRequest.baseAssetId) && Objects.equals(this.quoteAssetId, ratesRequest.quoteAssetId) - && Objects.equals(this.baseAmount, ratesRequest.baseAmount); + && Objects.equals(this.baseAmount, ratesRequest.baseAmount) + && Objects.equals(this.side, ratesRequest.side); } @Override public int hashCode() { - return Objects.hash(scope, baseAssetId, quoteAssetId, baseAmount); + return Objects.hash(scope, baseAssetId, quoteAssetId, baseAmount, side); } @Override @@ -188,6 +216,7 @@ public String toString() { sb.append(" baseAssetId: ").append(toIndentedString(baseAssetId)).append("\n"); sb.append(" quoteAssetId: ").append(toIndentedString(quoteAssetId)).append("\n"); sb.append(" baseAmount: ").append(toIndentedString(baseAmount)).append("\n"); + sb.append(" side: ").append(toIndentedString(side)).append("\n"); sb.append("}"); return sb.toString(); } @@ -288,6 +317,16 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getBaseAmount())))); } + // add `side` to the URL query string + if (getSide() != null) { + joiner.add( + String.format( + "%sside%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSide())))); + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/SorobanCallData.java b/src/main/java/com/fireblocks/sdk/model/SorobanCallData.java new file mode 100644 index 00000000..28ce5d99 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/SorobanCallData.java @@ -0,0 +1,159 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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.fireblocks.sdk.ApiClient; +import java.util.Arrays; +import java.util.Objects; +import java.util.StringJoiner; + +/** + * The Soroban contract invocation to execute, for `SOROBAN_CALL` operations. Fireblocks + * decodes the submitted envelope, determines the footprint, resource fee, sequence number and + * authorization entries from its own simulation, and signs a transaction it rebuilt from the + * invocation. Only the contract invocation itself is carried through unchanged. + */ +@JsonPropertyOrder({SorobanCallData.JSON_PROPERTY_ENVELOPE_XDR}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class SorobanCallData { + public static final String JSON_PROPERTY_ENVELOPE_XDR = "envelopeXdr"; + @jakarta.annotation.Nonnull private byte[] envelopeXdr; + + public SorobanCallData() {} + + @JsonCreator + public SorobanCallData( + @JsonProperty(value = JSON_PROPERTY_ENVELOPE_XDR, required = true) byte[] envelopeXdr) { + this.envelopeXdr = envelopeXdr; + } + + public SorobanCallData envelopeXdr(@jakarta.annotation.Nonnull byte[] envelopeXdr) { + this.envelopeXdr = envelopeXdr; + return this; + } + + /** + * A base64 encoded, unsigned Stellar `TransactionEnvelope` carrying exactly one + * `invokeHostFunction` operation that invokes a contract. The API only checks that + * the value is present. The envelope is decoded and validated after the transaction is created, + * and a transaction whose envelope fails validation is not signed and ends as + * `FAILED`. An envelope is rejected if it carries signatures or authorization + * entries, a memo or a fee-bump wrapper, if its source account is not the Stellar address of + * the vault account, or if it has no bounded time window. A Stellar transaction cannot exceed + * 132096 bytes, about 176128 base64 characters. + * + * @return envelopeXdr + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ENVELOPE_XDR) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public byte[] getEnvelopeXdr() { + return envelopeXdr; + } + + @JsonProperty(JSON_PROPERTY_ENVELOPE_XDR) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setEnvelopeXdr(@jakarta.annotation.Nonnull byte[] envelopeXdr) { + this.envelopeXdr = envelopeXdr; + } + + /** Return true if this SorobanCallData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SorobanCallData sorobanCallData = (SorobanCallData) o; + return Arrays.equals(this.envelopeXdr, sorobanCallData.envelopeXdr); + } + + @Override + public int hashCode() { + return Objects.hash(Arrays.hashCode(envelopeXdr)); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SorobanCallData {\n"); + sb.append(" envelopeXdr: ").append(toIndentedString(envelopeXdr)).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 `envelopeXdr` to the URL query string + if (getEnvelopeXdr() != null) { + joiner.add( + String.format( + "%senvelopeXdr%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getEnvelopeXdr())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/TransactionOperation.java b/src/main/java/com/fireblocks/sdk/model/TransactionOperation.java index 7f6541f5..3a89e738 100644 --- a/src/main/java/com/fireblocks/sdk/model/TransactionOperation.java +++ b/src/main/java/com/fireblocks/sdk/model/TransactionOperation.java @@ -27,9 +27,19 @@ * libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are * recommended for building contract call transactions. * `PROGRAM_CALL` - Execute * multiple instructions on Solana blockchain. The @solana/web3.js library is recommended for - * building program call transactions. * `TYPED_MESSAGE` - An off-chain message in either - * Ethereum Personal Message or EIP712 format. Use it to sign specific readable messages that are - * not actual transactions. [Learn more about typed + * building program call transactions. * `SOROBAN_CALL` - Invokes a Soroban smart contract + * on the Stellar blockchain. The call is submitted as a base64-encoded, unsigned Stellar + * `TransactionEnvelope` in `extraParameters.sorobanCallData.envelopeXdr`, which + * is the same artifact a Soroban dApp hands a wallet. Fireblocks decodes the envelope, determines + * the footprint, resource fee, sequence number and authorization entries itself, and signs a + * transaction it rebuilt - the submitted envelope must therefore carry no signatures and no + * authorization entries. `assetId` is the fee asset (`XLM` or + * `XLM_TEST`), not the token being moved, and `destination` is the contract + * wallet or, when enabled for your workspace, a `ONE_TIME_ADDRESS` holding a Stellar + * contract address (`C...`). `amount` must be omitted or `0`. Fee + * estimation is not supported for this operation. * `TYPED_MESSAGE` - An off-chain + * message in either Ethereum Personal Message or EIP712 format. Use it to sign specific readable + * messages that are not actual transactions. [Learn more about typed * messages](https://developers.fireblocks.com/docs/typed-message-signing). * `RAW` - An * off-chain message with no predefined format. Use it to sign any message with your private key, * including protocols such as blockchains and custom transaction types that are not natively @@ -56,6 +66,8 @@ public enum TransactionOperation { PROGRAM_CALL("PROGRAM_CALL"), + SOROBAN_CALL("SOROBAN_CALL"), + MINT("MINT"), RAW("RAW"), diff --git a/src/main/java/com/fireblocks/sdk/model/TransferPeerPathType.java b/src/main/java/com/fireblocks/sdk/model/TransferPeerPathType.java index 87359898..7384186a 100644 --- a/src/main/java/com/fireblocks/sdk/model/TransferPeerPathType.java +++ b/src/main/java/com/fireblocks/sdk/model/TransferPeerPathType.java @@ -50,7 +50,9 @@ public enum TransferPeerPathType { OEC_PARTNER("OEC_PARTNER"), - WALLET_POOL("WALLET_POOL"); + WALLET_POOL("WALLET_POOL"), + + SOROBAN_CONTRACT("SOROBAN_CONTRACT"); private String value; diff --git a/src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java b/src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java index eb224f81..ab72bce1 100644 --- a/src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java @@ -18,6 +18,7 @@ import com.fireblocks.sdk.model.AddressRegistryAddVaultOptOutsResponse; import com.fireblocks.sdk.model.AddressRegistryCreateProofOfOwnershipRequest; import com.fireblocks.sdk.model.AddressRegistryCreateProofOfOwnershipResponse; +import com.fireblocks.sdk.model.AddressRegistryCustomerRegistryResponse; import com.fireblocks.sdk.model.AddressRegistryGetVaultOptOutResponse; import com.fireblocks.sdk.model.AddressRegistryLegalEntity; import com.fireblocks.sdk.model.AddressRegistryListVaultOptOutsResponse; @@ -212,10 +213,26 @@ public void deleteLegalEntityTest() { } /** - * Get address registry participation status for the authenticated workspace + * Get your customer's address registry default * - *

Returns whether the workspace is `OPTED_IN` or `OPTED_OUT` of the - * address registry. + *

Read your customer's organization-wide address registry setting. Workspaces without + * their own choice use this as the default. Returns `NOT_SET` when no choice has been + * made yet, or `OPTED_IN` / `OPTED_OUT` when one has. + */ + @Test + public void getAddressRegistryCustomerParticipationStatusTest() { + CompletableFuture> response = + api.getAddressRegistryCustomerParticipationStatus(); + } + + /** + * Get address registry status for this workspace + * + *

Check whether this workspace uses the address registry. The response is + * `OPTED_IN` or `OPTED_OUT`. If this workspace has not been configured yet, + * it follows your customer's default (see `GET /v1/address_registry/customer`) + * when that default is `OPTED_IN` or `OPTED_OUT`; otherwise the workspace + * is opted in by default. */ @Test public void getAddressRegistryTenantParticipationStatusTest() { @@ -427,10 +444,24 @@ public void listVaultsForLegalEntityTest() { } /** - * Opt the workspace in to the address registry + * Opt your customer in to the address registry * - *

Opts the workspace in. No request body. Response uses the same JSON shape as GET; status - * is OPTED_IN. + *

Set your customer's default to opted in. Workspaces without their own setting will + * follow this default. No request body. Returns `OPTED_IN`. If the customer for this + * workspace cannot be determined, returns HTTP 404 with error code **2147**. + */ + @Test + public void optInAddressRegistryCustomerTest() { + String idempotencyKey = null; + CompletableFuture> response = + api.optInAddressRegistryCustomer(idempotencyKey); + } + + /** + * Opt this workspace in to the address registry + * + *

Turn on the address registry for this workspace. No request body. Returns + * `OPTED_IN`. */ @Test public void optInAddressRegistryTenantTest() { @@ -440,10 +471,23 @@ public void optInAddressRegistryTenantTest() { } /** - * Opt the workspace out of the address registry + * Opt your customer out of the address registry + * + *

Set your customer's default to opted out. Workspaces without their own setting will + * follow this default. No request body. Returns `OPTED_OUT`. If the customer for this + * workspace cannot be determined, returns HTTP 404 with error code **2147**. + */ + @Test + public void optOutAddressRegistryCustomerTest() { + CompletableFuture> response = + api.optOutAddressRegistryCustomer(); + } + + /** + * Opt this workspace out of the address registry * - *

Opts the workspace out. No request body. Response uses the same JSON shape as GET; status - * is OPTED_OUT. + *

Turn off the address registry for this workspace. No request body. Returns + * `OPTED_OUT`. */ @Test public void optOutAddressRegistryTenantTest() { diff --git a/src/test/java/com/fireblocks/sdk/api/TradingApiTest.java b/src/test/java/com/fireblocks/sdk/api/TradingApiTest.java index 86a3a251..4f563174 100644 --- a/src/test/java/com/fireblocks/sdk/api/TradingApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/TradingApiTest.java @@ -60,9 +60,13 @@ public void createOrderTest() { * Create a quote * *

Generate a time-limited quote for asset conversion, providing exchange rate and amount - * calculations. Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For - * detailed information about error codes and troubleshooting, please refer to our [API Error - * Codes documentation](https://developers.fireblocks.com/reference/api-error-codes). + * calculations. If `side` is omitted it defaults to `SELL`. Use `side: + * BOTH` to get quotes for each side the provider supports in a single call; providers that + * support only one side return that side only. Every returned quote carries a concrete + * `BUY` or `SELL` side, never `BOTH`. Endpoint Permission: Owner, + * Admin, Non-Signing Admin, Signer, Editor. For detailed information about error codes and + * troubleshooting, please refer to our [API Error Codes + * documentation](https://developers.fireblocks.com/reference/api-error-codes). */ @Test public void createQuoteTest() { @@ -77,10 +81,14 @@ public void createQuoteTest() { * *

Retrieve all available offers across the workspace for a given asset pair. Always operates * in open scope — no provider or account selection required. Returns a mix of indicative rates - * and committed quotes as applicable per provider. If no slippageBps is provided, it defaults - * to 50 bps (0.5%). Slippage and settlement configuration do not affect the returned rate. - * Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor. For detailed - * information about error codes and troubleshooting, please refer to our [API Error Codes + * and committed quotes as applicable per provider. If `side` is omitted it defaults + * to `SELL`. Use `side: BOTH` to get offers for each side the provider + * supports in a single call; providers that support only one side return that side only. Every + * returned offer carries a concrete `BUY` or `SELL` side, never + * `BOTH`. If no slippageBps is provided, it defaults to 50 bps (0.5%). Slippage and + * settlement configuration do not affect the returned rate. Endpoint Permission: Owner, Admin, + * Non-Signing Admin, Signer, Editor. For detailed information about error codes and + * troubleshooting, please refer to our [API Error Codes * documentation](https://developers.fireblocks.com/reference/api-error-codes). */ @Test @@ -95,9 +103,13 @@ public void fetchAllOffersTest() { * Get rates * *

Retrieve indicative exchange rate from specified providers for a given asset pair. Rates - * are non-executable price signals intended for discovery and display purposes. Endpoint - * Permission: Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. For detailed - * information about error codes and troubleshooting, please refer to our [API Error Codes + * are non-executable price signals intended for discovery and display purposes. If + * `side` is omitted it defaults to `SELL`. Use `side: BOTH` to + * get rates for each side the provider supports in a single call; providers that support only + * one side return that side only. Every returned rate carries a concrete `BUY` or + * `SELL` side, never `BOTH`. Endpoint Permission: Owner, Admin, Non-Signing + * Admin, Signer, Approver, Editor, Viewer. For detailed information about error codes and + * troubleshooting, please refer to our [API Error Codes * documentation](https://developers.fireblocks.com/reference/api-error-codes). */ @Test diff --git a/src/test/java/com/fireblocks/sdk/api/TransactionsApiTest.java b/src/test/java/com/fireblocks/sdk/api/TransactionsApiTest.java index 533df88f..b7c58dd8 100644 --- a/src/test/java/com/fireblocks/sdk/api/TransactionsApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/TransactionsApiTest.java @@ -122,7 +122,9 @@ public void estimateNetworkFeeTest() { * a transaction which means that the system will expect to have the requested asset and balance * in the specified wallet. **Note**: Supports all Fireblocks assets except ZCash (ZEC). The * PROGRAM_CALL operation is not supported by this endpoint — fee estimation for Solana program - * calls is not available. Learn more about Fireblocks Fee Management in the following + * calls is not available. The SOROBAN_CALL operation is not supported by this endpoint - fee + * estimation for Stellar Soroban contract calls is not available. Learn more about Fireblocks + * Fee Management in the following * [guide](https://developers.fireblocks.com/reference/estimate-transaction-fee). Endpoint * Permission: Admin, Signer, Approver, Editor. */ diff --git a/src/test/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponseTest.java b/src/test/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponseTest.java new file mode 100644 index 00000000..dff1ff9b --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/AddressRegistryCustomerRegistryResponseTest.java @@ -0,0 +1,34 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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.jupiter.api.Test; + +/** Model tests for AddressRegistryCustomerRegistryResponse */ +class AddressRegistryCustomerRegistryResponseTest { + private final AddressRegistryCustomerRegistryResponse model = + new AddressRegistryCustomerRegistryResponse(); + + /** Model tests for AddressRegistryCustomerRegistryResponse */ + @Test + void testAddressRegistryCustomerRegistryResponse() { + // TODO: test AddressRegistryCustomerRegistryResponse + } + + /** Test the property 'status' */ + @Test + void statusTest() { + // TODO: test status + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/ExtraParametersTest.java b/src/test/java/com/fireblocks/sdk/model/ExtraParametersTest.java index 46a1b034..f3f285c7 100644 --- a/src/test/java/com/fireblocks/sdk/model/ExtraParametersTest.java +++ b/src/test/java/com/fireblocks/sdk/model/ExtraParametersTest.java @@ -49,6 +49,12 @@ void programCallDataTest() { // TODO: test programCallData } + /** Test the property 'sorobanCallData' */ + @Test + void sorobanCallDataTest() { + // TODO: test sorobanCallData + } + /** Test the property 'inputsSelection' */ @Test void inputsSelectionTest() { diff --git a/src/test/java/com/fireblocks/sdk/model/OfferTest.java b/src/test/java/com/fireblocks/sdk/model/OfferTest.java index 8d76092c..e8aa7c0c 100644 --- a/src/test/java/com/fireblocks/sdk/model/OfferTest.java +++ b/src/test/java/com/fireblocks/sdk/model/OfferTest.java @@ -61,6 +61,12 @@ void rateTest() { // TODO: test rate } + /** Test the property 'side' */ + @Test + void sideTest() { + // TODO: test side + } + /** Test the property 'offerType' */ @Test void offerTypeTest() { @@ -115,12 +121,6 @@ void generalFeesTest() { // TODO: test generalFees } - /** Test the property 'side' */ - @Test - void sideTest() { - // TODO: test side - } - /** Test the property 'expiresAt' */ @Test void expiresAtTest() { diff --git a/src/test/java/com/fireblocks/sdk/model/PricingSideTest.java b/src/test/java/com/fireblocks/sdk/model/PricingSideTest.java new file mode 100644 index 00000000..f4739f65 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/PricingSideTest.java @@ -0,0 +1,25 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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.jupiter.api.Test; + +/** Model tests for PricingSide */ +class PricingSideTest { + /** Model tests for PricingSide */ + @Test + void testPricingSide() { + // TODO: test PricingSide + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/RateOfferTest.java b/src/test/java/com/fireblocks/sdk/model/RateOfferTest.java index b02b3af7..53165f24 100644 --- a/src/test/java/com/fireblocks/sdk/model/RateOfferTest.java +++ b/src/test/java/com/fireblocks/sdk/model/RateOfferTest.java @@ -61,6 +61,12 @@ void rateTest() { // TODO: test rate } + /** Test the property 'side' */ + @Test + void sideTest() { + // TODO: test side + } + /** Test the property 'offerType' */ @Test void offerTypeTest() { diff --git a/src/test/java/com/fireblocks/sdk/model/RateTest.java b/src/test/java/com/fireblocks/sdk/model/RateTest.java index 60a99d7a..57b4cb3c 100644 --- a/src/test/java/com/fireblocks/sdk/model/RateTest.java +++ b/src/test/java/com/fireblocks/sdk/model/RateTest.java @@ -60,4 +60,10 @@ void quoteAssetRailTest() { void rateTest() { // TODO: test rate } + + /** Test the property 'side' */ + @Test + void sideTest() { + // TODO: test side + } } diff --git a/src/test/java/com/fireblocks/sdk/model/RatesRequestTest.java b/src/test/java/com/fireblocks/sdk/model/RatesRequestTest.java index 5d01c22b..c21589f3 100644 --- a/src/test/java/com/fireblocks/sdk/model/RatesRequestTest.java +++ b/src/test/java/com/fireblocks/sdk/model/RatesRequestTest.java @@ -48,4 +48,10 @@ void quoteAssetIdTest() { void baseAmountTest() { // TODO: test baseAmount } + + /** Test the property 'side' */ + @Test + void sideTest() { + // TODO: test side + } } diff --git a/src/test/java/com/fireblocks/sdk/model/SorobanCallDataTest.java b/src/test/java/com/fireblocks/sdk/model/SorobanCallDataTest.java new file mode 100644 index 00000000..eb3e1441 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/SorobanCallDataTest.java @@ -0,0 +1,33 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@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.jupiter.api.Test; + +/** Model tests for SorobanCallData */ +class SorobanCallDataTest { + private final SorobanCallData model = new SorobanCallData(); + + /** Model tests for SorobanCallData */ + @Test + void testSorobanCallData() { + // TODO: test SorobanCallData + } + + /** Test the property 'envelopeXdr' */ + @Test + void envelopeXdrTest() { + // TODO: test envelopeXdr + } +}