From 742146b0c9ad62dec3e8426ec4f607ac0700420a Mon Sep 17 00:00:00 2001 From: fireblocks_dx_team Date: Thu, 23 Jul 2026 13:49:28 +0000 Subject: [PATCH] Generated SDK #2700459745 --- .github/workflows/draft-release-from-pr.yml | 1 + .openapi-generator/FILES | 108 +- CHANGELOG.md | 239 -- README.md | 68 +- api/openapi.yaml | 3002 +++++++++++++++-- build.gradle | 2 +- docs/ActivateBlockchainResponse.md | 13 + docs/AddConnectedAccountRequest.md | 2 +- docs/AmlBypassReasonEnum.md | 29 + docs/AmlScreeningResult.md | 19 +- docs/Apy.md | 1 + docs/AutomationSettingsRequest.md | 24 + docs/AutomationSettingsResponse.md | 25 + docs/Blockchain.md | 61 + docs/BlockchainDeclaredProperties.md | 54 + docs/BlockchainEnvironment.md | 13 + docs/BlockchainLinkBetaApi.md | 779 +++++ docs/BlockchainRpcAuth.md | 29 + docs/BlockchainSortField.md | 17 + docs/BlockchainStateFilter.md | 21 + docs/ComplianceApi.md | 88 + docs/ConnectedAccountsBetaApi.md | 88 +- docs/CreateBlockchainRequest.md | 14 + docs/CreateBlockchainResponse.md | 14 + docs/CreateTagRequest.md | 1 + docs/{EarnBetaApi.md => EarnApi.md} | 86 +- docs/EarnCurator.md | 14 + docs/EarnMetadata.md | 14 + docs/GetAutomationSettingsResponse.md | 13 + docs/GetBillingInfoResponse.md | 14 + docs/GetBlockchainByIdResponse.md | 13 + ...tedAccountsCredentialsPublicKeyResponse.md | 13 + docs/GetTestWalletAddressResponse.md | 13 + docs/ListBlockchainsResponse2.md | 16 + docs/MomoPaymentInfo.md | 1 + docs/Opportunity.md | 4 + docs/PolicyEditorV2BetaApi.md | 99 + docs/PolicyRuleQuotaParticipant.md | 15 + docs/PolicyRuleQuotaRequest.md | 16 + docs/PolicyRuleQuotaResponse.md | 18 + docs/Position2.md | 1 + docs/ProgramCallDecodedDataItem.md | 16 + docs/RescreenTransactionRequest.md | 13 + docs/RescreenTransactionResponse.md | 13 + docs/SaveAutomationSettingsResponse.md | 13 + docs/ScreeningStatusEnum.md | 19 + docs/ScreeningVerdictEnum.md | 2 + docs/Tag.md | 1 + docs/TagsApi.md | 6 +- docs/TimeBasedTrigger.md | 26 + docs/TransactionFee.md | 6 +- docs/TransactionResponse.md | 1 + docs/TriggerValidationFlowResponse.md | 13 + docs/UpdateAutomationSettingsRequest.md | 14 + docs/UpdateBlockchainResponse.md | 14 + docs/UtxoManagementBetaApi.md | 8 +- docs/VaultsApi.md | 363 +- pom.xml | 2 +- .../com/fireblocks/sdk/Configuration.java | 2 +- .../java/com/fireblocks/sdk/Fireblocks.java | 26 +- .../sdk/api/BlockchainLinkBetaApi.java | 824 +++++ .../com/fireblocks/sdk/api/ComplianceApi.java | 96 + .../sdk/api/ConnectedAccountsBetaApi.java | 80 +- .../api/{EarnBetaApi.java => EarnApi.java} | 27 +- .../sdk/api/PolicyEditorV2BetaApi.java | 158 + .../java/com/fireblocks/sdk/api/TagsApi.java | 14 +- .../sdk/api/UtxoManagementBetaApi.java | 14 + .../com/fireblocks/sdk/api/VaultsApi.java | 426 ++- .../sdk/model/ActivateBlockchainResponse.java | 146 + .../sdk/model/AddConnectedAccountRequest.java | 2 +- .../sdk/model/AmlBypassReasonEnum.java | 80 + .../sdk/model/AmlScreeningResult.java | 570 +++- .../java/com/fireblocks/sdk/model/Apy.java | 52 +- .../sdk/model/AutomationSettingsRequest.java | 260 ++ .../sdk/model/AutomationSettingsResponse.java | 344 ++ .../com/fireblocks/sdk/model/Blockchain.java | 774 +++++ .../model/BlockchainDeclaredProperties.java | 1059 ++++++ .../sdk/model/BlockchainEnvironment.java | 64 + .../sdk/model/BlockchainRpcAuth.java | 384 +++ .../sdk/model/BlockchainSortField.java | 68 + .../sdk/model/BlockchainStateFilter.java | 72 + .../sdk/model/CreateBlockchainRequest.java | 147 + .../sdk/model/CreateBlockchainResponse.java | 184 + .../sdk/model/CreateTagRequest.java | 71 +- .../com/fireblocks/sdk/model/EarnCurator.java | 178 + .../fireblocks/sdk/model/EarnMetadata.java | 178 + .../model/GetAutomationSettingsResponse.java | 171 + .../sdk/model/GetBillingInfoResponse.java | 209 ++ .../sdk/model/GetBlockchainByIdResponse.java | 141 + ...dAccountsCredentialsPublicKeyResponse.java | 152 + .../model/GetTestWalletAddressResponse.java | 144 + .../sdk/model/ListBlockchainsResponse2.java | 293 ++ .../fireblocks/sdk/model/MomoPaymentInfo.java | 4 +- .../com/fireblocks/sdk/model/Opportunity.java | 156 +- .../sdk/model/PolicyRuleQuotaParticipant.java | 187 + .../sdk/model/PolicyRuleQuotaRequest.java | 258 ++ .../sdk/model/PolicyRuleQuotaResponse.java | 337 ++ .../com/fireblocks/sdk/model/Position2.java | 41 + .../sdk/model/ProgramCallDecodedDataItem.java | 254 ++ .../sdk/model/RescreenTransactionRequest.java | 145 + .../model/RescreenTransactionResponse.java | 146 + .../model/SaveAutomationSettingsResponse.java | 149 + .../sdk/model/ScreeningStatusEnum.java | 72 + .../sdk/model/ScreeningVerdictEnum.java | 6 +- .../java/com/fireblocks/sdk/model/Tag.java | 61 + .../sdk/model/TimeBasedTrigger.java | 271 ++ .../fireblocks/sdk/model/TransactionFee.java | 25 +- .../sdk/model/TransactionResponse.java | 70 + .../model/TriggerValidationFlowResponse.java | 147 + .../UpdateAutomationSettingsRequest.java | 143 + .../sdk/model/UpdateBlockchainResponse.java | 184 + .../com/fireblocks/sdk/FireblocksTest.java | 24 +- .../sdk/api/BlockchainLinkBetaApiTest.java | 197 ++ .../fireblocks/sdk/api/ComplianceApiTest.java | 20 + .../sdk/api/ConnectedAccountsBetaApiTest.java | 21 +- ...{EarnBetaApiTest.java => EarnApiTest.java} | 27 +- .../sdk/api/PolicyEditorV2BetaApiTest.java | 45 + .../com/fireblocks/sdk/api/TagsApiTest.java | 4 +- .../sdk/api/UtxoManagementBetaApiTest.java | 5 + .../com/fireblocks/sdk/api/VaultsApiTest.java | 101 +- .../model/ActivateBlockchainResponseTest.java | 33 + .../sdk/model/AmlBypassReasonEnumTest.java | 25 + .../sdk/model/AmlScreeningResultTest.java | 78 + .../com/fireblocks/sdk/model/ApyTest.java | 6 + .../model/AutomationSettingsRequestTest.java | 45 + .../model/AutomationSettingsResponseTest.java | 57 + .../BlockchainDeclaredPropertiesTest.java | 147 + .../sdk/model/BlockchainEnvironmentTest.java | 25 + .../sdk/model/BlockchainRpcAuthTest.java | 63 + .../sdk/model/BlockchainSortFieldTest.java | 25 + .../sdk/model/BlockchainStateFilterTest.java | 25 + .../fireblocks/sdk/model/BlockchainTest.java | 99 + .../model/CreateBlockchainRequestTest.java | 33 + .../model/CreateBlockchainResponseTest.java | 39 + .../sdk/model/CreateTagRequestTest.java | 6 + .../fireblocks/sdk/model/EarnCuratorTest.java | 39 + .../sdk/model/EarnMetadataTest.java | 39 + .../GetAutomationSettingsResponseTest.java | 33 + .../sdk/model/GetBillingInfoResponseTest.java | 39 + .../model/GetBlockchainByIdResponseTest.java | 33 + ...ountsCredentialsPublicKeyResponseTest.java | 34 + .../GetTestWalletAddressResponseTest.java | 33 + .../model/ListBlockchainsResponse2Test.java | 51 + .../fireblocks/sdk/model/OpportunityTest.java | 24 + .../model/PolicyRuleQuotaParticipantTest.java | 39 + .../sdk/model/PolicyRuleQuotaRequestTest.java | 51 + .../model/PolicyRuleQuotaResponseTest.java | 63 + .../fireblocks/sdk/model/Position2Test.java | 6 + .../model/ProgramCallDecodedDataItemTest.java | 45 + .../model/RescreenTransactionRequestTest.java | 33 + .../RescreenTransactionResponseTest.java | 33 + .../SaveAutomationSettingsResponseTest.java | 33 + .../sdk/model/ScreeningStatusEnumTest.java | 25 + .../com/fireblocks/sdk/model/TagTest.java | 6 + .../sdk/model/TimeBasedTriggerTest.java | 45 + .../sdk/model/TransactionResponseTest.java | 6 + .../TriggerValidationFlowResponseTest.java | 33 + .../UpdateAutomationSettingsRequestTest.java | 33 + .../model/UpdateBlockchainResponseTest.java | 39 + 159 files changed, 16963 insertions(+), 660 deletions(-) delete mode 100644 CHANGELOG.md create mode 100644 docs/ActivateBlockchainResponse.md create mode 100644 docs/AmlBypassReasonEnum.md create mode 100644 docs/AutomationSettingsRequest.md create mode 100644 docs/AutomationSettingsResponse.md create mode 100644 docs/Blockchain.md create mode 100644 docs/BlockchainDeclaredProperties.md create mode 100644 docs/BlockchainEnvironment.md create mode 100644 docs/BlockchainLinkBetaApi.md create mode 100644 docs/BlockchainRpcAuth.md create mode 100644 docs/BlockchainSortField.md create mode 100644 docs/BlockchainStateFilter.md create mode 100644 docs/CreateBlockchainRequest.md create mode 100644 docs/CreateBlockchainResponse.md rename docs/{EarnBetaApi.md => EarnApi.md} (87%) create mode 100644 docs/EarnCurator.md create mode 100644 docs/EarnMetadata.md create mode 100644 docs/GetAutomationSettingsResponse.md create mode 100644 docs/GetBillingInfoResponse.md create mode 100644 docs/GetBlockchainByIdResponse.md create mode 100644 docs/GetConnectedAccountsCredentialsPublicKeyResponse.md create mode 100644 docs/GetTestWalletAddressResponse.md create mode 100644 docs/ListBlockchainsResponse2.md create mode 100644 docs/PolicyEditorV2BetaApi.md create mode 100644 docs/PolicyRuleQuotaParticipant.md create mode 100644 docs/PolicyRuleQuotaRequest.md create mode 100644 docs/PolicyRuleQuotaResponse.md create mode 100644 docs/ProgramCallDecodedDataItem.md create mode 100644 docs/RescreenTransactionRequest.md create mode 100644 docs/RescreenTransactionResponse.md create mode 100644 docs/SaveAutomationSettingsResponse.md create mode 100644 docs/ScreeningStatusEnum.md create mode 100644 docs/TimeBasedTrigger.md create mode 100644 docs/TriggerValidationFlowResponse.md create mode 100644 docs/UpdateAutomationSettingsRequest.md create mode 100644 docs/UpdateBlockchainResponse.md create mode 100644 src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java rename src/main/java/com/fireblocks/sdk/api/{EarnBetaApi.java => EarnApi.java} (97%) create mode 100644 src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java create mode 100644 src/main/java/com/fireblocks/sdk/model/ActivateBlockchainResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/AmlBypassReasonEnum.java create mode 100644 src/main/java/com/fireblocks/sdk/model/AutomationSettingsRequest.java create mode 100644 src/main/java/com/fireblocks/sdk/model/AutomationSettingsResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/Blockchain.java create mode 100644 src/main/java/com/fireblocks/sdk/model/BlockchainDeclaredProperties.java create mode 100644 src/main/java/com/fireblocks/sdk/model/BlockchainEnvironment.java create mode 100644 src/main/java/com/fireblocks/sdk/model/BlockchainRpcAuth.java create mode 100644 src/main/java/com/fireblocks/sdk/model/BlockchainSortField.java create mode 100644 src/main/java/com/fireblocks/sdk/model/BlockchainStateFilter.java create mode 100644 src/main/java/com/fireblocks/sdk/model/CreateBlockchainRequest.java create mode 100644 src/main/java/com/fireblocks/sdk/model/CreateBlockchainResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/EarnCurator.java create mode 100644 src/main/java/com/fireblocks/sdk/model/EarnMetadata.java create mode 100644 src/main/java/com/fireblocks/sdk/model/GetAutomationSettingsResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/GetBillingInfoResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/GetBlockchainByIdResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/GetTestWalletAddressResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/ListBlockchainsResponse2.java create mode 100644 src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipant.java create mode 100644 src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequest.java create mode 100644 src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItem.java create mode 100644 src/main/java/com/fireblocks/sdk/model/RescreenTransactionRequest.java create mode 100644 src/main/java/com/fireblocks/sdk/model/RescreenTransactionResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/ScreeningStatusEnum.java create mode 100644 src/main/java/com/fireblocks/sdk/model/TimeBasedTrigger.java create mode 100644 src/main/java/com/fireblocks/sdk/model/TriggerValidationFlowResponse.java create mode 100644 src/main/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequest.java create mode 100644 src/main/java/com/fireblocks/sdk/model/UpdateBlockchainResponse.java create mode 100644 src/test/java/com/fireblocks/sdk/api/BlockchainLinkBetaApiTest.java rename src/test/java/com/fireblocks/sdk/api/{EarnBetaApiTest.java => EarnApiTest.java} (83%) create mode 100644 src/test/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApiTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/ActivateBlockchainResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/AmlBypassReasonEnumTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/AutomationSettingsRequestTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/AutomationSettingsResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/BlockchainDeclaredPropertiesTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/BlockchainEnvironmentTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/BlockchainRpcAuthTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/BlockchainSortFieldTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/BlockchainStateFilterTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/BlockchainTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/CreateBlockchainRequestTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/CreateBlockchainResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/EarnCuratorTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/EarnMetadataTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/GetAutomationSettingsResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/GetBillingInfoResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/GetBlockchainByIdResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/GetTestWalletAddressResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/ListBlockchainsResponse2Test.java create mode 100644 src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipantTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequestTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItemTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/RescreenTransactionRequestTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/RescreenTransactionResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/ScreeningStatusEnumTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/TimeBasedTriggerTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/TriggerValidationFlowResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequestTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/UpdateBlockchainResponseTest.java diff --git a/.github/workflows/draft-release-from-pr.yml b/.github/workflows/draft-release-from-pr.yml index ae3c2269..794d1750 100644 --- a/.github/workflows/draft-release-from-pr.yml +++ b/.github/workflows/draft-release-from-pr.yml @@ -12,6 +12,7 @@ permissions: jobs: draft-release: runs-on: ubuntu-latest + if: "!startsWith(github.event.head_commit.message, 'release ')" steps: - name: Checkout repository diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index cc9f31b3..0c7fea12 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -32,6 +32,7 @@ docs/AchAddress.md docs/AchDestination.md docs/AchPaymentInfo.md docs/ActionRecord.md +docs/ActivateBlockchainResponse.md docs/ActiveRolesResponse.md docs/AdapterProcessingResult.md docs/AddAbiRequestDto.md @@ -75,6 +76,7 @@ docs/AllowlistEntryStatus.md docs/AllowlistMetadata.md docs/AllowlistResponse.md docs/AmlAlert.md +docs/AmlBypassReasonEnum.md docs/AmlMatchedRule.md docs/AmlRegistrationResult.md docs/AmlRegistrationResultFullPayload.md @@ -137,6 +139,8 @@ docs/AuditLogsApi.md docs/AuditorData.md docs/AuthorizationGroups.md docs/AuthorizationInfo.md +docs/AutomationSettingsRequest.md +docs/AutomationSettingsResponse.md docs/BalanceHistoryItemDto.md docs/BalanceHistoryPagedResponse.md docs/BalanceHistoryPagedResponse2.md @@ -144,14 +148,21 @@ docs/BankAddress.md docs/BaseProvider.md docs/BasicAddressRequest.md docs/BlockInfo.md +docs/Blockchain.md docs/BlockchainAddress.md +docs/BlockchainDeclaredProperties.md docs/BlockchainDestination.md +docs/BlockchainEnvironment.md docs/BlockchainExplorer.md +docs/BlockchainLinkBetaApi.md docs/BlockchainMedia.md docs/BlockchainMetadata.md docs/BlockchainNotFoundErrorResponse.md docs/BlockchainOnchain.md docs/BlockchainResponse.md +docs/BlockchainRpcAuth.md +docs/BlockchainSortField.md +docs/BlockchainStateFilter.md docs/BlockchainTransfer.md docs/BlockchainsAssetsApi.md docs/BpsFee.md @@ -266,6 +277,8 @@ docs/CreateAddressRequest.md docs/CreateAddressResponse.md docs/CreateAddressesReportRequest.md docs/CreateAssetsRequest.md +docs/CreateBlockchainRequest.md +docs/CreateBlockchainResponse.md docs/CreateConfigOperationRequest.md docs/CreateConnectionRequest.md docs/CreateConnectionResponse.md @@ -358,8 +371,10 @@ docs/DropTransactionResponse.md docs/DvnConfig.md docs/DvnConfigWithConfirmations.md docs/EVMTokenCreateParamsDto.md +docs/EarnApi.md docs/EarnAsset.md -docs/EarnBetaApi.md +docs/EarnCurator.md +docs/EarnMetadata.md docs/EarnProvider.md docs/EditGasStationConfigurationResponse.md docs/EmbeddedWallet.md @@ -460,7 +475,11 @@ docs/GetAPIUsersResponse.md docs/GetActionResponse.md docs/GetActionsResponse.md docs/GetAuditLogsResponse.md +docs/GetAutomationSettingsResponse.md +docs/GetBillingInfoResponse.md +docs/GetBlockchainByIdResponse.md docs/GetByorkVerdictResponse.md +docs/GetConnectedAccountsCredentialsPublicKeyResponse.md docs/GetConnectionsResponse.md docs/GetConsoleUsersResponse.md docs/GetDeployableAddressRequest.md @@ -482,6 +501,7 @@ docs/GetPagedExchangeAccountsResponsePaging.md docs/GetPositionsResponse.md docs/GetProvidersResponse.md docs/GetSigningKeyResponseDto.md +docs/GetTestWalletAddressResponse.md docs/GetTransactionOperation.md docs/GetValidationKeyResponseDto.md docs/GetWhitelistIpAddressesResponse.md @@ -549,6 +569,7 @@ docs/LeiStatus.md docs/LinkedTokensCount.md docs/ListAssetsResponse.md docs/ListBlockchainsResponse.md +docs/ListBlockchainsResponse2.md docs/ListLegalEntitiesResponse.md docs/ListOwnedCollectionsResponse.md docs/ListOwnedTokensResponse.md @@ -675,12 +696,16 @@ docs/PolicyCheckResult.md docs/PolicyCurrency.md docs/PolicyEditorBetaApi.md docs/PolicyEditorV2Api.md +docs/PolicyEditorV2BetaApi.md docs/PolicyMetadataEntry.md docs/PolicyOperator.md docs/PolicyResponse.md docs/PolicyRule.md docs/PolicyRuleCheckResult.md docs/PolicyRuleError.md +docs/PolicyRuleQuotaParticipant.md +docs/PolicyRuleQuotaRequest.md +docs/PolicyRuleQuotaResponse.md docs/PolicyStatus.md docs/PolicyTag.md docs/PolicyType.md @@ -695,6 +720,7 @@ docs/PreScreening.md docs/PrefundedSettlement.md docs/PrefundedSettlementType.md docs/ProgramCallConfig.md +docs/ProgramCallDecodedDataItem.md docs/Provider.md docs/ProvidersListResponse.md docs/PublicKeyInformation.md @@ -747,6 +773,8 @@ docs/ReportOutputFormat.md docs/ReportStatus.md docs/ReportType.md docs/ReportsBetaApi.md +docs/RescreenTransactionRequest.md +docs/RescreenTransactionResponse.md docs/ResendByQueryRequest.md docs/ResendByQueryResponse.md docs/ResendFailedNotificationsJobStatusResponse.md @@ -769,6 +797,7 @@ docs/SEPAAddress.md docs/SEPADestination.md docs/SOLAccount.md docs/SOLAccountWithValue.md +docs/SaveAutomationSettingsResponse.md docs/ScopeItem.md docs/ScopeItemFailure.md docs/ScreeningAlertExposureTypeEnum.md @@ -786,6 +815,7 @@ docs/ScreeningPolicyAmountRange.md docs/ScreeningPolicyCurrency.md docs/ScreeningPolicyResponse.md docs/ScreeningProviderRulesConfigurationResponse.md +docs/ScreeningStatusEnum.md docs/ScreeningTRLinkAmount.md docs/ScreeningTRLinkMissingTrmDecision.md docs/ScreeningTRLinkMissingTrmRule.md @@ -993,6 +1023,7 @@ docs/TagsApi.md docs/TagsPagedResponse.md docs/TemplatesPaginatedResponse.md docs/ThirdPartyRouting.md +docs/TimeBasedTrigger.md docs/TimePeriodConfig.md docs/TimePeriodMatchType.md docs/ToCollateralTransaction.md @@ -1102,6 +1133,7 @@ docs/TravelRuleValidateTransactionRequest.md docs/TravelRuleValidateTransactionResponse.md docs/TravelRuleVaspForVault.md docs/TravelRuleVerdictEnum.md +docs/TriggerValidationFlowResponse.md docs/TrustProofOfAddressCreateResponse.md docs/TrustProofOfAddressRequest.md docs/TrustProofOfAddressResponse.md @@ -1115,6 +1147,8 @@ docs/UnspentInput.md docs/UnspentInputsResponse.md docs/UnstakeRequest.md docs/UpdateAssetUserMetadataRequest.md +docs/UpdateAutomationSettingsRequest.md +docs/UpdateBlockchainResponse.md docs/UpdateCallbackHandlerRequest.md docs/UpdateCallbackHandlerResponse.md docs/UpdateCounterpartyGroupRequest.md @@ -1219,6 +1253,7 @@ src/main/java/com/fireblocks/sdk/UserAgentUtil.java src/main/java/com/fireblocks/sdk/ValidationUtils.java src/main/java/com/fireblocks/sdk/api/ApiUserApi.java src/main/java/com/fireblocks/sdk/api/AuditLogsApi.java +src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java src/main/java/com/fireblocks/sdk/api/BlockchainsAssetsApi.java src/main/java/com/fireblocks/sdk/api/ComplianceApi.java src/main/java/com/fireblocks/sdk/api/ComplianceScreeningConfigurationApi.java @@ -1229,7 +1264,7 @@ src/main/java/com/fireblocks/sdk/api/ContractTemplatesApi.java src/main/java/com/fireblocks/sdk/api/ContractsApi.java src/main/java/com/fireblocks/sdk/api/CosignersBetaApi.java src/main/java/com/fireblocks/sdk/api/DeployedContractsApi.java -src/main/java/com/fireblocks/sdk/api/EarnBetaApi.java +src/main/java/com/fireblocks/sdk/api/EarnApi.java src/main/java/com/fireblocks/sdk/api/EmbeddedWalletsApi.java src/main/java/com/fireblocks/sdk/api/ExchangeAccountsApi.java src/main/java/com/fireblocks/sdk/api/ExternalWalletsApi.java @@ -1247,6 +1282,7 @@ src/main/java/com/fireblocks/sdk/api/OtaBetaApi.java src/main/java/com/fireblocks/sdk/api/PaymentsPayoutApi.java src/main/java/com/fireblocks/sdk/api/PolicyEditorBetaApi.java src/main/java/com/fireblocks/sdk/api/PolicyEditorV2Api.java +src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java src/main/java/com/fireblocks/sdk/api/ReportsBetaApi.java src/main/java/com/fireblocks/sdk/api/ResetDeviceApi.java src/main/java/com/fireblocks/sdk/api/SmartTransferApi.java @@ -1292,6 +1328,7 @@ src/main/java/com/fireblocks/sdk/model/AchAddress.java src/main/java/com/fireblocks/sdk/model/AchDestination.java src/main/java/com/fireblocks/sdk/model/AchPaymentInfo.java src/main/java/com/fireblocks/sdk/model/ActionRecord.java +src/main/java/com/fireblocks/sdk/model/ActivateBlockchainResponse.java src/main/java/com/fireblocks/sdk/model/ActiveRolesResponse.java src/main/java/com/fireblocks/sdk/model/AdapterProcessingResult.java src/main/java/com/fireblocks/sdk/model/AddAbiRequestDto.java @@ -1335,6 +1372,7 @@ src/main/java/com/fireblocks/sdk/model/AllowlistEntryStatus.java src/main/java/com/fireblocks/sdk/model/AllowlistMetadata.java src/main/java/com/fireblocks/sdk/model/AllowlistResponse.java src/main/java/com/fireblocks/sdk/model/AmlAlert.java +src/main/java/com/fireblocks/sdk/model/AmlBypassReasonEnum.java src/main/java/com/fireblocks/sdk/model/AmlMatchedRule.java src/main/java/com/fireblocks/sdk/model/AmlRegistrationResult.java src/main/java/com/fireblocks/sdk/model/AmlRegistrationResultFullPayload.java @@ -1395,6 +1433,8 @@ src/main/java/com/fireblocks/sdk/model/AuditLogData.java src/main/java/com/fireblocks/sdk/model/AuditorData.java src/main/java/com/fireblocks/sdk/model/AuthorizationGroups.java src/main/java/com/fireblocks/sdk/model/AuthorizationInfo.java +src/main/java/com/fireblocks/sdk/model/AutomationSettingsRequest.java +src/main/java/com/fireblocks/sdk/model/AutomationSettingsResponse.java src/main/java/com/fireblocks/sdk/model/BalanceHistoryItemDto.java src/main/java/com/fireblocks/sdk/model/BalanceHistoryPagedResponse.java src/main/java/com/fireblocks/sdk/model/BalanceHistoryPagedResponse2.java @@ -1402,14 +1442,20 @@ src/main/java/com/fireblocks/sdk/model/BankAddress.java src/main/java/com/fireblocks/sdk/model/BaseProvider.java src/main/java/com/fireblocks/sdk/model/BasicAddressRequest.java src/main/java/com/fireblocks/sdk/model/BlockInfo.java +src/main/java/com/fireblocks/sdk/model/Blockchain.java src/main/java/com/fireblocks/sdk/model/BlockchainAddress.java +src/main/java/com/fireblocks/sdk/model/BlockchainDeclaredProperties.java src/main/java/com/fireblocks/sdk/model/BlockchainDestination.java +src/main/java/com/fireblocks/sdk/model/BlockchainEnvironment.java src/main/java/com/fireblocks/sdk/model/BlockchainExplorer.java src/main/java/com/fireblocks/sdk/model/BlockchainMedia.java src/main/java/com/fireblocks/sdk/model/BlockchainMetadata.java src/main/java/com/fireblocks/sdk/model/BlockchainNotFoundErrorResponse.java src/main/java/com/fireblocks/sdk/model/BlockchainOnchain.java src/main/java/com/fireblocks/sdk/model/BlockchainResponse.java +src/main/java/com/fireblocks/sdk/model/BlockchainRpcAuth.java +src/main/java/com/fireblocks/sdk/model/BlockchainSortField.java +src/main/java/com/fireblocks/sdk/model/BlockchainStateFilter.java src/main/java/com/fireblocks/sdk/model/BlockchainTransfer.java src/main/java/com/fireblocks/sdk/model/BpsFee.java src/main/java/com/fireblocks/sdk/model/BusinessEntityTypeEnum.java @@ -1515,6 +1561,8 @@ src/main/java/com/fireblocks/sdk/model/CreateAddressRequest.java src/main/java/com/fireblocks/sdk/model/CreateAddressResponse.java src/main/java/com/fireblocks/sdk/model/CreateAddressesReportRequest.java src/main/java/com/fireblocks/sdk/model/CreateAssetsRequest.java +src/main/java/com/fireblocks/sdk/model/CreateBlockchainRequest.java +src/main/java/com/fireblocks/sdk/model/CreateBlockchainResponse.java src/main/java/com/fireblocks/sdk/model/CreateConfigOperationRequest.java src/main/java/com/fireblocks/sdk/model/CreateConnectionRequest.java src/main/java/com/fireblocks/sdk/model/CreateConnectionResponse.java @@ -1607,6 +1655,8 @@ src/main/java/com/fireblocks/sdk/model/DvnConfig.java src/main/java/com/fireblocks/sdk/model/DvnConfigWithConfirmations.java src/main/java/com/fireblocks/sdk/model/EVMTokenCreateParamsDto.java src/main/java/com/fireblocks/sdk/model/EarnAsset.java +src/main/java/com/fireblocks/sdk/model/EarnCurator.java +src/main/java/com/fireblocks/sdk/model/EarnMetadata.java src/main/java/com/fireblocks/sdk/model/EarnProvider.java src/main/java/com/fireblocks/sdk/model/EditGasStationConfigurationResponse.java src/main/java/com/fireblocks/sdk/model/EmbeddedWallet.java @@ -1701,7 +1751,11 @@ src/main/java/com/fireblocks/sdk/model/GetAPIUsersResponse.java src/main/java/com/fireblocks/sdk/model/GetActionResponse.java src/main/java/com/fireblocks/sdk/model/GetActionsResponse.java src/main/java/com/fireblocks/sdk/model/GetAuditLogsResponse.java +src/main/java/com/fireblocks/sdk/model/GetAutomationSettingsResponse.java +src/main/java/com/fireblocks/sdk/model/GetBillingInfoResponse.java +src/main/java/com/fireblocks/sdk/model/GetBlockchainByIdResponse.java src/main/java/com/fireblocks/sdk/model/GetByorkVerdictResponse.java +src/main/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponse.java src/main/java/com/fireblocks/sdk/model/GetConnectionsResponse.java src/main/java/com/fireblocks/sdk/model/GetConsoleUsersResponse.java src/main/java/com/fireblocks/sdk/model/GetDeployableAddressRequest.java @@ -1723,6 +1777,7 @@ src/main/java/com/fireblocks/sdk/model/GetPagedExchangeAccountsResponsePaging.ja src/main/java/com/fireblocks/sdk/model/GetPositionsResponse.java src/main/java/com/fireblocks/sdk/model/GetProvidersResponse.java src/main/java/com/fireblocks/sdk/model/GetSigningKeyResponseDto.java +src/main/java/com/fireblocks/sdk/model/GetTestWalletAddressResponse.java src/main/java/com/fireblocks/sdk/model/GetTransactionOperation.java src/main/java/com/fireblocks/sdk/model/GetValidationKeyResponseDto.java src/main/java/com/fireblocks/sdk/model/GetWhitelistIpAddressesResponse.java @@ -1787,6 +1842,7 @@ src/main/java/com/fireblocks/sdk/model/LeiStatus.java src/main/java/com/fireblocks/sdk/model/LinkedTokensCount.java src/main/java/com/fireblocks/sdk/model/ListAssetsResponse.java src/main/java/com/fireblocks/sdk/model/ListBlockchainsResponse.java +src/main/java/com/fireblocks/sdk/model/ListBlockchainsResponse2.java src/main/java/com/fireblocks/sdk/model/ListLegalEntitiesResponse.java src/main/java/com/fireblocks/sdk/model/ListOwnedCollectionsResponse.java src/main/java/com/fireblocks/sdk/model/ListOwnedTokensResponse.java @@ -1911,6 +1967,9 @@ src/main/java/com/fireblocks/sdk/model/PolicyResponse.java src/main/java/com/fireblocks/sdk/model/PolicyRule.java src/main/java/com/fireblocks/sdk/model/PolicyRuleCheckResult.java src/main/java/com/fireblocks/sdk/model/PolicyRuleError.java +src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipant.java +src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequest.java +src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponse.java src/main/java/com/fireblocks/sdk/model/PolicyStatus.java src/main/java/com/fireblocks/sdk/model/PolicyTag.java src/main/java/com/fireblocks/sdk/model/PolicyType.java @@ -1925,6 +1984,7 @@ 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/ProgramCallConfig.java +src/main/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItem.java src/main/java/com/fireblocks/sdk/model/Provider.java src/main/java/com/fireblocks/sdk/model/ProvidersListResponse.java src/main/java/com/fireblocks/sdk/model/PublicKeyInformation.java @@ -1976,6 +2036,8 @@ src/main/java/com/fireblocks/sdk/model/ReportListResponse.java src/main/java/com/fireblocks/sdk/model/ReportOutputFormat.java src/main/java/com/fireblocks/sdk/model/ReportStatus.java src/main/java/com/fireblocks/sdk/model/ReportType.java +src/main/java/com/fireblocks/sdk/model/RescreenTransactionRequest.java +src/main/java/com/fireblocks/sdk/model/RescreenTransactionResponse.java src/main/java/com/fireblocks/sdk/model/ResendByQueryRequest.java src/main/java/com/fireblocks/sdk/model/ResendByQueryResponse.java src/main/java/com/fireblocks/sdk/model/ResendFailedNotificationsJobStatusResponse.java @@ -1997,6 +2059,7 @@ src/main/java/com/fireblocks/sdk/model/SEPAAddress.java src/main/java/com/fireblocks/sdk/model/SEPADestination.java src/main/java/com/fireblocks/sdk/model/SOLAccount.java src/main/java/com/fireblocks/sdk/model/SOLAccountWithValue.java +src/main/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponse.java src/main/java/com/fireblocks/sdk/model/ScopeItem.java src/main/java/com/fireblocks/sdk/model/ScopeItemFailure.java src/main/java/com/fireblocks/sdk/model/ScreeningAlertExposureTypeEnum.java @@ -2014,6 +2077,7 @@ src/main/java/com/fireblocks/sdk/model/ScreeningPolicyAmountRange.java src/main/java/com/fireblocks/sdk/model/ScreeningPolicyCurrency.java src/main/java/com/fireblocks/sdk/model/ScreeningPolicyResponse.java src/main/java/com/fireblocks/sdk/model/ScreeningProviderRulesConfigurationResponse.java +src/main/java/com/fireblocks/sdk/model/ScreeningStatusEnum.java src/main/java/com/fireblocks/sdk/model/ScreeningTRLinkAmount.java src/main/java/com/fireblocks/sdk/model/ScreeningTRLinkMissingTrmDecision.java src/main/java/com/fireblocks/sdk/model/ScreeningTRLinkMissingTrmRule.java @@ -2218,6 +2282,7 @@ src/main/java/com/fireblocks/sdk/model/TagType.java src/main/java/com/fireblocks/sdk/model/TagsPagedResponse.java src/main/java/com/fireblocks/sdk/model/TemplatesPaginatedResponse.java src/main/java/com/fireblocks/sdk/model/ThirdPartyRouting.java +src/main/java/com/fireblocks/sdk/model/TimeBasedTrigger.java src/main/java/com/fireblocks/sdk/model/TimePeriodConfig.java src/main/java/com/fireblocks/sdk/model/TimePeriodMatchType.java src/main/java/com/fireblocks/sdk/model/ToCollateralTransaction.java @@ -2322,6 +2387,7 @@ src/main/java/com/fireblocks/sdk/model/TravelRuleValidateTransactionRequest.java src/main/java/com/fireblocks/sdk/model/TravelRuleValidateTransactionResponse.java src/main/java/com/fireblocks/sdk/model/TravelRuleVaspForVault.java src/main/java/com/fireblocks/sdk/model/TravelRuleVerdictEnum.java +src/main/java/com/fireblocks/sdk/model/TriggerValidationFlowResponse.java src/main/java/com/fireblocks/sdk/model/TrustProofOfAddressCreateResponse.java src/main/java/com/fireblocks/sdk/model/TrustProofOfAddressRequest.java src/main/java/com/fireblocks/sdk/model/TrustProofOfAddressResponse.java @@ -2335,6 +2401,8 @@ src/main/java/com/fireblocks/sdk/model/UnspentInput.java src/main/java/com/fireblocks/sdk/model/UnspentInputsResponse.java src/main/java/com/fireblocks/sdk/model/UnstakeRequest.java src/main/java/com/fireblocks/sdk/model/UpdateAssetUserMetadataRequest.java +src/main/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequest.java +src/main/java/com/fireblocks/sdk/model/UpdateBlockchainResponse.java src/main/java/com/fireblocks/sdk/model/UpdateCallbackHandlerRequest.java src/main/java/com/fireblocks/sdk/model/UpdateCallbackHandlerResponse.java src/main/java/com/fireblocks/sdk/model/UpdateCounterpartyGroupRequest.java @@ -2408,6 +2476,7 @@ src/test/java/com/fireblocks/sdk/UserAgentUtilTest.java src/test/java/com/fireblocks/sdk/ValidationUtilsTest.java src/test/java/com/fireblocks/sdk/api/ApiUserApiTest.java src/test/java/com/fireblocks/sdk/api/AuditLogsApiTest.java +src/test/java/com/fireblocks/sdk/api/BlockchainLinkBetaApiTest.java src/test/java/com/fireblocks/sdk/api/BlockchainsAssetsApiTest.java src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java src/test/java/com/fireblocks/sdk/api/ComplianceScreeningConfigurationApiTest.java @@ -2418,7 +2487,7 @@ src/test/java/com/fireblocks/sdk/api/ContractTemplatesApiTest.java src/test/java/com/fireblocks/sdk/api/ContractsApiTest.java src/test/java/com/fireblocks/sdk/api/CosignersBetaApiTest.java src/test/java/com/fireblocks/sdk/api/DeployedContractsApiTest.java -src/test/java/com/fireblocks/sdk/api/EarnBetaApiTest.java +src/test/java/com/fireblocks/sdk/api/EarnApiTest.java src/test/java/com/fireblocks/sdk/api/EmbeddedWalletsApiTest.java src/test/java/com/fireblocks/sdk/api/ExchangeAccountsApiTest.java src/test/java/com/fireblocks/sdk/api/ExternalWalletsApiTest.java @@ -2436,6 +2505,7 @@ src/test/java/com/fireblocks/sdk/api/OtaBetaApiTest.java src/test/java/com/fireblocks/sdk/api/PaymentsPayoutApiTest.java src/test/java/com/fireblocks/sdk/api/PolicyEditorBetaApiTest.java src/test/java/com/fireblocks/sdk/api/PolicyEditorV2ApiTest.java +src/test/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApiTest.java src/test/java/com/fireblocks/sdk/api/ReportsBetaApiTest.java src/test/java/com/fireblocks/sdk/api/ResetDeviceApiTest.java src/test/java/com/fireblocks/sdk/api/SmartTransferApiTest.java @@ -2480,6 +2550,7 @@ src/test/java/com/fireblocks/sdk/model/AchAddressTest.java src/test/java/com/fireblocks/sdk/model/AchDestinationTest.java src/test/java/com/fireblocks/sdk/model/AchPaymentInfoTest.java src/test/java/com/fireblocks/sdk/model/ActionRecordTest.java +src/test/java/com/fireblocks/sdk/model/ActivateBlockchainResponseTest.java src/test/java/com/fireblocks/sdk/model/ActiveRolesResponseTest.java src/test/java/com/fireblocks/sdk/model/AdapterProcessingResultTest.java src/test/java/com/fireblocks/sdk/model/AddAbiRequestDtoTest.java @@ -2523,6 +2594,7 @@ src/test/java/com/fireblocks/sdk/model/AllowlistEntryTest.java src/test/java/com/fireblocks/sdk/model/AllowlistMetadataTest.java src/test/java/com/fireblocks/sdk/model/AllowlistResponseTest.java src/test/java/com/fireblocks/sdk/model/AmlAlertTest.java +src/test/java/com/fireblocks/sdk/model/AmlBypassReasonEnumTest.java src/test/java/com/fireblocks/sdk/model/AmlMatchedRuleTest.java src/test/java/com/fireblocks/sdk/model/AmlRegistrationResultFullPayloadTest.java src/test/java/com/fireblocks/sdk/model/AmlRegistrationResultTest.java @@ -2583,6 +2655,8 @@ src/test/java/com/fireblocks/sdk/model/AuditLogDataTest.java src/test/java/com/fireblocks/sdk/model/AuditorDataTest.java src/test/java/com/fireblocks/sdk/model/AuthorizationGroupsTest.java src/test/java/com/fireblocks/sdk/model/AuthorizationInfoTest.java +src/test/java/com/fireblocks/sdk/model/AutomationSettingsRequestTest.java +src/test/java/com/fireblocks/sdk/model/AutomationSettingsResponseTest.java src/test/java/com/fireblocks/sdk/model/BalanceHistoryItemDtoTest.java src/test/java/com/fireblocks/sdk/model/BalanceHistoryPagedResponse2Test.java src/test/java/com/fireblocks/sdk/model/BalanceHistoryPagedResponseTest.java @@ -2591,13 +2665,19 @@ src/test/java/com/fireblocks/sdk/model/BaseProviderTest.java src/test/java/com/fireblocks/sdk/model/BasicAddressRequestTest.java src/test/java/com/fireblocks/sdk/model/BlockInfoTest.java src/test/java/com/fireblocks/sdk/model/BlockchainAddressTest.java +src/test/java/com/fireblocks/sdk/model/BlockchainDeclaredPropertiesTest.java src/test/java/com/fireblocks/sdk/model/BlockchainDestinationTest.java +src/test/java/com/fireblocks/sdk/model/BlockchainEnvironmentTest.java src/test/java/com/fireblocks/sdk/model/BlockchainExplorerTest.java src/test/java/com/fireblocks/sdk/model/BlockchainMediaTest.java src/test/java/com/fireblocks/sdk/model/BlockchainMetadataTest.java src/test/java/com/fireblocks/sdk/model/BlockchainNotFoundErrorResponseTest.java src/test/java/com/fireblocks/sdk/model/BlockchainOnchainTest.java src/test/java/com/fireblocks/sdk/model/BlockchainResponseTest.java +src/test/java/com/fireblocks/sdk/model/BlockchainRpcAuthTest.java +src/test/java/com/fireblocks/sdk/model/BlockchainSortFieldTest.java +src/test/java/com/fireblocks/sdk/model/BlockchainStateFilterTest.java +src/test/java/com/fireblocks/sdk/model/BlockchainTest.java src/test/java/com/fireblocks/sdk/model/BlockchainTransferTest.java src/test/java/com/fireblocks/sdk/model/BpsFeeTest.java src/test/java/com/fireblocks/sdk/model/BusinessEntityTypeEnumTest.java @@ -2703,6 +2783,8 @@ src/test/java/com/fireblocks/sdk/model/CreateAddressRequestTest.java src/test/java/com/fireblocks/sdk/model/CreateAddressResponseTest.java src/test/java/com/fireblocks/sdk/model/CreateAddressesReportRequestTest.java src/test/java/com/fireblocks/sdk/model/CreateAssetsRequestTest.java +src/test/java/com/fireblocks/sdk/model/CreateBlockchainRequestTest.java +src/test/java/com/fireblocks/sdk/model/CreateBlockchainResponseTest.java src/test/java/com/fireblocks/sdk/model/CreateConfigOperationRequestTest.java src/test/java/com/fireblocks/sdk/model/CreateConnectionRequestTest.java src/test/java/com/fireblocks/sdk/model/CreateConnectionResponseTest.java @@ -2795,6 +2877,8 @@ src/test/java/com/fireblocks/sdk/model/DvnConfigTest.java src/test/java/com/fireblocks/sdk/model/DvnConfigWithConfirmationsTest.java src/test/java/com/fireblocks/sdk/model/EVMTokenCreateParamsDtoTest.java src/test/java/com/fireblocks/sdk/model/EarnAssetTest.java +src/test/java/com/fireblocks/sdk/model/EarnCuratorTest.java +src/test/java/com/fireblocks/sdk/model/EarnMetadataTest.java src/test/java/com/fireblocks/sdk/model/EarnProviderTest.java src/test/java/com/fireblocks/sdk/model/EditGasStationConfigurationResponseTest.java src/test/java/com/fireblocks/sdk/model/EmbeddedWalletAccountTest.java @@ -2889,7 +2973,11 @@ src/test/java/com/fireblocks/sdk/model/GetAPIUsersResponseTest.java src/test/java/com/fireblocks/sdk/model/GetActionResponseTest.java src/test/java/com/fireblocks/sdk/model/GetActionsResponseTest.java src/test/java/com/fireblocks/sdk/model/GetAuditLogsResponseTest.java +src/test/java/com/fireblocks/sdk/model/GetAutomationSettingsResponseTest.java +src/test/java/com/fireblocks/sdk/model/GetBillingInfoResponseTest.java +src/test/java/com/fireblocks/sdk/model/GetBlockchainByIdResponseTest.java src/test/java/com/fireblocks/sdk/model/GetByorkVerdictResponseTest.java +src/test/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponseTest.java src/test/java/com/fireblocks/sdk/model/GetConnectionsResponseTest.java src/test/java/com/fireblocks/sdk/model/GetConsoleUsersResponseTest.java src/test/java/com/fireblocks/sdk/model/GetDeployableAddressRequestTest.java @@ -2911,6 +2999,7 @@ src/test/java/com/fireblocks/sdk/model/GetPagedExchangeAccountsResponseTest.java src/test/java/com/fireblocks/sdk/model/GetPositionsResponseTest.java src/test/java/com/fireblocks/sdk/model/GetProvidersResponseTest.java src/test/java/com/fireblocks/sdk/model/GetSigningKeyResponseDtoTest.java +src/test/java/com/fireblocks/sdk/model/GetTestWalletAddressResponseTest.java src/test/java/com/fireblocks/sdk/model/GetTransactionOperationTest.java src/test/java/com/fireblocks/sdk/model/GetValidationKeyResponseDtoTest.java src/test/java/com/fireblocks/sdk/model/GetWhitelistIpAddressesResponseTest.java @@ -2974,6 +3063,7 @@ src/test/java/com/fireblocks/sdk/model/LegalEntityRegistrationTest.java src/test/java/com/fireblocks/sdk/model/LeiStatusTest.java src/test/java/com/fireblocks/sdk/model/LinkedTokensCountTest.java src/test/java/com/fireblocks/sdk/model/ListAssetsResponseTest.java +src/test/java/com/fireblocks/sdk/model/ListBlockchainsResponse2Test.java src/test/java/com/fireblocks/sdk/model/ListBlockchainsResponseTest.java src/test/java/com/fireblocks/sdk/model/ListLegalEntitiesResponseTest.java src/test/java/com/fireblocks/sdk/model/ListOwnedCollectionsResponseTest.java @@ -3098,6 +3188,9 @@ src/test/java/com/fireblocks/sdk/model/PolicyOperatorTest.java src/test/java/com/fireblocks/sdk/model/PolicyResponseTest.java src/test/java/com/fireblocks/sdk/model/PolicyRuleCheckResultTest.java src/test/java/com/fireblocks/sdk/model/PolicyRuleErrorTest.java +src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipantTest.java +src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequestTest.java +src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponseTest.java src/test/java/com/fireblocks/sdk/model/PolicyRuleTest.java src/test/java/com/fireblocks/sdk/model/PolicyStatusTest.java src/test/java/com/fireblocks/sdk/model/PolicyTagTest.java @@ -3113,6 +3206,7 @@ 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/ProgramCallConfigTest.java +src/test/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItemTest.java src/test/java/com/fireblocks/sdk/model/ProviderTest.java src/test/java/com/fireblocks/sdk/model/ProvidersListResponseTest.java src/test/java/com/fireblocks/sdk/model/PublicKeyInformationTest.java @@ -3164,6 +3258,8 @@ src/test/java/com/fireblocks/sdk/model/ReportListResponseTest.java src/test/java/com/fireblocks/sdk/model/ReportOutputFormatTest.java src/test/java/com/fireblocks/sdk/model/ReportStatusTest.java src/test/java/com/fireblocks/sdk/model/ReportTypeTest.java +src/test/java/com/fireblocks/sdk/model/RescreenTransactionRequestTest.java +src/test/java/com/fireblocks/sdk/model/RescreenTransactionResponseTest.java src/test/java/com/fireblocks/sdk/model/ResendByQueryRequestTest.java src/test/java/com/fireblocks/sdk/model/ResendByQueryResponseTest.java src/test/java/com/fireblocks/sdk/model/ResendFailedNotificationsJobStatusResponseTest.java @@ -3185,6 +3281,7 @@ src/test/java/com/fireblocks/sdk/model/SEPAAddressTest.java src/test/java/com/fireblocks/sdk/model/SEPADestinationTest.java src/test/java/com/fireblocks/sdk/model/SOLAccountTest.java src/test/java/com/fireblocks/sdk/model/SOLAccountWithValueTest.java +src/test/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponseTest.java src/test/java/com/fireblocks/sdk/model/ScopeItemFailureTest.java src/test/java/com/fireblocks/sdk/model/ScopeItemTest.java src/test/java/com/fireblocks/sdk/model/ScreeningAlertExposureTypeEnumTest.java @@ -3202,6 +3299,7 @@ src/test/java/com/fireblocks/sdk/model/ScreeningPolicyAmountTest.java src/test/java/com/fireblocks/sdk/model/ScreeningPolicyCurrencyTest.java src/test/java/com/fireblocks/sdk/model/ScreeningPolicyResponseTest.java src/test/java/com/fireblocks/sdk/model/ScreeningProviderRulesConfigurationResponseTest.java +src/test/java/com/fireblocks/sdk/model/ScreeningStatusEnumTest.java src/test/java/com/fireblocks/sdk/model/ScreeningTRLinkAmountTest.java src/test/java/com/fireblocks/sdk/model/ScreeningTRLinkMissingTrmDecisionTest.java src/test/java/com/fireblocks/sdk/model/ScreeningTRLinkMissingTrmRuleTest.java @@ -3406,6 +3504,7 @@ src/test/java/com/fireblocks/sdk/model/TagTypeTest.java src/test/java/com/fireblocks/sdk/model/TagsPagedResponseTest.java src/test/java/com/fireblocks/sdk/model/TemplatesPaginatedResponseTest.java src/test/java/com/fireblocks/sdk/model/ThirdPartyRoutingTest.java +src/test/java/com/fireblocks/sdk/model/TimeBasedTriggerTest.java src/test/java/com/fireblocks/sdk/model/TimePeriodConfigTest.java src/test/java/com/fireblocks/sdk/model/TimePeriodMatchTypeTest.java src/test/java/com/fireblocks/sdk/model/ToCollateralTransactionTest.java @@ -3510,6 +3609,7 @@ src/test/java/com/fireblocks/sdk/model/TravelRuleValidateTransactionRequestTest. src/test/java/com/fireblocks/sdk/model/TravelRuleValidateTransactionResponseTest.java src/test/java/com/fireblocks/sdk/model/TravelRuleVaspForVaultTest.java src/test/java/com/fireblocks/sdk/model/TravelRuleVerdictEnumTest.java +src/test/java/com/fireblocks/sdk/model/TriggerValidationFlowResponseTest.java src/test/java/com/fireblocks/sdk/model/TrustProofOfAddressCreateResponseTest.java src/test/java/com/fireblocks/sdk/model/TrustProofOfAddressRequestTest.java src/test/java/com/fireblocks/sdk/model/TrustProofOfAddressResponseTest.java @@ -3523,6 +3623,8 @@ src/test/java/com/fireblocks/sdk/model/UnspentInputTest.java src/test/java/com/fireblocks/sdk/model/UnspentInputsResponseTest.java src/test/java/com/fireblocks/sdk/model/UnstakeRequestTest.java src/test/java/com/fireblocks/sdk/model/UpdateAssetUserMetadataRequestTest.java +src/test/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequestTest.java +src/test/java/com/fireblocks/sdk/model/UpdateBlockchainResponseTest.java src/test/java/com/fireblocks/sdk/model/UpdateCallbackHandlerRequestTest.java src/test/java/com/fireblocks/sdk/model/UpdateCallbackHandlerResponseTest.java src/test/java/com/fireblocks/sdk/model/UpdateCounterpartyGroupRequestTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 8205f868..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). - -## [v23.0.0](https://github.com/fireblocks/java-sdk/compare/v15.0.0...v23.0.0) - 2026-07-01 - -### Merged - -- Generated SDK #1180 [`#140`](https://github.com/fireblocks/java-sdk/pull/140) - -## [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 85e8a93a..cd436dbe 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Add this dependency to your project's POM: com.fireblocks.sdk fireblocks-sdk - 23.0.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:23.0.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-23.0.0.jar` +- `target/fireblocks-sdk-0.0.0.jar` - `target/lib/*.jar` @@ -145,6 +145,15 @@ Class | Method | HTTP request | Description *ApiUserApi* | [**getApiUsers**](docs/ApiUserApi.md#getApiUsers) | **GET** /management/api_users | Get API Keys *ApiUserApi* | [**issueApiUserPairingToken**](docs/ApiUserApi.md#issueApiUserPairingToken) | **POST** /management/api_users/{userId}/pairing_token | Issue API user pairing token *AuditLogsApi* | [**getAuditLogs**](docs/AuditLogsApi.md#getAuditLogs) | **GET** /management/audit_logs | Get audit logs +*BlockchainLinkBetaApi* | [**activateBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#activateBlockchainLinkChain) | **POST** /blockchain_link/blockchains/{blockchainId}/activate | Activate a blockchain (triggers activation workflow) +*BlockchainLinkBetaApi* | [**createBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#createBlockchainLinkChain) | **POST** /blockchain_link/blockchains | Create a new blockchain +*BlockchainLinkBetaApi* | [**deleteBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#deleteBlockchainLinkChain) | **DELETE** /blockchain_link/blockchains/{blockchainId} | Delete a blockchain +*BlockchainLinkBetaApi* | [**getBlockchainLinkBillingInfo**](docs/BlockchainLinkBetaApi.md#getBlockchainLinkBillingInfo) | **GET** /blockchain_link/blockchains/billing_info | Get tenant billing info +*BlockchainLinkBetaApi* | [**getBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#getBlockchainLinkChain) | **GET** /blockchain_link/blockchains/{blockchainId} | Get a blockchain by ID +*BlockchainLinkBetaApi* | [**getBlockchainLinkTestWalletAddress**](docs/BlockchainLinkBetaApi.md#getBlockchainLinkTestWalletAddress) | **GET** /blockchain_link/blockchains/test_wallet_address | Get the test wallet address +*BlockchainLinkBetaApi* | [**listBlockchainLinkChains**](docs/BlockchainLinkBetaApi.md#listBlockchainLinkChains) | **GET** /blockchain_link/blockchains | List blockchains with pagination and filtering +*BlockchainLinkBetaApi* | [**triggerBlockchainLinkValidation**](docs/BlockchainLinkBetaApi.md#triggerBlockchainLinkValidation) | **POST** /blockchain_link/blockchains/{blockchainId}/validate | Trigger validation workflow +*BlockchainLinkBetaApi* | [**updateBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#updateBlockchainLinkChain) | **PUT** /blockchain_link/blockchains/{blockchainId} | Update a blockchain *BlockchainsAssetsApi* | [**getAsset**](docs/BlockchainsAssetsApi.md#getAsset) | **GET** /assets/{id} | Get an asset *BlockchainsAssetsApi* | [**getBlockchain**](docs/BlockchainsAssetsApi.md#getBlockchain) | **GET** /blockchains/{id} | Get a Blockchain by ID *BlockchainsAssetsApi* | [**getSupportedAssets**](docs/BlockchainsAssetsApi.md#getSupportedAssets) | **GET** /supported_assets | List assets (Legacy) @@ -183,6 +192,7 @@ Class | Method | HTTP request | Description *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 +*ComplianceApi* | [**rescreenRejectedTransaction**](docs/ComplianceApi.md#rescreenRejectedTransaction) | **POST** /screening/transaction/{txId}/rescreen | Rescreen a rejected transaction *ComplianceApi* | [**retryRejectedTransactionBypassScreeningChecks**](docs/ComplianceApi.md#retryRejectedTransactionBypassScreeningChecks) | **POST** /screening/transaction/{txId}/bypass_screening_policy | Bypass Screening Policy *ComplianceApi* | [**setAmlVerdict**](docs/ComplianceApi.md#setAmlVerdict) | **POST** /screening/aml/verdict/manual | Set AML Verdict (BYORK Super Light) *ComplianceApi* | [**setByorkTimeouts**](docs/ComplianceApi.md#setByorkTimeouts) | **PUT** /screening/byork/config/timeouts | Set BYORK Light timeouts @@ -203,6 +213,7 @@ Class | Method | HTTP request | Description *ConnectedAccountsBetaApi* | [**getConnectedAccountRates**](docs/ConnectedAccountsBetaApi.md#getConnectedAccountRates) | **GET** /connected_accounts/{accountId}/rates | Get exchange rates for an account *ConnectedAccountsBetaApi* | [**getConnectedAccountTradingPairs**](docs/ConnectedAccountsBetaApi.md#getConnectedAccountTradingPairs) | **GET** /connected_accounts/{accountId}/manifest/capabilities/trading/pairs | Get supported trading pairs for an account *ConnectedAccountsBetaApi* | [**getConnectedAccounts**](docs/ConnectedAccountsBetaApi.md#getConnectedAccounts) | **GET** /connected_accounts | Get connected accounts +*ConnectedAccountsBetaApi* | [**getConnectedAccountsCredentialsPublicKey**](docs/ConnectedAccountsBetaApi.md#getConnectedAccountsCredentialsPublicKey) | **GET** /connected_accounts/credentials/public_key | Get public key to encrypt connected account credentials *ConnectedAccountsBetaApi* | [**renameConnectedAccount**](docs/ConnectedAccountsBetaApi.md#renameConnectedAccount) | **POST** /connected_accounts/{accountId}/rename | Rename Connected Account *ConnectedAccountsBetaApi* | [**syncConnectedAccountAllowlist**](docs/ConnectedAccountsBetaApi.md#syncConnectedAccountAllowlist) | **POST** /connected_accounts/{accountId}/allowlist/sync | Sync allowlist for connected account *ConsoleUserApi* | [**createConsoleUser**](docs/ConsoleUserApi.md#createConsoleUser) | **POST** /management/users | Create console user @@ -243,13 +254,13 @@ Class | Method | HTTP request | Description *DeployedContractsApi* | [**getDeployedContractByAddress**](docs/DeployedContractsApi.md#getDeployedContractByAddress) | **GET** /tokenization/contracts/{assetId}/{contractAddress} | Return deployed contract data *DeployedContractsApi* | [**getDeployedContractById**](docs/DeployedContractsApi.md#getDeployedContractById) | **GET** /tokenization/contracts/{id} | Return deployed contract data by id *DeployedContractsApi* | [**getDeployedContracts**](docs/DeployedContractsApi.md#getDeployedContracts) | **GET** /tokenization/contracts | List deployed contracts data -*EarnBetaApi* | [**approveTermsOfService**](docs/EarnBetaApi.md#approveTermsOfService) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service -*EarnBetaApi* | [**createEarnAction**](docs/EarnBetaApi.md#createEarnAction) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw) -*EarnBetaApi* | [**getEarnAction**](docs/EarnBetaApi.md#getEarnAction) | **GET** /earn/actions/{id} | Get a single earn lending action -*EarnBetaApi* | [**getEarnActions**](docs/EarnBetaApi.md#getEarnActions) | **GET** /earn/actions | List earn lending actions -*EarnBetaApi* | [**getEarnOpportunities**](docs/EarnBetaApi.md#getEarnOpportunities) | **GET** /earn/opportunities | Get list of earn opportunities -*EarnBetaApi* | [**getEarnPositions**](docs/EarnBetaApi.md#getEarnPositions) | **GET** /earn/positions | Get list of earn positions -*EarnBetaApi* | [**getEarnProviders**](docs/EarnBetaApi.md#getEarnProviders) | **GET** /earn/providers | Get list of earn providers +*EarnApi* | [**approveTermsOfService**](docs/EarnApi.md#approveTermsOfService) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service +*EarnApi* | [**createEarnAction**](docs/EarnApi.md#createEarnAction) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw) +*EarnApi* | [**getEarnAction**](docs/EarnApi.md#getEarnAction) | **GET** /earn/actions/{id} | Get a single earn lending action +*EarnApi* | [**getEarnActions**](docs/EarnApi.md#getEarnActions) | **GET** /earn/actions | List earn lending actions +*EarnApi* | [**getEarnOpportunities**](docs/EarnApi.md#getEarnOpportunities) | **GET** /earn/opportunities | Get list of earn opportunities +*EarnApi* | [**getEarnPositions**](docs/EarnApi.md#getEarnPositions) | **GET** /earn/positions | Get list of earn positions +*EarnApi* | [**getEarnProviders**](docs/EarnApi.md#getEarnProviders) | **GET** /earn/providers | Get list of earn providers *EmbeddedWalletsApi* | [**addEmbeddedWalletAsset**](docs/EmbeddedWalletsApi.md#addEmbeddedWalletAsset) | **POST** /ncw/wallets/{walletId}/accounts/{accountId}/assets/{assetId} | Add asset to account *EmbeddedWalletsApi* | [**assignEmbeddedWallet**](docs/EmbeddedWalletsApi.md#assignEmbeddedWallet) | **POST** /ncw/wallets/{walletId}/assign | Assign a wallet *EmbeddedWalletsApi* | [**createEmbeddedWallet**](docs/EmbeddedWalletsApi.md#createEmbeddedWallet) | **POST** /ncw/wallets | Create a new wallet @@ -369,6 +380,7 @@ Class | Method | HTTP request | Description *PolicyEditorV2Api* | [**getDraft**](docs/PolicyEditorV2Api.md#getDraft) | **GET** /policy/draft | Get the active draft by policy type *PolicyEditorV2Api* | [**publishDraft**](docs/PolicyEditorV2Api.md#publishDraft) | **POST** /policy/draft | Send publish request for a certain draft id *PolicyEditorV2Api* | [**updateDraft**](docs/PolicyEditorV2Api.md#updateDraft) | **PUT** /policy/draft | Update the draft with a new set of rules by policy types +*PolicyEditorV2BetaApi* | [**getPolicyRuleQuota**](docs/PolicyEditorV2BetaApi.md#getPolicyRuleQuota) | **POST** /policy/rules/quota | Calculate the AOT quota for a policy rule *ReportsBetaApi* | [**createReport**](docs/ReportsBetaApi.md#createReport) | **POST** /reports | Create a report *ReportsBetaApi* | [**getReport**](docs/ReportsBetaApi.md#getReport) | **GET** /reports/{reportId} | Get report status *ReportsBetaApi* | [**listReports**](docs/ReportsBetaApi.md#listReports) | **GET** /reports | List reports @@ -527,6 +539,7 @@ Class | Method | HTTP request | Description *VaultsApi* | [**createVaultAccountAsset**](docs/VaultsApi.md#createVaultAccountAsset) | **POST** /vault/accounts/{vaultAccountId}/{assetId} | Create a new vault wallet *VaultsApi* | [**createVaultAccountAssetAddress**](docs/VaultsApi.md#createVaultAccountAssetAddress) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses | Create new asset deposit address *VaultsApi* | [**deactivateUsdcGatewayWalletBeta**](docs/VaultsApi.md#deactivateUsdcGatewayWalletBeta) | **POST** /vault/accounts/{vaultAccountId}/usdc_gateway/deactivate | Deactivate a USDC Gateway wallet +*VaultsApi* | [**disableUsdcGatewayDepositAutomationScheduleBeta**](docs/VaultsApi.md#disableUsdcGatewayDepositAutomationScheduleBeta) | **DELETE** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId} | Stop a USDC Gateway deposit automation's schedule *VaultsApi* | [**getAssetWallets**](docs/VaultsApi.md#getAssetWallets) | **GET** /vault/asset_wallets | Get vault wallets (Paginated) *VaultsApi* | [**getCreateMultipleDepositAddressesJobStatus**](docs/VaultsApi.md#getCreateMultipleDepositAddressesJobStatus) | **GET** /vault/accounts/addresses/bulk/{jobId} | Get the job status of the bulk deposit address creation *VaultsApi* | [**getCreateMultipleVaultAccountsJobStatus**](docs/VaultsApi.md#getCreateMultipleVaultAccountsJobStatus) | **GET** /vault/accounts/bulk/{jobId} | Get job status of bulk creation of new vault accounts @@ -536,6 +549,7 @@ Class | Method | HTTP request | Description *VaultsApi* | [**getPublicKeyInfo**](docs/VaultsApi.md#getPublicKeyInfo) | **GET** /vault/public_key_info | Get the public key for a derivation path *VaultsApi* | [**getPublicKeyInfoForAddress**](docs/VaultsApi.md#getPublicKeyInfoForAddress) | **GET** /vault/accounts/{vaultAccountId}/{assetId}/{change}/{addressIndex}/public_key_info | Get an asset's public key *VaultsApi* | [**getUnspentInputs**](docs/VaultsApi.md#getUnspentInputs) | **GET** /vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs | Get UTXO unspent inputs information +*VaultsApi* | [**getUsdcGatewayDepositAutomationBeta**](docs/VaultsApi.md#getUsdcGatewayDepositAutomationBeta) | **GET** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Read the USDC Gateway deposit automations for a vault account *VaultsApi* | [**getUsdcGatewayWalletInfoBeta**](docs/VaultsApi.md#getUsdcGatewayWalletInfoBeta) | **GET** /vault/accounts/{vaultAccountId}/usdc_gateway | Get USDC Gateway wallet info *VaultsApi* | [**getVaultAccount**](docs/VaultsApi.md#getVaultAccount) | **GET** /vault/accounts/{vaultAccountId} | Get a vault account by ID *VaultsApi* | [**getVaultAccountAsset**](docs/VaultsApi.md#getVaultAccountAsset) | **GET** /vault/accounts/{vaultAccountId}/{assetId} | Get the asset balance for a vault account @@ -545,9 +559,11 @@ Class | Method | HTTP request | Description *VaultsApi* | [**hideVaultAccount**](docs/VaultsApi.md#hideVaultAccount) | **POST** /vault/accounts/{vaultAccountId}/hide | Hide a vault account in the console *VaultsApi* | [**lookupVaultByAddress**](docs/VaultsApi.md#lookupVaultByAddress) | **GET** /vault/lookup_by_address | Look up a vault account by blockchain address *VaultsApi* | [**setCustomerRefIdForAddress**](docs/VaultsApi.md#setCustomerRefIdForAddress) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id | Assign AML customer reference ID +*VaultsApi* | [**setUsdcGatewayDepositAutomationBeta**](docs/VaultsApi.md#setUsdcGatewayDepositAutomationBeta) | **POST** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Set up a USDC Gateway deposit automation for a vault account *VaultsApi* | [**setVaultAccountAutoFuel**](docs/VaultsApi.md#setVaultAccountAutoFuel) | **POST** /vault/accounts/{vaultAccountId}/set_auto_fuel | Set auto fueling to on or off *VaultsApi* | [**setVaultAccountCustomerRefId**](docs/VaultsApi.md#setVaultAccountCustomerRefId) | **POST** /vault/accounts/{vaultAccountId}/set_customer_ref_id | Set an AML/KYT ID for a vault account *VaultsApi* | [**unhideVaultAccount**](docs/VaultsApi.md#unhideVaultAccount) | **POST** /vault/accounts/{vaultAccountId}/unhide | Unhide a vault account in the console +*VaultsApi* | [**updateUsdcGatewayDepositAutomationBeta**](docs/VaultsApi.md#updateUsdcGatewayDepositAutomationBeta) | **PATCH** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId} | Change a USDC Gateway deposit automation *VaultsApi* | [**updateVaultAccount**](docs/VaultsApi.md#updateVaultAccount) | **PUT** /vault/accounts/{vaultAccountId} | Rename a vault account *VaultsApi* | [**updateVaultAccountAssetAddress**](docs/VaultsApi.md#updateVaultAccountAssetAddress) | **PUT** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId} | Update address description *VaultsApi* | [**updateVaultAccountAssetBalance**](docs/VaultsApi.md#updateVaultAccountAssetBalance) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/balance | Refresh asset balance data @@ -604,6 +620,7 @@ Class | Method | HTTP request | Description - [AchDestination](docs/AchDestination.md) - [AchPaymentInfo](docs/AchPaymentInfo.md) - [ActionRecord](docs/ActionRecord.md) + - [ActivateBlockchainResponse](docs/ActivateBlockchainResponse.md) - [ActiveRolesResponse](docs/ActiveRolesResponse.md) - [AdapterProcessingResult](docs/AdapterProcessingResult.md) - [AddAbiRequestDto](docs/AddAbiRequestDto.md) @@ -647,6 +664,7 @@ Class | Method | HTTP request | Description - [AllowlistMetadata](docs/AllowlistMetadata.md) - [AllowlistResponse](docs/AllowlistResponse.md) - [AmlAlert](docs/AmlAlert.md) + - [AmlBypassReasonEnum](docs/AmlBypassReasonEnum.md) - [AmlMatchedRule](docs/AmlMatchedRule.md) - [AmlRegistrationResult](docs/AmlRegistrationResult.md) - [AmlRegistrationResultFullPayload](docs/AmlRegistrationResultFullPayload.md) @@ -707,6 +725,8 @@ Class | Method | HTTP request | Description - [AuditorData](docs/AuditorData.md) - [AuthorizationGroups](docs/AuthorizationGroups.md) - [AuthorizationInfo](docs/AuthorizationInfo.md) + - [AutomationSettingsRequest](docs/AutomationSettingsRequest.md) + - [AutomationSettingsResponse](docs/AutomationSettingsResponse.md) - [BalanceHistoryItemDto](docs/BalanceHistoryItemDto.md) - [BalanceHistoryPagedResponse](docs/BalanceHistoryPagedResponse.md) - [BalanceHistoryPagedResponse2](docs/BalanceHistoryPagedResponse2.md) @@ -714,14 +734,20 @@ Class | Method | HTTP request | Description - [BaseProvider](docs/BaseProvider.md) - [BasicAddressRequest](docs/BasicAddressRequest.md) - [BlockInfo](docs/BlockInfo.md) + - [Blockchain](docs/Blockchain.md) - [BlockchainAddress](docs/BlockchainAddress.md) + - [BlockchainDeclaredProperties](docs/BlockchainDeclaredProperties.md) - [BlockchainDestination](docs/BlockchainDestination.md) + - [BlockchainEnvironment](docs/BlockchainEnvironment.md) - [BlockchainExplorer](docs/BlockchainExplorer.md) - [BlockchainMedia](docs/BlockchainMedia.md) - [BlockchainMetadata](docs/BlockchainMetadata.md) - [BlockchainNotFoundErrorResponse](docs/BlockchainNotFoundErrorResponse.md) - [BlockchainOnchain](docs/BlockchainOnchain.md) - [BlockchainResponse](docs/BlockchainResponse.md) + - [BlockchainRpcAuth](docs/BlockchainRpcAuth.md) + - [BlockchainSortField](docs/BlockchainSortField.md) + - [BlockchainStateFilter](docs/BlockchainStateFilter.md) - [BlockchainTransfer](docs/BlockchainTransfer.md) - [BpsFee](docs/BpsFee.md) - [BusinessEntityTypeEnum](docs/BusinessEntityTypeEnum.md) @@ -827,6 +853,8 @@ Class | Method | HTTP request | Description - [CreateAddressResponse](docs/CreateAddressResponse.md) - [CreateAddressesReportRequest](docs/CreateAddressesReportRequest.md) - [CreateAssetsRequest](docs/CreateAssetsRequest.md) + - [CreateBlockchainRequest](docs/CreateBlockchainRequest.md) + - [CreateBlockchainResponse](docs/CreateBlockchainResponse.md) - [CreateConfigOperationRequest](docs/CreateConfigOperationRequest.md) - [CreateConnectionRequest](docs/CreateConnectionRequest.md) - [CreateConnectionResponse](docs/CreateConnectionResponse.md) @@ -919,6 +947,8 @@ Class | Method | HTTP request | Description - [DvnConfigWithConfirmations](docs/DvnConfigWithConfirmations.md) - [EVMTokenCreateParamsDto](docs/EVMTokenCreateParamsDto.md) - [EarnAsset](docs/EarnAsset.md) + - [EarnCurator](docs/EarnCurator.md) + - [EarnMetadata](docs/EarnMetadata.md) - [EarnProvider](docs/EarnProvider.md) - [EditGasStationConfigurationResponse](docs/EditGasStationConfigurationResponse.md) - [EmbeddedWallet](docs/EmbeddedWallet.md) @@ -1013,7 +1043,11 @@ Class | Method | HTTP request | Description - [GetActionResponse](docs/GetActionResponse.md) - [GetActionsResponse](docs/GetActionsResponse.md) - [GetAuditLogsResponse](docs/GetAuditLogsResponse.md) + - [GetAutomationSettingsResponse](docs/GetAutomationSettingsResponse.md) + - [GetBillingInfoResponse](docs/GetBillingInfoResponse.md) + - [GetBlockchainByIdResponse](docs/GetBlockchainByIdResponse.md) - [GetByorkVerdictResponse](docs/GetByorkVerdictResponse.md) + - [GetConnectedAccountsCredentialsPublicKeyResponse](docs/GetConnectedAccountsCredentialsPublicKeyResponse.md) - [GetConnectionsResponse](docs/GetConnectionsResponse.md) - [GetConsoleUsersResponse](docs/GetConsoleUsersResponse.md) - [GetDeployableAddressRequest](docs/GetDeployableAddressRequest.md) @@ -1035,6 +1069,7 @@ Class | Method | HTTP request | Description - [GetPositionsResponse](docs/GetPositionsResponse.md) - [GetProvidersResponse](docs/GetProvidersResponse.md) - [GetSigningKeyResponseDto](docs/GetSigningKeyResponseDto.md) + - [GetTestWalletAddressResponse](docs/GetTestWalletAddressResponse.md) - [GetTransactionOperation](docs/GetTransactionOperation.md) - [GetValidationKeyResponseDto](docs/GetValidationKeyResponseDto.md) - [GetWhitelistIpAddressesResponse](docs/GetWhitelistIpAddressesResponse.md) @@ -1099,6 +1134,7 @@ Class | Method | HTTP request | Description - [LinkedTokensCount](docs/LinkedTokensCount.md) - [ListAssetsResponse](docs/ListAssetsResponse.md) - [ListBlockchainsResponse](docs/ListBlockchainsResponse.md) + - [ListBlockchainsResponse2](docs/ListBlockchainsResponse2.md) - [ListLegalEntitiesResponse](docs/ListLegalEntitiesResponse.md) - [ListOwnedCollectionsResponse](docs/ListOwnedCollectionsResponse.md) - [ListOwnedTokensResponse](docs/ListOwnedTokensResponse.md) @@ -1223,6 +1259,9 @@ Class | Method | HTTP request | Description - [PolicyRule](docs/PolicyRule.md) - [PolicyRuleCheckResult](docs/PolicyRuleCheckResult.md) - [PolicyRuleError](docs/PolicyRuleError.md) + - [PolicyRuleQuotaParticipant](docs/PolicyRuleQuotaParticipant.md) + - [PolicyRuleQuotaRequest](docs/PolicyRuleQuotaRequest.md) + - [PolicyRuleQuotaResponse](docs/PolicyRuleQuotaResponse.md) - [PolicyStatus](docs/PolicyStatus.md) - [PolicyTag](docs/PolicyTag.md) - [PolicyType](docs/PolicyType.md) @@ -1237,6 +1276,7 @@ Class | Method | HTTP request | Description - [PrefundedSettlement](docs/PrefundedSettlement.md) - [PrefundedSettlementType](docs/PrefundedSettlementType.md) - [ProgramCallConfig](docs/ProgramCallConfig.md) + - [ProgramCallDecodedDataItem](docs/ProgramCallDecodedDataItem.md) - [Provider](docs/Provider.md) - [ProvidersListResponse](docs/ProvidersListResponse.md) - [PublicKeyInformation](docs/PublicKeyInformation.md) @@ -1288,6 +1328,8 @@ Class | Method | HTTP request | Description - [ReportOutputFormat](docs/ReportOutputFormat.md) - [ReportStatus](docs/ReportStatus.md) - [ReportType](docs/ReportType.md) + - [RescreenTransactionRequest](docs/RescreenTransactionRequest.md) + - [RescreenTransactionResponse](docs/RescreenTransactionResponse.md) - [ResendByQueryRequest](docs/ResendByQueryRequest.md) - [ResendByQueryResponse](docs/ResendByQueryResponse.md) - [ResendFailedNotificationsJobStatusResponse](docs/ResendFailedNotificationsJobStatusResponse.md) @@ -1309,6 +1351,7 @@ Class | Method | HTTP request | Description - [SEPADestination](docs/SEPADestination.md) - [SOLAccount](docs/SOLAccount.md) - [SOLAccountWithValue](docs/SOLAccountWithValue.md) + - [SaveAutomationSettingsResponse](docs/SaveAutomationSettingsResponse.md) - [ScopeItem](docs/ScopeItem.md) - [ScopeItemFailure](docs/ScopeItemFailure.md) - [ScreeningAlertExposureTypeEnum](docs/ScreeningAlertExposureTypeEnum.md) @@ -1326,6 +1369,7 @@ Class | Method | HTTP request | Description - [ScreeningPolicyCurrency](docs/ScreeningPolicyCurrency.md) - [ScreeningPolicyResponse](docs/ScreeningPolicyResponse.md) - [ScreeningProviderRulesConfigurationResponse](docs/ScreeningProviderRulesConfigurationResponse.md) + - [ScreeningStatusEnum](docs/ScreeningStatusEnum.md) - [ScreeningTRLinkAmount](docs/ScreeningTRLinkAmount.md) - [ScreeningTRLinkMissingTrmDecision](docs/ScreeningTRLinkMissingTrmDecision.md) - [ScreeningTRLinkMissingTrmRule](docs/ScreeningTRLinkMissingTrmRule.md) @@ -1530,6 +1574,7 @@ Class | Method | HTTP request | Description - [TagsPagedResponse](docs/TagsPagedResponse.md) - [TemplatesPaginatedResponse](docs/TemplatesPaginatedResponse.md) - [ThirdPartyRouting](docs/ThirdPartyRouting.md) + - [TimeBasedTrigger](docs/TimeBasedTrigger.md) - [TimePeriodConfig](docs/TimePeriodConfig.md) - [TimePeriodMatchType](docs/TimePeriodMatchType.md) - [ToCollateralTransaction](docs/ToCollateralTransaction.md) @@ -1634,6 +1679,7 @@ Class | Method | HTTP request | Description - [TravelRuleValidateTransactionResponse](docs/TravelRuleValidateTransactionResponse.md) - [TravelRuleVaspForVault](docs/TravelRuleVaspForVault.md) - [TravelRuleVerdictEnum](docs/TravelRuleVerdictEnum.md) + - [TriggerValidationFlowResponse](docs/TriggerValidationFlowResponse.md) - [TrustProofOfAddressCreateResponse](docs/TrustProofOfAddressCreateResponse.md) - [TrustProofOfAddressRequest](docs/TrustProofOfAddressRequest.md) - [TrustProofOfAddressResponse](docs/TrustProofOfAddressResponse.md) @@ -1647,6 +1693,8 @@ Class | Method | HTTP request | Description - [UnspentInputsResponse](docs/UnspentInputsResponse.md) - [UnstakeRequest](docs/UnstakeRequest.md) - [UpdateAssetUserMetadataRequest](docs/UpdateAssetUserMetadataRequest.md) + - [UpdateAutomationSettingsRequest](docs/UpdateAutomationSettingsRequest.md) + - [UpdateBlockchainResponse](docs/UpdateBlockchainResponse.md) - [UpdateCallbackHandlerRequest](docs/UpdateCallbackHandlerRequest.md) - [UpdateCallbackHandlerResponse](docs/UpdateCallbackHandlerResponse.md) - [UpdateCounterpartyGroupRequest](docs/UpdateCounterpartyGroupRequest.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index 3c96d5ce..7fdbded0 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -548,6 +548,618 @@ paths: \ page_cursor, cursor);" x-accepts: - application/json + /blockchain_link/blockchains: + get: + description: "Returns the tenant's blockchains, paginated and filterable by\ + \ state, network environment, and free-text search, with configurable sorting." + operationId: listBlockchainLinkChains + parameters: + - description: "tenant_id is extracted from JWT token context. Opaque cursor\ + \ for the requested page. Currently encodes the 1-based page number as a\ + \ decimal string (\"1\", \"2\", ...); treat as opaque on the client. Absent\ + \ = first page." + example: "1" + explode: true + in: query + name: pageCursor + required: false + schema: + type: string + style: form + - description: "Maximum number of items per page. Default 20, clamped to [1,\ + \ 1000]." + example: 20 + explode: true + in: query + name: pageSize + required: false + schema: + default: 20 + maximum: 1000 + minimum: 1 + type: number + style: form + - description: Free-text search across chain and symbol name. + example: eth + explode: true + in: query + name: search + required: false + schema: + type: string + style: form + - description: Include filter (repeated query params). + example: + - BLOCKCHAIN_STATE_ACTIVATED + explode: true + in: query + name: status + required: false + schema: + items: + $ref: "#/components/schemas/BlockchainStateFilter" + type: array + style: form + - description: Filter by network. + explode: true + in: query + name: blockchainEnv + required: false + schema: + $ref: "#/components/schemas/BlockchainEnvironment" + style: form + - description: "Sort field. Default: createdAt." + explode: true + in: query + name: sortBy + required: false + schema: + $ref: "#/components/schemas/BlockchainSortField" + style: form + - description: "Sort order. Default: DESC." + example: DESC + explode: true + in: query + name: order + required: false + schema: + default: DESC + enum: + - ASC + - DESC + type: string + style: form + - description: Exclude filter (repeated query params). + example: + - BLOCKCHAIN_STATE_DEACTIVATED + explode: true + in: query + name: statusExclude + required: false + schema: + items: + $ref: "#/components/schemas/BlockchainStateFilter" + type: array + style: form + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ListBlockchainsResponse-2" + description: OK + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: List blockchains with pagination and filtering + tags: + - Blockchain link (Beta) + x-rate-limit-category: query + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.listBlockchainLinkChains(blockchainLinkBetaApiListBlockchainLinkChainsRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().listBlockchainLinkChains(pageCursor,\ + \ pageSize, search, status, blockchainEnv, sortBy, order, statusExclude);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.blockchain_link_beta.list_blockchain_link_chains(page_cursor,\ + \ page_size, search, status, blockchain_env, sort_by, order, status_exclude);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.listBlockchainLinkChains(blockchainLinkBetaApiListBlockchainLinkChainsRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().listBlockchainLinkChains(pageCursor,\ + \ pageSize, search, status, blockchainEnv, sortBy, order, statusExclude);" + - lang: Python + source: "response = fireblocks.blockchain_link_beta.list_blockchain_link_chains(page_cursor,\ + \ page_size, search, status, blockchain_env, sort_by, order, status_exclude);" + x-accepts: + - application/json + post: + description: Registers a new tenant-managed blockchain from the supplied declared + properties. The blockchain starts in the CREATED state and must be activated + separately before it can be used. + operationId: createBlockchainLinkChain + 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 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateBlockchainRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CreateBlockchainResponse" + description: OK + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Create a new blockchain + tags: + - Blockchain link (Beta) + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.createBlockchainLinkChain(blockchainLinkBetaApiCreateBlockchainLinkChainRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().createBlockchainLinkChain(createBlockchainRequest,\ + \ idempotencyKey);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.blockchain_link_beta.create_blockchain_link_chain(create_blockchain_request,\ + \ idempotency_key);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.createBlockchainLinkChain(blockchainLinkBetaApiCreateBlockchainLinkChainRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().createBlockchainLinkChain(createBlockchainRequest,\ + \ idempotencyKey);" + - lang: Python + source: "response = fireblocks.blockchain_link_beta.create_blockchain_link_chain(create_blockchain_request,\ + \ idempotency_key);" + x-content-type: application/json + x-accepts: + - application/json + /blockchain_link/blockchains/{blockchainId}: + delete: + description: Permanently removes a blockchain identified by its ID. The blockchain + must not be in an active lifecycle state. + operationId: deleteBlockchainLinkChain + parameters: + - description: tenant_id is extracted from JWT token context + explode: false + in: path + name: blockchainId + required: true + schema: + type: string + style: simple + responses: + "204": + description: No Content + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Delete a blockchain + tags: + - Blockchain link (Beta) + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise> = fireblocks.blockchainLinkBeta.deleteBlockchainLinkChain(blockchainLinkBetaApiDeleteBlockchainLinkChainRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> response = fireblocks.blockchainLinkBeta().deleteBlockchainLinkChain(blockchainId); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.blockchain_link_beta.delete_blockchain_link_chain(blockchain_id); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise> = fireblocks.blockchainLinkBeta.deleteBlockchainLinkChain(blockchainLinkBetaApiDeleteBlockchainLinkChainRequest);" + - lang: Java + source: CompletableFuture> response = fireblocks.blockchainLinkBeta().deleteBlockchainLinkChain(blockchainId); + - lang: Python + source: response = fireblocks.blockchain_link_beta.delete_blockchain_link_chain(blockchain_id); + x-accepts: + - application/json + get: + description: "Returns a single blockchain owned by the tenant, identified by\ + \ its ID." + operationId: getBlockchainLinkChain + parameters: + - description: ID of the blockchain to retrieve (supplied as a path parameter). + explode: false + in: path + name: blockchainId + required: true + schema: + example: f47ac10b-58cc-4372-a567-0e02b2c3d479 + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GetBlockchainByIdResponse" + description: OK + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Get a blockchain by ID + tags: + - Blockchain link (Beta) + x-rate-limit-category: read + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.getBlockchainLinkChain(blockchainLinkBetaApiGetBlockchainLinkChainRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> response + = fireblocks.blockchainLinkBeta().getBlockchainLinkChain(blockchainId); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.blockchain_link_beta.get_blockchain_link_chain(blockchain_id); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.getBlockchainLinkChain(blockchainLinkBetaApiGetBlockchainLinkChainRequest);" + - lang: Java + source: CompletableFuture> response + = fireblocks.blockchainLinkBeta().getBlockchainLinkChain(blockchainId); + - lang: Python + source: response = fireblocks.blockchain_link_beta.get_blockchain_link_chain(blockchain_id); + x-accepts: + - application/json + put: + description: Updates the declared properties of an existing blockchain identified + by its ID. Only the fields supplied in the request are modified. + operationId: updateBlockchainLinkChain + parameters: + - description: ID of the blockchain to update (supplied as a path parameter). + explode: false + in: path + name: blockchainId + required: true + schema: + example: f47ac10b-58cc-4372-a567-0e02b2c3d479 + type: string + style: simple + - 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 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BlockchainDeclaredProperties" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateBlockchainResponse" + description: OK + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Update a blockchain + tags: + - Blockchain link (Beta) + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.updateBlockchainLinkChain(blockchainLinkBetaApiUpdateBlockchainLinkChainRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().updateBlockchainLinkChain(blockchainDeclaredProperties,\ + \ blockchainId, idempotencyKey);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.blockchain_link_beta.update_blockchain_link_chain(blockchain_declared_properties,\ + \ blockchain_id, idempotency_key);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.updateBlockchainLinkChain(blockchainLinkBetaApiUpdateBlockchainLinkChainRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().updateBlockchainLinkChain(blockchainDeclaredProperties,\ + \ blockchainId, idempotencyKey);" + - lang: Python + source: "response = fireblocks.blockchain_link_beta.update_blockchain_link_chain(blockchain_declared_properties,\ + \ blockchain_id, idempotency_key);" + x-content-type: application/json + x-accepts: + - application/json + /blockchain_link/blockchains/{blockchainId}/activate: + post: + description: "Starts the asynchronous activation workflow for the blockchain\ + \ identified by its ID, transitioning it towards the ACTIVATED state." + operationId: activateBlockchainLinkChain + parameters: + - description: Required blockchain ID to activate + explode: false + in: path + name: blockchainId + required: true + schema: + type: string + style: simple + - 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: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/ActivateBlockchainResponse" + description: Accepted + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Activate a blockchain (triggers activation workflow) + tags: + - Blockchain link (Beta) + x-rate-limit-category: async + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.activateBlockchainLinkChain(blockchainLinkBetaApiActivateBlockchainLinkChainRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().activateBlockchainLinkChain(blockchainId,\ + \ idempotencyKey);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.blockchain_link_beta.activate_blockchain_link_chain(blockchain_id,\ + \ idempotency_key);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.activateBlockchainLinkChain(blockchainLinkBetaApiActivateBlockchainLinkChainRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().activateBlockchainLinkChain(blockchainId,\ + \ idempotencyKey);" + - lang: Python + source: "response = fireblocks.blockchain_link_beta.activate_blockchain_link_chain(blockchain_id,\ + \ idempotency_key);" + x-accepts: + - application/json + /blockchain_link/blockchains/{blockchainId}/validate: + post: + description: Starts the asynchronous validation workflow for a blockchain and + its associated validation session. + operationId: triggerBlockchainLinkValidation + parameters: + - description: ID of the blockchain to validate. + explode: false + in: path + name: blockchainId + required: true + schema: + example: f47ac10b-58cc-4372-a567-0e02b2c3d479 + format: uuid + type: string + style: simple + - 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: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/TriggerValidationFlowResponse" + description: Accepted + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Trigger validation workflow + tags: + - Blockchain link (Beta) + x-rate-limit-category: async + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.triggerBlockchainLinkValidation(blockchainLinkBetaApiTriggerBlockchainLinkValidationRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().triggerBlockchainLinkValidation(blockchainId,\ + \ idempotencyKey);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.blockchain_link_beta.trigger_blockchain_link_validation(blockchain_id,\ + \ idempotency_key);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.triggerBlockchainLinkValidation(blockchainLinkBetaApiTriggerBlockchainLinkValidationRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.blockchainLinkBeta().triggerBlockchainLinkValidation(blockchainId,\ + \ idempotencyKey);" + - lang: Python + source: "response = fireblocks.blockchain_link_beta.trigger_blockchain_link_validation(blockchain_id,\ + \ idempotency_key);" + x-accepts: + - application/json + /blockchain_link/blockchains/billing_info: + get: + description: Returns the tenant's blockchain activation limit and current usage. + tenant_id is derived from the JWT token context. + operationId: getBlockchainLinkBillingInfo + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GetBillingInfoResponse" + description: OK + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Get tenant billing info + tags: + - Blockchain link (Beta) + x-rate-limit-category: read + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.getBlockchainLinkBillingInfo();" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> response = + fireblocks.blockchainLinkBeta().getBlockchainLinkBillingInfo(); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.blockchain_link_beta.get_blockchain_link_billing_info(); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.getBlockchainLinkBillingInfo();" + - lang: Java + source: CompletableFuture> response = + fireblocks.blockchainLinkBeta().getBlockchainLinkBillingInfo(); + - lang: Python + source: response = fireblocks.blockchain_link_beta.get_blockchain_link_billing_info(); + x-accepts: + - application/json + /blockchain_link/blockchains/test_wallet_address: + get: + description: "Returns the Ethereum address derived from the configured external\ + \ wallet private key, used by the UI for test transfers. tenant_id is derived\ + \ from the JWT token context." + operationId: getBlockchainLinkTestWalletAddress + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GetTestWalletAddressResponse" + description: OK + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Get the test wallet address + tags: + - Blockchain link (Beta) + x-rate-limit-category: read + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.getBlockchainLinkTestWalletAddress();" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> response + = fireblocks.blockchainLinkBeta().getBlockchainLinkTestWalletAddress(); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.blockchain_link_beta.get_blockchain_link_test_wallet_address(); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.blockchainLinkBeta.getBlockchainLinkTestWalletAddress();" + - lang: Java + source: CompletableFuture> response + = fireblocks.blockchainLinkBeta().getBlockchainLinkTestWalletAddress(); + - lang: Python + source: response = fireblocks.blockchain_link_beta.get_blockchain_link_test_wallet_address(); + x-accepts: + - application/json /assets: get: description: | @@ -3885,6 +4497,85 @@ paths: \ idempotency_key);" x-accepts: - application/json + /screening/transaction/{txId}/rescreen: + post: + description: "Re-runs compliance screening on an incoming transaction that was\ + \ rejected or failed by screening checks, moving it back to pending screening.\ + \ This endpoint is only applicable to incoming transactions with a rejected/failed\ + \ AML screening status." + operationId: rescreenRejectedTransaction + parameters: + - description: The transaction id that was rejected by screening checks + example: 550e8400-e29b-41d4-a716-446655440000 + explode: false + in: path + name: txId + required: true + schema: + type: string + style: simple + - 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 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RescreenTransactionRequest" + required: false + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RescreenTransactionResponse" + description: Rescreen result + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Rescreen a rejected transaction + tags: + - Compliance + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.compliance.rescreenRejectedTransaction(complianceApiRescreenRejectedTransactionRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.compliance().rescreenRejectedTransaction(txId, rescreenTransactionRequest,\ + \ idempotencyKey);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.compliance.rescreen_rejected_transaction(tx_id,\ + \ rescreen_transaction_request, idempotency_key);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.compliance.rescreenRejectedTransaction(complianceApiRescreenRejectedTransactionRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.compliance().rescreenRejectedTransaction(txId, rescreenTransactionRequest,\ + \ idempotencyKey);" + - lang: Python + source: "response = fireblocks.compliance.rescreen_rejected_transaction(tx_id,\ + \ rescreen_transaction_request, idempotency_key);" + x-content-type: application/json + x-accepts: + - application/json /screening/travel_rule/policy_configuration: get: description: Retrieves the configuration for Travel Rule screening policy. @@ -4140,7 +4831,7 @@ paths: Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. - Use `GET /exchange_accounts/credentials_public_key` to retrieve the public key for encryption. + Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. @@ -4435,18 +5126,6 @@ paths: minimum: 1 type: integer style: form - - description: Field to sort results by. - explode: true - in: query - name: sortBy - required: false - schema: - default: addedAt - enum: - - addedAt - - lastSyncedAt - type: string - style: form - description: Sort order (ASC or DESC). explode: true in: query @@ -4493,12 +5172,11 @@ paths: name: Fireblocks SDK TypeScript example - language: java code: "CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountAllowlist(accountId,\ - \ status, assetId, networkId, address, pageCursor, pageSize, sortBy, order);" + \ status, assetId, networkId, address, pageCursor, pageSize, order);" name: Fireblocks SDK Java example - language: python code: "response = fireblocks.connected_accounts_beta.get_connected_account_allowlist(account_id,\ - \ status, asset_id, network_id, address, page_cursor, page_size, sort_by,\ - \ order);" + \ status, asset_id, network_id, address, page_cursor, page_size, order);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript @@ -4506,11 +5184,10 @@ paths: \ fireblocks.connectedAccountsBeta.getConnectedAccountAllowlist(connectedAccountsBetaApiGetConnectedAccountAllowlistRequest);" - lang: Java source: "CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountAllowlist(accountId,\ - \ status, assetId, networkId, address, pageCursor, pageSize, sortBy, order);" + \ status, assetId, networkId, address, pageCursor, pageSize, order);" - lang: Python source: "response = fireblocks.connected_accounts_beta.get_connected_account_allowlist(account_id,\ - \ status, asset_id, network_id, address, page_cursor, page_size, sort_by,\ - \ order);" + \ status, asset_id, network_id, address, page_cursor, page_size, order);" x-accepts: - application/json /connected_accounts/{accountId}/allowlist/{allowlistId}: @@ -5003,6 +5680,55 @@ paths: x-content-type: application/json x-accepts: - application/json + /connected_accounts/credentials/public_key: + get: + description: | + Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. + + The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. + + **Note:** This endpoint is currently in beta and might be subject to changes. + operationId: getConnectedAccountsCredentialsPublicKey + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GetConnectedAccountsCredentialsPublicKeyResponse" + description: Public key retrieved successfully. + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Get public key to encrypt connected account credentials + tags: + - Connected Accounts (Beta) + x-rate-limit-category: read + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.connectedAccountsBeta.getConnectedAccountsCredentialsPublicKey();" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> + response = fireblocks.connectedAccountsBeta().getConnectedAccountsCredentialsPublicKey(); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.connected_accounts_beta.get_connected_accounts_credentials_public_key(); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.connectedAccountsBeta.getConnectedAccountsCredentialsPublicKey();" + - lang: Java + source: CompletableFuture> + response = fireblocks.connectedAccountsBeta().getConnectedAccountsCredentialsPublicKey(); + - lang: Python + source: response = fireblocks.connected_accounts_beta.get_connected_accounts_credentials_public_key(); + x-accepts: + - application/json /management/users: get: description: |- @@ -7788,8 +8514,6 @@ paths: get: description: | Returns a paginated list of lending actions (deposits and withdrawals) for the authenticated tenant. - - **Note:** This endpoint is currently in beta and might be subject to changes. operationId: getEarnActions parameters: - description: Cursor for the next or previous page of results. @@ -7887,31 +8611,31 @@ paths: $ref: "#/components/responses/Error" summary: List earn lending actions tags: - - Earn (Beta) + - Earn x-rate-limit-category: query x-readme: code-samples: - language: typescript code: "const response: Promise> =\ - \ fireblocks.earnBeta.getEarnActions(earnBetaApiGetEarnActionsRequest);" + \ fireblocks.earn.getEarnActions(earnApiGetEarnActionsRequest);" name: Fireblocks SDK TypeScript example - language: java - code: "CompletableFuture> response = fireblocks.earnBeta().getEarnActions(pageCursor,\ + code: "CompletableFuture> response = fireblocks.earn().getEarnActions(pageCursor,\ \ pageSize, sortBy, order);" name: Fireblocks SDK Java example - language: python - code: "response = fireblocks.earn_beta.get_earn_actions(page_cursor, page_size,\ + code: "response = fireblocks.earn.get_earn_actions(page_cursor, page_size,\ \ sort_by, order);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: "const response: Promise> =\ - \ fireblocks.earnBeta.getEarnActions(earnBetaApiGetEarnActionsRequest);" + \ fireblocks.earn.getEarnActions(earnApiGetEarnActionsRequest);" - lang: Java - source: "CompletableFuture> response = fireblocks.earnBeta().getEarnActions(pageCursor,\ + source: "CompletableFuture> response = fireblocks.earn().getEarnActions(pageCursor,\ \ pageSize, sortBy, order);" - lang: Python - source: "response = fireblocks.earn_beta.get_earn_actions(page_cursor, page_size,\ + source: "response = fireblocks.earn.get_earn_actions(page_cursor, page_size,\ \ sort_by, order);" x-accepts: - application/json @@ -7919,8 +8643,6 @@ paths: description: | Creates and runs a sequence of on-chain steps for either a deposit into or a withdrawal from an earn vault/market. Specify the operation with `action` in the request body (`DEPOSIT` or `WITHDRAW`). - - **Note:** This endpoint is currently in beta and might be subject to changes. operationId: createEarnAction parameters: - description: "A unique identifier for the request. If the request is sent\ @@ -8002,31 +8724,31 @@ paths: $ref: "#/components/responses/Error" summary: Create and execute a lending action (deposit or withdraw) tags: - - Earn (Beta) + - Earn x-rate-limit-category: write x-readme: code-samples: - language: typescript code: "const response: Promise>\ - \ = fireblocks.earnBeta.createEarnAction(earnBetaApiCreateEarnActionRequest);" + \ = fireblocks.earn.createEarnAction(earnApiCreateEarnActionRequest);" name: Fireblocks SDK TypeScript example - language: java code: "CompletableFuture> response\ - \ = fireblocks.earnBeta().createEarnAction(createEarnActionRequest, idempotencyKey);" + \ = fireblocks.earn().createEarnAction(createEarnActionRequest, idempotencyKey);" name: Fireblocks SDK Java example - language: python - code: "response = fireblocks.earn_beta.create_earn_action(create_earn_action_request,\ + code: "response = fireblocks.earn.create_earn_action(create_earn_action_request,\ \ idempotency_key);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: "const response: Promise>\ - \ = fireblocks.earnBeta.createEarnAction(earnBetaApiCreateEarnActionRequest);" + \ = fireblocks.earn.createEarnAction(earnApiCreateEarnActionRequest);" - lang: Java source: "CompletableFuture> response\ - \ = fireblocks.earnBeta().createEarnAction(createEarnActionRequest, idempotencyKey);" + \ = fireblocks.earn().createEarnAction(createEarnActionRequest, idempotencyKey);" - lang: Python - source: "response = fireblocks.earn_beta.create_earn_action(create_earn_action_request,\ + source: "response = fireblocks.earn.create_earn_action(create_earn_action_request,\ \ idempotency_key);" x-content-type: application/json x-accepts: @@ -8035,8 +8757,6 @@ paths: get: description: | Returns one lending action by its action sequence id (tenant-scoped). - - **Note:** This endpoint is currently in beta and might be subject to changes. operationId: getEarnAction parameters: - description: Action sequence id (UUID). @@ -8100,36 +8820,34 @@ paths: $ref: "#/components/responses/Error" summary: Get a single earn lending action tags: - - Earn (Beta) + - Earn x-rate-limit-category: query x-readme: code-samples: - language: typescript code: "const response: Promise> =\ - \ fireblocks.earnBeta.getEarnAction(earnBetaApiGetEarnActionRequest);" + \ fireblocks.earn.getEarnAction(earnApiGetEarnActionRequest);" name: Fireblocks SDK TypeScript example - language: java - code: CompletableFuture> response = fireblocks.earnBeta().getEarnAction(id); + code: CompletableFuture> response = fireblocks.earn().getEarnAction(id); name: Fireblocks SDK Java example - language: python - code: response = fireblocks.earn_beta.get_earn_action(id); + code: response = fireblocks.earn.get_earn_action(id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: "const response: Promise> =\ - \ fireblocks.earnBeta.getEarnAction(earnBetaApiGetEarnActionRequest);" + \ fireblocks.earn.getEarnAction(earnApiGetEarnActionRequest);" - lang: Java - source: CompletableFuture> response = fireblocks.earnBeta().getEarnAction(id); + source: CompletableFuture> response = fireblocks.earn().getEarnAction(id); - lang: Python - source: response = fireblocks.earn_beta.get_earn_action(id); + source: response = fireblocks.earn.get_earn_action(id); x-accepts: - application/json /earn/opportunities: get: description: | Get list of earn opportunities (vaults). - - **Note:** This endpoint is currently in beta and might be subject to changes. operationId: getEarnOpportunities parameters: - description: Cursor for the next or previous page of results. @@ -8224,41 +8942,41 @@ paths: $ref: "#/components/responses/Error" summary: Get list of earn opportunities tags: - - Earn (Beta) + - Earn x-rate-limit-category: query x-readme: code-samples: - language: typescript code: "const response: Promise>\ - \ = fireblocks.earnBeta.getEarnOpportunities(earnBetaApiGetEarnOpportunitiesRequest);" + \ = fireblocks.earn.getEarnOpportunities(earnApiGetEarnOpportunitiesRequest);" name: Fireblocks SDK TypeScript example - language: java code: "CompletableFuture> response\ - \ = fireblocks.earnBeta().getEarnOpportunities(pageCursor, pageSize, sortBy,\ + \ = fireblocks.earn().getEarnOpportunities(pageCursor, pageSize, sortBy,\ \ order);" name: Fireblocks SDK Java example - language: python - code: "response = fireblocks.earn_beta.get_earn_opportunities(page_cursor,\ - \ page_size, sort_by, order);" + code: "response = fireblocks.earn.get_earn_opportunities(page_cursor, page_size,\ + \ sort_by, order);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: "const response: Promise>\ - \ = fireblocks.earnBeta.getEarnOpportunities(earnBetaApiGetEarnOpportunitiesRequest);" + \ = fireblocks.earn.getEarnOpportunities(earnApiGetEarnOpportunitiesRequest);" - lang: Java source: "CompletableFuture> response\ - \ = fireblocks.earnBeta().getEarnOpportunities(pageCursor, pageSize, sortBy,\ + \ = fireblocks.earn().getEarnOpportunities(pageCursor, pageSize, sortBy,\ \ order);" - lang: Python - source: "response = fireblocks.earn_beta.get_earn_opportunities(page_cursor,\ - \ page_size, sort_by, order);" + source: "response = fireblocks.earn.get_earn_opportunities(page_cursor, page_size,\ + \ sort_by, order);" x-accepts: - application/json /earn/positions: get: - description: "Get list of earn positions for accounts tracked for this workspace.\ - \ \nOptional query parameters filter by chain, provider, and pagination.\n\ - \n**Note:** This endpoint is currently in beta and might be subject to changes.\n" + description: | + Get list of earn positions for accounts tracked for this workspace. + Optional query parameters filter by chain, provider, and pagination. operationId: getEarnPositions parameters: - explode: true @@ -8371,31 +9089,31 @@ paths: $ref: "#/components/responses/Error" summary: Get list of earn positions tags: - - Earn (Beta) + - Earn x-rate-limit-category: query x-readme: code-samples: - language: typescript code: "const response: Promise>\ - \ = fireblocks.earnBeta.getEarnPositions(earnBetaApiGetEarnPositionsRequest);" + \ = fireblocks.earn.getEarnPositions(earnApiGetEarnPositionsRequest);" name: Fireblocks SDK TypeScript example - language: java - code: "CompletableFuture> response = fireblocks.earnBeta().getEarnPositions(chainId,\ + code: "CompletableFuture> response = fireblocks.earn().getEarnPositions(chainId,\ \ providerId, pageCursor, pageSize, sortBy, order);" name: Fireblocks SDK Java example - language: python - code: "response = fireblocks.earn_beta.get_earn_positions(chain_id, provider_id,\ + code: "response = fireblocks.earn.get_earn_positions(chain_id, provider_id,\ \ page_cursor, page_size, sort_by, order);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: "const response: Promise>\ - \ = fireblocks.earnBeta.getEarnPositions(earnBetaApiGetEarnPositionsRequest);" + \ = fireblocks.earn.getEarnPositions(earnApiGetEarnPositionsRequest);" - lang: Java - source: "CompletableFuture> response = fireblocks.earnBeta().getEarnPositions(chainId,\ + source: "CompletableFuture> response = fireblocks.earn().getEarnPositions(chainId,\ \ providerId, pageCursor, pageSize, sortBy, order);" - lang: Python - source: "response = fireblocks.earn_beta.get_earn_positions(chain_id, provider_id,\ + source: "response = fireblocks.earn.get_earn_positions(chain_id, provider_id,\ \ page_cursor, page_size, sort_by, order);" x-accepts: - application/json @@ -8403,8 +9121,6 @@ paths: get: description: | Get list of earn providers. - - **Note:** This endpoint is currently in beta and might be subject to changes. operationId: getEarnProviders parameters: - description: Cursor for the next or previous page of results. @@ -8499,31 +9215,31 @@ paths: $ref: "#/components/responses/Error" summary: Get list of earn providers tags: - - Earn (Beta) + - Earn x-rate-limit-category: query x-readme: code-samples: - language: typescript code: "const response: Promise>\ - \ = fireblocks.earnBeta.getEarnProviders(earnBetaApiGetEarnProvidersRequest);" + \ = fireblocks.earn.getEarnProviders(earnApiGetEarnProvidersRequest);" name: Fireblocks SDK TypeScript example - language: java - code: "CompletableFuture> response = fireblocks.earnBeta().getEarnProviders(pageCursor,\ + code: "CompletableFuture> response = fireblocks.earn().getEarnProviders(pageCursor,\ \ pageSize, sortBy, order);" name: Fireblocks SDK Java example - language: python - code: "response = fireblocks.earn_beta.get_earn_providers(page_cursor, page_size,\ + code: "response = fireblocks.earn.get_earn_providers(page_cursor, page_size,\ \ sort_by, order);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: "const response: Promise>\ - \ = fireblocks.earnBeta.getEarnProviders(earnBetaApiGetEarnProvidersRequest);" + \ = fireblocks.earn.getEarnProviders(earnApiGetEarnProvidersRequest);" - lang: Java - source: "CompletableFuture> response = fireblocks.earnBeta().getEarnProviders(pageCursor,\ + source: "CompletableFuture> response = fireblocks.earn().getEarnProviders(pageCursor,\ \ pageSize, sortBy, order);" - lang: Python - source: "response = fireblocks.earn_beta.get_earn_providers(page_cursor, page_size,\ + source: "response = fireblocks.earn.get_earn_providers(page_cursor, page_size,\ \ sort_by, order);" x-accepts: - application/json @@ -8534,8 +9250,6 @@ paths: When `isTermsApprovalRequired` is true on a provider (see list providers), call this once before creating or executing earn actions with providers that require it. After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`. - - **Note:** This endpoint is currently in beta and might be subject to changes. operationId: approveTermsOfService parameters: - description: "A unique identifier for the request. If the request is sent\ @@ -8607,26 +9321,26 @@ paths: $ref: "#/components/responses/Error" summary: Approve earn provider terms of service tags: - - Earn (Beta) + - Earn x-rate-limit-category: write x-readme: code-samples: - language: typescript - code: "const response: Promise> = fireblocks.earnBeta.approveTermsOfService(earnBetaApiApproveTermsOfServiceRequest);" + code: "const response: Promise> = fireblocks.earn.approveTermsOfService(earnApiApproveTermsOfServiceRequest);" name: Fireblocks SDK TypeScript example - language: java - code: CompletableFuture> response = fireblocks.earnBeta().approveTermsOfService(idempotencyKey); + code: CompletableFuture> response = fireblocks.earn().approveTermsOfService(idempotencyKey); name: Fireblocks SDK Java example - language: python - code: response = fireblocks.earn_beta.approve_terms_of_service(idempotency_key); + code: response = fireblocks.earn.approve_terms_of_service(idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript - source: "const response: Promise> = fireblocks.earnBeta.approveTermsOfService(earnBetaApiApproveTermsOfServiceRequest);" + source: "const response: Promise> = fireblocks.earn.approveTermsOfService(earnApiApproveTermsOfServiceRequest);" - lang: Java - source: CompletableFuture> response = fireblocks.earnBeta().approveTermsOfService(idempotencyKey); + source: CompletableFuture> response = fireblocks.earn().approveTermsOfService(idempotencyKey); - lang: Python - source: response = fireblocks.earn_beta.approve_terms_of_service(idempotency_key); + source: response = fireblocks.earn.approve_terms_of_service(idempotency_key); x-accepts: - application/json /ncw/{walletId}/accounts/{accountId}/{assetId}/{change}/{addressIndex}/public_key_info: @@ -18112,6 +18826,122 @@ paths: x-content-type: application/json x-accepts: - application/json + /policy/rules/quota: + post: + description: | + Returns the Amount Over Time (AOT) quota calculated for a specific policy rule. + + Endpoint Permissions: Owner, Admin, Non-Signing Admin. + operationId: getPolicyRuleQuota + 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 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PolicyRuleQuotaRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PolicyRuleQuotaResponse" + description: The calculated AOT quota for the rule + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorSchema" + description: Invalid request parameters or rule configuration prevents AOT + calculation. + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorSchema" + description: Caller lacks permission to access the requested rule. + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorSchema" + description: The requested policy rule was not found. + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorSchema" + description: "Rate limit exceeded: slow down and retry later." + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorSchema" + description: Internal server error while calculating AOT quota. + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Calculate the AOT quota for a policy rule + tags: + - Policy Editor V2 (Beta) + x-rate-limit-category: query + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.policyEditorV2Beta.getPolicyRuleQuota(policyEditorV2BetaApiGetPolicyRuleQuotaRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.policyEditorV2Beta().getPolicyRuleQuota(policyRuleQuotaRequest,\ + \ idempotencyKey);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.policy_editor_v2_beta.get_policy_rule_quota(policy_rule_quota_request,\ + \ idempotency_key);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.policyEditorV2Beta.getPolicyRuleQuota(policyEditorV2BetaApiGetPolicyRuleQuotaRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.policyEditorV2Beta().getPolicyRuleQuota(policyRuleQuotaRequest,\ + \ idempotencyKey);" + - lang: Python + source: "response = fireblocks.policy_editor_v2_beta.get_policy_rule_quota(policy_rule_quota_request,\ + \ idempotency_key);" + x-content-type: application/json + x-accepts: + - application/json /reports: get: description: | @@ -22123,6 +22953,16 @@ paths: $ref: "#/components/schemas/TagType" type: array style: form + - description: "Filter tags whose allow-list contains this entity type. Known\ + \ values: vault_account, contact." + example: contact + explode: true + in: query + name: allowedEntityType + required: false + schema: + type: string + style: form responses: "200": content: @@ -22145,11 +22985,12 @@ paths: name: Fireblocks SDK TypeScript example - language: java code: "CompletableFuture> response = fireblocks.tags().getTags(pageCursor,\ - \ pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type);" + \ pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type,\ + \ allowedEntityType);" name: Fireblocks SDK Java example - language: python code: "response = fireblocks.tags.get_tags(page_cursor, page_size, label,\ - \ tag_ids, include_pending_approvals_info, is_protected, type);" + \ tag_ids, include_pending_approvals_info, is_protected, type, allowed_entity_type);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript @@ -22157,10 +22998,11 @@ paths: \ fireblocks.tags.getTags(tagsApiGetTagsRequest);" - lang: Java source: "CompletableFuture> response = fireblocks.tags().getTags(pageCursor,\ - \ pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type);" + \ pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type,\ + \ allowedEntityType);" - lang: Python source: "response = fireblocks.tags.get_tags(page_cursor, page_size, label,\ - \ tag_ids, include_pending_approvals_info, is_protected, type);" + \ tag_ids, include_pending_approvals_info, is_protected, type, allowed_entity_type);" x-accepts: - application/json post: @@ -30925,6 +31767,26 @@ paths: schema: type: string style: form + - description: Filter by the on-chain hash of the transaction that created the + UTXOs. Returns all UTXOs originating from that transaction. + example: 0000000000000000000a1b2c3d4e5f60718293a4b5c6d7e8f900112233445566 + explode: true + in: query + name: txHash + required: false + schema: + type: string + style: form + - description: Filter by the Fireblocks transaction ID that created the UTXOs. + example: f47ac10b-58cc-4372-a567-0e02b2c3d479 + explode: true + in: query + name: txId + required: false + schema: + format: uuid + type: string + style: form - description: Minimum amount filter example: "0.001" explode: true @@ -30968,12 +31830,14 @@ paths: - language: java code: "CompletableFuture> response = fireblocks.uTXOManagementBeta().getUtxos(vaultAccountId,\ \ assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels,\ - \ excludeAnyLabels, includeStatuses, address, minAmount, maxAmount);" + \ excludeAnyLabels, includeStatuses, address, txHash, txId, minAmount,\ + \ maxAmount);" name: Fireblocks SDK Java example - language: python code: "response = fireblocks.u_t_x_o_management_beta.get_utxos(vault_account_id,\ \ asset_id, page_cursor, page_size, sort, order, include_all_labels, include_any_labels,\ - \ exclude_any_labels, include_statuses, address, min_amount, max_amount);" + \ exclude_any_labels, include_statuses, address, tx_hash, tx_id, min_amount,\ + \ max_amount);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript @@ -30982,11 +31846,12 @@ paths: - lang: Java source: "CompletableFuture> response = fireblocks.uTXOManagementBeta().getUtxos(vaultAccountId,\ \ assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels,\ - \ excludeAnyLabels, includeStatuses, address, minAmount, maxAmount);" + \ excludeAnyLabels, includeStatuses, address, txHash, txId, minAmount, maxAmount);" - lang: Python source: "response = fireblocks.u_t_x_o_management_beta.get_utxos(vault_account_id,\ \ asset_id, page_cursor, page_size, sort, order, include_all_labels, include_any_labels,\ - \ exclude_any_labels, include_statuses, address, min_amount, max_amount);" + \ exclude_any_labels, include_statuses, address, tx_hash, tx_id, min_amount,\ + \ max_amount);" x-accepts: - application/json /vault/accounts: @@ -32551,6 +33416,68 @@ paths: schema: type: boolean style: form + - description: 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. + explode: true + in: query + name: includeAllLabels + required: false + schema: + items: + type: string + type: array + style: form + - description: Only include UTXOs that have ANY of these labels (OR logic). + Requires the UTXO Manager. This feature is currently in beta and might be + subject to changes. + explode: true + in: query + name: includeAnyLabels + required: false + schema: + items: + type: string + type: array + style: form + - description: Exclude UTXOs that have ANY of these labels. Requires the UTXO + Manager. This feature is currently in beta and might be subject to changes. + explode: true + in: query + name: excludeAnyLabels + required: false + schema: + items: + type: string + type: array + style: form + - description: Only include UTXOs from this specific address. Requires the UTXO + Manager. This feature is currently in beta and might be subject to changes. + explode: true + in: query + name: address + required: false + schema: + type: string + style: form + - description: Minimum UTXO amount in the asset's base unit. Requires the UTXO + Manager. This feature is currently in beta and might be subject to changes. + explode: true + in: query + name: minAmount + required: false + schema: + type: string + style: form + - description: Maximum UTXO amount in the asset's base unit. Requires the UTXO + Manager. This feature is currently in beta and might be subject to changes. + explode: true + in: query + name: maxAmount + required: false + schema: + type: string + style: form responses: "200": content: @@ -32584,11 +33511,13 @@ paths: - language: java code: "CompletableFuture> response\ \ = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId,\ - \ manualSignging);" + \ manualSignging, includeAllLabels, includeAnyLabels, excludeAnyLabels,\ + \ address, minAmount, maxAmount);" name: Fireblocks SDK Java example - language: python code: "response = fireblocks.vaults.get_max_spendable_amount(vault_account_id,\ - \ asset_id, manual_signging);" + \ asset_id, manual_signging, include_all_labels, include_any_labels, exclude_any_labels,\ + \ address, min_amount, max_amount);" name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript @@ -32596,10 +33525,13 @@ paths: \ = fireblocks.vaults.getMaxSpendableAmount(vaultsApiGetMaxSpendableAmountRequest);" - lang: Java source: "CompletableFuture> response\ - \ = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging);" + \ = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging,\ + \ includeAllLabels, includeAnyLabels, excludeAnyLabels, address, minAmount,\ + \ maxAmount);" - lang: Python source: "response = fireblocks.vaults.get_max_spendable_amount(vault_account_id,\ - \ asset_id, manual_signging);" + \ asset_id, manual_signging, include_all_labels, include_any_labels, exclude_any_labels,\ + \ address, min_amount, max_amount);" x-accepts: - application/json /vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs: @@ -33201,6 +34133,296 @@ paths: \ idempotency_key);" x-accepts: - application/json + /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation: + get: + description: |- + Returns the USDC Gateway deposit automations configured for the given vault account. + **Note:** This endpoint is currently in beta and might be subject to changes. + Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + operationId: getUsdcGatewayDepositAutomationBeta + parameters: + - description: The ID of the vault account + explode: false + in: path + name: vaultAccountId + required: true + schema: + format: numeric + type: string + x-fb-entity: vault_account + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GetAutomationSettingsResponse" + description: USDC Gateway deposit automations + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Read the USDC Gateway deposit automations for a vault account + tags: + - Vaults + x-rate-limit-category: read + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.vaults.getUsdcGatewayDepositAutomationBeta(vaultsApiGetUsdcGatewayDepositAutomationBetaRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: CompletableFuture> response + = fireblocks.vaults().getUsdcGatewayDepositAutomationBeta(vaultAccountId); + name: Fireblocks SDK Java example + - language: python + code: response = fireblocks.vaults.get_usdc_gateway_deposit_automation_beta(vault_account_id); + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.vaults.getUsdcGatewayDepositAutomationBeta(vaultsApiGetUsdcGatewayDepositAutomationBetaRequest);" + - lang: Java + source: CompletableFuture> response + = fireblocks.vaults().getUsdcGatewayDepositAutomationBeta(vaultAccountId); + - lang: Python + source: response = fireblocks.vaults.get_usdc_gateway_deposit_automation_beta(vault_account_id); + x-accepts: + - application/json + post: + description: |- + Turns on automatic deposits into the USDC Gateway wallet for the given vault account, on the schedule you choose. Returns an error if an automation already exists for this vault account and asset. Use PATCH to change it instead. + **Note:** This endpoint is currently in beta and might be subject to changes. + Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + operationId: setUsdcGatewayDepositAutomationBeta + parameters: + - description: The ID of the vault account + explode: false + in: path + name: vaultAccountId + required: true + schema: + format: numeric + type: string + x-fb-entity: vault_account + style: simple + - 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 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AutomationSettingsRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SaveAutomationSettingsResponse" + description: Deposit automation created + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Set up a USDC Gateway deposit automation for a vault account + tags: + - Vaults + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.vaults.setUsdcGatewayDepositAutomationBeta(vaultsApiSetUsdcGatewayDepositAutomationBetaRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.vaults().setUsdcGatewayDepositAutomationBeta(automationSettingsRequest,\ + \ vaultAccountId, idempotencyKey);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.vaults.set_usdc_gateway_deposit_automation_beta(automation_settings_request,\ + \ vault_account_id, idempotency_key);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.vaults.setUsdcGatewayDepositAutomationBeta(vaultsApiSetUsdcGatewayDepositAutomationBetaRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.vaults().setUsdcGatewayDepositAutomationBeta(automationSettingsRequest,\ + \ vaultAccountId, idempotencyKey);" + - lang: Python + source: "response = fireblocks.vaults.set_usdc_gateway_deposit_automation_beta(automation_settings_request,\ + \ vault_account_id, idempotency_key);" + x-content-type: application/json + x-accepts: + - application/json + /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId}: + delete: + description: |- + Stops the schedule for an existing deposit automation. The automation itself stays configured, only its schedule stops. Turn it back on later with PATCH, without setting up the automation again from scratch. + **Note:** This endpoint is currently in beta and might be subject to changes. + Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + operationId: disableUsdcGatewayDepositAutomationScheduleBeta + parameters: + - description: The ID of the vault account + explode: false + in: path + name: vaultAccountId + required: true + schema: + format: numeric + type: string + x-fb-entity: vault_account + style: simple + - description: "The ID of the deposit automation, returned when it was created\ + \ or read" + explode: false + in: path + name: automationId + required: true + schema: + format: uuid + type: string + style: simple + responses: + "204": + description: Deposit automation schedule disabled + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Stop a USDC Gateway deposit automation's schedule + tags: + - Vaults + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise> = fireblocks.vaults.disableUsdcGatewayDepositAutomationScheduleBeta(vaultsApiDisableUsdcGatewayDepositAutomationScheduleBetaRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response = fireblocks.vaults().disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId,\ + \ automationId);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.vaults.disable_usdc_gateway_deposit_automation_schedule_beta(vault_account_id,\ + \ automation_id);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise> = fireblocks.vaults.disableUsdcGatewayDepositAutomationScheduleBeta(vaultsApiDisableUsdcGatewayDepositAutomationScheduleBetaRequest);" + - lang: Java + source: "CompletableFuture> response = fireblocks.vaults().disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId,\ + \ automationId);" + - lang: Python + source: "response = fireblocks.vaults.disable_usdc_gateway_deposit_automation_schedule_beta(vault_account_id,\ + \ automation_id);" + x-accepts: + - application/json + patch: + description: |- + Changes an existing USDC Gateway deposit automation for a vault account. + **Note:** This endpoint is currently in beta and might be subject to changes. + Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + operationId: updateUsdcGatewayDepositAutomationBeta + parameters: + - description: The ID of the vault account + explode: false + in: path + name: vaultAccountId + required: true + schema: + format: numeric + type: string + x-fb-entity: vault_account + style: simple + - description: "The ID of the deposit automation, returned when it was created\ + \ or read" + explode: false + in: path + name: automationId + required: true + schema: + format: uuid + type: string + style: simple + - 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 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateAutomationSettingsRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AutomationSettingsResponse" + description: Deposit automation updated + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + default: + $ref: "#/components/responses/Error" + summary: Change a USDC Gateway deposit automation + tags: + - Vaults + x-rate-limit-category: write + x-readme: + code-samples: + - language: typescript + code: "const response: Promise>\ + \ = fireblocks.vaults.updateUsdcGatewayDepositAutomationBeta(vaultsApiUpdateUsdcGatewayDepositAutomationBetaRequest);" + name: Fireblocks SDK TypeScript example + - language: java + code: "CompletableFuture> response\ + \ = fireblocks.vaults().updateUsdcGatewayDepositAutomationBeta(updateAutomationSettingsRequest,\ + \ vaultAccountId, automationId, idempotencyKey);" + name: Fireblocks SDK Java example + - language: python + code: "response = fireblocks.vaults.update_usdc_gateway_deposit_automation_beta(update_automation_settings_request,\ + \ vault_account_id, automation_id, idempotency_key);" + name: Fireblocks SDK Python example + x-codeSamples: + - lang: TypeScript + source: "const response: Promise>\ + \ = fireblocks.vaults.updateUsdcGatewayDepositAutomationBeta(vaultsApiUpdateUsdcGatewayDepositAutomationBetaRequest);" + - lang: Java + source: "CompletableFuture> response\ + \ = fireblocks.vaults().updateUsdcGatewayDepositAutomationBeta(updateAutomationSettingsRequest,\ + \ vaultAccountId, automationId, idempotencyKey);" + - lang: Python + source: "response = fireblocks.vaults.update_usdc_gateway_deposit_automation_beta(update_automation_settings_request,\ + \ vault_account_id, automation_id, idempotency_key);" + x-content-type: application/json + x-accepts: + - application/json /vault/accounts/addresses/bulk: post: description: | @@ -33459,7 +34681,7 @@ paths: summary: Bulk creation of new vault accounts tags: - Vaults - x-rate-limit-category: write + x-rate-limit-category: high_compute x-readme: code-samples: - language: typescript @@ -36461,6 +37683,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -36494,6 +37718,16 @@ components: type: number type: $ref: "#/components/schemas/TagType" + allowedEntityTypes: + description: "The entity types this tag may be attached to. Tags created\ + \ before this field was introduced read back as ['vault_account']. Known\ + \ values: vault_account (default), contact." + example: + - vault_account + items: + type: string + minItems: 1 + type: array pendingApprovalRequest: $ref: "#/components/schemas/ApprovalRequest" required: @@ -36553,6 +37787,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -36564,6 +37800,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -36690,6 +37928,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -36701,6 +37941,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -36755,6 +37997,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -36766,6 +38010,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -37050,6 +38296,158 @@ components: - status - walletId type: object + TimeBasedTrigger: + description: The schedule for this deposit automation. + example: + intervalUnit: MINUTES + balanceThreshold: "1000" + intervalValue: 60 + properties: + intervalValue: + description: "How often the deposit runs, in units of intervalUnit." + example: 60 + minimum: 1 + type: integer + intervalUnit: + description: The unit for intervalValue. + enum: + - MINUTES + - HOURS + - DAYS + example: MINUTES + type: string + balanceThreshold: + description: "Minimum USDC balance required before a deposit runs. Set to\ + \ \"0\" to sweep the full available balance every time, with no minimum." + example: "1000" + pattern: ^\d+(\.\d+)?$ + type: string + required: + - balanceThreshold + - intervalUnit + - intervalValue + type: object + AutomationSettingsResponse: + example: + automationId: b68a9e08-b59c-4ff9-893f-52d4f78c21e6 + assetId: USDC_ETH + timeBased: + intervalUnit: MINUTES + balanceThreshold: "1000" + intervalValue: 60 + vaultAccountId: "42" + automationType: USDC_GATEWAY_DEPOSIT + properties: + automationId: + description: The ID of this deposit automation. + example: b68a9e08-b59c-4ff9-893f-52d4f78c21e6 + format: uuid + type: string + vaultAccountId: + description: The vault account this deposit automation applies to. + example: "42" + format: numeric + type: string + x-fb-entity: vault_account + assetId: + description: "The Fireblocks asset ID this automation applies to, if scoped\ + \ to one." + example: USDC_ETH + type: string + automationType: + description: The type of this automation. + enum: + - USDC_GATEWAY_DEPOSIT + example: USDC_GATEWAY_DEPOSIT + type: string + timeBased: + $ref: "#/components/schemas/TimeBasedTrigger" + required: + - automationId + - automationType + - timeBased + - vaultAccountId + type: object + GetAutomationSettingsResponse: + example: + settings: + - automationId: b68a9e08-b59c-4ff9-893f-52d4f78c21e6 + vaultAccountId: "42" + assetId: USDC_ETH + automationType: USDC_GATEWAY_DEPOSIT + timeBased: + intervalValue: 60 + intervalUnit: MINUTES + properties: + settings: + description: The deposit automations configured for the vault account. + example: + - automationId: b68a9e08-b59c-4ff9-893f-52d4f78c21e6 + vaultAccountId: "42" + assetId: USDC_ETH + automationType: USDC_GATEWAY_DEPOSIT + timeBased: + intervalValue: 60 + intervalUnit: MINUTES + items: + $ref: "#/components/schemas/AutomationSettingsResponse" + type: array + required: + - settings + type: object + AutomationSettingsRequest: + description: Request body for setting up a USDC Gateway deposit automation for + a vault account. + example: + assetId: USDC_ETH + timeBased: + intervalUnit: MINUTES + balanceThreshold: "1000" + intervalValue: 60 + automationType: USDC_GATEWAY_DEPOSIT + properties: + automationType: + description: The type of automation to configure. + enum: + - USDC_GATEWAY_DEPOSIT + example: USDC_GATEWAY_DEPOSIT + type: string + assetId: + description: The Fireblocks asset ID this automation applies to. Omit to + cover all supported USDC Gateway assets. + example: USDC_ETH + type: string + timeBased: + $ref: "#/components/schemas/TimeBasedTrigger" + required: + - automationType + - timeBased + type: object + SaveAutomationSettingsResponse: + example: + automationId: b68a9e08-b59c-4ff9-893f-52d4f78c21e6 + properties: + automationId: + description: The ID of the newly created deposit automation. + example: b68a9e08-b59c-4ff9-893f-52d4f78c21e6 + format: uuid + type: string + required: + - automationId + type: object + UpdateAutomationSettingsRequest: + description: Request body for changing an existing USDC Gateway deposit automation. + example: + timeBased: + intervalUnit: MINUTES + balanceThreshold: "1000" + intervalValue: 60 + properties: + timeBased: + $ref: "#/components/schemas/TimeBasedTrigger" + required: + - timeBased + type: object CreateAssetsRequest: example: eosAccountName: eosAccountName @@ -39279,7 +40677,7 @@ components: type: string creds: description: Base64-encoded RSA-encrypted credential blob. Encrypt using - the public key from GET /exchange_accounts/credentials_public_key. + the public key from GET /connected_accounts/credentials/public_key. example: !!binary |- YmFzZTY0ZW5jb2RlZGVuY3J5cHRlZGNyZWRlbnRpYWxzPT0= format: byte @@ -39376,6 +40774,24 @@ components: - code - message type: object + GetConnectedAccountsCredentialsPublicKeyResponse: + example: + publicKey: |- + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA... + -----END PUBLIC KEY----- + properties: + publicKey: + description: RSA public key (PEM) used to encrypt credential payloads sent + to POST /connected_accounts. + example: |- + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA... + -----END PUBLIC KEY----- + type: string + required: + - publicKey + type: object ConnectedSingleAccount: properties: subAccountsIds: @@ -41514,6 +42930,7 @@ components: - MTN - TIGO - WAVE + - ORANGE example: MTN type: string email: @@ -42975,16 +44392,245 @@ components: required: - type type: object + ScreeningVerdictEnum: + description: | + The final verdict of the screening (unified for AML, Travel Rule, and TRLink). + Different providers may return different verdict values: + - AML: ACCEPT, REJECT, ALERT + - Travel Rule: PASS, FAIL, TRAVEL_RULE_REQUIRED + - TRLink: PASS, REJECT, WARN + enum: + - PASS + - FAIL + - ALERT + - REJECT + - WARN + - TRAVEL_RULE_REQUIRED + - ACCEPT + - REVIEW + - WAIT + example: PASS + type: string + ScreeningStatusEnum: + description: | + Current status of the screening process. + Applies to AML, Travel Rule, and TRLink screening flows. + enum: + - COMPLETED + - PENDING + - BYPASSED + - FAILED + - FROZEN + example: COMPLETED + type: string + AmlBypassReasonEnum: + description: "Reason for bypassing AML screening, when applicable." + enum: + - MANUAL + - UNSUPPORTED_ASSET + - BYPASSED_FAILURE + - UNSUPPORTED_ROUTE + - PASSED_BY_POLICY + - TIMED_OUT + - BAD_CREDENTIALS + - CONFIGURATION_ERROR + - DROPPED_BY_BLOCKCHAIN + - PROCESS_DISMISSED + example: PASSED_BY_POLICY + type: string + PolicyVerdictActionEnum: + description: Policy verdict action + enum: + - ALLOW + - BLOCK + - 2-TIER + - SCREEN + - ACCEPT + - REJECT + - ALERT + - WAIT + - FREEZE + - CANCEL + example: ALLOW + type: string + AmlMatchedRule: + description: AML matched rule information + example: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + properties: + ruleId: + description: Identifier of the matched rule + example: rule_001 + type: string + ruleName: + description: Name of the matched rule + example: High Risk Sanctions Check + type: string + action: + $ref: "#/components/schemas/PolicyVerdictActionEnum" + type: object + AlertLevelEnum: + description: Alert level severity + enum: + - SEVERE + - HIGH + - MEDIUM + - LOW + example: HIGH + type: string + AlertExposureTypeEnum: + description: Alert exposure type (AlertExposureType enum) + enum: + - DIRECT + - INDIRECT + example: DIRECT + type: string + AmlAlert: + description: AML alert information + example: + policyAction: BLOCK + alertName: Sanctions Match + service: CHAINALYSIS + exposureType: DIRECT + alertLevel: HIGH + externalId: alert_12345 + category: SANCTIONED_ENTITY + categoryId: 101 + alertAmount: 1000.5 + properties: + alertLevel: + $ref: "#/components/schemas/AlertLevelEnum" + alertName: + description: Name or type of the alert + example: Sanctions Match + type: string + category: + description: Alert category + example: SANCTIONED_ENTITY + type: string + service: + description: Service that generated the alert + example: CHAINALYSIS + type: string + externalId: + description: External identifier for the alert + example: alert_12345 + type: string + alertAmount: + description: Amount associated with the alert + example: 1000.5 + type: number + exposureType: + $ref: "#/components/schemas/AlertExposureTypeEnum" + policyAction: + description: Recommended action based on policy + example: BLOCK + type: string + categoryId: + description: Category identifier + example: 101 + type: number + required: + - alertAmount + - alertLevel + - exposureType + - externalId + type: object AmlScreeningResult: - description: The result of the AML screening. + description: | + The result of the AML screening. + Mirrors the output of the developer-api transaction formatter (IFormattedAmlResult). + Not all fields are present in every response — the set depends on the AML provider and screening flow. example: - provider: provider - payload: "{}" + matchedPrescreeningRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + bypassReason: PASSED_BY_POLICY + customerRefId: DEFAULT + matchedRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + provider: CHAINALYSIS + payload: + key: "" + verdict: PASS + destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715 + risk: lowRisk + category: EXCHANGE + matchedAlert: + policyAction: BLOCK + alertName: Sanctions Match + service: CHAINALYSIS + exposureType: DIRECT + alertLevel: HIGH + externalId: alert_12345 + category: SANCTIONED_ENTITY + categoryId: 101 + alertAmount: 1000.5 + screeningStatus: COMPLETED + categoryId: 5 + timestamp: 1774363599908 properties: provider: + description: | + The AML provider name. + Known values: CHAINALYSIS, ELLIPTIC, CHAINALYSIS_V2, ELLIPTIC_HOLISTIC, BYORK_SLITE, BYORK_LITE, NONE. + example: CHAINALYSIS type: string payload: + additionalProperties: true + description: | + The raw, unmodified screening response from the provider. + Structure varies per provider. type: object + verdict: + $ref: "#/components/schemas/ScreeningVerdictEnum" + screeningStatus: + $ref: "#/components/schemas/ScreeningStatusEnum" + bypassReason: + $ref: "#/components/schemas/AmlBypassReasonEnum" + timestamp: + description: Unix timestamp in milliseconds when the screening result was + generated. + example: 1774363599908 + type: number + customerRefId: + description: Customer-provided reference identifier for tracking. + example: DEFAULT + type: string + externalId: + description: External identifier for the screening (provider-specific). + example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: string + category: + description: | + Risk category classification. + The available categories are subject to change depending on the provider. + example: EXCHANGE + type: string + categoryId: + description: Numeric identifier for the risk category. + example: 5 + type: number + risk: + description: Provider-specific risk level. Values vary by provider. + example: lowRisk + type: string + destAddress: + description: The destination blockchain address associated with the screening. + example: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715 + type: string + matchedRule: + $ref: "#/components/schemas/AmlMatchedRule" + matchedPrescreeningRule: + $ref: "#/components/schemas/AmlMatchedRule" + matchedAlert: + $ref: "#/components/schemas/AmlAlert" type: object AuthorizationGroups: example: @@ -43044,8 +44690,37 @@ components: key: PENDING_AUTHORIZATION logic: AND amlScreeningResult: - provider: provider - payload: "{}" + matchedPrescreeningRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + bypassReason: PASSED_BY_POLICY + customerRefId: DEFAULT + matchedRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + provider: CHAINALYSIS + payload: + key: "" + verdict: PASS + destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715 + risk: lowRisk + category: EXCHANGE + matchedAlert: + policyAction: BLOCK + alertName: Sanctions Match + service: CHAINALYSIS + exposureType: DIRECT + alertLevel: HIGH + externalId: alert_12345 + category: SANCTIONED_ENTITY + categoryId: 101 + alertAmount: 1000.5 + screeningStatus: COMPLETED + categoryId: 5 + timestamp: 1774363599908 destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 tradingAccount: tradingAccount @@ -43077,6 +44752,54 @@ components: authorizationInfo: $ref: "#/components/schemas/AuthorizationInfo" type: object + ProgramCallInstructionData: + additionalProperties: + description: "Instruction-specific field value. May be a string, number, or\ + \ nested object." + description: "Decoded instruction arguments. Keys and values depend on the instruction\ + \ type — values may be strings, numbers, or nested objects (e.g. `args`, `accounts`,\ + \ `name`)." + example: + name: transferSol + args: + lamports: 1000000 + accounts: + - pubkey: "11111111111111111111111111111111" + isSigner: false + isWritable: true + type: object + ProgramCallDecodedDataItem: + description: A single decoded Solana instruction from a PROGRAM_CALL transaction. + properties: + programId: + description: The on-chain program address that owns this instruction. + example: "11111111111111111111111111111111" + type: string + programName: + description: "Human-readable program name (e.g. `SystemProgram`, `ComputeBudget`)." + example: SystemProgram + type: string + instructionData: + additionalProperties: + description: "Instruction-specific field value. May be a string, number,\ + \ or nested object." + description: "Decoded instruction arguments. Keys and values depend on the\ + \ instruction type — values may be strings, numbers, or nested objects\ + \ (e.g. `args`, `accounts`, `name`)." + example: + name: transferSol + args: + lamports: 1000000 + accounts: + - pubkey: "11111111111111111111111111111111" + isSigner: false + isWritable: true + type: object + required: + - instructionData + - programId + - programName + type: object AmountInfo: description: The details of the requested amount to transfer. example: @@ -43241,124 +44964,6 @@ components: - FROZEN example: COMPLETED type: string - ScreeningVerdictEnum: - description: | - The final verdict of the screening (unified for AML, Travel Rule, and TRLink). - Different providers may return different verdict values: - - AML: PASS, FAIL, ALERT - - Travel Rule: PASS, FAIL, TRAVEL_RULE_REQUIRED - - TRLink: PASS, REJECT, WARN - enum: - - PASS - - FAIL - - ALERT - - REJECT - - WARN - - TRAVEL_RULE_REQUIRED - - ACCEPT - - REVIEW - example: PASS - type: string - AlertLevelEnum: - description: Alert level severity - enum: - - SEVERE - - HIGH - - MEDIUM - - LOW - example: HIGH - type: string - AlertExposureTypeEnum: - description: Alert exposure type (AlertExposureType enum) - enum: - - DIRECT - - INDIRECT - example: DIRECT - type: string - AmlAlert: - description: AML alert information - example: - policyAction: BLOCK - alertName: Sanctions Match - service: CHAINALYSIS - exposureType: DIRECT - alertLevel: HIGH - externalId: alert_12345 - category: SANCTIONED_ENTITY - categoryId: 101 - alertAmount: 1000.5 - properties: - alertLevel: - $ref: "#/components/schemas/AlertLevelEnum" - alertName: - description: Name or type of the alert - example: Sanctions Match - type: string - category: - description: Alert category - example: SANCTIONED_ENTITY - type: string - service: - description: Service that generated the alert - example: CHAINALYSIS - type: string - externalId: - description: External identifier for the alert - example: alert_12345 - type: string - alertAmount: - description: Amount associated with the alert - example: 1000.5 - type: number - exposureType: - $ref: "#/components/schemas/AlertExposureTypeEnum" - policyAction: - description: Recommended action based on policy - example: BLOCK - type: string - categoryId: - description: Category identifier - example: 101 - type: number - required: - - alertAmount - - alertLevel - - exposureType - - externalId - type: object - PolicyVerdictActionEnum: - description: Policy verdict action - enum: - - ALLOW - - BLOCK - - 2-TIER - - SCREEN - - ACCEPT - - REJECT - - ALERT - - WAIT - - FREEZE - - CANCEL - example: ALLOW - type: string - AmlMatchedRule: - description: AML matched rule information - example: - ruleName: High Risk Sanctions Check - action: ALLOW - ruleId: rule_001 - properties: - ruleId: - description: Identifier of the matched rule - example: rule_001 - type: string - ruleName: - description: Name of the matched rule - example: High Risk Sanctions Check - type: string - action: - $ref: "#/components/schemas/PolicyVerdictActionEnum" - type: object AmlResult: deprecated: true description: | @@ -45421,8 +47026,37 @@ components: key: PENDING_AUTHORIZATION logic: AND amlScreeningResult: - provider: provider - payload: "{}" + matchedPrescreeningRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + bypassReason: PASSED_BY_POLICY + customerRefId: DEFAULT + matchedRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + provider: CHAINALYSIS + payload: + key: "" + verdict: PASS + destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715 + risk: lowRisk + category: EXCHANGE + matchedAlert: + policyAction: BLOCK + alertName: Sanctions Match + service: CHAINALYSIS + exposureType: DIRECT + alertLevel: HIGH + externalId: alert_12345 + category: SANCTIONED_ENTITY + categoryId: 101 + alertAmount: 1000.5 + screeningStatus: COMPLETED + categoryId: 5 + timestamp: 1774363599908 destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 tradingAccount: tradingAccount @@ -45447,8 +47081,37 @@ components: key: PENDING_AUTHORIZATION logic: AND amlScreeningResult: - provider: provider - payload: "{}" + matchedPrescreeningRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + bypassReason: PASSED_BY_POLICY + customerRefId: DEFAULT + matchedRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + provider: CHAINALYSIS + payload: + key: "" + verdict: PASS + destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715 + risk: lowRisk + category: EXCHANGE + matchedAlert: + policyAction: BLOCK + alertName: Sanctions Match + service: CHAINALYSIS + exposureType: DIRECT + alertLevel: HIGH + externalId: alert_12345 + category: SANCTIONED_ENTITY + categoryId: 101 + alertAmount: 1000.5 + screeningStatus: COMPLETED + categoryId: 5 + timestamp: 1774363599908 destination: walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 tradingAccount: tradingAccount @@ -45489,6 +47152,13 @@ components: amountUSD: amountUSD netAmount: netAmount requestedAmount: requestedAmount + programCallDecodedData: + - programId: "11111111111111111111111111111111" + programName: SystemProgram + instructionData: + name: transferSol + args: + lamports: 1000000 customerRefId: customerRefId nonce: "11228" subStatus: subStatus @@ -45502,8 +47172,37 @@ components: destRewards: destRewards srcRewards: srcRewards amlScreeningResult: - provider: provider - payload: "{}" + matchedPrescreeningRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + bypassReason: PASSED_BY_POLICY + customerRefId: DEFAULT + matchedRule: + ruleName: High Risk Sanctions Check + action: ALLOW + ruleId: rule_001 + provider: CHAINALYSIS + payload: + key: "" + verdict: PASS + destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715 + risk: lowRisk + category: EXCHANGE + matchedAlert: + policyAction: BLOCK + alertName: Sanctions Match + service: CHAINALYSIS + exposureType: DIRECT + alertLevel: HIGH + externalId: alert_12345 + category: SANCTIONED_ENTITY + categoryId: 101 + alertAmount: 1000.5 + screeningStatus: COMPLETED + categoryId: 5 + timestamp: 1774363599908 requestedAmount: 3.616076749251911 status: status note: note @@ -46317,6 +48016,21 @@ components: type: string contractCallDecodedData: $ref: "#/components/schemas/TransactionResponse_contractCallDecodedData" + programCallDecodedData: + description: "Decoded instruction list for `PROGRAM_CALL` (Solana) operations.\ + \ Each entry represents one instruction in the transaction, in execution\ + \ order. Fireblocks-injected instructions (e.g. `AdvanceNonceAccount`,\ + \ `ComputeBudget`) appear first, followed by the original dApp instructions." + example: + - programId: "11111111111111111111111111111111" + programName: SystemProgram + instructionData: + name: transferSol + args: + lamports: 1000000 + items: + $ref: "#/components/schemas/ProgramCallDecodedDataItem" + type: array amountInfo: $ref: "#/components/schemas/AmountInfo" treatAsGrossAmount: @@ -50694,26 +52408,26 @@ components: gasLimit: gasLimit feePerByte: feePerByte networkFee: networkFee - priorityFee: 1.4658129805029452 + priorityFee: priorityFee l1Fee: l1Fee - baseFee: 6.027456183070403 - gasPrice: 0.8008281904610115 + baseFee: baseFee + gasPrice: gasPrice maxFeePerGasDelta: maxFeePerGasDelta properties: feePerByte: type: string gasPrice: - type: number + type: string gasLimit: type: string networkFee: type: string baseFee: description: (optional) Base Fee according to EIP-1559 (ETH assets) - type: number + type: string priorityFee: description: (optional) Priority Fee according to EIP-1559 (ETH assets) - type: number + type: string maxFeePerGasDelta: description: Max Fee Per Gas Delta added only for EIP-1559 (ETH assets) type: string @@ -50774,19 +52488,19 @@ components: gasLimit: gasLimit feePerByte: feePerByte networkFee: networkFee - priorityFee: 1.4658129805029452 + priorityFee: priorityFee l1Fee: l1Fee - baseFee: 6.027456183070403 - gasPrice: 0.8008281904610115 + baseFee: baseFee + gasPrice: gasPrice maxFeePerGasDelta: maxFeePerGasDelta low: gasLimit: gasLimit feePerByte: feePerByte networkFee: networkFee - priorityFee: 1.4658129805029452 + priorityFee: priorityFee l1Fee: l1Fee - baseFee: 6.027456183070403 - gasPrice: 0.8008281904610115 + baseFee: baseFee + gasPrice: gasPrice maxFeePerGasDelta: maxFeePerGasDelta feeDetails: high: @@ -50808,10 +52522,10 @@ components: gasLimit: gasLimit feePerByte: feePerByte networkFee: networkFee - priorityFee: 1.4658129805029452 + priorityFee: priorityFee l1Fee: l1Fee - baseFee: 6.027456183070403 - gasPrice: 0.8008281904610115 + baseFee: baseFee + gasPrice: gasPrice maxFeePerGasDelta: maxFeePerGasDelta properties: low: @@ -62120,6 +63834,13 @@ components: example: 4.05 format: double type: number + supplyIncentiveApy: + description: "Additional incentive APY from reward programs (e.g. Merkl\ + \ rewards on Aave), as a percentage. Only present when the opportunity\ + \ has active incentives." + example: 0.5 + format: double + type: number type: object Exposure: description: Vault allocation exposure item (Morpho MetaMorpho allocation slice). @@ -62154,6 +63875,30 @@ components: - address - amount type: object + EarnCurator: + properties: + name: + description: Curator display name. + example: Sentora + type: string + iconUrl: + description: URL of the curator's icon/logo. + example: https://example.com/sentora-icon.png + format: uri + type: string + type: object + EarnMetadata: + properties: + name: + description: "Protocol display name (e.g. \"Aave\", \"Aave Horizon\")." + example: Aave + type: string + iconUrl: + description: URL of the protocol's icon/logo. + example: https://example.com/aave-icon.png + format: uri + type: string + type: object Opportunity: properties: id: @@ -62203,10 +63948,18 @@ components: description: Human-readable total value locked / assets in the opportunity. example: "50000000.0" type: string + totalAssetsUsd: + description: USD-denominated total assets / TVL. + example: "50000000.00" + type: string liquidity: description: Human-readable available liquidity. example: "1200000.0" type: string + liquidityUsd: + description: USD-denominated available liquidity. + example: "1200000.00" + type: string apy: allOf: - $ref: "#/components/schemas/Apy" @@ -62237,6 +63990,20 @@ components: maxItems: 20 minItems: 0 type: array + curator: + allOf: + - $ref: "#/components/schemas/EarnCurator" + description: Curator information for Morpho vaults. + example: + name: Sentora + iconUrl: https://example.com/sentora-icon.png + metadata: + allOf: + - $ref: "#/components/schemas/EarnMetadata" + description: Protocol-level metadata (display name and logo). + example: + name: Aave + iconUrl: https://example.com/aave-icon.png type: object GetOpportunitiesResponse: example: @@ -62401,6 +64168,11 @@ components: description: Last successful on-chain sync time (ISO-8601). example: 2025-03-20T08:29:55Z type: string + lastModifiedAt: + description: Timestamp of the last user-triggered action on this position + (ISO-8601). Empty if the user has never interacted with it. + example: 2025-03-19T14:00:00Z + type: string availableActions: description: Actions the API allows next for this position. example: @@ -71570,6 +73342,28 @@ components: policy rule on tenant configuration. type: boolean type: object + RescreenTransactionRequest: + example: + resetTravelRuleMessage: false + properties: + resetTravelRuleMessage: + default: false + description: "When true, clears the existing travel rule message on the\ + \ transaction before rescreening." + example: false + type: boolean + type: object + RescreenTransactionResponse: + example: + success: true + properties: + success: + description: Whether the rescreen was triggered successfully + example: true + type: boolean + required: + - success + type: object ScreeningAlertExposureTypeEnum: description: Alert exposure type enum: @@ -81684,6 +83478,94 @@ components: - rules - status type: object + PolicyRuleQuotaParticipant: + description: Participant identifier for AOT quota calculation + example: + id: "123" + type: VAULT + properties: + id: + description: "Participant identifier (integer for VAULT accounts, UUID for\ + \ others)" + example: "123" + type: string + type: + description: Participant type + example: VAULT + type: string + required: + - id + - type + type: object + PolicyRuleQuotaRequest: + example: + initiator: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + destination: + id: "123" + type: VAULT + source: + id: "123" + type: VAULT + ruleId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + properties: + ruleId: + description: The ID of the policy rule to calculate AOT quota for + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: string + initiator: + description: Optional initiator identifier for the AOT calculation + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: string + source: + $ref: "#/components/schemas/PolicyRuleQuotaParticipant" + destination: + $ref: "#/components/schemas/PolicyRuleQuotaParticipant" + required: + - ruleId + type: object + PolicyRuleQuotaResponse: + example: + amount: "10000" + quotaConfig: + timePeriod: + seconds: "86400" + initiator: PER_SINGLE_MATCH + destination: PER_SINGLE_MATCH + source: PER_SINGLE_MATCH + range: + min: "100" + max: "10000" + currency: USD + windowStart: 1699913600 + currency: USD + windowEnd: 1700000000 + transactionCount: 5 + properties: + amount: + description: The calculated Amount Over Time (AOT) quota for the rule + example: "10000" + type: string + quotaConfig: + $ref: "#/components/schemas/AmountOverTimeConfig" + currency: + description: The currency of the AOT amount + example: USD + type: string + windowStart: + description: Unix timestamp (seconds) of the start of the current AOT time + window + example: 1699913600 + type: number + windowEnd: + description: Unix timestamp (seconds) of the end of the current AOT time + window (when the AOT was calculated) + example: 1700000000 + type: number + transactionCount: + description: Number of transactions in the current AOT time window + example: 5 + type: number + type: object UserId: description: The unique identifier of the user type: string @@ -82974,6 +84856,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -82985,6 +84869,8 @@ components: id: df4c0987-30da-4976-8dcf-bc2dd41ae331 label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account pendingApprovalRequest: id: "12345" state: PENDING @@ -83011,6 +84897,8 @@ components: description: Tag for VIP customers label: VIP type: WALLET_POOL + allowedEntityTypes: + - vault_account properties: label: description: The tag label @@ -83033,6 +84921,18 @@ components: type: boolean type: $ref: "#/components/schemas/TagType" + allowedEntityTypes: + default: + - vault_account + description: "Allow-list of entity types this tag may be attached to. Soft-defaults\ + \ to ['vault_account'] when omitted, and is immutable after creation.\ + \ Known values: vault_account (default), contact." + example: + - vault_account + items: + type: string + minItems: 1 + type: array required: - label type: object @@ -84460,6 +86360,622 @@ components: - requestedByUserId - status type: object + BlockchainStateFilter: + description: Blockchain lifecycle state used for list filtering. + enum: + - BLOCKCHAIN_STATE_CREATED + - BLOCKCHAIN_STATE_ACTIVATING + - BLOCKCHAIN_STATE_ACTIVATED + - BLOCKCHAIN_STATE_DEACTIVATING + - BLOCKCHAIN_STATE_DEACTIVATED + - BLOCKCHAIN_STATE_TECHNICAL_FAILURE + type: string + BlockchainEnvironment: + description: Blockchain network environment. + enum: + - MAINNET + - TESTNET + type: string + BlockchainSortField: + description: Field to sort the blockchain list by. + enum: + - createdAt + - chainName + - symbolName + - status + type: string + BlockchainRpcAuth: + description: Discriminated RPC auth payload. Sent on create/update so backend + can distinguish "no auth" from "field unchanged" on PUT updates. Credential + values are stored inside declaredProperties and fetched at activation time; + they are deliberately not carried through workflow context. + example: + password: my-password + headerName: X-Custom-Auth + headerValue: my-header-value + type: RPC_AUTH_BASIC + username: rpc_user + token: my-bearer-token + properties: + type: + description: Authentication scheme used when calling the RPC endpoint. + enum: + - RPC_AUTH_BASIC + - RPC_AUTH_BEARER + - RPC_AUTH_CUSTOM_HEADER + example: RPC_AUTH_BASIC + type: string + username: + description: Username for RPC_AUTH_BASIC authentication. + example: rpc_user + type: string + password: + description: Password for RPC_AUTH_BASIC authentication. + example: my-password + type: string + token: + description: Bearer token for RPC_AUTH_BEARER authentication. + example: my-bearer-token + type: string + headerName: + description: Header name for RPC_AUTH_CUSTOM_HEADER authentication. + example: X-Custom-Auth + type: string + headerValue: + description: Header value for RPC_AUTH_CUSTOM_HEADER authentication. + example: my-header-value + type: string + required: + - type + type: object + BlockchainDeclaredProperties: + description: Declared properties for blockchain configuration (create/update + API and response) Only the fields sent by the API and returned in list/create/update + responses. + example: + explorerApiUrl: https://api.etherscan.io + chainName: Ethereum + baseAssetTenantIds: + - f47ac10b-58cc-4372-a567-0e02b2c3d479 + isPoa: false + environmentType: ENVIRONMENT_TYPE_MAINNET + blockExplorerTransactionPath: /tx + hasFee: true + rpcUrls: + - https://rpc.example.com + nodeType: NODE_TYPE_CORE_GETH + explorerApiKey: my-explorer-api-key + transactionFormat: 0 + blockExplorerAddressPath: /address + chainId: 1 + decimals: 18 + isTraceEnabled: false + symbolName: ETH + networkId: 1 + rpcAuth: + password: my-password + headerName: X-Custom-Auth + headerValue: my-header-value + type: RPC_AUTH_BASIC + username: rpc_user + token: my-bearer-token + blockExplorerUrl: https://etherscan.io + hasLayeredFee: false + properties: + chainName: + description: Human-readable name of the blockchain. + example: Ethereum + type: string + chainId: + description: EVM chain ID of the blockchain. + example: 1 + type: number + symbolName: + description: Native asset symbol of the blockchain. + example: ETH + type: string + decimals: + description: Number of decimals for the native asset. + example: 18 + type: number + rpcUrls: + description: RPC endpoint URLs for the blockchain. + example: + - https://rpc.example.com + items: + type: string + maxItems: 1 + minItems: 1 + type: array + environmentType: + description: Network environment (mainnet or testnet). + enum: + - ENVIRONMENT_TYPE_MAINNET + - ENVIRONMENT_TYPE_TESTNET + example: ENVIRONMENT_TYPE_MAINNET + type: string + blockExplorerUrl: + description: Base URL of the block explorer. + example: https://etherscan.io + type: string + blockExplorerTransactionPath: + description: Path template for a transaction on the block explorer. + example: /tx + type: string + blockExplorerAddressPath: + description: Path template for an address on the block explorer. + example: /address + type: string + networkId: + description: EVM network ID of the blockchain. + example: 1 + type: number + hasFee: + description: Whether the blockchain charges transaction fees. + example: true + type: boolean + isPoa: + description: Whether the blockchain uses proof-of-authority consensus. + example: false + type: boolean + hasLayeredFee: + description: Whether the blockchain uses a layered fee model. + example: false + type: boolean + nodeType: + description: Node client type for the blockchain. + enum: + - NODE_TYPE_CORE_GETH + - NODE_TYPE_FANTOM + - NODE_TYPE_ERIGON + - NODE_TYPE_PARITY + - NODE_TYPE_BESU + example: NODE_TYPE_CORE_GETH + type: string + transactionFormat: + description: Transaction format identifier. + example: 0 + type: number + baseAssetTenantIds: + description: Tenant IDs that share this base asset. + example: + - f47ac10b-58cc-4372-a567-0e02b2c3d479 + items: + type: string + type: array + explorerApiUrl: + description: Block explorer API base URL. + example: https://api.etherscan.io + type: string + explorerApiKey: + description: API key for the block explorer API. + example: my-explorer-api-key + type: string + isTraceEnabled: + description: Whether trace/debug RPC methods are enabled. + example: false + type: boolean + rpcAuth: + $ref: "#/components/schemas/BlockchainRpcAuth" + required: + - chainId + - chainName + - environmentType + - rpcUrls + - symbolName + type: object + Blockchain: + description: Blockchain entity + example: + validationCreatedAtUtc: 1700000000000 + validationUpdatedAtUtc: 1700000000000 + validationSessionId: f47ac10b-58cc-4372-a567-0e02b2c3d479 + declaredProperties: + explorerApiUrl: https://api.etherscan.io + chainName: Ethereum + baseAssetTenantIds: + - f47ac10b-58cc-4372-a567-0e02b2c3d479 + isPoa: false + environmentType: ENVIRONMENT_TYPE_MAINNET + blockExplorerTransactionPath: /tx + hasFee: true + rpcUrls: + - https://rpc.example.com + nodeType: NODE_TYPE_CORE_GETH + explorerApiKey: my-explorer-api-key + transactionFormat: 0 + blockExplorerAddressPath: /address + chainId: 1 + decimals: 18 + isTraceEnabled: false + symbolName: ETH + networkId: 1 + rpcAuth: + password: my-password + headerName: X-Custom-Auth + headerValue: my-header-value + type: RPC_AUTH_BASIC + username: rpc_user + token: my-bearer-token + blockExplorerUrl: https://etherscan.io + hasLayeredFee: false + failedStep: FAILED_STEP_CONFIGURATION + blockchainState: BLOCKCHAIN_STATE_ACTIVATED + createdAtUtc: 1700000000000 + validationFailureReasons: + - RPC endpoint unreachable + id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + validationCompletedAtUtc: 1700000000000 + validationStatus: VALIDATION_STATUS_SUCCEEDED + updatedAtUtc: 1700000000000 + properties: + id: + description: Unique blockchain identifier. + example: f47ac10b-58cc-4372-a567-0e02b2c3d479 + type: string + blockchainState: + description: Current lifecycle state of the blockchain. + enum: + - BLOCKCHAIN_STATE_CREATED + - BLOCKCHAIN_STATE_ACTIVATING + - BLOCKCHAIN_STATE_ACTIVATED + - BLOCKCHAIN_STATE_DEACTIVATING + - BLOCKCHAIN_STATE_DEACTIVATED + - BLOCKCHAIN_STATE_TECHNICAL_FAILURE + example: BLOCKCHAIN_STATE_ACTIVATED + type: string + declaredProperties: + $ref: "#/components/schemas/BlockchainDeclaredProperties" + createdAtUtc: + description: "Creation timestamp (epoch milliseconds, UTC)." + example: 1700000000000 + type: number + updatedAtUtc: + description: "Last update timestamp (epoch milliseconds, UTC)." + example: 1700000000000 + type: number + validationSessionId: + description: Validation session data (optional - only present if validation + session exists) + example: f47ac10b-58cc-4372-a567-0e02b2c3d479 + type: string + validationStatus: + description: Status of the latest validation session. + enum: + - VALIDATION_STATUS_PENDING + - VALIDATION_STATUS_IN_PROGRESS + - VALIDATION_STATUS_SUCCEEDED + - VALIDATION_STATUS_FAILED + - VALIDATION_STATUS_TECHNICAL_FAILURE + example: VALIDATION_STATUS_SUCCEEDED + type: string + validationCreatedAtUtc: + description: "Validation session creation timestamp (epoch milliseconds,\ + \ UTC)." + example: 1700000000000 + type: number + validationUpdatedAtUtc: + description: "Validation session last update timestamp (epoch milliseconds,\ + \ UTC)." + example: 1700000000000 + type: number + validationCompletedAtUtc: + description: "Validation session completion timestamp (epoch milliseconds,\ + \ UTC)." + example: 1700000000000 + type: number + validationFailureReasons: + description: "Reasons the latest validation failed, if any." + example: + - RPC endpoint unreachable + items: + type: string + type: array + failedStep: + description: Business step at which the activation flow failed. Absent when + no failure has been recorded. + enum: + - FAILED_STEP_CONFIGURATION + - FAILED_STEP_RESOURCES_ALLOCATION + - FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS + - FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS + example: FAILED_STEP_CONFIGURATION + type: string + required: + - blockchainState + - createdAtUtc + - declaredProperties + - id + - updatedAtUtc + - validationFailureReasons + type: object + ListBlockchainsResponse-2: + example: + next: some_value + total: 100 + data: [] + prev: some_value + properties: + data: + description: Blockchains for the current page. + example: [] + items: + $ref: "#/components/schemas/Blockchain" + type: array + total: + description: "Total number of items across all pages, matching the current\ + \ filter." + example: 100 + type: number + next: + description: "Cursor for the next page; absent when the current page is\ + \ the last. Opaque base64 blob bundling the target pageCursor and current\ + \ query params (pageSize, search, status, statusExclude, blockchainEnv,\ + \ sortBy, order)." + example: some_value + type: string + prev: + description: Cursor for the previous page; absent when the current page + is the first. + example: some_value + type: string + required: + - data + - total + type: object + CreateBlockchainRequest: + description: Create blockchain request. tenant_id is derived from the JWT token + context. + example: + declaredProperties: + explorerApiUrl: https://api.etherscan.io + chainName: Ethereum + baseAssetTenantIds: + - f47ac10b-58cc-4372-a567-0e02b2c3d479 + isPoa: false + environmentType: ENVIRONMENT_TYPE_MAINNET + blockExplorerTransactionPath: /tx + hasFee: true + rpcUrls: + - https://rpc.example.com + nodeType: NODE_TYPE_CORE_GETH + explorerApiKey: my-explorer-api-key + transactionFormat: 0 + blockExplorerAddressPath: /address + chainId: 1 + decimals: 18 + isTraceEnabled: false + symbolName: ETH + networkId: 1 + rpcAuth: + password: my-password + headerName: X-Custom-Auth + headerValue: my-header-value + type: RPC_AUTH_BASIC + username: rpc_user + token: my-bearer-token + blockExplorerUrl: https://etherscan.io + hasLayeredFee: false + properties: + declaredProperties: + $ref: "#/components/schemas/BlockchainDeclaredProperties" + required: + - declaredProperties + type: object + CreateBlockchainResponse: + example: + blockchain: + validationCreatedAtUtc: 1700000000000 + validationUpdatedAtUtc: 1700000000000 + validationSessionId: f47ac10b-58cc-4372-a567-0e02b2c3d479 + declaredProperties: + explorerApiUrl: https://api.etherscan.io + chainName: Ethereum + baseAssetTenantIds: + - f47ac10b-58cc-4372-a567-0e02b2c3d479 + isPoa: false + environmentType: ENVIRONMENT_TYPE_MAINNET + blockExplorerTransactionPath: /tx + hasFee: true + rpcUrls: + - https://rpc.example.com + nodeType: NODE_TYPE_CORE_GETH + explorerApiKey: my-explorer-api-key + transactionFormat: 0 + blockExplorerAddressPath: /address + chainId: 1 + decimals: 18 + isTraceEnabled: false + symbolName: ETH + networkId: 1 + rpcAuth: + password: my-password + headerName: X-Custom-Auth + headerValue: my-header-value + type: RPC_AUTH_BASIC + username: rpc_user + token: my-bearer-token + blockExplorerUrl: https://etherscan.io + hasLayeredFee: false + failedStep: FAILED_STEP_CONFIGURATION + blockchainState: BLOCKCHAIN_STATE_ACTIVATED + createdAtUtc: 1700000000000 + validationFailureReasons: + - RPC endpoint unreachable + id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + validationCompletedAtUtc: 1700000000000 + validationStatus: VALIDATION_STATUS_SUCCEEDED + updatedAtUtc: 1700000000000 + message: Blockchain created successfully + properties: + blockchain: + $ref: "#/components/schemas/Blockchain" + message: + description: Human-readable result message. + example: Blockchain created successfully + type: string + required: + - blockchain + - message + type: object + GetTestWalletAddressResponse: + example: + testWalletAddress: 0x0000000000000000000000000000000000000000 + properties: + testWalletAddress: + description: Ethereum address derived from BLOCKCHAIN_LINK_EXTERNAL_WALLET_PRIVATE_KEY + (for UI display). + example: 0x0000000000000000000000000000000000000000 + type: string + type: object + GetBillingInfoResponse: + example: + activatedBlockchainsLimit: 10 + activatedBlockchainsUsed: 3 + properties: + activatedBlockchainsLimit: + description: Maximum number of activated blockchains allowed for this tenant + (0 = not purchased). + example: 10 + type: number + activatedBlockchainsUsed: + description: "Number of blockchains currently in Activating, Activated,\ + \ or Deactivating state for this tenant. Filter-independent (ignores list\ + \ filters/pagination)." + example: 3 + type: number + required: + - activatedBlockchainsLimit + - activatedBlockchainsUsed + type: object + GetBlockchainByIdResponse: + example: + blockchain: + validationCreatedAtUtc: 1700000000000 + validationUpdatedAtUtc: 1700000000000 + validationSessionId: f47ac10b-58cc-4372-a567-0e02b2c3d479 + declaredProperties: + explorerApiUrl: https://api.etherscan.io + chainName: Ethereum + baseAssetTenantIds: + - f47ac10b-58cc-4372-a567-0e02b2c3d479 + isPoa: false + environmentType: ENVIRONMENT_TYPE_MAINNET + blockExplorerTransactionPath: /tx + hasFee: true + rpcUrls: + - https://rpc.example.com + nodeType: NODE_TYPE_CORE_GETH + explorerApiKey: my-explorer-api-key + transactionFormat: 0 + blockExplorerAddressPath: /address + chainId: 1 + decimals: 18 + isTraceEnabled: false + symbolName: ETH + networkId: 1 + rpcAuth: + password: my-password + headerName: X-Custom-Auth + headerValue: my-header-value + type: RPC_AUTH_BASIC + username: rpc_user + token: my-bearer-token + blockExplorerUrl: https://etherscan.io + hasLayeredFee: false + failedStep: FAILED_STEP_CONFIGURATION + blockchainState: BLOCKCHAIN_STATE_ACTIVATED + createdAtUtc: 1700000000000 + validationFailureReasons: + - RPC endpoint unreachable + id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + validationCompletedAtUtc: 1700000000000 + validationStatus: VALIDATION_STATUS_SUCCEEDED + updatedAtUtc: 1700000000000 + properties: + blockchain: + $ref: "#/components/schemas/Blockchain" + required: + - blockchain + type: object + UpdateBlockchainResponse: + example: + blockchain: + validationCreatedAtUtc: 1700000000000 + validationUpdatedAtUtc: 1700000000000 + validationSessionId: f47ac10b-58cc-4372-a567-0e02b2c3d479 + declaredProperties: + explorerApiUrl: https://api.etherscan.io + chainName: Ethereum + baseAssetTenantIds: + - f47ac10b-58cc-4372-a567-0e02b2c3d479 + isPoa: false + environmentType: ENVIRONMENT_TYPE_MAINNET + blockExplorerTransactionPath: /tx + hasFee: true + rpcUrls: + - https://rpc.example.com + nodeType: NODE_TYPE_CORE_GETH + explorerApiKey: my-explorer-api-key + transactionFormat: 0 + blockExplorerAddressPath: /address + chainId: 1 + decimals: 18 + isTraceEnabled: false + symbolName: ETH + networkId: 1 + rpcAuth: + password: my-password + headerName: X-Custom-Auth + headerValue: my-header-value + type: RPC_AUTH_BASIC + username: rpc_user + token: my-bearer-token + blockExplorerUrl: https://etherscan.io + hasLayeredFee: false + failedStep: FAILED_STEP_CONFIGURATION + blockchainState: BLOCKCHAIN_STATE_ACTIVATED + createdAtUtc: 1700000000000 + validationFailureReasons: + - RPC endpoint unreachable + id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + validationCompletedAtUtc: 1700000000000 + validationStatus: VALIDATION_STATUS_SUCCEEDED + updatedAtUtc: 1700000000000 + message: Blockchain updated successfully + properties: + blockchain: + $ref: "#/components/schemas/Blockchain" + message: + description: Human-readable result message. + example: Blockchain updated successfully + type: string + required: + - blockchain + - message + type: object + ActivateBlockchainResponse: + example: + message: Blockchain activation started + properties: + message: + description: Human-readable result message. + example: Blockchain activation started + type: string + required: + - message + type: object + TriggerValidationFlowResponse: + example: + message: Validation flow triggered + properties: + message: + description: Human-readable result message. + example: Validation flow triggered + type: string + required: + - message + type: object get_filter_parameter: properties: id: diff --git a/build.gradle b/build.gradle index 3d8829b8..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 = '23.0.0' +version = '0.0.0' buildscript { repositories { diff --git a/docs/ActivateBlockchainResponse.md b/docs/ActivateBlockchainResponse.md new file mode 100644 index 00000000..2847800e --- /dev/null +++ b/docs/ActivateBlockchainResponse.md @@ -0,0 +1,13 @@ + + +# ActivateBlockchainResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**message** | **String** | Human-readable result message. | | + + + diff --git a/docs/AddConnectedAccountRequest.md b/docs/AddConnectedAccountRequest.md index 38adc9fe..f97c82d7 100644 --- a/docs/AddConnectedAccountRequest.md +++ b/docs/AddConnectedAccountRequest.md @@ -9,7 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**providerId** | **String** | Integration key identifying the provider (e.g. BINANCE, KINGDOM_BANK, GEMINI_NLV2). | | |**displayName** | **String** | Human-readable account name. Required for non-NLV2 providers. | [optional] | -|**creds** | **byte[]** | Base64-encoded RSA-encrypted credential blob. Encrypt using the public key from GET /exchange_accounts/credentials_public_key. | | +|**creds** | **byte[]** | Base64-encoded RSA-encrypted credential blob. Encrypt using the public key from GET /connected_accounts/credentials/public_key. | | |**apiKey** | **String** | Account-level API key. | | |**mainAccountId** | **String** | Parent main account ID for sub-account creation. Not allowed for NLV2 providers. | [optional] | |**accountId** | **String** | Optional provider-side account ID to associate with the created account. | [optional] | diff --git a/docs/AmlBypassReasonEnum.md b/docs/AmlBypassReasonEnum.md new file mode 100644 index 00000000..032db27b --- /dev/null +++ b/docs/AmlBypassReasonEnum.md @@ -0,0 +1,29 @@ + + +# AmlBypassReasonEnum + +## Enum + + +* `MANUAL` (value: `"MANUAL"`) + +* `UNSUPPORTED_ASSET` (value: `"UNSUPPORTED_ASSET"`) + +* `BYPASSED_FAILURE` (value: `"BYPASSED_FAILURE"`) + +* `UNSUPPORTED_ROUTE` (value: `"UNSUPPORTED_ROUTE"`) + +* `PASSED_BY_POLICY` (value: `"PASSED_BY_POLICY"`) + +* `TIMED_OUT` (value: `"TIMED_OUT"`) + +* `BAD_CREDENTIALS` (value: `"BAD_CREDENTIALS"`) + +* `CONFIGURATION_ERROR` (value: `"CONFIGURATION_ERROR"`) + +* `DROPPED_BY_BLOCKCHAIN` (value: `"DROPPED_BY_BLOCKCHAIN"`) + +* `PROCESS_DISMISSED` (value: `"PROCESS_DISMISSED"`) + + + diff --git a/docs/AmlScreeningResult.md b/docs/AmlScreeningResult.md index 6ad70884..5fa4d972 100644 --- a/docs/AmlScreeningResult.md +++ b/docs/AmlScreeningResult.md @@ -2,14 +2,27 @@ # AmlScreeningResult -The result of the AML screening. +The result of the AML screening. Mirrors the output of the developer-api transaction formatter (IFormattedAmlResult). Not all fields are present in every response — the set depends on the AML provider and screening flow. ## Properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**provider** | **String** | | [optional] | -|**payload** | **Object** | | [optional] | +|**provider** | **String** | The AML provider name. Known values: CHAINALYSIS, ELLIPTIC, CHAINALYSIS_V2, ELLIPTIC_HOLISTIC, BYORK_SLITE, BYORK_LITE, NONE. | [optional] | +|**payload** | **Map<String, Object>** | The raw, unmodified screening response from the provider. Structure varies per provider. | [optional] | +|**verdict** | **ScreeningVerdictEnum** | | [optional] | +|**screeningStatus** | **ScreeningStatusEnum** | | [optional] | +|**bypassReason** | **AmlBypassReasonEnum** | | [optional] | +|**timestamp** | **BigDecimal** | Unix timestamp in milliseconds when the screening result was generated. | [optional] | +|**customerRefId** | **String** | Customer-provided reference identifier for tracking. | [optional] | +|**externalId** | **String** | External identifier for the screening (provider-specific). | [optional] | +|**category** | **String** | Risk category classification. The available categories are subject to change depending on the provider. | [optional] | +|**categoryId** | **BigDecimal** | Numeric identifier for the risk category. | [optional] | +|**risk** | **String** | Provider-specific risk level. Values vary by provider. | [optional] | +|**destAddress** | **String** | The destination blockchain address associated with the screening. | [optional] | +|**matchedRule** | [**AmlMatchedRule**](AmlMatchedRule.md) | | [optional] | +|**matchedPrescreeningRule** | [**AmlMatchedRule**](AmlMatchedRule.md) | | [optional] | +|**matchedAlert** | [**AmlAlert**](AmlAlert.md) | | [optional] | diff --git a/docs/Apy.md b/docs/Apy.md index 7a0141ce..8f12683f 100644 --- a/docs/Apy.md +++ b/docs/Apy.md @@ -10,6 +10,7 @@ |**_native** | **Double** | APY in native format (before fees), as a percentage (e.g. 4.25 means 4.25%, not 0.0425). | [optional] | |**gross** | **Double** | Gross APY before fees, as a percentage (e.g. 4.25 means 4.25%, not 0.0425). | [optional] | |**net** | **Double** | Net APY after fees, as a percentage (e.g. 4.25 means 4.25%, not 0.0425). | [optional] | +|**supplyIncentiveApy** | **Double** | Additional incentive APY from reward programs (e.g. Merkl rewards on Aave), as a percentage. Only present when the opportunity has active incentives. | [optional] | diff --git a/docs/AutomationSettingsRequest.md b/docs/AutomationSettingsRequest.md new file mode 100644 index 00000000..695cb164 --- /dev/null +++ b/docs/AutomationSettingsRequest.md @@ -0,0 +1,24 @@ + + +# AutomationSettingsRequest + +Request body for setting up a USDC Gateway deposit automation for a vault account. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**automationType** | [**AutomationTypeEnum**](#AutomationTypeEnum) | The type of automation to configure. | | +|**assetId** | **String** | The Fireblocks asset ID this automation applies to. Omit to cover all supported USDC Gateway assets. | [optional] | +|**timeBased** | [**TimeBasedTrigger**](TimeBasedTrigger.md) | | | + + + +## Enum: AutomationTypeEnum + +| Name | Value | +|---- | -----| +| USDC_GATEWAY_DEPOSIT | "USDC_GATEWAY_DEPOSIT" | + + + diff --git a/docs/AutomationSettingsResponse.md b/docs/AutomationSettingsResponse.md new file mode 100644 index 00000000..9f088230 --- /dev/null +++ b/docs/AutomationSettingsResponse.md @@ -0,0 +1,25 @@ + + +# AutomationSettingsResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**automationId** | **UUID** | The ID of this deposit automation. | | +|**vaultAccountId** | **String** | The vault account this deposit automation applies to. | | +|**assetId** | **String** | The Fireblocks asset ID this automation applies to, if scoped to one. | [optional] | +|**automationType** | [**AutomationTypeEnum**](#AutomationTypeEnum) | The type of this automation. | | +|**timeBased** | [**TimeBasedTrigger**](TimeBasedTrigger.md) | | | + + + +## Enum: AutomationTypeEnum + +| Name | Value | +|---- | -----| +| USDC_GATEWAY_DEPOSIT | "USDC_GATEWAY_DEPOSIT" | + + + diff --git a/docs/Blockchain.md b/docs/Blockchain.md new file mode 100644 index 00000000..5bd3f5fb --- /dev/null +++ b/docs/Blockchain.md @@ -0,0 +1,61 @@ + + +# Blockchain + +Blockchain entity + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique blockchain identifier. | | +|**blockchainState** | [**BlockchainStateEnum**](#BlockchainStateEnum) | Current lifecycle state of the blockchain. | | +|**declaredProperties** | [**BlockchainDeclaredProperties**](BlockchainDeclaredProperties.md) | | | +|**createdAtUtc** | **BigDecimal** | Creation timestamp (epoch milliseconds, UTC). | | +|**updatedAtUtc** | **BigDecimal** | Last update timestamp (epoch milliseconds, UTC). | | +|**validationSessionId** | **String** | Validation session data (optional - only present if validation session exists) | [optional] | +|**validationStatus** | [**ValidationStatusEnum**](#ValidationStatusEnum) | Status of the latest validation session. | [optional] | +|**validationCreatedAtUtc** | **BigDecimal** | Validation session creation timestamp (epoch milliseconds, UTC). | [optional] | +|**validationUpdatedAtUtc** | **BigDecimal** | Validation session last update timestamp (epoch milliseconds, UTC). | [optional] | +|**validationCompletedAtUtc** | **BigDecimal** | Validation session completion timestamp (epoch milliseconds, UTC). | [optional] | +|**validationFailureReasons** | **List<String>** | Reasons the latest validation failed, if any. | | +|**failedStep** | [**FailedStepEnum**](#FailedStepEnum) | Business step at which the activation flow failed. Absent when no failure has been recorded. | [optional] | + + + +## Enum: BlockchainStateEnum + +| Name | Value | +|---- | -----| +| BLOCKCHAIN_STATE_CREATED | "BLOCKCHAIN_STATE_CREATED" | +| BLOCKCHAIN_STATE_ACTIVATING | "BLOCKCHAIN_STATE_ACTIVATING" | +| BLOCKCHAIN_STATE_ACTIVATED | "BLOCKCHAIN_STATE_ACTIVATED" | +| BLOCKCHAIN_STATE_DEACTIVATING | "BLOCKCHAIN_STATE_DEACTIVATING" | +| BLOCKCHAIN_STATE_DEACTIVATED | "BLOCKCHAIN_STATE_DEACTIVATED" | +| BLOCKCHAIN_STATE_TECHNICAL_FAILURE | "BLOCKCHAIN_STATE_TECHNICAL_FAILURE" | + + + +## Enum: ValidationStatusEnum + +| Name | Value | +|---- | -----| +| VALIDATION_STATUS_PENDING | "VALIDATION_STATUS_PENDING" | +| VALIDATION_STATUS_IN_PROGRESS | "VALIDATION_STATUS_IN_PROGRESS" | +| VALIDATION_STATUS_SUCCEEDED | "VALIDATION_STATUS_SUCCEEDED" | +| VALIDATION_STATUS_FAILED | "VALIDATION_STATUS_FAILED" | +| VALIDATION_STATUS_TECHNICAL_FAILURE | "VALIDATION_STATUS_TECHNICAL_FAILURE" | + + + +## Enum: FailedStepEnum + +| Name | Value | +|---- | -----| +| FAILED_STEP_CONFIGURATION | "FAILED_STEP_CONFIGURATION" | +| FAILED_STEP_RESOURCES_ALLOCATION | "FAILED_STEP_RESOURCES_ALLOCATION" | +| FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS | "FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS" | +| FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS | "FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS" | + + + diff --git a/docs/BlockchainDeclaredProperties.md b/docs/BlockchainDeclaredProperties.md new file mode 100644 index 00000000..32d85aa2 --- /dev/null +++ b/docs/BlockchainDeclaredProperties.md @@ -0,0 +1,54 @@ + + +# BlockchainDeclaredProperties + +Declared properties for blockchain configuration (create/update API and response) Only the fields sent by the API and returned in list/create/update responses. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**chainName** | **String** | Human-readable name of the blockchain. | | +|**chainId** | **BigDecimal** | EVM chain ID of the blockchain. | | +|**symbolName** | **String** | Native asset symbol of the blockchain. | | +|**decimals** | **BigDecimal** | Number of decimals for the native asset. | [optional] | +|**rpcUrls** | **List<String>** | RPC endpoint URLs for the blockchain. | | +|**environmentType** | [**EnvironmentTypeEnum**](#EnvironmentTypeEnum) | Network environment (mainnet or testnet). | | +|**blockExplorerUrl** | **String** | Base URL of the block explorer. | [optional] | +|**blockExplorerTransactionPath** | **String** | Path template for a transaction on the block explorer. | [optional] | +|**blockExplorerAddressPath** | **String** | Path template for an address on the block explorer. | [optional] | +|**networkId** | **BigDecimal** | EVM network ID of the blockchain. | [optional] | +|**hasFee** | **Boolean** | Whether the blockchain charges transaction fees. | [optional] | +|**isPoa** | **Boolean** | Whether the blockchain uses proof-of-authority consensus. | [optional] | +|**hasLayeredFee** | **Boolean** | Whether the blockchain uses a layered fee model. | [optional] | +|**nodeType** | [**NodeTypeEnum**](#NodeTypeEnum) | Node client type for the blockchain. | [optional] | +|**transactionFormat** | **BigDecimal** | Transaction format identifier. | [optional] | +|**baseAssetTenantIds** | **List<String>** | Tenant IDs that share this base asset. | [optional] | +|**explorerApiUrl** | **String** | Block explorer API base URL. | [optional] | +|**explorerApiKey** | **String** | API key for the block explorer API. | [optional] | +|**isTraceEnabled** | **Boolean** | Whether trace/debug RPC methods are enabled. | [optional] | +|**rpcAuth** | [**BlockchainRpcAuth**](BlockchainRpcAuth.md) | | [optional] | + + + +## Enum: EnvironmentTypeEnum + +| Name | Value | +|---- | -----| +| ENVIRONMENT_TYPE_MAINNET | "ENVIRONMENT_TYPE_MAINNET" | +| ENVIRONMENT_TYPE_TESTNET | "ENVIRONMENT_TYPE_TESTNET" | + + + +## Enum: NodeTypeEnum + +| Name | Value | +|---- | -----| +| NODE_TYPE_CORE_GETH | "NODE_TYPE_CORE_GETH" | +| NODE_TYPE_FANTOM | "NODE_TYPE_FANTOM" | +| NODE_TYPE_ERIGON | "NODE_TYPE_ERIGON" | +| NODE_TYPE_PARITY | "NODE_TYPE_PARITY" | +| NODE_TYPE_BESU | "NODE_TYPE_BESU" | + + + diff --git a/docs/BlockchainEnvironment.md b/docs/BlockchainEnvironment.md new file mode 100644 index 00000000..9ae23d51 --- /dev/null +++ b/docs/BlockchainEnvironment.md @@ -0,0 +1,13 @@ + + +# BlockchainEnvironment + +## Enum + + +* `MAINNET` (value: `"MAINNET"`) + +* `TESTNET` (value: `"TESTNET"`) + + + diff --git a/docs/BlockchainLinkBetaApi.md b/docs/BlockchainLinkBetaApi.md new file mode 100644 index 00000000..1d7a8742 --- /dev/null +++ b/docs/BlockchainLinkBetaApi.md @@ -0,0 +1,779 @@ +# BlockchainLinkBetaApi + +All URIs are relative to https://developers.fireblocks.com/reference/ + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**activateBlockchainLinkChain**](BlockchainLinkBetaApi.md#activateBlockchainLinkChain) | **POST** /blockchain_link/blockchains/{blockchainId}/activate | Activate a blockchain (triggers activation workflow) | +| [**createBlockchainLinkChain**](BlockchainLinkBetaApi.md#createBlockchainLinkChain) | **POST** /blockchain_link/blockchains | Create a new blockchain | +| [**deleteBlockchainLinkChain**](BlockchainLinkBetaApi.md#deleteBlockchainLinkChain) | **DELETE** /blockchain_link/blockchains/{blockchainId} | Delete a blockchain | +| [**getBlockchainLinkBillingInfo**](BlockchainLinkBetaApi.md#getBlockchainLinkBillingInfo) | **GET** /blockchain_link/blockchains/billing_info | Get tenant billing info | +| [**getBlockchainLinkChain**](BlockchainLinkBetaApi.md#getBlockchainLinkChain) | **GET** /blockchain_link/blockchains/{blockchainId} | Get a blockchain by ID | +| [**getBlockchainLinkTestWalletAddress**](BlockchainLinkBetaApi.md#getBlockchainLinkTestWalletAddress) | **GET** /blockchain_link/blockchains/test_wallet_address | Get the test wallet address | +| [**listBlockchainLinkChains**](BlockchainLinkBetaApi.md#listBlockchainLinkChains) | **GET** /blockchain_link/blockchains | List blockchains with pagination and filtering | +| [**triggerBlockchainLinkValidation**](BlockchainLinkBetaApi.md#triggerBlockchainLinkValidation) | **POST** /blockchain_link/blockchains/{blockchainId}/validate | Trigger validation workflow | +| [**updateBlockchainLinkChain**](BlockchainLinkBetaApi.md#updateBlockchainLinkChain) | **PUT** /blockchain_link/blockchains/{blockchainId} | Update a blockchain | + + + +## activateBlockchainLinkChain + +> CompletableFuture> activateBlockchainLinkChain activateBlockchainLinkChain(blockchainId, idempotencyKey) + +Activate a blockchain (triggers activation workflow) + +Starts the asynchronous activation workflow for the blockchain identified by its ID, transitioning it towards the ACTIVATED state. + +### 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.BlockchainLinkBetaApi; +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 blockchainId = "blockchainId_example"; // String | Required blockchain ID to activate + 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.blockchainLinkBeta().activateBlockchainLinkChain(blockchainId, 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 BlockchainLinkBetaApi#activateBlockchainLinkChain"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#activateBlockchainLinkChain"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **blockchainId** | **String**| Required blockchain ID to activate | | +| **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 | +|-------------|-------------|------------------| +| **202** | Accepted | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + +## createBlockchainLinkChain + +> CompletableFuture> createBlockchainLinkChain createBlockchainLinkChain(createBlockchainRequest, idempotencyKey) + +Create a new blockchain + +Registers a new tenant-managed blockchain from the supplied declared properties. The blockchain starts in the CREATED state and must be activated separately before it can be used. + +### 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.BlockchainLinkBetaApi; +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); + + CreateBlockchainRequest createBlockchainRequest = new CreateBlockchainRequest(); // CreateBlockchainRequest | + 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.blockchainLinkBeta().createBlockchainLinkChain(createBlockchainRequest, 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 BlockchainLinkBetaApi#createBlockchainLinkChain"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#createBlockchainLinkChain"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **createBlockchainRequest** | [**CreateBlockchainRequest**](CreateBlockchainRequest.md)| | | +| **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**: application/json +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + +## deleteBlockchainLinkChain + +> CompletableFuture> deleteBlockchainLinkChain deleteBlockchainLinkChain(blockchainId) + +Delete a blockchain + +Permanently removes a blockchain identified by its ID. The blockchain must not be in an active lifecycle state. + +### 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.BlockchainLinkBetaApi; +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 blockchainId = "blockchainId_example"; // String | tenant_id is extracted from JWT token context + try { + CompletableFuture> response = fireblocks.blockchainLinkBeta().deleteBlockchainLinkChain(blockchainId); + System.out.println("Status code: " + response.get().getStatusCode()); + System.out.println("Response headers: " + response.get().getHeaders()); + } catch (InterruptedException | ExecutionException e) { + ApiException apiException = (ApiException)e.getCause(); + System.err.println("Exception when calling BlockchainLinkBetaApi#deleteBlockchainLinkChain"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#deleteBlockchainLinkChain"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **blockchainId** | **String**| tenant_id is extracted from JWT token context | | + +### 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 | +|-------------|-------------|------------------| +| **204** | No Content | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + +## getBlockchainLinkBillingInfo + +> CompletableFuture> getBlockchainLinkBillingInfo getBlockchainLinkBillingInfo() + +Get tenant billing info + +Returns the tenant's blockchain activation limit and current usage. tenant_id is derived from the JWT token context. + +### 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.BlockchainLinkBetaApi; +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.blockchainLinkBeta().getBlockchainLinkBillingInfo(); + 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 BlockchainLinkBetaApi#getBlockchainLinkBillingInfo"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkBillingInfo"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.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** | OK | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + +## getBlockchainLinkChain + +> CompletableFuture> getBlockchainLinkChain getBlockchainLinkChain(blockchainId) + +Get a blockchain by ID + +Returns a single blockchain owned by the tenant, identified by its ID. + +### 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.BlockchainLinkBetaApi; +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 blockchainId = "f47ac10b-58cc-4372-a567-0e02b2c3d479"; // String | ID of the blockchain to retrieve (supplied as a path parameter). + try { + CompletableFuture> response = fireblocks.blockchainLinkBeta().getBlockchainLinkChain(blockchainId); + 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 BlockchainLinkBetaApi#getBlockchainLinkChain"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkChain"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **blockchainId** | **String**| ID of the blockchain to retrieve (supplied as a path 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** | OK | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + +## getBlockchainLinkTestWalletAddress + +> CompletableFuture> getBlockchainLinkTestWalletAddress getBlockchainLinkTestWalletAddress() + +Get the test wallet address + +Returns the Ethereum address derived from the configured external wallet private key, used by the UI for test transfers. tenant_id is derived from the JWT token context. + +### 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.BlockchainLinkBetaApi; +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.blockchainLinkBeta().getBlockchainLinkTestWalletAddress(); + 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 BlockchainLinkBetaApi#getBlockchainLinkTestWalletAddress"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkTestWalletAddress"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.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** | OK | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + +## listBlockchainLinkChains + +> CompletableFuture> listBlockchainLinkChains listBlockchainLinkChains(pageCursor, pageSize, search, status, blockchainEnv, sortBy, order, statusExclude) + +List blockchains with pagination and filtering + +Returns the tenant's blockchains, paginated and filterable by state, network environment, and free-text search, with configurable sorting. + +### 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.BlockchainLinkBetaApi; +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 pageCursor = "1"; // String | tenant_id is extracted from JWT token context. Opaque cursor for the requested page. Currently encodes the 1-based page number as a decimal string (\"1\", \"2\", ...); treat as opaque on the client. Absent = first page. + BigDecimal pageSize = new BigDecimal("20"); // BigDecimal | Maximum number of items per page. Default 20, clamped to [1, 1000]. + String search = "eth"; // String | Free-text search across chain and symbol name. + List status = Arrays.asList(); // List | Include filter (repeated query params). + BlockchainEnvironment blockchainEnv = BlockchainEnvironment.fromValue("MAINNET"); // BlockchainEnvironment | Filter by network. + BlockchainSortField sortBy = BlockchainSortField.fromValue("createdAt"); // BlockchainSortField | Sort field. Default: createdAt. + String order = "ASC"; // String | Sort order. Default: DESC. + List statusExclude = Arrays.asList(); // List | Exclude filter (repeated query params). + try { + CompletableFuture> response = fireblocks.blockchainLinkBeta().listBlockchainLinkChains(pageCursor, pageSize, search, status, blockchainEnv, sortBy, order, statusExclude); + 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 BlockchainLinkBetaApi#listBlockchainLinkChains"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#listBlockchainLinkChains"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageCursor** | **String**| tenant_id is extracted from JWT token context. Opaque cursor for the requested page. Currently encodes the 1-based page number as a decimal string (\"1\", \"2\", ...); treat as opaque on the client. Absent = first page. | [optional] | +| **pageSize** | **BigDecimal**| Maximum number of items per page. Default 20, clamped to [1, 1000]. | [optional] [default to 20] | +| **search** | **String**| Free-text search across chain and symbol name. | [optional] | +| **status** | [**List<BlockchainStateFilter>**](BlockchainStateFilter.md)| Include filter (repeated query params). | [optional] | +| **blockchainEnv** | [**BlockchainEnvironment**](.md)| Filter by network. | [optional] [enum: MAINNET, TESTNET] | +| **sortBy** | [**BlockchainSortField**](.md)| Sort field. Default: createdAt. | [optional] [enum: createdAt, chainName, symbolName, status] | +| **order** | **String**| Sort order. Default: DESC. | [optional] [default to DESC] [enum: ASC, DESC] | +| **statusExclude** | [**List<BlockchainStateFilter>**](BlockchainStateFilter.md)| Exclude filter (repeated query params). | [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** | OK | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + +## triggerBlockchainLinkValidation + +> CompletableFuture> triggerBlockchainLinkValidation triggerBlockchainLinkValidation(blockchainId, idempotencyKey) + +Trigger validation workflow + +Starts the asynchronous validation workflow for a blockchain and its associated validation session. + +### 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.BlockchainLinkBetaApi; +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); + + UUID blockchainId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479"); // UUID | ID of the blockchain to validate. + 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.blockchainLinkBeta().triggerBlockchainLinkValidation(blockchainId, 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 BlockchainLinkBetaApi#triggerBlockchainLinkValidation"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#triggerBlockchainLinkValidation"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **blockchainId** | **UUID**| ID of the blockchain to validate. | | +| **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 | +|-------------|-------------|------------------| +| **202** | Accepted | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + +## updateBlockchainLinkChain + +> CompletableFuture> updateBlockchainLinkChain updateBlockchainLinkChain(blockchainDeclaredProperties, blockchainId, idempotencyKey) + +Update a blockchain + +Updates the declared properties of an existing blockchain identified by its ID. Only the fields supplied in the request are modified. + +### 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.BlockchainLinkBetaApi; +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); + + BlockchainDeclaredProperties blockchainDeclaredProperties = new BlockchainDeclaredProperties(); // BlockchainDeclaredProperties | + String blockchainId = "f47ac10b-58cc-4372-a567-0e02b2c3d479"; // String | ID of the blockchain to update (supplied as a path parameter). + 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.blockchainLinkBeta().updateBlockchainLinkChain(blockchainDeclaredProperties, blockchainId, 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 BlockchainLinkBetaApi#updateBlockchainLinkChain"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling BlockchainLinkBetaApi#updateBlockchainLinkChain"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **blockchainDeclaredProperties** | [**BlockchainDeclaredProperties**](BlockchainDeclaredProperties.md)| | | +| **blockchainId** | **String**| ID of the blockchain to update (supplied as a path parameter). | | +| **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**: application/json +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + diff --git a/docs/BlockchainRpcAuth.md b/docs/BlockchainRpcAuth.md new file mode 100644 index 00000000..bcc9f7fd --- /dev/null +++ b/docs/BlockchainRpcAuth.md @@ -0,0 +1,29 @@ + + +# BlockchainRpcAuth + +Discriminated RPC auth payload. Sent on create/update so backend can distinguish \"no auth\" from \"field unchanged\" on PUT updates. Credential values are stored inside declaredProperties and fetched at activation time; they are deliberately not carried through workflow context. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | Authentication scheme used when calling the RPC endpoint. | | +|**username** | **String** | Username for RPC_AUTH_BASIC authentication. | [optional] | +|**password** | **String** | Password for RPC_AUTH_BASIC authentication. | [optional] | +|**token** | **String** | Bearer token for RPC_AUTH_BEARER authentication. | [optional] | +|**headerName** | **String** | Header name for RPC_AUTH_CUSTOM_HEADER authentication. | [optional] | +|**headerValue** | **String** | Header value for RPC_AUTH_CUSTOM_HEADER authentication. | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| RPC_AUTH_BASIC | "RPC_AUTH_BASIC" | +| RPC_AUTH_BEARER | "RPC_AUTH_BEARER" | +| RPC_AUTH_CUSTOM_HEADER | "RPC_AUTH_CUSTOM_HEADER" | + + + diff --git a/docs/BlockchainSortField.md b/docs/BlockchainSortField.md new file mode 100644 index 00000000..e189e429 --- /dev/null +++ b/docs/BlockchainSortField.md @@ -0,0 +1,17 @@ + + +# BlockchainSortField + +## Enum + + +* `CREATED_AT` (value: `"createdAt"`) + +* `CHAIN_NAME` (value: `"chainName"`) + +* `SYMBOL_NAME` (value: `"symbolName"`) + +* `STATUS` (value: `"status"`) + + + diff --git a/docs/BlockchainStateFilter.md b/docs/BlockchainStateFilter.md new file mode 100644 index 00000000..36a14e0f --- /dev/null +++ b/docs/BlockchainStateFilter.md @@ -0,0 +1,21 @@ + + +# BlockchainStateFilter + +## Enum + + +* `BLOCKCHAIN_STATE_CREATED` (value: `"BLOCKCHAIN_STATE_CREATED"`) + +* `BLOCKCHAIN_STATE_ACTIVATING` (value: `"BLOCKCHAIN_STATE_ACTIVATING"`) + +* `BLOCKCHAIN_STATE_ACTIVATED` (value: `"BLOCKCHAIN_STATE_ACTIVATED"`) + +* `BLOCKCHAIN_STATE_DEACTIVATING` (value: `"BLOCKCHAIN_STATE_DEACTIVATING"`) + +* `BLOCKCHAIN_STATE_DEACTIVATED` (value: `"BLOCKCHAIN_STATE_DEACTIVATED"`) + +* `BLOCKCHAIN_STATE_TECHNICAL_FAILURE` (value: `"BLOCKCHAIN_STATE_TECHNICAL_FAILURE"`) + + + diff --git a/docs/ComplianceApi.md b/docs/ComplianceApi.md index 0bdc3047..bf731a2c 100644 --- a/docs/ComplianceApi.md +++ b/docs/ComplianceApi.md @@ -34,6 +34,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/ | [**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 | +| [**rescreenRejectedTransaction**](ComplianceApi.md#rescreenRejectedTransaction) | **POST** /screening/transaction/{txId}/rescreen | Rescreen a rejected transaction | | [**retryRejectedTransactionBypassScreeningChecks**](ComplianceApi.md#retryRejectedTransactionBypassScreeningChecks) | **POST** /screening/transaction/{txId}/bypass_screening_policy | Bypass Screening Policy | | [**setAmlVerdict**](ComplianceApi.md#setAmlVerdict) | **POST** /screening/aml/verdict/manual | Set AML Verdict (BYORK Super Light) | | [**setByorkTimeouts**](ComplianceApi.md#setByorkTimeouts) | **PUT** /screening/byork/config/timeouts | Set BYORK Light timeouts | @@ -2547,6 +2548,93 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## rescreenRejectedTransaction + +> CompletableFuture> rescreenRejectedTransaction rescreenRejectedTransaction(txId, rescreenTransactionRequest, idempotencyKey) + +Rescreen a rejected transaction + +Re-runs compliance screening on an incoming transaction that was rejected or failed by screening checks, moving it back to pending screening. This endpoint is only applicable to incoming transactions with a rejected/failed AML screening status. + +### 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 txId = "550e8400-e29b-41d4-a716-446655440000"; // String | The transaction id that was rejected by screening checks + RescreenTransactionRequest rescreenTransactionRequest = new RescreenTransactionRequest(); // RescreenTransactionRequest | + 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().rescreenRejectedTransaction(txId, rescreenTransactionRequest, 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#rescreenRejectedTransaction"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling ComplianceApi#rescreenRejectedTransaction"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **txId** | **String**| The transaction id that was rejected by screening checks | | +| **rescreenTransactionRequest** | [**RescreenTransactionRequest**](RescreenTransactionRequest.md)| | [optional] | +| **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**: application/json +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Rescreen result | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## retryRejectedTransactionBypassScreeningChecks > CompletableFuture> retryRejectedTransactionBypassScreeningChecks retryRejectedTransactionBypassScreeningChecks(txId, idempotencyKey) diff --git a/docs/ConnectedAccountsBetaApi.md b/docs/ConnectedAccountsBetaApi.md index 6147442b..bdc7dea3 100644 --- a/docs/ConnectedAccountsBetaApi.md +++ b/docs/ConnectedAccountsBetaApi.md @@ -13,6 +13,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/ | [**getConnectedAccountRates**](ConnectedAccountsBetaApi.md#getConnectedAccountRates) | **GET** /connected_accounts/{accountId}/rates | Get exchange rates for an account | | [**getConnectedAccountTradingPairs**](ConnectedAccountsBetaApi.md#getConnectedAccountTradingPairs) | **GET** /connected_accounts/{accountId}/manifest/capabilities/trading/pairs | Get supported trading pairs for an account | | [**getConnectedAccounts**](ConnectedAccountsBetaApi.md#getConnectedAccounts) | **GET** /connected_accounts | Get connected accounts | +| [**getConnectedAccountsCredentialsPublicKey**](ConnectedAccountsBetaApi.md#getConnectedAccountsCredentialsPublicKey) | **GET** /connected_accounts/credentials/public_key | Get public key to encrypt connected account credentials | | [**renameConnectedAccount**](ConnectedAccountsBetaApi.md#renameConnectedAccount) | **POST** /connected_accounts/{accountId}/rename | Rename Connected Account | | [**syncConnectedAccountAllowlist**](ConnectedAccountsBetaApi.md#syncConnectedAccountAllowlist) | **POST** /connected_accounts/{accountId}/allowlist/sync | Sync allowlist for connected account | @@ -24,7 +25,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/ Add a connected account -Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /exchange_accounts/credentials_public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. +Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes. ### Example @@ -275,7 +276,7 @@ No authorization required ## getConnectedAccountAllowlist -> CompletableFuture> getConnectedAccountAllowlist getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, sortBy, order) +> CompletableFuture> getConnectedAccountAllowlist getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, order) Get allowlist for connected account @@ -311,10 +312,9 @@ public class Example { String address = "address_example"; // String | Filter by specific address String pageCursor = "pageCursor_example"; // String | Pagination cursor for next page Integer pageSize = 56; // Integer | Maximum number of entries to return - String sortBy = "addedAt"; // String | Field to sort results by. String order = "ASC"; // String | Sort order (ASC or DESC). try { - CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, sortBy, order); + CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, order); System.out.println("Status code: " + response.get().getStatusCode()); System.out.println("Response headers: " + response.get().getHeaders()); System.out.println("Response body: " + response.get().getData()); @@ -348,7 +348,6 @@ public class Example { | **address** | **String**| Filter by specific address | [optional] | | **pageCursor** | **String**| Pagination cursor for next page | [optional] | | **pageSize** | **Integer**| Maximum number of entries to return | [optional] | -| **sortBy** | **String**| Field to sort results by. | [optional] [default to addedAt] [enum: addedAt, lastSyncedAt] | | **order** | **String**| Sort order (ASC or DESC). | [optional] [default to DESC] [enum: ASC, DESC] | ### Return type @@ -807,6 +806,85 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## getConnectedAccountsCredentialsPublicKey + +> CompletableFuture> getConnectedAccountsCredentialsPublicKey getConnectedAccountsCredentialsPublicKey() + +Get public key to encrypt connected account credentials + +Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. **Note:** This endpoint is currently in beta and might be subject to changes. + +### 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.ConnectedAccountsBetaApi; +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.connectedAccountsBeta().getConnectedAccountsCredentialsPublicKey(); + 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 ConnectedAccountsBetaApi#getConnectedAccountsCredentialsPublicKey"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling ConnectedAccountsBetaApi#getConnectedAccountsCredentialsPublicKey"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.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** | Public key retrieved successfully. | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## renameConnectedAccount > CompletableFuture> renameConnectedAccount renameConnectedAccount(renameConnectedAccountRequest, accountId, idempotencyKey) diff --git a/docs/CreateBlockchainRequest.md b/docs/CreateBlockchainRequest.md new file mode 100644 index 00000000..46078d80 --- /dev/null +++ b/docs/CreateBlockchainRequest.md @@ -0,0 +1,14 @@ + + +# CreateBlockchainRequest + +Create blockchain request. tenant_id is derived from the JWT token context. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**declaredProperties** | [**BlockchainDeclaredProperties**](BlockchainDeclaredProperties.md) | | | + + + diff --git a/docs/CreateBlockchainResponse.md b/docs/CreateBlockchainResponse.md new file mode 100644 index 00000000..986b2874 --- /dev/null +++ b/docs/CreateBlockchainResponse.md @@ -0,0 +1,14 @@ + + +# CreateBlockchainResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**blockchain** | [**Blockchain**](Blockchain.md) | | | +|**message** | **String** | Human-readable result message. | | + + + diff --git a/docs/CreateTagRequest.md b/docs/CreateTagRequest.md index 9ea0dec8..ba539a04 100644 --- a/docs/CreateTagRequest.md +++ b/docs/CreateTagRequest.md @@ -12,6 +12,7 @@ |**color** | **String** | The tag color in hex format | [optional] | |**isProtected** | **Boolean** | Indication if the tag is protected tag | [optional] | |**type** | **TagType** | | [optional] | +|**allowedEntityTypes** | **List<String>** | Allow-list of entity types this tag may be attached to. Soft-defaults to ['vault_account'] when omitted, and is immutable after creation. Known values: vault_account (default), contact. | [optional] | diff --git a/docs/EarnBetaApi.md b/docs/EarnApi.md similarity index 87% rename from docs/EarnBetaApi.md rename to docs/EarnApi.md index 5df33ef5..3a8bad29 100644 --- a/docs/EarnBetaApi.md +++ b/docs/EarnApi.md @@ -1,16 +1,16 @@ -# EarnBetaApi +# EarnApi All URIs are relative to https://developers.fireblocks.com/reference/ | Method | HTTP request | Description | |------------- | ------------- | -------------| -| [**approveTermsOfService**](EarnBetaApi.md#approveTermsOfService) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service | -| [**createEarnAction**](EarnBetaApi.md#createEarnAction) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw) | -| [**getEarnAction**](EarnBetaApi.md#getEarnAction) | **GET** /earn/actions/{id} | Get a single earn lending action | -| [**getEarnActions**](EarnBetaApi.md#getEarnActions) | **GET** /earn/actions | List earn lending actions | -| [**getEarnOpportunities**](EarnBetaApi.md#getEarnOpportunities) | **GET** /earn/opportunities | Get list of earn opportunities | -| [**getEarnPositions**](EarnBetaApi.md#getEarnPositions) | **GET** /earn/positions | Get list of earn positions | -| [**getEarnProviders**](EarnBetaApi.md#getEarnProviders) | **GET** /earn/providers | Get list of earn providers | +| [**approveTermsOfService**](EarnApi.md#approveTermsOfService) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service | +| [**createEarnAction**](EarnApi.md#createEarnAction) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw) | +| [**getEarnAction**](EarnApi.md#getEarnAction) | **GET** /earn/actions/{id} | Get a single earn lending action | +| [**getEarnActions**](EarnApi.md#getEarnActions) | **GET** /earn/actions | List earn lending actions | +| [**getEarnOpportunities**](EarnApi.md#getEarnOpportunities) | **GET** /earn/opportunities | Get list of earn opportunities | +| [**getEarnPositions**](EarnApi.md#getEarnPositions) | **GET** /earn/positions | Get list of earn positions | +| [**getEarnProviders**](EarnApi.md#getEarnProviders) | **GET** /earn/providers | Get list of earn providers | @@ -20,7 +20,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/ Approve earn provider terms of service -Approves earn provider terms of service for this workspace (one-time per tenant). When `isTermsApprovalRequired` is true on a provider (see list providers), call this once before creating or executing earn actions with providers that require it. After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`. **Note:** This endpoint is currently in beta and might be subject to changes. +Approves earn provider terms of service for this workspace (one-time per tenant). When `isTermsApprovalRequired` is true on a provider (see list providers), call this once before creating or executing earn actions with providers that require it. After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`. ### Example @@ -33,7 +33,7 @@ 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.EarnBetaApi; +import com.fireblocks.sdk.api.EarnApi; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -47,18 +47,18 @@ public class Example { 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.earnBeta().approveTermsOfService(idempotencyKey); + CompletableFuture> response = fireblocks.earn().approveTermsOfService(idempotencyKey); System.out.println("Status code: " + response.get().getStatusCode()); System.out.println("Response headers: " + response.get().getHeaders()); } catch (InterruptedException | ExecutionException e) { ApiException apiException = (ApiException)e.getCause(); - System.err.println("Exception when calling EarnBetaApi#approveTermsOfService"); + System.err.println("Exception when calling EarnApi#approveTermsOfService"); System.err.println("Status code: " + apiException.getCode()); System.err.println("Response headers: " + apiException.getResponseHeaders()); System.err.println("Reason: " + apiException.getResponseBody()); e.printStackTrace(); } catch (ApiException e) { - System.err.println("Exception when calling EarnBetaApi#approveTermsOfService"); + System.err.println("Exception when calling EarnApi#approveTermsOfService"); System.err.println("Status code: " + e.getCode()); System.err.println("Response headers: " + e.getResponseHeaders()); System.err.println("Reason: " + e.getResponseBody()); @@ -107,7 +107,7 @@ No authorization required Create and execute a lending action (deposit or withdraw) -Creates and runs a sequence of on-chain steps for either a deposit into or a withdrawal from an earn vault/market. Specify the operation with `action` in the request body (`DEPOSIT` or `WITHDRAW`). **Note:** This endpoint is currently in beta and might be subject to changes. +Creates and runs a sequence of on-chain steps for either a deposit into or a withdrawal from an earn vault/market. Specify the operation with `action` in the request body (`DEPOSIT` or `WITHDRAW`). ### Example @@ -120,7 +120,7 @@ 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.EarnBetaApi; +import com.fireblocks.sdk.api.EarnApi; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -135,19 +135,19 @@ public class Example { CreateEarnActionRequest createEarnActionRequest = new CreateEarnActionRequest(); // CreateEarnActionRequest | 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.earnBeta().createEarnAction(createEarnActionRequest, idempotencyKey); + CompletableFuture> response = fireblocks.earn().createEarnAction(createEarnActionRequest, 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 EarnBetaApi#createEarnAction"); + System.err.println("Exception when calling EarnApi#createEarnAction"); System.err.println("Status code: " + apiException.getCode()); System.err.println("Response headers: " + apiException.getResponseHeaders()); System.err.println("Reason: " + apiException.getResponseBody()); e.printStackTrace(); } catch (ApiException e) { - System.err.println("Exception when calling EarnBetaApi#createEarnAction"); + System.err.println("Exception when calling EarnApi#createEarnAction"); System.err.println("Status code: " + e.getCode()); System.err.println("Response headers: " + e.getResponseHeaders()); System.err.println("Reason: " + e.getResponseBody()); @@ -197,7 +197,7 @@ No authorization required Get a single earn lending action -Returns one lending action by its action sequence id (tenant-scoped). **Note:** This endpoint is currently in beta and might be subject to changes. +Returns one lending action by its action sequence id (tenant-scoped). ### Example @@ -210,7 +210,7 @@ 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.EarnBetaApi; +import com.fireblocks.sdk.api.EarnApi; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -224,19 +224,19 @@ public class Example { String id = "id_example"; // String | Action sequence id (UUID). try { - CompletableFuture> response = fireblocks.earnBeta().getEarnAction(id); + CompletableFuture> response = fireblocks.earn().getEarnAction(id); 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 EarnBetaApi#getEarnAction"); + System.err.println("Exception when calling EarnApi#getEarnAction"); System.err.println("Status code: " + apiException.getCode()); System.err.println("Response headers: " + apiException.getResponseHeaders()); System.err.println("Reason: " + apiException.getResponseBody()); e.printStackTrace(); } catch (ApiException e) { - System.err.println("Exception when calling EarnBetaApi#getEarnAction"); + System.err.println("Exception when calling EarnApi#getEarnAction"); System.err.println("Status code: " + e.getCode()); System.err.println("Response headers: " + e.getResponseHeaders()); System.err.println("Reason: " + e.getResponseBody()); @@ -284,7 +284,7 @@ No authorization required List earn lending actions -Returns a paginated list of lending actions (deposits and withdrawals) for the authenticated tenant. **Note:** This endpoint is currently in beta and might be subject to changes. +Returns a paginated list of lending actions (deposits and withdrawals) for the authenticated tenant. ### Example @@ -297,7 +297,7 @@ 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.EarnBetaApi; +import com.fireblocks.sdk.api.EarnApi; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -314,19 +314,19 @@ public class Example { String sortBy = "createdAt"; // String | Field to sort results by. String order = "ASC"; // String | Sort order (ASC or DESC). try { - CompletableFuture> response = fireblocks.earnBeta().getEarnActions(pageCursor, pageSize, sortBy, order); + CompletableFuture> response = fireblocks.earn().getEarnActions(pageCursor, pageSize, sortBy, order); 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 EarnBetaApi#getEarnActions"); + System.err.println("Exception when calling EarnApi#getEarnActions"); System.err.println("Status code: " + apiException.getCode()); System.err.println("Response headers: " + apiException.getResponseHeaders()); System.err.println("Reason: " + apiException.getResponseBody()); e.printStackTrace(); } catch (ApiException e) { - System.err.println("Exception when calling EarnBetaApi#getEarnActions"); + System.err.println("Exception when calling EarnApi#getEarnActions"); System.err.println("Status code: " + e.getCode()); System.err.println("Response headers: " + e.getResponseHeaders()); System.err.println("Reason: " + e.getResponseBody()); @@ -377,7 +377,7 @@ No authorization required Get list of earn opportunities -Get list of earn opportunities (vaults). **Note:** This endpoint is currently in beta and might be subject to changes. +Get list of earn opportunities (vaults). ### Example @@ -390,7 +390,7 @@ 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.EarnBetaApi; +import com.fireblocks.sdk.api.EarnApi; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -407,19 +407,19 @@ public class Example { String sortBy = "sortBy_example"; // String | Field to sort results by. String order = "ASC"; // String | Sort order (ASC or DESC). try { - CompletableFuture> response = fireblocks.earnBeta().getEarnOpportunities(pageCursor, pageSize, sortBy, order); + CompletableFuture> response = fireblocks.earn().getEarnOpportunities(pageCursor, pageSize, sortBy, order); 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 EarnBetaApi#getEarnOpportunities"); + System.err.println("Exception when calling EarnApi#getEarnOpportunities"); System.err.println("Status code: " + apiException.getCode()); System.err.println("Response headers: " + apiException.getResponseHeaders()); System.err.println("Reason: " + apiException.getResponseBody()); e.printStackTrace(); } catch (ApiException e) { - System.err.println("Exception when calling EarnBetaApi#getEarnOpportunities"); + System.err.println("Exception when calling EarnApi#getEarnOpportunities"); System.err.println("Status code: " + e.getCode()); System.err.println("Response headers: " + e.getResponseHeaders()); System.err.println("Reason: " + e.getResponseBody()); @@ -470,7 +470,7 @@ No authorization required Get list of earn positions -Get list of earn positions for accounts tracked for this workspace. Optional query parameters filter by chain, provider, and pagination. **Note:** This endpoint is currently in beta and might be subject to changes. +Get list of earn positions for accounts tracked for this workspace. Optional query parameters filter by chain, provider, and pagination. ### Example @@ -483,7 +483,7 @@ 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.EarnBetaApi; +import com.fireblocks.sdk.api.EarnApi; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -502,19 +502,19 @@ public class Example { String sortBy = "sortBy_example"; // String | Field to sort results by. String order = "ASC"; // String | Sort order (ASC or DESC). try { - CompletableFuture> response = fireblocks.earnBeta().getEarnPositions(chainId, providerId, pageCursor, pageSize, sortBy, order); + CompletableFuture> response = fireblocks.earn().getEarnPositions(chainId, providerId, pageCursor, pageSize, sortBy, order); 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 EarnBetaApi#getEarnPositions"); + System.err.println("Exception when calling EarnApi#getEarnPositions"); System.err.println("Status code: " + apiException.getCode()); System.err.println("Response headers: " + apiException.getResponseHeaders()); System.err.println("Reason: " + apiException.getResponseBody()); e.printStackTrace(); } catch (ApiException e) { - System.err.println("Exception when calling EarnBetaApi#getEarnPositions"); + System.err.println("Exception when calling EarnApi#getEarnPositions"); System.err.println("Status code: " + e.getCode()); System.err.println("Response headers: " + e.getResponseHeaders()); System.err.println("Reason: " + e.getResponseBody()); @@ -567,7 +567,7 @@ No authorization required Get list of earn providers -Get list of earn providers. **Note:** This endpoint is currently in beta and might be subject to changes. +Get list of earn providers. ### Example @@ -580,7 +580,7 @@ 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.EarnBetaApi; +import com.fireblocks.sdk.api.EarnApi; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -597,19 +597,19 @@ public class Example { String sortBy = "sortBy_example"; // String | Field to sort results by. String order = "ASC"; // String | Sort order (ASC or DESC). try { - CompletableFuture> response = fireblocks.earnBeta().getEarnProviders(pageCursor, pageSize, sortBy, order); + CompletableFuture> response = fireblocks.earn().getEarnProviders(pageCursor, pageSize, sortBy, order); 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 EarnBetaApi#getEarnProviders"); + System.err.println("Exception when calling EarnApi#getEarnProviders"); System.err.println("Status code: " + apiException.getCode()); System.err.println("Response headers: " + apiException.getResponseHeaders()); System.err.println("Reason: " + apiException.getResponseBody()); e.printStackTrace(); } catch (ApiException e) { - System.err.println("Exception when calling EarnBetaApi#getEarnProviders"); + System.err.println("Exception when calling EarnApi#getEarnProviders"); System.err.println("Status code: " + e.getCode()); System.err.println("Response headers: " + e.getResponseHeaders()); System.err.println("Reason: " + e.getResponseBody()); diff --git a/docs/EarnCurator.md b/docs/EarnCurator.md new file mode 100644 index 00000000..664ffa81 --- /dev/null +++ b/docs/EarnCurator.md @@ -0,0 +1,14 @@ + + +# EarnCurator + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Curator display name. | [optional] | +|**iconUrl** | **URI** | URL of the curator's icon/logo. | [optional] | + + + diff --git a/docs/EarnMetadata.md b/docs/EarnMetadata.md new file mode 100644 index 00000000..0aa12fc3 --- /dev/null +++ b/docs/EarnMetadata.md @@ -0,0 +1,14 @@ + + +# EarnMetadata + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Protocol display name (e.g. \"Aave\", \"Aave Horizon\"). | [optional] | +|**iconUrl** | **URI** | URL of the protocol's icon/logo. | [optional] | + + + diff --git a/docs/GetAutomationSettingsResponse.md b/docs/GetAutomationSettingsResponse.md new file mode 100644 index 00000000..408d6ba7 --- /dev/null +++ b/docs/GetAutomationSettingsResponse.md @@ -0,0 +1,13 @@ + + +# GetAutomationSettingsResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**settings** | [**List<AutomationSettingsResponse>**](AutomationSettingsResponse.md) | The deposit automations configured for the vault account. | | + + + diff --git a/docs/GetBillingInfoResponse.md b/docs/GetBillingInfoResponse.md new file mode 100644 index 00000000..f8f866a6 --- /dev/null +++ b/docs/GetBillingInfoResponse.md @@ -0,0 +1,14 @@ + + +# GetBillingInfoResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**activatedBlockchainsLimit** | **BigDecimal** | Maximum number of activated blockchains allowed for this tenant (0 = not purchased). | | +|**activatedBlockchainsUsed** | **BigDecimal** | Number of blockchains currently in Activating, Activated, or Deactivating state for this tenant. Filter-independent (ignores list filters/pagination). | | + + + diff --git a/docs/GetBlockchainByIdResponse.md b/docs/GetBlockchainByIdResponse.md new file mode 100644 index 00000000..e05dba5f --- /dev/null +++ b/docs/GetBlockchainByIdResponse.md @@ -0,0 +1,13 @@ + + +# GetBlockchainByIdResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**blockchain** | [**Blockchain**](Blockchain.md) | | | + + + diff --git a/docs/GetConnectedAccountsCredentialsPublicKeyResponse.md b/docs/GetConnectedAccountsCredentialsPublicKeyResponse.md new file mode 100644 index 00000000..c117f298 --- /dev/null +++ b/docs/GetConnectedAccountsCredentialsPublicKeyResponse.md @@ -0,0 +1,13 @@ + + +# GetConnectedAccountsCredentialsPublicKeyResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**publicKey** | **String** | RSA public key (PEM) used to encrypt credential payloads sent to POST /connected_accounts. | | + + + diff --git a/docs/GetTestWalletAddressResponse.md b/docs/GetTestWalletAddressResponse.md new file mode 100644 index 00000000..7b223209 --- /dev/null +++ b/docs/GetTestWalletAddressResponse.md @@ -0,0 +1,13 @@ + + +# GetTestWalletAddressResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**testWalletAddress** | **String** | Ethereum address derived from BLOCKCHAIN_LINK_EXTERNAL_WALLET_PRIVATE_KEY (for UI display). | [optional] | + + + diff --git a/docs/ListBlockchainsResponse2.md b/docs/ListBlockchainsResponse2.md new file mode 100644 index 00000000..1ca9d39b --- /dev/null +++ b/docs/ListBlockchainsResponse2.md @@ -0,0 +1,16 @@ + + +# ListBlockchainsResponse2 + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<Blockchain>**](Blockchain.md) | Blockchains for the current page. | | +|**total** | **BigDecimal** | Total number of items across all pages, matching the current filter. | | +|**next** | **String** | Cursor for the next page; absent when the current page is the last. Opaque base64 blob bundling the target pageCursor and current query params (pageSize, search, status, statusExclude, blockchainEnv, sortBy, order). | [optional] | +|**prev** | **String** | Cursor for the previous page; absent when the current page is the first. | [optional] | + + + diff --git a/docs/MomoPaymentInfo.md b/docs/MomoPaymentInfo.md index 317b84b8..fa5f936b 100644 --- a/docs/MomoPaymentInfo.md +++ b/docs/MomoPaymentInfo.md @@ -46,6 +46,7 @@ Mobile Money (MOMO) payment information for African mobile payment services | MTN | "MTN" | | TIGO | "TIGO" | | WAVE | "WAVE" | +| ORANGE | "ORANGE" | diff --git a/docs/Opportunity.md b/docs/Opportunity.md index 23bf4bbf..3278e711 100644 --- a/docs/Opportunity.md +++ b/docs/Opportunity.md @@ -17,12 +17,16 @@ |**principalAsset** | [**EarnAsset**](EarnAsset.md) | Underlying token the user deposits (principal). | [optional] | |**positionAsset** | [**EarnAsset**](EarnAsset.md) | Token representing the user’s position in the protocol (e.g. vault share). | [optional] | |**totalAssets** | **String** | Human-readable total value locked / assets in the opportunity. | [optional] | +|**totalAssetsUsd** | **String** | USD-denominated total assets / TVL. | [optional] | |**liquidity** | **String** | Human-readable available liquidity. | [optional] | +|**liquidityUsd** | **String** | USD-denominated available liquidity. | [optional] | |**apy** | [**Apy**](Apy.md) | APY breakdown; values are percentages (e.g. 4.25 means 4.25%). | [optional] | |**performanceFee** | **String** | Performance fee as a human-readable decimal string. | [optional] | |**managementFee** | **String** | Management fee as a human-readable decimal string. | [optional] | |**exposureType** | [**ExposureTypeEnum**](#ExposureTypeEnum) | What the `exposure` rows represent; `UNSPECIFIED` when there is no exposure. | [optional] | |**exposure** | [**List<Exposure>**](Exposure.md) | Per-asset exposure breakdown (vault allocation slices, top 20 by USD notional). Empty when not applicable. | [optional] | +|**curator** | [**EarnCurator**](EarnCurator.md) | Curator information for Morpho vaults. | [optional] | +|**metadata** | [**EarnMetadata**](EarnMetadata.md) | Protocol-level metadata (display name and logo). | [optional] | diff --git a/docs/PolicyEditorV2BetaApi.md b/docs/PolicyEditorV2BetaApi.md new file mode 100644 index 00000000..41c397ba --- /dev/null +++ b/docs/PolicyEditorV2BetaApi.md @@ -0,0 +1,99 @@ +# PolicyEditorV2BetaApi + +All URIs are relative to https://developers.fireblocks.com/reference/ + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**getPolicyRuleQuota**](PolicyEditorV2BetaApi.md#getPolicyRuleQuota) | **POST** /policy/rules/quota | Calculate the AOT quota for a policy rule | + + + +## getPolicyRuleQuota + +> CompletableFuture> getPolicyRuleQuota getPolicyRuleQuota(policyRuleQuotaRequest, idempotencyKey) + +Calculate the AOT quota for a policy rule + +Returns the Amount Over Time (AOT) quota calculated for a specific policy rule. Endpoint Permissions: Owner, Admin, Non-Signing Admin. + +### 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.PolicyEditorV2BetaApi; +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); + + PolicyRuleQuotaRequest policyRuleQuotaRequest = new PolicyRuleQuotaRequest(); // PolicyRuleQuotaRequest | + 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.policyEditorV2Beta().getPolicyRuleQuota(policyRuleQuotaRequest, 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 PolicyEditorV2BetaApi#getPolicyRuleQuota"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling PolicyEditorV2BetaApi#getPolicyRuleQuota"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **policyRuleQuotaRequest** | [**PolicyRuleQuotaRequest**](PolicyRuleQuotaRequest.md)| | | +| **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**: application/json +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | The calculated AOT quota for the rule | * X-Request-ID -
| +| **400** | Invalid request parameters or rule configuration prevents AOT calculation. | * X-Request-ID -
| +| **403** | Caller lacks permission to access the requested rule. | * X-Request-ID -
| +| **404** | The requested policy rule was not found. | * X-Request-ID -
| +| **429** | Rate limit exceeded: slow down and retry later. | * X-Request-ID -
| +| **500** | Internal server error while calculating AOT quota. | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + diff --git a/docs/PolicyRuleQuotaParticipant.md b/docs/PolicyRuleQuotaParticipant.md new file mode 100644 index 00000000..74953575 --- /dev/null +++ b/docs/PolicyRuleQuotaParticipant.md @@ -0,0 +1,15 @@ + + +# PolicyRuleQuotaParticipant + +Participant identifier for AOT quota calculation + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Participant identifier (integer for VAULT accounts, UUID for others) | | +|**type** | **String** | Participant type | | + + + diff --git a/docs/PolicyRuleQuotaRequest.md b/docs/PolicyRuleQuotaRequest.md new file mode 100644 index 00000000..47ffe811 --- /dev/null +++ b/docs/PolicyRuleQuotaRequest.md @@ -0,0 +1,16 @@ + + +# PolicyRuleQuotaRequest + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**ruleId** | **String** | The ID of the policy rule to calculate AOT quota for | | +|**initiator** | **String** | Optional initiator identifier for the AOT calculation | [optional] | +|**source** | [**PolicyRuleQuotaParticipant**](PolicyRuleQuotaParticipant.md) | | [optional] | +|**destination** | [**PolicyRuleQuotaParticipant**](PolicyRuleQuotaParticipant.md) | | [optional] | + + + diff --git a/docs/PolicyRuleQuotaResponse.md b/docs/PolicyRuleQuotaResponse.md new file mode 100644 index 00000000..69630402 --- /dev/null +++ b/docs/PolicyRuleQuotaResponse.md @@ -0,0 +1,18 @@ + + +# PolicyRuleQuotaResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**amount** | **String** | The calculated Amount Over Time (AOT) quota for the rule | [optional] | +|**quotaConfig** | [**AmountOverTimeConfig**](AmountOverTimeConfig.md) | | [optional] | +|**currency** | **String** | The currency of the AOT amount | [optional] | +|**windowStart** | **BigDecimal** | Unix timestamp (seconds) of the start of the current AOT time window | [optional] | +|**windowEnd** | **BigDecimal** | Unix timestamp (seconds) of the end of the current AOT time window (when the AOT was calculated) | [optional] | +|**transactionCount** | **BigDecimal** | Number of transactions in the current AOT time window | [optional] | + + + diff --git a/docs/Position2.md b/docs/Position2.md index 1316990a..ff6dffd8 100644 --- a/docs/Position2.md +++ b/docs/Position2.md @@ -23,6 +23,7 @@ |**createdAt** | **String** | Creation time (ISO-8601). | | |**updatedAt** | **String** | Last update time (ISO-8601). | | |**lastSyncedAt** | **String** | Last successful on-chain sync time (ISO-8601). | [optional] | +|**lastModifiedAt** | **String** | Timestamp of the last user-triggered action on this position (ISO-8601). Empty if the user has never interacted with it. | [optional] | |**availableActions** | [**List<AvailableActionsEnum>**](#List<AvailableActionsEnum>) | Actions the API allows next for this position. | | |**yield** | **String** | Accrued yield in principal token units (decimal string). Only present for Morpho positions. | [optional] | diff --git a/docs/ProgramCallDecodedDataItem.md b/docs/ProgramCallDecodedDataItem.md new file mode 100644 index 00000000..fbcb9f72 --- /dev/null +++ b/docs/ProgramCallDecodedDataItem.md @@ -0,0 +1,16 @@ + + +# ProgramCallDecodedDataItem + +A single decoded Solana instruction from a PROGRAM_CALL transaction. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**programId** | **String** | The on-chain program address that owns this instruction. | | +|**programName** | **String** | Human-readable program name (e.g. `SystemProgram`, `ComputeBudget`). | | +|**instructionData** | **Map<String, Object>** | Decoded instruction arguments. Keys and values depend on the instruction type — values may be strings, numbers, or nested objects (e.g. `args`, `accounts`, `name`). | | + + + diff --git a/docs/RescreenTransactionRequest.md b/docs/RescreenTransactionRequest.md new file mode 100644 index 00000000..d4176e55 --- /dev/null +++ b/docs/RescreenTransactionRequest.md @@ -0,0 +1,13 @@ + + +# RescreenTransactionRequest + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**resetTravelRuleMessage** | **Boolean** | When true, clears the existing travel rule message on the transaction before rescreening. | [optional] | + + + diff --git a/docs/RescreenTransactionResponse.md b/docs/RescreenTransactionResponse.md new file mode 100644 index 00000000..a7f24272 --- /dev/null +++ b/docs/RescreenTransactionResponse.md @@ -0,0 +1,13 @@ + + +# RescreenTransactionResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**success** | **Boolean** | Whether the rescreen was triggered successfully | | + + + diff --git a/docs/SaveAutomationSettingsResponse.md b/docs/SaveAutomationSettingsResponse.md new file mode 100644 index 00000000..bc7ca779 --- /dev/null +++ b/docs/SaveAutomationSettingsResponse.md @@ -0,0 +1,13 @@ + + +# SaveAutomationSettingsResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**automationId** | **UUID** | The ID of the newly created deposit automation. | | + + + diff --git a/docs/ScreeningStatusEnum.md b/docs/ScreeningStatusEnum.md new file mode 100644 index 00000000..95e3b3ed --- /dev/null +++ b/docs/ScreeningStatusEnum.md @@ -0,0 +1,19 @@ + + +# ScreeningStatusEnum + +## Enum + + +* `COMPLETED` (value: `"COMPLETED"`) + +* `PENDING` (value: `"PENDING"`) + +* `BYPASSED` (value: `"BYPASSED"`) + +* `FAILED` (value: `"FAILED"`) + +* `FROZEN` (value: `"FROZEN"`) + + + diff --git a/docs/ScreeningVerdictEnum.md b/docs/ScreeningVerdictEnum.md index 5e706464..7b390e2f 100644 --- a/docs/ScreeningVerdictEnum.md +++ b/docs/ScreeningVerdictEnum.md @@ -21,5 +21,7 @@ * `REVIEW` (value: `"REVIEW"`) +* `WAIT` (value: `"WAIT"`) + diff --git a/docs/Tag.md b/docs/Tag.md index bfeaf0a1..0d2faa3c 100644 --- a/docs/Tag.md +++ b/docs/Tag.md @@ -14,6 +14,7 @@ |**isProtected** | **Boolean** | Indication if the tag is a protected tag | | |**updatedAt** | **BigDecimal** | The date and time the tag was last updated | | |**type** | **TagType** | | [optional] | +|**allowedEntityTypes** | **List<String>** | The entity types this tag may be attached to. Tags created before this field was introduced read back as ['vault_account']. Known values: vault_account (default), contact. | [optional] | |**pendingApprovalRequest** | [**ApprovalRequest**](ApprovalRequest.md) | | [optional] | diff --git a/docs/TagsApi.md b/docs/TagsApi.md index 837e5e99..124ada40 100644 --- a/docs/TagsApi.md +++ b/docs/TagsApi.md @@ -347,7 +347,7 @@ No authorization required ## getTags -> CompletableFuture> getTags getTags(pageCursor, pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type) +> CompletableFuture> getTags getTags(pageCursor, pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type, allowedEntityType) Get list of tags @@ -383,8 +383,9 @@ public class Example { Boolean includePendingApprovalsInfo = false; // Boolean | Whether to include pending approval requests info. Boolean isProtected = true; // Boolean | List type = Arrays.asList(); // List | Filter by tag type + String allowedEntityType = "contact"; // String | Filter tags whose allow-list contains this entity type. Known values: vault_account, contact. try { - CompletableFuture> response = fireblocks.tags().getTags(pageCursor, pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type); + CompletableFuture> response = fireblocks.tags().getTags(pageCursor, pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type, allowedEntityType); System.out.println("Status code: " + response.get().getStatusCode()); System.out.println("Response headers: " + response.get().getHeaders()); System.out.println("Response body: " + response.get().getData()); @@ -418,6 +419,7 @@ public class Example { | **includePendingApprovalsInfo** | **Boolean**| Whether to include pending approval requests info. | [optional] [default to false] | | **isProtected** | **Boolean**| | [optional] | | **type** | [**List<TagType>**](TagType.md)| Filter by tag type | [optional] | +| **allowedEntityType** | **String**| Filter tags whose allow-list contains this entity type. Known values: vault_account, contact. | [optional] | ### Return type diff --git a/docs/TimeBasedTrigger.md b/docs/TimeBasedTrigger.md new file mode 100644 index 00000000..d62dd86f --- /dev/null +++ b/docs/TimeBasedTrigger.md @@ -0,0 +1,26 @@ + + +# TimeBasedTrigger + +The schedule for this deposit automation. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**intervalValue** | **Integer** | How often the deposit runs, in units of intervalUnit. | | +|**intervalUnit** | [**IntervalUnitEnum**](#IntervalUnitEnum) | The unit for intervalValue. | | +|**balanceThreshold** | **String** | Minimum USDC balance required before a deposit runs. Set to \"0\" to sweep the full available balance every time, with no minimum. | | + + + +## Enum: IntervalUnitEnum + +| Name | Value | +|---- | -----| +| MINUTES | "MINUTES" | +| HOURS | "HOURS" | +| DAYS | "DAYS" | + + + diff --git a/docs/TransactionFee.md b/docs/TransactionFee.md index 85ac0cf7..4e5f0159 100644 --- a/docs/TransactionFee.md +++ b/docs/TransactionFee.md @@ -8,11 +8,11 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**feePerByte** | **String** | | [optional] | -|**gasPrice** | **BigDecimal** | | [optional] | +|**gasPrice** | **String** | | [optional] | |**gasLimit** | **String** | | [optional] | |**networkFee** | **String** | | [optional] | -|**baseFee** | **BigDecimal** | (optional) Base Fee according to EIP-1559 (ETH assets) | [optional] | -|**priorityFee** | **BigDecimal** | (optional) Priority Fee according to EIP-1559 (ETH assets) | [optional] | +|**baseFee** | **String** | (optional) Base Fee according to EIP-1559 (ETH assets) | [optional] | +|**priorityFee** | **String** | (optional) Priority Fee according to EIP-1559 (ETH assets) | [optional] | |**maxFeePerGasDelta** | **String** | Max Fee Per Gas Delta added only for EIP-1559 (ETH assets) | [optional] | |**l1Fee** | **String** | Layer 1 fee for Layer 2 chains | [optional] | diff --git a/docs/TransactionResponse.md b/docs/TransactionResponse.md index 680e6aaf..d9c30c60 100644 --- a/docs/TransactionResponse.md +++ b/docs/TransactionResponse.md @@ -25,6 +25,7 @@ |**destinationAddressDescription** | **String** | Description of the address. | [optional] | |**destinationTag** | **String** | Destination address tag for XRP, used as memo for EOS/XLM, or Bank Transfer Description for the fiat provider BLINC (by BCB Group). | [optional] | |**contractCallDecodedData** | [**TransactionResponseContractCallDecodedData**](TransactionResponseContractCallDecodedData.md) | | [optional] | +|**programCallDecodedData** | [**List<ProgramCallDecodedDataItem>**](ProgramCallDecodedDataItem.md) | Decoded instruction list for `PROGRAM_CALL` (Solana) operations. Each entry represents one instruction in the transaction, in execution order. Fireblocks-injected instructions (e.g. `AdvanceNonceAccount`, `ComputeBudget`) appear first, followed by the original dApp instructions. | [optional] | |**amountInfo** | [**AmountInfo**](AmountInfo.md) | | [optional] | |**treatAsGrossAmount** | **Boolean** | For transactions initiated via this Fireblocks workspace, when set to `true`, the fee is deducted from the requested amount. **Note**: This parameter can only be considered if a transaction's asset is a base asset, such as ETH or MATIC. If the asset can't be used for transaction fees, like USDC, this parameter is ignored and the fee is deducted from the relevant base asset wallet in the source account. | [optional] | |**feeInfo** | [**FeeInfo**](FeeInfo.md) | | [optional] | diff --git a/docs/TriggerValidationFlowResponse.md b/docs/TriggerValidationFlowResponse.md new file mode 100644 index 00000000..0657dc37 --- /dev/null +++ b/docs/TriggerValidationFlowResponse.md @@ -0,0 +1,13 @@ + + +# TriggerValidationFlowResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**message** | **String** | Human-readable result message. | | + + + diff --git a/docs/UpdateAutomationSettingsRequest.md b/docs/UpdateAutomationSettingsRequest.md new file mode 100644 index 00000000..094151dd --- /dev/null +++ b/docs/UpdateAutomationSettingsRequest.md @@ -0,0 +1,14 @@ + + +# UpdateAutomationSettingsRequest + +Request body for changing an existing USDC Gateway deposit automation. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**timeBased** | [**TimeBasedTrigger**](TimeBasedTrigger.md) | | | + + + diff --git a/docs/UpdateBlockchainResponse.md b/docs/UpdateBlockchainResponse.md new file mode 100644 index 00000000..f21d1f61 --- /dev/null +++ b/docs/UpdateBlockchainResponse.md @@ -0,0 +1,14 @@ + + +# UpdateBlockchainResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**blockchain** | [**Blockchain**](Blockchain.md) | | | +|**message** | **String** | Human-readable result message. | | + + + diff --git a/docs/UtxoManagementBetaApi.md b/docs/UtxoManagementBetaApi.md index a792ee5a..8f44508a 100644 --- a/docs/UtxoManagementBetaApi.md +++ b/docs/UtxoManagementBetaApi.md @@ -11,7 +11,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/ ## getUtxos -> CompletableFuture> getUtxos getUtxos(vaultAccountId, assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels, excludeAnyLabels, includeStatuses, address, minAmount, maxAmount) +> CompletableFuture> getUtxos getUtxos(vaultAccountId, assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels, excludeAnyLabels, includeStatuses, address, txHash, txId, minAmount, maxAmount) List unspent outputs (UTXOs) @@ -51,10 +51,12 @@ public class Example { List excludeAnyLabels = Arrays.asList(); // List | Exclude UTXOs that have ANY of these labels. List includeStatuses = Arrays.asList(); // List | Filter by UTXO statuses to include. String address = "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"; // String | Filter by address + String txHash = "0000000000000000000a1b2c3d4e5f60718293a4b5c6d7e8f900112233445566"; // String | Filter by the on-chain hash of the transaction that created the UTXOs. Returns all UTXOs originating from that transaction. + UUID txId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479"); // UUID | Filter by the Fireblocks transaction ID that created the UTXOs. String minAmount = "0.001"; // String | Minimum amount filter String maxAmount = "1.0"; // String | Maximum amount filter try { - CompletableFuture> response = fireblocks.utxoManagementBeta().getUtxos(vaultAccountId, assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels, excludeAnyLabels, includeStatuses, address, minAmount, maxAmount); + CompletableFuture> response = fireblocks.utxoManagementBeta().getUtxos(vaultAccountId, assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels, excludeAnyLabels, includeStatuses, address, txHash, txId, minAmount, maxAmount); System.out.println("Status code: " + response.get().getStatusCode()); System.out.println("Response headers: " + response.get().getHeaders()); System.out.println("Response body: " + response.get().getData()); @@ -92,6 +94,8 @@ public class Example { | **excludeAnyLabels** | [**List<String>**](String.md)| Exclude UTXOs that have ANY of these labels. | [optional] | | **includeStatuses** | [**List<String>**](String.md)| Filter by UTXO statuses to include. | [optional] | | **address** | **String**| Filter by address | [optional] | +| **txHash** | **String**| Filter by the on-chain hash of the transaction that created the UTXOs. Returns all UTXOs originating from that transaction. | [optional] | +| **txId** | **UUID**| Filter by the Fireblocks transaction ID that created the UTXOs. | [optional] | | **minAmount** | **String**| Minimum amount filter | [optional] | | **maxAmount** | **String**| Maximum amount filter | [optional] | diff --git a/docs/VaultsApi.md b/docs/VaultsApi.md index d1a9502e..2b9f8973 100644 --- a/docs/VaultsApi.md +++ b/docs/VaultsApi.md @@ -14,6 +14,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/ | [**createVaultAccountAsset**](VaultsApi.md#createVaultAccountAsset) | **POST** /vault/accounts/{vaultAccountId}/{assetId} | Create a new vault wallet | | [**createVaultAccountAssetAddress**](VaultsApi.md#createVaultAccountAssetAddress) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses | Create new asset deposit address | | [**deactivateUsdcGatewayWalletBeta**](VaultsApi.md#deactivateUsdcGatewayWalletBeta) | **POST** /vault/accounts/{vaultAccountId}/usdc_gateway/deactivate | Deactivate a USDC Gateway wallet | +| [**disableUsdcGatewayDepositAutomationScheduleBeta**](VaultsApi.md#disableUsdcGatewayDepositAutomationScheduleBeta) | **DELETE** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId} | Stop a USDC Gateway deposit automation's schedule | | [**getAssetWallets**](VaultsApi.md#getAssetWallets) | **GET** /vault/asset_wallets | Get vault wallets (Paginated) | | [**getCreateMultipleDepositAddressesJobStatus**](VaultsApi.md#getCreateMultipleDepositAddressesJobStatus) | **GET** /vault/accounts/addresses/bulk/{jobId} | Get the job status of the bulk deposit address creation | | [**getCreateMultipleVaultAccountsJobStatus**](VaultsApi.md#getCreateMultipleVaultAccountsJobStatus) | **GET** /vault/accounts/bulk/{jobId} | Get job status of bulk creation of new vault accounts | @@ -23,6 +24,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/ | [**getPublicKeyInfo**](VaultsApi.md#getPublicKeyInfo) | **GET** /vault/public_key_info | Get the public key for a derivation path | | [**getPublicKeyInfoForAddress**](VaultsApi.md#getPublicKeyInfoForAddress) | **GET** /vault/accounts/{vaultAccountId}/{assetId}/{change}/{addressIndex}/public_key_info | Get an asset's public key | | [**getUnspentInputs**](VaultsApi.md#getUnspentInputs) | **GET** /vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs | Get UTXO unspent inputs information | +| [**getUsdcGatewayDepositAutomationBeta**](VaultsApi.md#getUsdcGatewayDepositAutomationBeta) | **GET** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Read the USDC Gateway deposit automations for a vault account | | [**getUsdcGatewayWalletInfoBeta**](VaultsApi.md#getUsdcGatewayWalletInfoBeta) | **GET** /vault/accounts/{vaultAccountId}/usdc_gateway | Get USDC Gateway wallet info | | [**getVaultAccount**](VaultsApi.md#getVaultAccount) | **GET** /vault/accounts/{vaultAccountId} | Get a vault account by ID | | [**getVaultAccountAsset**](VaultsApi.md#getVaultAccountAsset) | **GET** /vault/accounts/{vaultAccountId}/{assetId} | Get the asset balance for a vault account | @@ -32,9 +34,11 @@ All URIs are relative to https://developers.fireblocks.com/reference/ | [**hideVaultAccount**](VaultsApi.md#hideVaultAccount) | **POST** /vault/accounts/{vaultAccountId}/hide | Hide a vault account in the console | | [**lookupVaultByAddress**](VaultsApi.md#lookupVaultByAddress) | **GET** /vault/lookup_by_address | Look up a vault account by blockchain address | | [**setCustomerRefIdForAddress**](VaultsApi.md#setCustomerRefIdForAddress) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id | Assign AML customer reference ID | +| [**setUsdcGatewayDepositAutomationBeta**](VaultsApi.md#setUsdcGatewayDepositAutomationBeta) | **POST** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Set up a USDC Gateway deposit automation for a vault account | | [**setVaultAccountAutoFuel**](VaultsApi.md#setVaultAccountAutoFuel) | **POST** /vault/accounts/{vaultAccountId}/set_auto_fuel | Set auto fueling to on or off | | [**setVaultAccountCustomerRefId**](VaultsApi.md#setVaultAccountCustomerRefId) | **POST** /vault/accounts/{vaultAccountId}/set_customer_ref_id | Set an AML/KYT ID for a vault account | | [**unhideVaultAccount**](VaultsApi.md#unhideVaultAccount) | **POST** /vault/accounts/{vaultAccountId}/unhide | Unhide a vault account in the console | +| [**updateUsdcGatewayDepositAutomationBeta**](VaultsApi.md#updateUsdcGatewayDepositAutomationBeta) | **PATCH** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId} | Change a USDC Gateway deposit automation | | [**updateVaultAccount**](VaultsApi.md#updateVaultAccount) | **PUT** /vault/accounts/{vaultAccountId} | Rename a vault account | | [**updateVaultAccountAssetAddress**](VaultsApi.md#updateVaultAccountAssetAddress) | **PUT** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId} | Update address description | | [**updateVaultAccountAssetBalance**](VaultsApi.md#updateVaultAccountAssetBalance) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/balance | Refresh asset balance data | @@ -910,6 +914,90 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## disableUsdcGatewayDepositAutomationScheduleBeta + +> CompletableFuture> disableUsdcGatewayDepositAutomationScheduleBeta disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId, automationId) + +Stop a USDC Gateway deposit automation's schedule + +Stops the schedule for an existing deposit automation. The automation itself stays configured, only its schedule stops. Turn it back on later with PATCH, without setting up the automation again from scratch. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + +### 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.VaultsApi; +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 vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account + UUID automationId = UUID.randomUUID(); // UUID | The ID of the deposit automation, returned when it was created or read + try { + CompletableFuture> response = fireblocks.vaults().disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId, automationId); + System.out.println("Status code: " + response.get().getStatusCode()); + System.out.println("Response headers: " + response.get().getHeaders()); + } catch (InterruptedException | ExecutionException e) { + ApiException apiException = (ApiException)e.getCause(); + System.err.println("Exception when calling VaultsApi#disableUsdcGatewayDepositAutomationScheduleBeta"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling VaultsApi#disableUsdcGatewayDepositAutomationScheduleBeta"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **vaultAccountId** | **String**| The ID of the vault account | | +| **automationId** | **UUID**| The ID of the deposit automation, returned when it was created or read | | + +### 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 | +|-------------|-------------|------------------| +| **204** | Deposit automation schedule disabled | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## getAssetWallets > CompletableFuture> getAssetWallets getAssetWallets(totalAmountLargerThan, assetId, orderBy, before, after, limit) @@ -1255,7 +1343,7 @@ No authorization required ## getMaxSpendableAmount -> CompletableFuture> getMaxSpendableAmount getMaxSpendableAmount(vaultAccountId, assetId, manualSignging) +> CompletableFuture> getMaxSpendableAmount getMaxSpendableAmount(vaultAccountId, assetId, manualSignging, includeAllLabels, includeAnyLabels, excludeAnyLabels, address, minAmount, maxAmount) Get max spendable amount in a transaction @@ -1287,8 +1375,14 @@ public class Example { String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account, or 'default' for the default 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. + List includeAnyLabels = Arrays.asList(); // List | Only include UTXOs that have ANY of these labels (OR logic). Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. + List excludeAnyLabels = Arrays.asList(); // List | Exclude UTXOs that have ANY of these labels. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. + String address = "address_example"; // String | Only include UTXOs from this specific address. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. + String minAmount = "minAmount_example"; // String | Minimum UTXO amount in the asset's base unit. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. + String maxAmount = "maxAmount_example"; // String | Maximum UTXO amount in the asset's base unit. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. try { - CompletableFuture> response = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging); + CompletableFuture> response = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging, includeAllLabels, includeAnyLabels, excludeAnyLabels, address, minAmount, maxAmount); System.out.println("Status code: " + response.get().getStatusCode()); System.out.println("Response headers: " + response.get().getHeaders()); System.out.println("Response body: " + response.get().getData()); @@ -1318,6 +1412,12 @@ public class Example { | **vaultAccountId** | **String**| The ID of the vault account, or 'default' for the default 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] | +| **includeAnyLabels** | [**List<String>**](String.md)| Only include UTXOs that have ANY of these labels (OR logic). Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] | +| **excludeAnyLabels** | [**List<String>**](String.md)| Exclude UTXOs that have ANY of these labels. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] | +| **address** | **String**| Only include UTXOs from this specific address. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] | +| **minAmount** | **String**| Minimum UTXO amount in the asset's base unit. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] | +| **maxAmount** | **String**| Maximum UTXO amount in the asset's base unit. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] | ### Return type @@ -1705,6 +1805,89 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## getUsdcGatewayDepositAutomationBeta + +> CompletableFuture> getUsdcGatewayDepositAutomationBeta getUsdcGatewayDepositAutomationBeta(vaultAccountId) + +Read the USDC Gateway deposit automations for a vault account + +Returns the USDC Gateway deposit automations configured for the given vault account. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + +### 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.VaultsApi; +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 vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account + try { + CompletableFuture> response = fireblocks.vaults().getUsdcGatewayDepositAutomationBeta(vaultAccountId); + 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 VaultsApi#getUsdcGatewayDepositAutomationBeta"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling VaultsApi#getUsdcGatewayDepositAutomationBeta"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **vaultAccountId** | **String**| The ID of the vault account | | + +### 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** | USDC Gateway deposit automations | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## getUsdcGatewayWalletInfoBeta > CompletableFuture> getUsdcGatewayWalletInfoBeta getUsdcGatewayWalletInfoBeta(vaultAccountId) @@ -2477,6 +2660,93 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## setUsdcGatewayDepositAutomationBeta + +> CompletableFuture> setUsdcGatewayDepositAutomationBeta setUsdcGatewayDepositAutomationBeta(automationSettingsRequest, vaultAccountId, idempotencyKey) + +Set up a USDC Gateway deposit automation for a vault account + +Turns on automatic deposits into the USDC Gateway wallet for the given vault account, on the schedule you choose. Returns an error if an automation already exists for this vault account and asset. Use PATCH to change it instead. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + +### 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.VaultsApi; +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); + + AutomationSettingsRequest automationSettingsRequest = new AutomationSettingsRequest(); // AutomationSettingsRequest | + String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account + 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.vaults().setUsdcGatewayDepositAutomationBeta(automationSettingsRequest, vaultAccountId, 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 VaultsApi#setUsdcGatewayDepositAutomationBeta"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling VaultsApi#setUsdcGatewayDepositAutomationBeta"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **automationSettingsRequest** | [**AutomationSettingsRequest**](AutomationSettingsRequest.md)| | | +| **vaultAccountId** | **String**| The ID of the vault account | | +| **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**: application/json +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Deposit automation created | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## setVaultAccountAutoFuel > CompletableFuture> setVaultAccountAutoFuel setVaultAccountAutoFuel(setAutoFuelRequest, vaultAccountId, idempotencyKey) @@ -2736,6 +3006,95 @@ No authorization required | **0** | Error Response | * X-Request-ID -
| +## updateUsdcGatewayDepositAutomationBeta + +> CompletableFuture> updateUsdcGatewayDepositAutomationBeta updateUsdcGatewayDepositAutomationBeta(updateAutomationSettingsRequest, vaultAccountId, automationId, idempotencyKey) + +Change a USDC Gateway deposit automation + +Changes an existing USDC Gateway deposit automation for a vault account. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + +### 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.VaultsApi; +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); + + UpdateAutomationSettingsRequest updateAutomationSettingsRequest = new UpdateAutomationSettingsRequest(); // UpdateAutomationSettingsRequest | + String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account + UUID automationId = UUID.randomUUID(); // UUID | The ID of the deposit automation, returned when it was created or read + 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.vaults().updateUsdcGatewayDepositAutomationBeta(updateAutomationSettingsRequest, vaultAccountId, automationId, 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 VaultsApi#updateUsdcGatewayDepositAutomationBeta"); + System.err.println("Status code: " + apiException.getCode()); + System.err.println("Response headers: " + apiException.getResponseHeaders()); + System.err.println("Reason: " + apiException.getResponseBody()); + e.printStackTrace(); + } catch (ApiException e) { + System.err.println("Exception when calling VaultsApi#updateUsdcGatewayDepositAutomationBeta"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **updateAutomationSettingsRequest** | [**UpdateAutomationSettingsRequest**](UpdateAutomationSettingsRequest.md)| | | +| **vaultAccountId** | **String**| The ID of the vault account | | +| **automationId** | **UUID**| The ID of the deposit automation, returned when it was created or read | | +| **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**: application/json +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Deposit automation updated | * X-Request-ID -
| +| **0** | Error Response | * X-Request-ID -
| + + ## updateVaultAccount > CompletableFuture> updateVaultAccount updateVaultAccount(updateVaultAccountRequest, vaultAccountId, idempotencyKey) diff --git a/pom.xml b/pom.xml index 46e1e136..5c58d835 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ fireblocks-sdk jar fireblocks-sdk - 23.0.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 01b35060..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 = "23.0.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/Fireblocks.java b/src/main/java/com/fireblocks/sdk/Fireblocks.java index da6fd37a..3931bbf9 100644 --- a/src/main/java/com/fireblocks/sdk/Fireblocks.java +++ b/src/main/java/com/fireblocks/sdk/Fireblocks.java @@ -38,6 +38,7 @@ public class Fireblocks { private ApiUserApi apiUser; private AuditLogsApi auditLogs; + private BlockchainLinkBetaApi blockchainLinkBeta; private BlockchainsAssetsApi blockchainsAssets; private ComplianceApi compliance; private ComplianceScreeningConfigurationApi complianceScreeningConfiguration; @@ -48,7 +49,7 @@ public class Fireblocks { private ContractsApi contracts; private CosignersBetaApi cosignersBeta; private DeployedContractsApi deployedContracts; - private EarnBetaApi earnBeta; + private EarnApi earn; private EmbeddedWalletsApi embeddedWallets; private ExchangeAccountsApi exchangeAccounts; private ExternalWalletsApi externalWallets; @@ -66,6 +67,7 @@ public class Fireblocks { private PaymentsPayoutApi paymentsPayout; private PolicyEditorBetaApi policyEditorBeta; private PolicyEditorV2Api policyEditorV2; + private PolicyEditorV2BetaApi policyEditorV2Beta; private ReportsBetaApi reportsBeta; private ResetDeviceApi resetDevice; private SmartTransferApi smartTransfer; @@ -239,6 +241,13 @@ public AuditLogsApi auditLogs() { return auditLogs; } + public BlockchainLinkBetaApi blockchainLinkBeta() { + if (blockchainLinkBeta == null) { + blockchainLinkBeta = new BlockchainLinkBetaApi(apiClient); + } + return blockchainLinkBeta; + } + public BlockchainsAssetsApi blockchainsAssets() { if (blockchainsAssets == null) { blockchainsAssets = new BlockchainsAssetsApi(apiClient); @@ -309,11 +318,11 @@ public DeployedContractsApi deployedContracts() { return deployedContracts; } - public EarnBetaApi earnBeta() { - if (earnBeta == null) { - earnBeta = new EarnBetaApi(apiClient); + public EarnApi earn() { + if (earn == null) { + earn = new EarnApi(apiClient); } - return earnBeta; + return earn; } public EmbeddedWalletsApi embeddedWallets() { @@ -435,6 +444,13 @@ public PolicyEditorV2Api policyEditorV2() { return policyEditorV2; } + public PolicyEditorV2BetaApi policyEditorV2Beta() { + if (policyEditorV2Beta == null) { + policyEditorV2Beta = new PolicyEditorV2BetaApi(apiClient); + } + return policyEditorV2Beta; + } + public ReportsBetaApi reportsBeta() { if (reportsBeta == null) { reportsBeta = new ReportsBetaApi(apiClient); diff --git a/src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java b/src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java new file mode 100644 index 00000000..819ac2a0 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java @@ -0,0 +1,824 @@ +/* + * 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.api; + + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fireblocks.sdk.ApiClient; +import com.fireblocks.sdk.ApiException; +import com.fireblocks.sdk.ApiResponse; +import com.fireblocks.sdk.Pair; +import com.fireblocks.sdk.ValidationUtils; +import com.fireblocks.sdk.model.ActivateBlockchainResponse; +import com.fireblocks.sdk.model.BlockchainDeclaredProperties; +import com.fireblocks.sdk.model.BlockchainEnvironment; +import com.fireblocks.sdk.model.BlockchainSortField; +import com.fireblocks.sdk.model.BlockchainStateFilter; +import com.fireblocks.sdk.model.CreateBlockchainRequest; +import com.fireblocks.sdk.model.CreateBlockchainResponse; +import com.fireblocks.sdk.model.GetBillingInfoResponse; +import com.fireblocks.sdk.model.GetBlockchainByIdResponse; +import com.fireblocks.sdk.model.GetTestWalletAddressResponse; +import com.fireblocks.sdk.model.ListBlockchainsResponse2; +import com.fireblocks.sdk.model.TriggerValidationFlowResponse; +import com.fireblocks.sdk.model.UpdateBlockchainResponse; +import java.io.IOException; +import java.io.InputStream; +import java.math.BigDecimal; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.time.Duration; +import java.util.ArrayList; +import java.util.List; +import java.util.StringJoiner; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.function.Consumer; + +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class BlockchainLinkBetaApi { + private final HttpClient memberVarHttpClient; + private final ObjectMapper memberVarObjectMapper; + private final String memberVarBaseUri; + private final Consumer memberVarInterceptor; + private final Duration memberVarReadTimeout; + private final Consumer> memberVarResponseInterceptor; + private final Consumer> memberVarAsyncResponseInterceptor; + + public BlockchainLinkBetaApi() { + this(new ApiClient()); + } + + public BlockchainLinkBetaApi(ApiClient apiClient) { + memberVarHttpClient = apiClient.getHttpClient(); + memberVarObjectMapper = apiClient.getObjectMapper(); + memberVarBaseUri = apiClient.getBaseUri(); + memberVarInterceptor = apiClient.getRequestInterceptor(); + memberVarReadTimeout = apiClient.getReadTimeout(); + memberVarResponseInterceptor = apiClient.getResponseInterceptor(); + memberVarAsyncResponseInterceptor = apiClient.getAsyncResponseInterceptor(); + } + + private ApiException getApiException(String operationId, HttpResponse response) { + String message = + formatExceptionMessage(operationId, response.statusCode(), response.body()); + return new ApiException( + response.statusCode(), message, response.headers(), response.body()); + } + + private String formatExceptionMessage(String operationId, int statusCode, String body) { + if (body == null || body.isEmpty()) { + body = "[no body]"; + } + return operationId + " call failed with: " + statusCode + " - " + body; + } + + /** + * Activate a blockchain (triggers activation workflow) Starts the asynchronous activation + * workflow for the blockchain identified by its ID, transitioning it towards the ACTIVATED + * state. + * + * @param blockchainId Required blockchain ID to activate (required) + * @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<ActivateBlockchainResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> activateBlockchainLinkChain( + String blockchainId, String idempotencyKey) throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + activateBlockchainLinkChainRequestBuilder(blockchainId, idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "activateBlockchainLinkChain", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + ActivateBlockchainResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder activateBlockchainLinkChainRequestBuilder( + String blockchainId, String idempotencyKey) throws ApiException { + ValidationUtils.assertParamExistsAndNotEmpty( + "activateBlockchainLinkChain", "blockchainId", blockchainId); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/blockchain_link/blockchains/{blockchainId}/activate" + .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString())); + + 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; + } + /** + * Create a new blockchain Registers a new tenant-managed blockchain from the supplied declared + * properties. The blockchain starts in the CREATED state and must be activated separately + * before it can be used. + * + * @param createBlockchainRequest (required) + * @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<CreateBlockchainResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> createBlockchainLinkChain( + CreateBlockchainRequest createBlockchainRequest, String idempotencyKey) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + createBlockchainLinkChainRequestBuilder( + createBlockchainRequest, idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "createBlockchainLinkChain", localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + CreateBlockchainResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder createBlockchainLinkChainRequestBuilder( + CreateBlockchainRequest createBlockchainRequest, String idempotencyKey) + throws ApiException { + ValidationUtils.assertParamExists( + "createBlockchainLinkChain", "createBlockchainRequest", createBlockchainRequest); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/blockchain_link/blockchains"; + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + if (idempotencyKey != null) { + localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString()); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + + try { + byte[] localVarPostBody = + memberVarObjectMapper.writeValueAsBytes(createBlockchainRequest); + localVarRequestBuilder.method( + "POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** + * Delete a blockchain Permanently removes a blockchain identified by its ID. The blockchain + * must not be in an active lifecycle state. + * + * @param blockchainId tenant_id is extracted from JWT token context (required) + * @return CompletableFuture<ApiResponse<Void>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> deleteBlockchainLinkChain(String blockchainId) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + deleteBlockchainLinkChainRequestBuilder(blockchainId); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "deleteBlockchainLinkChain", localVarResponse)); + } + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + null)); + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder deleteBlockchainLinkChainRequestBuilder(String blockchainId) + throws ApiException { + ValidationUtils.assertParamExistsAndNotEmpty( + "deleteBlockchainLinkChain", "blockchainId", blockchainId); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/blockchain_link/blockchains/{blockchainId}" + .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString())); + + 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; + } + /** + * Get tenant billing info Returns the tenant's blockchain activation limit and current + * usage. tenant_id is derived from the JWT token context. + * + * @return CompletableFuture<ApiResponse<GetBillingInfoResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> getBlockchainLinkBillingInfo() + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + getBlockchainLinkBillingInfoRequestBuilder(); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "getBlockchainLinkBillingInfo", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + GetBillingInfoResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder getBlockchainLinkBillingInfoRequestBuilder() throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/blockchain_link/blockchains/billing_info"; + + 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 a blockchain by ID Returns a single blockchain owned by the tenant, identified by its ID. + * + * @param blockchainId ID of the blockchain to retrieve (supplied as a path parameter). + * (required) + * @return CompletableFuture<ApiResponse<GetBlockchainByIdResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> getBlockchainLinkChain( + String blockchainId) throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + getBlockchainLinkChainRequestBuilder(blockchainId); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "getBlockchainLinkChain", localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + GetBlockchainByIdResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder getBlockchainLinkChainRequestBuilder(String blockchainId) + throws ApiException { + ValidationUtils.assertParamExistsAndNotEmpty( + "getBlockchainLinkChain", "blockchainId", blockchainId); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/blockchain_link/blockchains/{blockchainId}" + .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString())); + + 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 the test wallet address Returns the Ethereum address derived from the configured external + * wallet private key, used by the UI for test transfers. tenant_id is derived from the JWT + * token context. + * + * @return CompletableFuture<ApiResponse<GetTestWalletAddressResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> + getBlockchainLinkTestWalletAddress() throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + getBlockchainLinkTestWalletAddressRequestBuilder(); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "getBlockchainLinkTestWalletAddress", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + GetTestWalletAddressResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder getBlockchainLinkTestWalletAddressRequestBuilder() + throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/blockchain_link/blockchains/test_wallet_address"; + + 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; + } + /** + * List blockchains with pagination and filtering Returns the tenant's blockchains, + * paginated and filterable by state, network environment, and free-text search, with + * configurable sorting. + * + * @param pageCursor tenant_id is extracted from JWT token context. Opaque cursor for the + * requested page. Currently encodes the 1-based page number as a decimal string + * (\"1\", \"2\", ...); treat as opaque on the client. Absent = + * first page. (optional) + * @param pageSize Maximum number of items per page. Default 20, clamped to [1, 1000]. + * (optional, default to 20) + * @param search Free-text search across chain and symbol name. (optional) + * @param status Include filter (repeated query params). (optional + * @param blockchainEnv Filter by network. (optional) + * @param sortBy Sort field. Default: createdAt. (optional) + * @param order Sort order. Default: DESC. (optional, default to DESC) + * @param statusExclude Exclude filter (repeated query params). (optional + * @return CompletableFuture<ApiResponse<ListBlockchainsResponse2>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> listBlockchainLinkChains( + String pageCursor, + BigDecimal pageSize, + String search, + List status, + BlockchainEnvironment blockchainEnv, + BlockchainSortField sortBy, + String order, + List statusExclude) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + listBlockchainLinkChainsRequestBuilder( + pageCursor, + pageSize, + search, + status, + blockchainEnv, + sortBy, + order, + statusExclude); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "listBlockchainLinkChains", localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + ListBlockchainsResponse2>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder listBlockchainLinkChainsRequestBuilder( + String pageCursor, + BigDecimal pageSize, + String search, + List status, + BlockchainEnvironment blockchainEnv, + BlockchainSortField sortBy, + String order, + List statusExclude) + throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/blockchain_link/blockchains"; + + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageCursor"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageCursor", pageCursor)); + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "search"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("search", search)); + localVarQueryParameterBaseName = "status"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "status", status)); + localVarQueryParameterBaseName = "blockchainEnv"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("blockchainEnv", blockchainEnv)); + localVarQueryParameterBaseName = "sortBy"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortBy", sortBy)); + localVarQueryParameterBaseName = "order"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("order", order)); + localVarQueryParameterBaseName = "statusExclude"; + localVarQueryParams.addAll( + ApiClient.parameterToPairs("multi", "statusExclude", statusExclude)); + + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri( + URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + 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; + } + /** + * Trigger validation workflow Starts the asynchronous validation workflow for a blockchain and + * its associated validation session. + * + * @param blockchainId ID of the blockchain to validate. (required) + * @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<TriggerValidationFlowResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> + triggerBlockchainLinkValidation(UUID blockchainId, String idempotencyKey) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + triggerBlockchainLinkValidationRequestBuilder(blockchainId, idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "triggerBlockchainLinkValidation", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + TriggerValidationFlowResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder triggerBlockchainLinkValidationRequestBuilder( + UUID blockchainId, String idempotencyKey) throws ApiException { + ValidationUtils.assertParamExistsAndNotEmpty( + "triggerBlockchainLinkValidation", "blockchainId", blockchainId.toString()); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/blockchain_link/blockchains/{blockchainId}/validate" + .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString())); + + 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; + } + /** + * Update a blockchain Updates the declared properties of an existing blockchain identified by + * its ID. Only the fields supplied in the request are modified. + * + * @param blockchainDeclaredProperties (required) + * @param blockchainId ID of the blockchain to update (supplied as a path parameter). (required) + * @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<UpdateBlockchainResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> updateBlockchainLinkChain( + BlockchainDeclaredProperties blockchainDeclaredProperties, + String blockchainId, + String idempotencyKey) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + updateBlockchainLinkChainRequestBuilder( + blockchainDeclaredProperties, blockchainId, idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "updateBlockchainLinkChain", localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + UpdateBlockchainResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder updateBlockchainLinkChainRequestBuilder( + BlockchainDeclaredProperties blockchainDeclaredProperties, + String blockchainId, + String idempotencyKey) + throws ApiException { + ValidationUtils.assertParamExists( + "updateBlockchainLinkChain", + "blockchainDeclaredProperties", + blockchainDeclaredProperties); + ValidationUtils.assertParamExistsAndNotEmpty( + "updateBlockchainLinkChain", "blockchainId", blockchainId); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/blockchain_link/blockchains/{blockchainId}" + .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString())); + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + if (idempotencyKey != null) { + localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString()); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + + try { + byte[] localVarPostBody = + memberVarObjectMapper.writeValueAsBytes(blockchainDeclaredProperties); + localVarRequestBuilder.method( + "PUT", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } +} diff --git a/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java b/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java index 15da6909..3ed43f73 100644 --- a/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java +++ b/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java @@ -48,6 +48,8 @@ import com.fireblocks.sdk.model.ListLegalEntitiesResponse; import com.fireblocks.sdk.model.ListVaultsForRegistrationResponse; import com.fireblocks.sdk.model.RegisterLegalEntityRequest; +import com.fireblocks.sdk.model.RescreenTransactionRequest; +import com.fireblocks.sdk.model.RescreenTransactionResponse; import com.fireblocks.sdk.model.ScreeningConfigurationsRequest; import com.fireblocks.sdk.model.ScreeningPolicyResponse; import com.fireblocks.sdk.model.ScreeningProviderRulesConfigurationResponse; @@ -2344,6 +2346,100 @@ private HttpRequest.Builder removeAllAddressRegistryVaultOptOutsRequestBuilder() } return localVarRequestBuilder; } + /** + * Rescreen a rejected transaction Re-runs compliance screening on an incoming transaction that + * was rejected or failed by screening checks, moving it back to pending screening. This + * endpoint is only applicable to incoming transactions with a rejected/failed AML screening + * status. + * + * @param txId The transaction id that was rejected by screening checks (required) + * @param rescreenTransactionRequest (optional) + * @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<RescreenTransactionResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> rescreenRejectedTransaction( + String txId, + RescreenTransactionRequest rescreenTransactionRequest, + String idempotencyKey) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + rescreenRejectedTransactionRequestBuilder( + txId, rescreenTransactionRequest, idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "rescreenRejectedTransaction", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + RescreenTransactionResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder rescreenRejectedTransactionRequestBuilder( + String txId, + RescreenTransactionRequest rescreenTransactionRequest, + String idempotencyKey) + throws ApiException { + ValidationUtils.assertParamExistsAndNotEmpty("rescreenRejectedTransaction", "txId", txId); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/screening/transaction/{txId}/rescreen" + .replace("{txId}", ApiClient.urlEncode(txId.toString())); + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + if (idempotencyKey != null) { + localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString()); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + + try { + byte[] localVarPostBody = + memberVarObjectMapper.writeValueAsBytes(rescreenTransactionRequest); + localVarRequestBuilder.method( + "POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } /** * Bypass Screening Policy Triggers a new transaction, with the API user as the initiator, * bypassing the screening policy checks. This endpoint is restricted to Admin API users and is diff --git a/src/main/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApi.java b/src/main/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApi.java index 23e6e797..b59bb90f 100644 --- a/src/main/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApi.java +++ b/src/main/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApi.java @@ -30,6 +30,7 @@ import com.fireblocks.sdk.model.ConnectedAccountTradingPairsResponse; import com.fireblocks.sdk.model.ConnectedAccountsResponse; import com.fireblocks.sdk.model.ConnectedSingleAccountResponse; +import com.fireblocks.sdk.model.GetConnectedAccountsCredentialsPublicKeyResponse; import com.fireblocks.sdk.model.RenameConnectedAccountRequest; import com.fireblocks.sdk.model.RenameConnectedAccountResponse; import java.io.IOException; @@ -88,7 +89,7 @@ private String formatExceptionMessage(String operationId, int statusCode, String /** * Add a connected account Creates a new connected account for the authenticated tenant. The * `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET - * /exchange_accounts/credentials_public_key` to retrieve the public key for encryption. + * /connected_accounts/credentials/public_key` to retrieve the public key for encryption. * The `providerType` is derived server-side from the `providerId` — callers * do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This * endpoint is currently in beta and might be subject to changes. @@ -319,7 +320,6 @@ private HttpRequest.Builder getConnectedAccountRequestBuilder(String accountId) * @param address Filter by specific address (optional) * @param pageCursor Pagination cursor for next page (optional) * @param pageSize Maximum number of entries to return (optional) - * @param sortBy Field to sort results by. (optional, default to addedAt) * @param order Sort order (ASC or DESC). (optional, default to DESC) * @return CompletableFuture<ApiResponse<AllowlistResponse>> * @throws ApiException if fails to make API call @@ -332,7 +332,6 @@ public CompletableFuture> getConnectedAccountAllo String address, String pageCursor, Integer pageSize, - String sortBy, String order) throws ApiException { try { @@ -345,7 +344,6 @@ public CompletableFuture> getConnectedAccountAllo address, pageCursor, pageSize, - sortBy, order); return memberVarHttpClient .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) @@ -389,7 +387,6 @@ private HttpRequest.Builder getConnectedAccountAllowlistRequestBuilder( String address, String pageCursor, Integer pageSize, - String sortBy, String order) throws ApiException { ValidationUtils.assertParamExistsAndNotEmpty( @@ -416,8 +413,6 @@ private HttpRequest.Builder getConnectedAccountAllowlistRequestBuilder( localVarQueryParams.addAll(ApiClient.parameterToPairs("pageCursor", pageCursor)); localVarQueryParameterBaseName = "pageSize"; localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); - localVarQueryParameterBaseName = "sortBy"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("sortBy", sortBy)); localVarQueryParameterBaseName = "order"; localVarQueryParams.addAll(ApiClient.parameterToPairs("order", order)); @@ -892,6 +887,77 @@ private HttpRequest.Builder getConnectedAccountsRequestBuilder( } return localVarRequestBuilder; } + /** + * Get public key to encrypt connected account credentials Returns the RSA public key used to + * encrypt the `creds` field before calling `POST /connected_accounts`. The + * key is a singleton resource scoped to the connected-accounts credentials domain — there is + * one per tenant context. **Note:** This endpoint is currently in beta and might be subject to + * changes. + * + * @return + * CompletableFuture<ApiResponse<GetConnectedAccountsCredentialsPublicKeyResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> + getConnectedAccountsCredentialsPublicKey() throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + getConnectedAccountsCredentialsPublicKeyRequestBuilder(); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "getConnectedAccountsCredentialsPublicKey", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse< + GetConnectedAccountsCredentialsPublicKeyResponse>( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + GetConnectedAccountsCredentialsPublicKeyResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder getConnectedAccountsCredentialsPublicKeyRequestBuilder() + throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/connected_accounts/credentials/public_key"; + + 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; + } /** * Rename Connected Account Rename a connected account by account ID. **Note:** This endpoint is * currently in beta and might be subject to changes. diff --git a/src/main/java/com/fireblocks/sdk/api/EarnBetaApi.java b/src/main/java/com/fireblocks/sdk/api/EarnApi.java similarity index 97% rename from src/main/java/com/fireblocks/sdk/api/EarnBetaApi.java rename to src/main/java/com/fireblocks/sdk/api/EarnApi.java index 41b88ad5..e7a57f0d 100644 --- a/src/main/java/com/fireblocks/sdk/api/EarnBetaApi.java +++ b/src/main/java/com/fireblocks/sdk/api/EarnApi.java @@ -43,7 +43,7 @@ @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.14.0") -public class EarnBetaApi { +public class EarnApi { private final HttpClient memberVarHttpClient; private final ObjectMapper memberVarObjectMapper; private final String memberVarBaseUri; @@ -52,11 +52,11 @@ public class EarnBetaApi { private final Consumer> memberVarResponseInterceptor; private final Consumer> memberVarAsyncResponseInterceptor; - public EarnBetaApi() { + public EarnApi() { this(new ApiClient()); } - public EarnBetaApi(ApiClient apiClient) { + public EarnApi(ApiClient apiClient) { memberVarHttpClient = apiClient.getHttpClient(); memberVarObjectMapper = apiClient.getObjectMapper(); memberVarBaseUri = apiClient.getBaseUri(); @@ -85,8 +85,7 @@ private String formatExceptionMessage(String operationId, int statusCode, String * workspace (one-time per tenant). When `isTermsApprovalRequired` is true on a * provider (see list providers), call this once before creating or executing earn actions with * providers that require it. After success, `GET /earn/providers` reflects - * `isTermsOfServiceApproved`. **Note:** This endpoint is currently in beta and might - * be subject to changes. + * `isTermsOfServiceApproved`. * * @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 @@ -149,8 +148,7 @@ private HttpRequest.Builder approveTermsOfServiceRequestBuilder(String idempoten * Create and execute a lending action (deposit or withdraw) Creates and runs a sequence of * on-chain steps for either a deposit into or a withdrawal from an earn vault/market. Specify * the operation with `action` in the request body (`DEPOSIT` or - * `WITHDRAW`). **Note:** This endpoint is currently in beta and might be subject to - * changes. + * `WITHDRAW`). * * @param createEarnActionRequest (required) * @param idempotencyKey A unique identifier for the request. If the request is sent multiple @@ -233,8 +231,7 @@ private HttpRequest.Builder createEarnActionRequestBuilder( } /** * Get a single earn lending action Returns one lending action by its action sequence id - * (tenant-scoped). **Note:** This endpoint is currently in beta and might be subject to - * changes. + * (tenant-scoped). * * @param id Action sequence id (UUID). (required) * @return CompletableFuture<ApiResponse<GetActionResponse>> @@ -299,8 +296,7 @@ private HttpRequest.Builder getEarnActionRequestBuilder(String id) throws ApiExc } /** * List earn lending actions Returns a paginated list of lending actions (deposits and - * withdrawals) for the authenticated tenant. **Note:** This endpoint is currently in beta and - * might be subject to changes. + * withdrawals) for the authenticated tenant. * * @param pageCursor Cursor for the next or previous page of results. (optional) * @param pageSize Number of items per page (default 100, max 100). (optional, default to 100) @@ -389,8 +385,7 @@ private HttpRequest.Builder getEarnActionsRequestBuilder( return localVarRequestBuilder; } /** - * Get list of earn opportunities Get list of earn opportunities (vaults). **Note:** This - * endpoint is currently in beta and might be subject to changes. + * Get list of earn opportunities Get list of earn opportunities (vaults). * * @param pageCursor Cursor for the next or previous page of results. (optional) * @param pageSize Number of items per page. (optional, default to 100) @@ -481,8 +476,7 @@ private HttpRequest.Builder getEarnOpportunitiesRequestBuilder( } /** * Get list of earn positions Get list of earn positions for accounts tracked for this - * workspace. Optional query parameters filter by chain, provider, and pagination. **Note:** - * This endpoint is currently in beta and might be subject to changes. + * workspace. Optional query parameters filter by chain, provider, and pagination. * * @param chainId (optional) * @param providerId (optional) @@ -590,8 +584,7 @@ private HttpRequest.Builder getEarnPositionsRequestBuilder( return localVarRequestBuilder; } /** - * Get list of earn providers Get list of earn providers. **Note:** This endpoint is currently - * in beta and might be subject to changes. + * Get list of earn providers Get list of earn providers. * * @param pageCursor Cursor for the next or previous page of results. (optional) * @param pageSize Number of items per page. (optional, default to 100) diff --git a/src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java b/src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java new file mode 100644 index 00000000..eefee87b --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java @@ -0,0 +1,158 @@ +/* + * 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.api; + + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fireblocks.sdk.ApiClient; +import com.fireblocks.sdk.ApiException; +import com.fireblocks.sdk.ApiResponse; +import com.fireblocks.sdk.ValidationUtils; +import com.fireblocks.sdk.model.PolicyRuleQuotaRequest; +import com.fireblocks.sdk.model.PolicyRuleQuotaResponse; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.time.Duration; +import java.util.concurrent.CompletableFuture; +import java.util.function.Consumer; + +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class PolicyEditorV2BetaApi { + private final HttpClient memberVarHttpClient; + private final ObjectMapper memberVarObjectMapper; + private final String memberVarBaseUri; + private final Consumer memberVarInterceptor; + private final Duration memberVarReadTimeout; + private final Consumer> memberVarResponseInterceptor; + private final Consumer> memberVarAsyncResponseInterceptor; + + public PolicyEditorV2BetaApi() { + this(new ApiClient()); + } + + public PolicyEditorV2BetaApi(ApiClient apiClient) { + memberVarHttpClient = apiClient.getHttpClient(); + memberVarObjectMapper = apiClient.getObjectMapper(); + memberVarBaseUri = apiClient.getBaseUri(); + memberVarInterceptor = apiClient.getRequestInterceptor(); + memberVarReadTimeout = apiClient.getReadTimeout(); + memberVarResponseInterceptor = apiClient.getResponseInterceptor(); + memberVarAsyncResponseInterceptor = apiClient.getAsyncResponseInterceptor(); + } + + private ApiException getApiException(String operationId, HttpResponse response) { + String message = + formatExceptionMessage(operationId, response.statusCode(), response.body()); + return new ApiException( + response.statusCode(), message, response.headers(), response.body()); + } + + private String formatExceptionMessage(String operationId, int statusCode, String body) { + if (body == null || body.isEmpty()) { + body = "[no body]"; + } + return operationId + " call failed with: " + statusCode + " - " + body; + } + + /** + * Calculate the AOT quota for a policy rule Returns the Amount Over Time (AOT) quota calculated + * for a specific policy rule. Endpoint Permissions: Owner, Admin, Non-Signing Admin. + * + * @param policyRuleQuotaRequest (required) + * @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<PolicyRuleQuotaResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> getPolicyRuleQuota( + PolicyRuleQuotaRequest policyRuleQuotaRequest, String idempotencyKey) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + getPolicyRuleQuotaRequestBuilder(policyRuleQuotaRequest, idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "getPolicyRuleQuota", localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + PolicyRuleQuotaResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder getPolicyRuleQuotaRequestBuilder( + PolicyRuleQuotaRequest policyRuleQuotaRequest, String idempotencyKey) + throws ApiException { + ValidationUtils.assertParamExists( + "getPolicyRuleQuota", "policyRuleQuotaRequest", policyRuleQuotaRequest); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/policy/rules/quota"; + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + if (idempotencyKey != null) { + localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString()); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + + try { + byte[] localVarPostBody = + memberVarObjectMapper.writeValueAsBytes(policyRuleQuotaRequest); + localVarRequestBuilder.method( + "POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } +} diff --git a/src/main/java/com/fireblocks/sdk/api/TagsApi.java b/src/main/java/com/fireblocks/sdk/api/TagsApi.java index cae7509f..b0e5324e 100644 --- a/src/main/java/com/fireblocks/sdk/api/TagsApi.java +++ b/src/main/java/com/fireblocks/sdk/api/TagsApi.java @@ -353,6 +353,8 @@ private HttpRequest.Builder getTagRequestBuilder(UUID tagId) throws ApiException * (optional, default to false) * @param isProtected (optional) * @param type Filter by tag type (optional + * @param allowedEntityType Filter tags whose allow-list contains this entity type. Known + * values: vault_account, contact. (optional) * @return CompletableFuture<ApiResponse<TagsPagedResponse>> * @throws ApiException if fails to make API call */ @@ -363,7 +365,8 @@ public CompletableFuture> getTags( List tagIds, Boolean includePendingApprovalsInfo, Boolean isProtected, - List type) + List type, + String allowedEntityType) throws ApiException { try { HttpRequest.Builder localVarRequestBuilder = @@ -374,7 +377,8 @@ public CompletableFuture> getTags( tagIds, includePendingApprovalsInfo, isProtected, - type); + type, + allowedEntityType); return memberVarHttpClient .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) .thenComposeAsync( @@ -414,7 +418,8 @@ private HttpRequest.Builder getTagsRequestBuilder( List tagIds, Boolean includePendingApprovalsInfo, Boolean isProtected, - List type) + List type, + String allowedEntityType) throws ApiException { HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); @@ -440,6 +445,9 @@ private HttpRequest.Builder getTagsRequestBuilder( localVarQueryParams.addAll(ApiClient.parameterToPairs("isProtected", isProtected)); localVarQueryParameterBaseName = "type"; localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "type", type)); + localVarQueryParameterBaseName = "allowedEntityType"; + localVarQueryParams.addAll( + ApiClient.parameterToPairs("allowedEntityType", allowedEntityType)); if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); diff --git a/src/main/java/com/fireblocks/sdk/api/UtxoManagementBetaApi.java b/src/main/java/com/fireblocks/sdk/api/UtxoManagementBetaApi.java index 281eb85b..cda561e1 100644 --- a/src/main/java/com/fireblocks/sdk/api/UtxoManagementBetaApi.java +++ b/src/main/java/com/fireblocks/sdk/api/UtxoManagementBetaApi.java @@ -33,6 +33,7 @@ import java.util.ArrayList; import java.util.List; import java.util.StringJoiner; +import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; @@ -94,6 +95,9 @@ private String formatExceptionMessage(String operationId, int statusCode, String * @param excludeAnyLabels Exclude UTXOs that have ANY of these labels. (optional * @param includeStatuses Filter by UTXO statuses to include. (optional * @param address Filter by address (optional) + * @param txHash Filter by the on-chain hash of the transaction that created the UTXOs. Returns + * all UTXOs originating from that transaction. (optional) + * @param txId Filter by the Fireblocks transaction ID that created the UTXOs. (optional) * @param minAmount Minimum amount filter (optional) * @param maxAmount Maximum amount filter (optional) * @return CompletableFuture<ApiResponse<ListUtxosResponse>> @@ -111,6 +115,8 @@ public CompletableFuture> getUtxos( List excludeAnyLabels, List includeStatuses, String address, + String txHash, + UUID txId, String minAmount, String maxAmount) throws ApiException { @@ -128,6 +134,8 @@ public CompletableFuture> getUtxos( excludeAnyLabels, includeStatuses, address, + txHash, + txId, minAmount, maxAmount); return memberVarHttpClient @@ -174,6 +182,8 @@ private HttpRequest.Builder getUtxosRequestBuilder( List excludeAnyLabels, List includeStatuses, String address, + String txHash, + UUID txId, String minAmount, String maxAmount) throws ApiException { @@ -212,6 +222,10 @@ private HttpRequest.Builder getUtxosRequestBuilder( ApiClient.parameterToPairs("multi", "includeStatuses", includeStatuses)); localVarQueryParameterBaseName = "address"; localVarQueryParams.addAll(ApiClient.parameterToPairs("address", address)); + localVarQueryParameterBaseName = "txHash"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("txHash", txHash)); + localVarQueryParameterBaseName = "txId"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("txId", txId)); localVarQueryParameterBaseName = "minAmount"; localVarQueryParams.addAll(ApiClient.parameterToPairs("minAmount", minAmount)); localVarQueryParameterBaseName = "maxAmount"; diff --git a/src/main/java/com/fireblocks/sdk/api/VaultsApi.java b/src/main/java/com/fireblocks/sdk/api/VaultsApi.java index 01f02242..cee776ad 100644 --- a/src/main/java/com/fireblocks/sdk/api/VaultsApi.java +++ b/src/main/java/com/fireblocks/sdk/api/VaultsApi.java @@ -21,6 +21,8 @@ import com.fireblocks.sdk.Pair; import com.fireblocks.sdk.ValidationUtils; import com.fireblocks.sdk.model.AddressReverseLookupResponse; +import com.fireblocks.sdk.model.AutomationSettingsRequest; +import com.fireblocks.sdk.model.AutomationSettingsResponse; import com.fireblocks.sdk.model.CreateAddressRequest; import com.fireblocks.sdk.model.CreateAddressResponse; import com.fireblocks.sdk.model.CreateAssetsRequest; @@ -30,6 +32,7 @@ import com.fireblocks.sdk.model.CreateMultipleVaultAccountsJobStatus; import com.fireblocks.sdk.model.CreateVaultAccountRequest; import com.fireblocks.sdk.model.CreateVaultAssetResponse; +import com.fireblocks.sdk.model.GetAutomationSettingsResponse; import com.fireblocks.sdk.model.GetMaxBipIndexUsedResponse; import com.fireblocks.sdk.model.GetMaxSpendableAmountResponse; import com.fireblocks.sdk.model.JobCreated; @@ -37,10 +40,12 @@ import com.fireblocks.sdk.model.PaginatedAssetWalletResponse; import com.fireblocks.sdk.model.PublicKeyInformation; import com.fireblocks.sdk.model.RenameVaultAccountResponse; +import com.fireblocks.sdk.model.SaveAutomationSettingsResponse; import com.fireblocks.sdk.model.SetAutoFuelRequest; import com.fireblocks.sdk.model.SetCustomerRefIdForAddressRequest; import com.fireblocks.sdk.model.SetCustomerRefIdRequest; import com.fireblocks.sdk.model.UnspentInputsResponse; +import com.fireblocks.sdk.model.UpdateAutomationSettingsRequest; import com.fireblocks.sdk.model.UpdateVaultAccountAssetAddressRequest; import com.fireblocks.sdk.model.UpdateVaultAccountRequest; import com.fireblocks.sdk.model.UsdcGatewayWalletInfoResponse; @@ -1051,6 +1056,80 @@ private HttpRequest.Builder deactivateUsdcGatewayWalletBetaRequestBuilder( } return localVarRequestBuilder; } + /** + * Stop a USDC Gateway deposit automation's schedule Stops the schedule for an existing + * deposit automation. The automation itself stays configured, only its schedule stops. Turn it + * back on later with PATCH, without setting up the automation again from scratch. **Note:** + * This endpoint is currently in beta and might be subject to changes. Endpoint Permission: + * Admin, Non-Signing Admin, Signer, Approver. + * + * @param vaultAccountId The ID of the vault account (required) + * @param automationId The ID of the deposit automation, returned when it was created or read + * (required) + * @return CompletableFuture<ApiResponse<Void>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> disableUsdcGatewayDepositAutomationScheduleBeta( + String vaultAccountId, UUID automationId) throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + disableUsdcGatewayDepositAutomationScheduleBetaRequestBuilder( + vaultAccountId, automationId); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "disableUsdcGatewayDepositAutomationScheduleBeta", + localVarResponse)); + } + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + null)); + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder disableUsdcGatewayDepositAutomationScheduleBetaRequestBuilder( + String vaultAccountId, UUID automationId) throws ApiException { + ValidationUtils.assertParamExistsAndNotEmpty( + "disableUsdcGatewayDepositAutomationScheduleBeta", + "vaultAccountId", + vaultAccountId); + ValidationUtils.assertParamExistsAndNotEmpty( + "disableUsdcGatewayDepositAutomationScheduleBeta", + "automationId", + automationId.toString()); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId}" + .replace("{vaultAccountId}", ApiClient.urlEncode(vaultAccountId.toString())) + .replace("{automationId}", ApiClient.urlEncode(automationId.toString())); + + 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; + } /** * Get vault wallets (Paginated) Get all vault wallets of the vault accounts in your workspace. * A vault wallet is an asset in a vault account. This method allows fast traversal of all @@ -1398,14 +1477,46 @@ private HttpRequest.Builder getMaxBipIndexUsedRequestBuilder( * @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. * (optional) + * @param includeAllLabels 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 + * @param includeAnyLabels Only include UTXOs that have ANY of these labels (OR logic). Requires + * the UTXO Manager. This feature is currently in beta and might be subject to changes. + * (optional + * @param excludeAnyLabels Exclude UTXOs that have ANY of these labels. Requires the UTXO + * Manager. This feature is currently in beta and might be subject to changes. (optional + * @param address Only include UTXOs from this specific address. Requires the UTXO Manager. This + * feature is currently in beta and might be subject to changes. (optional) + * @param minAmount Minimum UTXO amount in the asset's base unit. Requires the UTXO Manager. + * This feature is currently in beta and might be subject to changes. (optional) + * @param maxAmount Maximum UTXO amount in the asset's base unit. Requires the UTXO Manager. + * This feature is currently in beta and might be subject to changes. (optional) * @return CompletableFuture<ApiResponse<GetMaxSpendableAmountResponse>> * @throws ApiException if fails to make API call */ public CompletableFuture> getMaxSpendableAmount( - String vaultAccountId, String assetId, Boolean manualSignging) throws ApiException { + String vaultAccountId, + String assetId, + Boolean manualSignging, + List includeAllLabels, + List includeAnyLabels, + List excludeAnyLabels, + String address, + String minAmount, + String maxAmount) + throws ApiException { try { HttpRequest.Builder localVarRequestBuilder = - getMaxSpendableAmountRequestBuilder(vaultAccountId, assetId, manualSignging); + getMaxSpendableAmountRequestBuilder( + vaultAccountId, + assetId, + manualSignging, + includeAllLabels, + includeAnyLabels, + excludeAnyLabels, + address, + minAmount, + maxAmount); return memberVarHttpClient .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) .thenComposeAsync( @@ -1440,7 +1551,16 @@ public CompletableFuture> getMaxSpend } private HttpRequest.Builder getMaxSpendableAmountRequestBuilder( - String vaultAccountId, String assetId, Boolean manualSignging) throws ApiException { + String vaultAccountId, + String assetId, + Boolean manualSignging, + List includeAllLabels, + List includeAnyLabels, + List excludeAnyLabels, + String address, + String minAmount, + String maxAmount) + throws ApiException { ValidationUtils.assertParamExistsAndNotEmpty( "getMaxSpendableAmount", "vaultAccountId", vaultAccountId); ValidationUtils.assertParamExistsAndNotEmpty("getMaxSpendableAmount", "assetId", assetId); @@ -1457,6 +1577,21 @@ private HttpRequest.Builder getMaxSpendableAmountRequestBuilder( String localVarQueryParameterBaseName; localVarQueryParameterBaseName = "manualSignging"; localVarQueryParams.addAll(ApiClient.parameterToPairs("manualSignging", manualSignging)); + localVarQueryParameterBaseName = "includeAllLabels"; + localVarQueryParams.addAll( + ApiClient.parameterToPairs("multi", "includeAllLabels", includeAllLabels)); + localVarQueryParameterBaseName = "includeAnyLabels"; + localVarQueryParams.addAll( + ApiClient.parameterToPairs("multi", "includeAnyLabels", includeAnyLabels)); + localVarQueryParameterBaseName = "excludeAnyLabels"; + localVarQueryParams.addAll( + ApiClient.parameterToPairs("multi", "excludeAnyLabels", excludeAnyLabels)); + localVarQueryParameterBaseName = "address"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("address", address)); + localVarQueryParameterBaseName = "minAmount"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("minAmount", minAmount)); + localVarQueryParameterBaseName = "maxAmount"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("maxAmount", maxAmount)); if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); @@ -1908,6 +2043,80 @@ private HttpRequest.Builder getUnspentInputsRequestBuilder( } return localVarRequestBuilder; } + /** + * Read the USDC Gateway deposit automations for a vault account Returns the USDC Gateway + * deposit automations configured for the given vault account. **Note:** This endpoint is + * currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing + * Admin, Signer, Approver, Editor, Viewer. + * + * @param vaultAccountId The ID of the vault account (required) + * @return CompletableFuture<ApiResponse<GetAutomationSettingsResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> + getUsdcGatewayDepositAutomationBeta(String vaultAccountId) throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + getUsdcGatewayDepositAutomationBetaRequestBuilder(vaultAccountId); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "getUsdcGatewayDepositAutomationBeta", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + GetAutomationSettingsResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder getUsdcGatewayDepositAutomationBetaRequestBuilder( + String vaultAccountId) throws ApiException { + ValidationUtils.assertParamExistsAndNotEmpty( + "getUsdcGatewayDepositAutomationBeta", "vaultAccountId", vaultAccountId); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation" + .replace( + "{vaultAccountId}", ApiClient.urlEncode(vaultAccountId.toString())); + + 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 USDC Gateway wallet info Returns the USDC Gateway wallet information associated with the * given vault account. **Note:** This endpoint is currently in beta and might be subject to @@ -2669,6 +2878,108 @@ private HttpRequest.Builder setCustomerRefIdForAddressRequestBuilder( } return localVarRequestBuilder; } + /** + * Set up a USDC Gateway deposit automation for a vault account Turns on automatic deposits into + * the USDC Gateway wallet for the given vault account, on the schedule you choose. Returns an + * error if an automation already exists for this vault account and asset. Use PATCH to change + * it instead. **Note:** This endpoint is currently in beta and might be subject to changes. + * Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + * + * @param automationSettingsRequest (required) + * @param vaultAccountId The ID of the vault account (required) + * @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<SaveAutomationSettingsResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> + setUsdcGatewayDepositAutomationBeta( + AutomationSettingsRequest automationSettingsRequest, + String vaultAccountId, + String idempotencyKey) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + setUsdcGatewayDepositAutomationBetaRequestBuilder( + automationSettingsRequest, vaultAccountId, idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "setUsdcGatewayDepositAutomationBeta", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + SaveAutomationSettingsResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder setUsdcGatewayDepositAutomationBetaRequestBuilder( + AutomationSettingsRequest automationSettingsRequest, + String vaultAccountId, + String idempotencyKey) + throws ApiException { + ValidationUtils.assertParamExists( + "setUsdcGatewayDepositAutomationBeta", + "automationSettingsRequest", + automationSettingsRequest); + ValidationUtils.assertParamExistsAndNotEmpty( + "setUsdcGatewayDepositAutomationBeta", "vaultAccountId", vaultAccountId); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation" + .replace( + "{vaultAccountId}", ApiClient.urlEncode(vaultAccountId.toString())); + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + if (idempotencyKey != null) { + localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString()); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + + try { + byte[] localVarPostBody = + memberVarObjectMapper.writeValueAsBytes(automationSettingsRequest); + localVarRequestBuilder.method( + "POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } /** * Set auto fueling to on or off Toggles the auto fueling property of the vault account to * enabled or disabled. Vault Accounts with 'autoFuel=true' are monitored and auto @@ -2937,6 +3248,115 @@ private HttpRequest.Builder unhideVaultAccountRequestBuilder( } return localVarRequestBuilder; } + /** + * Change a USDC Gateway deposit automation Changes an existing USDC Gateway deposit automation + * for a vault account. **Note:** This endpoint is currently in beta and might be subject to + * changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + * + * @param updateAutomationSettingsRequest (required) + * @param vaultAccountId The ID of the vault account (required) + * @param automationId The ID of the deposit automation, returned when it was created or read + * (required) + * @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<AutomationSettingsResponse>> + * @throws ApiException if fails to make API call + */ + public CompletableFuture> + updateUsdcGatewayDepositAutomationBeta( + UpdateAutomationSettingsRequest updateAutomationSettingsRequest, + String vaultAccountId, + UUID automationId, + String idempotencyKey) + throws ApiException { + try { + HttpRequest.Builder localVarRequestBuilder = + updateUsdcGatewayDepositAutomationBetaRequestBuilder( + updateAutomationSettingsRequest, + vaultAccountId, + automationId, + idempotencyKey); + return memberVarHttpClient + .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString()) + .thenComposeAsync( + localVarResponse -> { + if (memberVarAsyncResponseInterceptor != null) { + memberVarAsyncResponseInterceptor.accept(localVarResponse); + } + if (localVarResponse.statusCode() / 100 != 2) { + return CompletableFuture.failedFuture( + getApiException( + "updateUsdcGatewayDepositAutomationBeta", + localVarResponse)); + } + try { + String responseBody = localVarResponse.body(); + return CompletableFuture.completedFuture( + new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBody == null || responseBody.isBlank() + ? null + : memberVarObjectMapper.readValue( + responseBody, + new TypeReference< + AutomationSettingsResponse>() {}))); + } catch (IOException e) { + return CompletableFuture.failedFuture(new ApiException(e)); + } + }); + } catch (ApiException e) { + return CompletableFuture.failedFuture(e); + } + } + + private HttpRequest.Builder updateUsdcGatewayDepositAutomationBetaRequestBuilder( + UpdateAutomationSettingsRequest updateAutomationSettingsRequest, + String vaultAccountId, + UUID automationId, + String idempotencyKey) + throws ApiException { + ValidationUtils.assertParamExists( + "updateUsdcGatewayDepositAutomationBeta", + "updateAutomationSettingsRequest", + updateAutomationSettingsRequest); + ValidationUtils.assertParamExistsAndNotEmpty( + "updateUsdcGatewayDepositAutomationBeta", "vaultAccountId", vaultAccountId); + ValidationUtils.assertParamExistsAndNotEmpty( + "updateUsdcGatewayDepositAutomationBeta", "automationId", automationId.toString()); + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = + "/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId}" + .replace("{vaultAccountId}", ApiClient.urlEncode(vaultAccountId.toString())) + .replace("{automationId}", ApiClient.urlEncode(automationId.toString())); + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + if (idempotencyKey != null) { + localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString()); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + + try { + byte[] localVarPostBody = + memberVarObjectMapper.writeValueAsBytes(updateAutomationSettingsRequest); + localVarRequestBuilder.method( + "PATCH", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } /** * Rename a vault account Renames the requested vault account. Endpoint Permission: Admin, * Non-Signing Admin, Signer, Approver. diff --git a/src/main/java/com/fireblocks/sdk/model/ActivateBlockchainResponse.java b/src/main/java/com/fireblocks/sdk/model/ActivateBlockchainResponse.java new file mode 100644 index 00000000..10a08183 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/ActivateBlockchainResponse.java @@ -0,0 +1,146 @@ +/* + * 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.Objects; +import java.util.StringJoiner; + +/** ActivateBlockchainResponse */ +@JsonPropertyOrder({ActivateBlockchainResponse.JSON_PROPERTY_MESSAGE}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class ActivateBlockchainResponse { + public static final String JSON_PROPERTY_MESSAGE = "message"; + @jakarta.annotation.Nonnull private String message; + + public ActivateBlockchainResponse() {} + + @JsonCreator + public ActivateBlockchainResponse( + @JsonProperty(value = JSON_PROPERTY_MESSAGE, required = true) String message) { + this.message = message; + } + + public ActivateBlockchainResponse message(@jakarta.annotation.Nonnull String message) { + this.message = message; + return this; + } + + /** + * Human-readable result message. + * + * @return message + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getMessage() { + return message; + } + + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setMessage(@jakarta.annotation.Nonnull String message) { + this.message = message; + } + + /** Return true if this ActivateBlockchainResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ActivateBlockchainResponse activateBlockchainResponse = (ActivateBlockchainResponse) o; + return Objects.equals(this.message, activateBlockchainResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ActivateBlockchainResponse {\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `message` to the URL query string + if (getMessage() != null) { + joiner.add( + String.format( + "%smessage%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getMessage())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/AddConnectedAccountRequest.java b/src/main/java/com/fireblocks/sdk/model/AddConnectedAccountRequest.java index 11818064..9817c772 100644 --- a/src/main/java/com/fireblocks/sdk/model/AddConnectedAccountRequest.java +++ b/src/main/java/com/fireblocks/sdk/model/AddConnectedAccountRequest.java @@ -122,7 +122,7 @@ public AddConnectedAccountRequest creds(@jakarta.annotation.Nonnull byte[] creds /** * Base64-encoded RSA-encrypted credential blob. Encrypt using the public key from GET - * /exchange_accounts/credentials_public_key. + * /connected_accounts/credentials/public_key. * * @return creds */ diff --git a/src/main/java/com/fireblocks/sdk/model/AmlBypassReasonEnum.java b/src/main/java/com/fireblocks/sdk/model/AmlBypassReasonEnum.java new file mode 100644 index 00000000..ee76f898 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/AmlBypassReasonEnum.java @@ -0,0 +1,80 @@ +/* + * 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; + +/** Reason for bypassing AML screening, when applicable. */ +public enum AmlBypassReasonEnum { + MANUAL("MANUAL"), + + UNSUPPORTED_ASSET("UNSUPPORTED_ASSET"), + + BYPASSED_FAILURE("BYPASSED_FAILURE"), + + UNSUPPORTED_ROUTE("UNSUPPORTED_ROUTE"), + + PASSED_BY_POLICY("PASSED_BY_POLICY"), + + TIMED_OUT("TIMED_OUT"), + + BAD_CREDENTIALS("BAD_CREDENTIALS"), + + CONFIGURATION_ERROR("CONFIGURATION_ERROR"), + + DROPPED_BY_BLOCKCHAIN("DROPPED_BY_BLOCKCHAIN"), + + PROCESS_DISMISSED("PROCESS_DISMISSED"); + + private String value; + + AmlBypassReasonEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AmlBypassReasonEnum fromValue(String value) { + for (AmlBypassReasonEnum b : AmlBypassReasonEnum.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/AmlScreeningResult.java b/src/main/java/com/fireblocks/sdk/model/AmlScreeningResult.java index 1591f6c9..5e8dfd3e 100644 --- a/src/main/java/com/fireblocks/sdk/model/AmlScreeningResult.java +++ b/src/main/java/com/fireblocks/sdk/model/AmlScreeningResult.java @@ -17,13 +17,33 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fireblocks.sdk.ApiClient; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; import java.util.Objects; import java.util.StringJoiner; -/** The result of the AML screening. */ +/** + * The result of the AML screening. Mirrors the output of the developer-api transaction formatter + * (IFormattedAmlResult). Not all fields are present in every response — the set depends on the AML + * provider and screening flow. + */ @JsonPropertyOrder({ AmlScreeningResult.JSON_PROPERTY_PROVIDER, - AmlScreeningResult.JSON_PROPERTY_PAYLOAD + AmlScreeningResult.JSON_PROPERTY_PAYLOAD, + AmlScreeningResult.JSON_PROPERTY_VERDICT, + AmlScreeningResult.JSON_PROPERTY_SCREENING_STATUS, + AmlScreeningResult.JSON_PROPERTY_BYPASS_REASON, + AmlScreeningResult.JSON_PROPERTY_TIMESTAMP, + AmlScreeningResult.JSON_PROPERTY_CUSTOMER_REF_ID, + AmlScreeningResult.JSON_PROPERTY_EXTERNAL_ID, + AmlScreeningResult.JSON_PROPERTY_CATEGORY, + AmlScreeningResult.JSON_PROPERTY_CATEGORY_ID, + AmlScreeningResult.JSON_PROPERTY_RISK, + AmlScreeningResult.JSON_PROPERTY_DEST_ADDRESS, + AmlScreeningResult.JSON_PROPERTY_MATCHED_RULE, + AmlScreeningResult.JSON_PROPERTY_MATCHED_PRESCREENING_RULE, + AmlScreeningResult.JSON_PROPERTY_MATCHED_ALERT }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -33,7 +53,46 @@ public class AmlScreeningResult { @jakarta.annotation.Nullable private String provider; public static final String JSON_PROPERTY_PAYLOAD = "payload"; - @jakarta.annotation.Nullable private Object payload; + @jakarta.annotation.Nullable private Map payload; + + public static final String JSON_PROPERTY_VERDICT = "verdict"; + @jakarta.annotation.Nullable private ScreeningVerdictEnum verdict; + + public static final String JSON_PROPERTY_SCREENING_STATUS = "screeningStatus"; + @jakarta.annotation.Nullable private ScreeningStatusEnum screeningStatus; + + public static final String JSON_PROPERTY_BYPASS_REASON = "bypassReason"; + @jakarta.annotation.Nullable private AmlBypassReasonEnum bypassReason; + + public static final String JSON_PROPERTY_TIMESTAMP = "timestamp"; + @jakarta.annotation.Nullable private BigDecimal timestamp; + + public static final String JSON_PROPERTY_CUSTOMER_REF_ID = "customerRefId"; + @jakarta.annotation.Nullable private String customerRefId; + + public static final String JSON_PROPERTY_EXTERNAL_ID = "externalId"; + @jakarta.annotation.Nullable private String externalId; + + public static final String JSON_PROPERTY_CATEGORY = "category"; + @jakarta.annotation.Nullable private String category; + + public static final String JSON_PROPERTY_CATEGORY_ID = "categoryId"; + @jakarta.annotation.Nullable private BigDecimal categoryId; + + public static final String JSON_PROPERTY_RISK = "risk"; + @jakarta.annotation.Nullable private String risk; + + public static final String JSON_PROPERTY_DEST_ADDRESS = "destAddress"; + @jakarta.annotation.Nullable private String destAddress; + + public static final String JSON_PROPERTY_MATCHED_RULE = "matchedRule"; + @jakarta.annotation.Nullable private AmlMatchedRule matchedRule; + + public static final String JSON_PROPERTY_MATCHED_PRESCREENING_RULE = "matchedPrescreeningRule"; + @jakarta.annotation.Nullable private AmlMatchedRule matchedPrescreeningRule; + + public static final String JSON_PROPERTY_MATCHED_ALERT = "matchedAlert"; + @jakarta.annotation.Nullable private AmlAlert matchedAlert; public AmlScreeningResult() {} @@ -43,7 +102,8 @@ public AmlScreeningResult provider(@jakarta.annotation.Nullable String provider) } /** - * Get provider + * The AML provider name. Known values: CHAINALYSIS, ELLIPTIC, CHAINALYSIS_V2, + * ELLIPTIC_HOLISTIC, BYORK_SLITE, BYORK_LITE, NONE. * * @return provider */ @@ -60,29 +120,342 @@ public void setProvider(@jakarta.annotation.Nullable String provider) { this.provider = provider; } - public AmlScreeningResult payload(@jakarta.annotation.Nullable Object payload) { + public AmlScreeningResult payload(@jakarta.annotation.Nullable Map payload) { this.payload = payload; return this; } + public AmlScreeningResult putPayloadItem(String key, Object payloadItem) { + if (this.payload == null) { + this.payload = new HashMap<>(); + } + this.payload.put(key, payloadItem); + return this; + } + /** - * Get payload + * The raw, unmodified screening response from the provider. Structure varies per provider. * * @return payload */ @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_PAYLOAD) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public Object getPayload() { + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.USE_DEFAULTS) + public Map getPayload() { return payload; } @JsonProperty(JSON_PROPERTY_PAYLOAD) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setPayload(@jakarta.annotation.Nullable Object payload) { + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.USE_DEFAULTS) + public void setPayload(@jakarta.annotation.Nullable Map payload) { this.payload = payload; } + public AmlScreeningResult verdict(@jakarta.annotation.Nullable ScreeningVerdictEnum verdict) { + this.verdict = verdict; + return this; + } + + /** + * Get verdict + * + * @return verdict + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VERDICT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ScreeningVerdictEnum getVerdict() { + return verdict; + } + + @JsonProperty(JSON_PROPERTY_VERDICT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVerdict(@jakarta.annotation.Nullable ScreeningVerdictEnum verdict) { + this.verdict = verdict; + } + + public AmlScreeningResult screeningStatus( + @jakarta.annotation.Nullable ScreeningStatusEnum screeningStatus) { + this.screeningStatus = screeningStatus; + return this; + } + + /** + * Get screeningStatus + * + * @return screeningStatus + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SCREENING_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ScreeningStatusEnum getScreeningStatus() { + return screeningStatus; + } + + @JsonProperty(JSON_PROPERTY_SCREENING_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setScreeningStatus( + @jakarta.annotation.Nullable ScreeningStatusEnum screeningStatus) { + this.screeningStatus = screeningStatus; + } + + public AmlScreeningResult bypassReason( + @jakarta.annotation.Nullable AmlBypassReasonEnum bypassReason) { + this.bypassReason = bypassReason; + return this; + } + + /** + * Get bypassReason + * + * @return bypassReason + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BYPASS_REASON) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AmlBypassReasonEnum getBypassReason() { + return bypassReason; + } + + @JsonProperty(JSON_PROPERTY_BYPASS_REASON) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBypassReason(@jakarta.annotation.Nullable AmlBypassReasonEnum bypassReason) { + this.bypassReason = bypassReason; + } + + public AmlScreeningResult timestamp(@jakarta.annotation.Nullable BigDecimal timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Unix timestamp in milliseconds when the screening result was generated. + * + * @return timestamp + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TIMESTAMP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getTimestamp() { + return timestamp; + } + + @JsonProperty(JSON_PROPERTY_TIMESTAMP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTimestamp(@jakarta.annotation.Nullable BigDecimal timestamp) { + this.timestamp = timestamp; + } + + public AmlScreeningResult customerRefId(@jakarta.annotation.Nullable String customerRefId) { + this.customerRefId = customerRefId; + return this; + } + + /** + * Customer-provided reference identifier for tracking. + * + * @return customerRefId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CUSTOMER_REF_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCustomerRefId() { + return customerRefId; + } + + @JsonProperty(JSON_PROPERTY_CUSTOMER_REF_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerRefId(@jakarta.annotation.Nullable String customerRefId) { + this.customerRefId = customerRefId; + } + + public AmlScreeningResult externalId(@jakarta.annotation.Nullable String externalId) { + this.externalId = externalId; + return this; + } + + /** + * External identifier for the screening (provider-specific). + * + * @return externalId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EXTERNAL_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getExternalId() { + return externalId; + } + + @JsonProperty(JSON_PROPERTY_EXTERNAL_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setExternalId(@jakarta.annotation.Nullable String externalId) { + this.externalId = externalId; + } + + public AmlScreeningResult category(@jakarta.annotation.Nullable String category) { + this.category = category; + return this; + } + + /** + * Risk category classification. The available categories are subject to change depending on the + * provider. + * + * @return category + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CATEGORY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCategory() { + return category; + } + + @JsonProperty(JSON_PROPERTY_CATEGORY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCategory(@jakarta.annotation.Nullable String category) { + this.category = category; + } + + public AmlScreeningResult categoryId(@jakarta.annotation.Nullable BigDecimal categoryId) { + this.categoryId = categoryId; + return this; + } + + /** + * Numeric identifier for the risk category. + * + * @return categoryId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CATEGORY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getCategoryId() { + return categoryId; + } + + @JsonProperty(JSON_PROPERTY_CATEGORY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCategoryId(@jakarta.annotation.Nullable BigDecimal categoryId) { + this.categoryId = categoryId; + } + + public AmlScreeningResult risk(@jakarta.annotation.Nullable String risk) { + this.risk = risk; + return this; + } + + /** + * Provider-specific risk level. Values vary by provider. + * + * @return risk + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RISK) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getRisk() { + return risk; + } + + @JsonProperty(JSON_PROPERTY_RISK) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRisk(@jakarta.annotation.Nullable String risk) { + this.risk = risk; + } + + public AmlScreeningResult destAddress(@jakarta.annotation.Nullable String destAddress) { + this.destAddress = destAddress; + return this; + } + + /** + * The destination blockchain address associated with the screening. + * + * @return destAddress + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DEST_ADDRESS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDestAddress() { + return destAddress; + } + + @JsonProperty(JSON_PROPERTY_DEST_ADDRESS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDestAddress(@jakarta.annotation.Nullable String destAddress) { + this.destAddress = destAddress; + } + + public AmlScreeningResult matchedRule(@jakarta.annotation.Nullable AmlMatchedRule matchedRule) { + this.matchedRule = matchedRule; + return this; + } + + /** + * Get matchedRule + * + * @return matchedRule + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MATCHED_RULE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AmlMatchedRule getMatchedRule() { + return matchedRule; + } + + @JsonProperty(JSON_PROPERTY_MATCHED_RULE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMatchedRule(@jakarta.annotation.Nullable AmlMatchedRule matchedRule) { + this.matchedRule = matchedRule; + } + + public AmlScreeningResult matchedPrescreeningRule( + @jakarta.annotation.Nullable AmlMatchedRule matchedPrescreeningRule) { + this.matchedPrescreeningRule = matchedPrescreeningRule; + return this; + } + + /** + * Get matchedPrescreeningRule + * + * @return matchedPrescreeningRule + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MATCHED_PRESCREENING_RULE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AmlMatchedRule getMatchedPrescreeningRule() { + return matchedPrescreeningRule; + } + + @JsonProperty(JSON_PROPERTY_MATCHED_PRESCREENING_RULE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMatchedPrescreeningRule( + @jakarta.annotation.Nullable AmlMatchedRule matchedPrescreeningRule) { + this.matchedPrescreeningRule = matchedPrescreeningRule; + } + + public AmlScreeningResult matchedAlert(@jakarta.annotation.Nullable AmlAlert matchedAlert) { + this.matchedAlert = matchedAlert; + return this; + } + + /** + * Get matchedAlert + * + * @return matchedAlert + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MATCHED_ALERT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AmlAlert getMatchedAlert() { + return matchedAlert; + } + + @JsonProperty(JSON_PROPERTY_MATCHED_ALERT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMatchedAlert(@jakarta.annotation.Nullable AmlAlert matchedAlert) { + this.matchedAlert = matchedAlert; + } + /** Return true if this AmlScreeningResult object is equal to o. */ @Override public boolean equals(Object o) { @@ -94,12 +467,41 @@ public boolean equals(Object o) { } AmlScreeningResult amlScreeningResult = (AmlScreeningResult) o; return Objects.equals(this.provider, amlScreeningResult.provider) - && Objects.equals(this.payload, amlScreeningResult.payload); + && Objects.equals(this.payload, amlScreeningResult.payload) + && Objects.equals(this.verdict, amlScreeningResult.verdict) + && Objects.equals(this.screeningStatus, amlScreeningResult.screeningStatus) + && Objects.equals(this.bypassReason, amlScreeningResult.bypassReason) + && Objects.equals(this.timestamp, amlScreeningResult.timestamp) + && Objects.equals(this.customerRefId, amlScreeningResult.customerRefId) + && Objects.equals(this.externalId, amlScreeningResult.externalId) + && Objects.equals(this.category, amlScreeningResult.category) + && Objects.equals(this.categoryId, amlScreeningResult.categoryId) + && Objects.equals(this.risk, amlScreeningResult.risk) + && Objects.equals(this.destAddress, amlScreeningResult.destAddress) + && Objects.equals(this.matchedRule, amlScreeningResult.matchedRule) + && Objects.equals( + this.matchedPrescreeningRule, amlScreeningResult.matchedPrescreeningRule) + && Objects.equals(this.matchedAlert, amlScreeningResult.matchedAlert); } @Override public int hashCode() { - return Objects.hash(provider, payload); + return Objects.hash( + provider, + payload, + verdict, + screeningStatus, + bypassReason, + timestamp, + customerRefId, + externalId, + category, + categoryId, + risk, + destAddress, + matchedRule, + matchedPrescreeningRule, + matchedAlert); } @Override @@ -108,6 +510,21 @@ public String toString() { sb.append("class AmlScreeningResult {\n"); sb.append(" provider: ").append(toIndentedString(provider)).append("\n"); sb.append(" payload: ").append(toIndentedString(payload)).append("\n"); + sb.append(" verdict: ").append(toIndentedString(verdict)).append("\n"); + sb.append(" screeningStatus: ").append(toIndentedString(screeningStatus)).append("\n"); + sb.append(" bypassReason: ").append(toIndentedString(bypassReason)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" customerRefId: ").append(toIndentedString(customerRefId)).append("\n"); + sb.append(" externalId: ").append(toIndentedString(externalId)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" risk: ").append(toIndentedString(risk)).append("\n"); + sb.append(" destAddress: ").append(toIndentedString(destAddress)).append("\n"); + sb.append(" matchedRule: ").append(toIndentedString(matchedRule)).append("\n"); + sb.append(" matchedPrescreeningRule: ") + .append(toIndentedString(matchedPrescreeningRule)) + .append("\n"); + sb.append(" matchedAlert: ").append(toIndentedString(matchedAlert)).append("\n"); sb.append("}"); return sb.toString(); } @@ -167,12 +584,137 @@ public String toUrlQueryString(String prefix) { // add `payload` to the URL query string if (getPayload() != null) { + for (String _key : getPayload().keySet()) { + joiner.add( + String.format( + "%spayload%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, _key, containerSuffix), + getPayload().get(_key), + ApiClient.urlEncode( + ApiClient.valueToString(getPayload().get(_key))))); + } + } + + // add `verdict` to the URL query string + if (getVerdict() != null) { + joiner.add( + String.format( + "%sverdict%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getVerdict())))); + } + + // add `screeningStatus` to the URL query string + if (getScreeningStatus() != null) { + joiner.add( + String.format( + "%sscreeningStatus%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getScreeningStatus())))); + } + + // add `bypassReason` to the URL query string + if (getBypassReason() != null) { + joiner.add( + String.format( + "%sbypassReason%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBypassReason())))); + } + + // add `timestamp` to the URL query string + if (getTimestamp() != null) { + joiner.add( + String.format( + "%stimestamp%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getTimestamp())))); + } + + // add `customerRefId` to the URL query string + if (getCustomerRefId() != null) { + joiner.add( + String.format( + "%scustomerRefId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCustomerRefId())))); + } + + // add `externalId` to the URL query string + if (getExternalId() != null) { joiner.add( String.format( - "%spayload%s=%s", + "%sexternalId%s=%s", prefix, suffix, - ApiClient.urlEncode(ApiClient.valueToString(getPayload())))); + ApiClient.urlEncode(ApiClient.valueToString(getExternalId())))); + } + + // add `category` to the URL query string + if (getCategory() != null) { + joiner.add( + String.format( + "%scategory%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCategory())))); + } + + // add `categoryId` to the URL query string + if (getCategoryId() != null) { + joiner.add( + String.format( + "%scategoryId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCategoryId())))); + } + + // add `risk` to the URL query string + if (getRisk() != null) { + joiner.add( + String.format( + "%srisk%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getRisk())))); + } + + // add `destAddress` to the URL query string + if (getDestAddress() != null) { + joiner.add( + String.format( + "%sdestAddress%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getDestAddress())))); + } + + // add `matchedRule` to the URL query string + if (getMatchedRule() != null) { + joiner.add(getMatchedRule().toUrlQueryString(prefix + "matchedRule" + suffix)); + } + + // add `matchedPrescreeningRule` to the URL query string + if (getMatchedPrescreeningRule() != null) { + joiner.add( + getMatchedPrescreeningRule() + .toUrlQueryString(prefix + "matchedPrescreeningRule" + suffix)); + } + + // add `matchedAlert` to the URL query string + if (getMatchedAlert() != null) { + joiner.add(getMatchedAlert().toUrlQueryString(prefix + "matchedAlert" + suffix)); } return joiner.toString(); diff --git a/src/main/java/com/fireblocks/sdk/model/Apy.java b/src/main/java/com/fireblocks/sdk/model/Apy.java index 0e00d48e..e954a186 100644 --- a/src/main/java/com/fireblocks/sdk/model/Apy.java +++ b/src/main/java/com/fireblocks/sdk/model/Apy.java @@ -21,7 +21,12 @@ import java.util.StringJoiner; /** Apy */ -@JsonPropertyOrder({Apy.JSON_PROPERTY_NATIVE, Apy.JSON_PROPERTY_GROSS, Apy.JSON_PROPERTY_NET}) +@JsonPropertyOrder({ + Apy.JSON_PROPERTY_NATIVE, + Apy.JSON_PROPERTY_GROSS, + Apy.JSON_PROPERTY_NET, + Apy.JSON_PROPERTY_SUPPLY_INCENTIVE_APY +}) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.14.0") @@ -35,6 +40,9 @@ public class Apy { public static final String JSON_PROPERTY_NET = "net"; @jakarta.annotation.Nullable private Double net; + public static final String JSON_PROPERTY_SUPPLY_INCENTIVE_APY = "supplyIncentiveApy"; + @jakarta.annotation.Nullable private Double supplyIncentiveApy; + public Apy() {} public Apy _native(@jakarta.annotation.Nullable Double _native) { @@ -106,6 +114,30 @@ public void setNet(@jakarta.annotation.Nullable Double net) { this.net = net; } + public Apy supplyIncentiveApy(@jakarta.annotation.Nullable Double supplyIncentiveApy) { + this.supplyIncentiveApy = supplyIncentiveApy; + return this; + } + + /** + * Additional incentive APY from reward programs (e.g. Merkl rewards on Aave), as a percentage. + * Only present when the opportunity has active incentives. + * + * @return supplyIncentiveApy + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SUPPLY_INCENTIVE_APY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Double getSupplyIncentiveApy() { + return supplyIncentiveApy; + } + + @JsonProperty(JSON_PROPERTY_SUPPLY_INCENTIVE_APY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSupplyIncentiveApy(@jakarta.annotation.Nullable Double supplyIncentiveApy) { + this.supplyIncentiveApy = supplyIncentiveApy; + } + /** Return true if this Apy object is equal to o. */ @Override public boolean equals(Object o) { @@ -118,12 +150,13 @@ public boolean equals(Object o) { Apy apy = (Apy) o; return Objects.equals(this._native, apy._native) && Objects.equals(this.gross, apy.gross) - && Objects.equals(this.net, apy.net); + && Objects.equals(this.net, apy.net) + && Objects.equals(this.supplyIncentiveApy, apy.supplyIncentiveApy); } @Override public int hashCode() { - return Objects.hash(_native, gross, net); + return Objects.hash(_native, gross, net, supplyIncentiveApy); } @Override @@ -133,6 +166,9 @@ public String toString() { sb.append(" _native: ").append(toIndentedString(_native)).append("\n"); sb.append(" gross: ").append(toIndentedString(gross)).append("\n"); sb.append(" net: ").append(toIndentedString(net)).append("\n"); + sb.append(" supplyIncentiveApy: ") + .append(toIndentedString(supplyIncentiveApy)) + .append("\n"); sb.append("}"); return sb.toString(); } @@ -210,6 +246,16 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getNet())))); } + // add `supplyIncentiveApy` to the URL query string + if (getSupplyIncentiveApy() != null) { + joiner.add( + String.format( + "%ssupplyIncentiveApy%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSupplyIncentiveApy())))); + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/AutomationSettingsRequest.java b/src/main/java/com/fireblocks/sdk/model/AutomationSettingsRequest.java new file mode 100644 index 00000000..b8f8097e --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/AutomationSettingsRequest.java @@ -0,0 +1,260 @@ +/* + * 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; + +/** Request body for setting up a USDC Gateway deposit automation for a vault account. */ +@JsonPropertyOrder({ + AutomationSettingsRequest.JSON_PROPERTY_AUTOMATION_TYPE, + AutomationSettingsRequest.JSON_PROPERTY_ASSET_ID, + AutomationSettingsRequest.JSON_PROPERTY_TIME_BASED +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class AutomationSettingsRequest { + /** The type of automation to configure. */ + public enum AutomationTypeEnum { + USDC_GATEWAY_DEPOSIT(String.valueOf("USDC_GATEWAY_DEPOSIT")); + + private String value; + + AutomationTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AutomationTypeEnum fromValue(String value) { + for (AutomationTypeEnum b : AutomationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_AUTOMATION_TYPE = "automationType"; + @jakarta.annotation.Nonnull private AutomationTypeEnum automationType; + + public static final String JSON_PROPERTY_ASSET_ID = "assetId"; + @jakarta.annotation.Nullable private String assetId; + + public static final String JSON_PROPERTY_TIME_BASED = "timeBased"; + @jakarta.annotation.Nonnull private TimeBasedTrigger timeBased; + + public AutomationSettingsRequest() {} + + @JsonCreator + public AutomationSettingsRequest( + @JsonProperty(value = JSON_PROPERTY_AUTOMATION_TYPE, required = true) + AutomationTypeEnum automationType, + @JsonProperty(value = JSON_PROPERTY_TIME_BASED, required = true) + TimeBasedTrigger timeBased) { + this.automationType = automationType; + this.timeBased = timeBased; + } + + public AutomationSettingsRequest automationType( + @jakarta.annotation.Nonnull AutomationTypeEnum automationType) { + this.automationType = automationType; + return this; + } + + /** + * The type of automation to configure. + * + * @return automationType + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_AUTOMATION_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AutomationTypeEnum getAutomationType() { + return automationType; + } + + @JsonProperty(JSON_PROPERTY_AUTOMATION_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAutomationType(@jakarta.annotation.Nonnull AutomationTypeEnum automationType) { + this.automationType = automationType; + } + + public AutomationSettingsRequest assetId(@jakarta.annotation.Nullable String assetId) { + this.assetId = assetId; + return this; + } + + /** + * The Fireblocks asset ID this automation applies to. Omit to cover all supported USDC Gateway + * assets. + * + * @return assetId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ASSET_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAssetId() { + return assetId; + } + + @JsonProperty(JSON_PROPERTY_ASSET_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAssetId(@jakarta.annotation.Nullable String assetId) { + this.assetId = assetId; + } + + public AutomationSettingsRequest timeBased( + @jakarta.annotation.Nonnull TimeBasedTrigger timeBased) { + this.timeBased = timeBased; + return this; + } + + /** + * Get timeBased + * + * @return timeBased + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TIME_BASED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TimeBasedTrigger getTimeBased() { + return timeBased; + } + + @JsonProperty(JSON_PROPERTY_TIME_BASED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTimeBased(@jakarta.annotation.Nonnull TimeBasedTrigger timeBased) { + this.timeBased = timeBased; + } + + /** Return true if this AutomationSettingsRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AutomationSettingsRequest automationSettingsRequest = (AutomationSettingsRequest) o; + return Objects.equals(this.automationType, automationSettingsRequest.automationType) + && Objects.equals(this.assetId, automationSettingsRequest.assetId) + && Objects.equals(this.timeBased, automationSettingsRequest.timeBased); + } + + @Override + public int hashCode() { + return Objects.hash(automationType, assetId, timeBased); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AutomationSettingsRequest {\n"); + sb.append(" automationType: ").append(toIndentedString(automationType)).append("\n"); + sb.append(" assetId: ").append(toIndentedString(assetId)).append("\n"); + sb.append(" timeBased: ").append(toIndentedString(timeBased)).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 `automationType` to the URL query string + if (getAutomationType() != null) { + joiner.add( + String.format( + "%sautomationType%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAutomationType())))); + } + + // add `assetId` to the URL query string + if (getAssetId() != null) { + joiner.add( + String.format( + "%sassetId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAssetId())))); + } + + // add `timeBased` to the URL query string + if (getTimeBased() != null) { + joiner.add(getTimeBased().toUrlQueryString(prefix + "timeBased" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/AutomationSettingsResponse.java b/src/main/java/com/fireblocks/sdk/model/AutomationSettingsResponse.java new file mode 100644 index 00000000..63d78a69 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/AutomationSettingsResponse.java @@ -0,0 +1,344 @@ +/* + * 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; +import java.util.UUID; + +/** AutomationSettingsResponse */ +@JsonPropertyOrder({ + AutomationSettingsResponse.JSON_PROPERTY_AUTOMATION_ID, + AutomationSettingsResponse.JSON_PROPERTY_VAULT_ACCOUNT_ID, + AutomationSettingsResponse.JSON_PROPERTY_ASSET_ID, + AutomationSettingsResponse.JSON_PROPERTY_AUTOMATION_TYPE, + AutomationSettingsResponse.JSON_PROPERTY_TIME_BASED +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class AutomationSettingsResponse { + public static final String JSON_PROPERTY_AUTOMATION_ID = "automationId"; + @jakarta.annotation.Nonnull private UUID automationId; + + public static final String JSON_PROPERTY_VAULT_ACCOUNT_ID = "vaultAccountId"; + @jakarta.annotation.Nonnull private String vaultAccountId; + + public static final String JSON_PROPERTY_ASSET_ID = "assetId"; + @jakarta.annotation.Nullable private String assetId; + + /** The type of this automation. */ + public enum AutomationTypeEnum { + USDC_GATEWAY_DEPOSIT(String.valueOf("USDC_GATEWAY_DEPOSIT")); + + private String value; + + AutomationTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AutomationTypeEnum fromValue(String value) { + for (AutomationTypeEnum b : AutomationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_AUTOMATION_TYPE = "automationType"; + @jakarta.annotation.Nonnull private AutomationTypeEnum automationType; + + public static final String JSON_PROPERTY_TIME_BASED = "timeBased"; + @jakarta.annotation.Nonnull private TimeBasedTrigger timeBased; + + public AutomationSettingsResponse() {} + + @JsonCreator + public AutomationSettingsResponse( + @JsonProperty(value = JSON_PROPERTY_AUTOMATION_ID, required = true) UUID automationId, + @JsonProperty(value = JSON_PROPERTY_VAULT_ACCOUNT_ID, required = true) + String vaultAccountId, + @JsonProperty(value = JSON_PROPERTY_AUTOMATION_TYPE, required = true) + AutomationTypeEnum automationType, + @JsonProperty(value = JSON_PROPERTY_TIME_BASED, required = true) + TimeBasedTrigger timeBased) { + this.automationId = automationId; + this.vaultAccountId = vaultAccountId; + this.automationType = automationType; + this.timeBased = timeBased; + } + + public AutomationSettingsResponse automationId(@jakarta.annotation.Nonnull UUID automationId) { + this.automationId = automationId; + return this; + } + + /** + * The ID of this deposit automation. + * + * @return automationId + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_AUTOMATION_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getAutomationId() { + return automationId; + } + + @JsonProperty(JSON_PROPERTY_AUTOMATION_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAutomationId(@jakarta.annotation.Nonnull UUID automationId) { + this.automationId = automationId; + } + + public AutomationSettingsResponse vaultAccountId( + @jakarta.annotation.Nonnull String vaultAccountId) { + this.vaultAccountId = vaultAccountId; + return this; + } + + /** + * The vault account this deposit automation applies to. + * + * @return vaultAccountId + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_VAULT_ACCOUNT_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getVaultAccountId() { + return vaultAccountId; + } + + @JsonProperty(JSON_PROPERTY_VAULT_ACCOUNT_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setVaultAccountId(@jakarta.annotation.Nonnull String vaultAccountId) { + this.vaultAccountId = vaultAccountId; + } + + public AutomationSettingsResponse assetId(@jakarta.annotation.Nullable String assetId) { + this.assetId = assetId; + return this; + } + + /** + * The Fireblocks asset ID this automation applies to, if scoped to one. + * + * @return assetId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ASSET_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAssetId() { + return assetId; + } + + @JsonProperty(JSON_PROPERTY_ASSET_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAssetId(@jakarta.annotation.Nullable String assetId) { + this.assetId = assetId; + } + + public AutomationSettingsResponse automationType( + @jakarta.annotation.Nonnull AutomationTypeEnum automationType) { + this.automationType = automationType; + return this; + } + + /** + * The type of this automation. + * + * @return automationType + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_AUTOMATION_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AutomationTypeEnum getAutomationType() { + return automationType; + } + + @JsonProperty(JSON_PROPERTY_AUTOMATION_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAutomationType(@jakarta.annotation.Nonnull AutomationTypeEnum automationType) { + this.automationType = automationType; + } + + public AutomationSettingsResponse timeBased( + @jakarta.annotation.Nonnull TimeBasedTrigger timeBased) { + this.timeBased = timeBased; + return this; + } + + /** + * Get timeBased + * + * @return timeBased + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TIME_BASED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TimeBasedTrigger getTimeBased() { + return timeBased; + } + + @JsonProperty(JSON_PROPERTY_TIME_BASED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTimeBased(@jakarta.annotation.Nonnull TimeBasedTrigger timeBased) { + this.timeBased = timeBased; + } + + /** Return true if this AutomationSettingsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AutomationSettingsResponse automationSettingsResponse = (AutomationSettingsResponse) o; + return Objects.equals(this.automationId, automationSettingsResponse.automationId) + && Objects.equals(this.vaultAccountId, automationSettingsResponse.vaultAccountId) + && Objects.equals(this.assetId, automationSettingsResponse.assetId) + && Objects.equals(this.automationType, automationSettingsResponse.automationType) + && Objects.equals(this.timeBased, automationSettingsResponse.timeBased); + } + + @Override + public int hashCode() { + return Objects.hash(automationId, vaultAccountId, assetId, automationType, timeBased); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AutomationSettingsResponse {\n"); + sb.append(" automationId: ").append(toIndentedString(automationId)).append("\n"); + sb.append(" vaultAccountId: ").append(toIndentedString(vaultAccountId)).append("\n"); + sb.append(" assetId: ").append(toIndentedString(assetId)).append("\n"); + sb.append(" automationType: ").append(toIndentedString(automationType)).append("\n"); + sb.append(" timeBased: ").append(toIndentedString(timeBased)).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 `automationId` to the URL query string + if (getAutomationId() != null) { + joiner.add( + String.format( + "%sautomationId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAutomationId())))); + } + + // add `vaultAccountId` to the URL query string + if (getVaultAccountId() != null) { + joiner.add( + String.format( + "%svaultAccountId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getVaultAccountId())))); + } + + // add `assetId` to the URL query string + if (getAssetId() != null) { + joiner.add( + String.format( + "%sassetId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAssetId())))); + } + + // add `automationType` to the URL query string + if (getAutomationType() != null) { + joiner.add( + String.format( + "%sautomationType%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAutomationType())))); + } + + // add `timeBased` to the URL query string + if (getTimeBased() != null) { + joiner.add(getTimeBased().toUrlQueryString(prefix + "timeBased" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/Blockchain.java b/src/main/java/com/fireblocks/sdk/model/Blockchain.java new file mode 100644 index 00000000..f91bb60c --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/Blockchain.java @@ -0,0 +1,774 @@ +/* + * 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.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.StringJoiner; + +/** Blockchain entity */ +@JsonPropertyOrder({ + Blockchain.JSON_PROPERTY_ID, + Blockchain.JSON_PROPERTY_BLOCKCHAIN_STATE, + Blockchain.JSON_PROPERTY_DECLARED_PROPERTIES, + Blockchain.JSON_PROPERTY_CREATED_AT_UTC, + Blockchain.JSON_PROPERTY_UPDATED_AT_UTC, + Blockchain.JSON_PROPERTY_VALIDATION_SESSION_ID, + Blockchain.JSON_PROPERTY_VALIDATION_STATUS, + Blockchain.JSON_PROPERTY_VALIDATION_CREATED_AT_UTC, + Blockchain.JSON_PROPERTY_VALIDATION_UPDATED_AT_UTC, + Blockchain.JSON_PROPERTY_VALIDATION_COMPLETED_AT_UTC, + Blockchain.JSON_PROPERTY_VALIDATION_FAILURE_REASONS, + Blockchain.JSON_PROPERTY_FAILED_STEP +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class Blockchain { + public static final String JSON_PROPERTY_ID = "id"; + @jakarta.annotation.Nonnull private String id; + + /** Current lifecycle state of the blockchain. */ + public enum BlockchainStateEnum { + BLOCKCHAIN_STATE_CREATED(String.valueOf("BLOCKCHAIN_STATE_CREATED")), + + BLOCKCHAIN_STATE_ACTIVATING(String.valueOf("BLOCKCHAIN_STATE_ACTIVATING")), + + BLOCKCHAIN_STATE_ACTIVATED(String.valueOf("BLOCKCHAIN_STATE_ACTIVATED")), + + BLOCKCHAIN_STATE_DEACTIVATING(String.valueOf("BLOCKCHAIN_STATE_DEACTIVATING")), + + BLOCKCHAIN_STATE_DEACTIVATED(String.valueOf("BLOCKCHAIN_STATE_DEACTIVATED")), + + BLOCKCHAIN_STATE_TECHNICAL_FAILURE(String.valueOf("BLOCKCHAIN_STATE_TECHNICAL_FAILURE")); + + private String value; + + BlockchainStateEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static BlockchainStateEnum fromValue(String value) { + for (BlockchainStateEnum b : BlockchainStateEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_BLOCKCHAIN_STATE = "blockchainState"; + @jakarta.annotation.Nonnull private BlockchainStateEnum blockchainState; + + public static final String JSON_PROPERTY_DECLARED_PROPERTIES = "declaredProperties"; + @jakarta.annotation.Nonnull private BlockchainDeclaredProperties declaredProperties; + + public static final String JSON_PROPERTY_CREATED_AT_UTC = "createdAtUtc"; + @jakarta.annotation.Nonnull private BigDecimal createdAtUtc; + + public static final String JSON_PROPERTY_UPDATED_AT_UTC = "updatedAtUtc"; + @jakarta.annotation.Nonnull private BigDecimal updatedAtUtc; + + public static final String JSON_PROPERTY_VALIDATION_SESSION_ID = "validationSessionId"; + @jakarta.annotation.Nullable private String validationSessionId; + + /** Status of the latest validation session. */ + public enum ValidationStatusEnum { + VALIDATION_STATUS_PENDING(String.valueOf("VALIDATION_STATUS_PENDING")), + + VALIDATION_STATUS_IN_PROGRESS(String.valueOf("VALIDATION_STATUS_IN_PROGRESS")), + + VALIDATION_STATUS_SUCCEEDED(String.valueOf("VALIDATION_STATUS_SUCCEEDED")), + + VALIDATION_STATUS_FAILED(String.valueOf("VALIDATION_STATUS_FAILED")), + + VALIDATION_STATUS_TECHNICAL_FAILURE(String.valueOf("VALIDATION_STATUS_TECHNICAL_FAILURE")); + + private String value; + + ValidationStatusEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ValidationStatusEnum fromValue(String value) { + for (ValidationStatusEnum b : ValidationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_VALIDATION_STATUS = "validationStatus"; + @jakarta.annotation.Nullable private ValidationStatusEnum validationStatus; + + public static final String JSON_PROPERTY_VALIDATION_CREATED_AT_UTC = "validationCreatedAtUtc"; + @jakarta.annotation.Nullable private BigDecimal validationCreatedAtUtc; + + public static final String JSON_PROPERTY_VALIDATION_UPDATED_AT_UTC = "validationUpdatedAtUtc"; + @jakarta.annotation.Nullable private BigDecimal validationUpdatedAtUtc; + + public static final String JSON_PROPERTY_VALIDATION_COMPLETED_AT_UTC = + "validationCompletedAtUtc"; + @jakarta.annotation.Nullable private BigDecimal validationCompletedAtUtc; + + public static final String JSON_PROPERTY_VALIDATION_FAILURE_REASONS = + "validationFailureReasons"; + @jakarta.annotation.Nonnull private List validationFailureReasons; + + /** + * Business step at which the activation flow failed. Absent when no failure has been recorded. + */ + public enum FailedStepEnum { + FAILED_STEP_CONFIGURATION(String.valueOf("FAILED_STEP_CONFIGURATION")), + + FAILED_STEP_RESOURCES_ALLOCATION(String.valueOf("FAILED_STEP_RESOURCES_ALLOCATION")), + + FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS( + String.valueOf("FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS")), + + FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS( + String.valueOf("FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS")); + + private String value; + + FailedStepEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static FailedStepEnum fromValue(String value) { + for (FailedStepEnum b : FailedStepEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_FAILED_STEP = "failedStep"; + @jakarta.annotation.Nullable private FailedStepEnum failedStep; + + public Blockchain() {} + + @JsonCreator + public Blockchain( + @JsonProperty(value = JSON_PROPERTY_ID, required = true) String id, + @JsonProperty(value = JSON_PROPERTY_BLOCKCHAIN_STATE, required = true) + BlockchainStateEnum blockchainState, + @JsonProperty(value = JSON_PROPERTY_DECLARED_PROPERTIES, required = true) + BlockchainDeclaredProperties declaredProperties, + @JsonProperty(value = JSON_PROPERTY_CREATED_AT_UTC, required = true) + BigDecimal createdAtUtc, + @JsonProperty(value = JSON_PROPERTY_UPDATED_AT_UTC, required = true) + BigDecimal updatedAtUtc, + @JsonProperty(value = JSON_PROPERTY_VALIDATION_FAILURE_REASONS, required = true) + List validationFailureReasons) { + this.id = id; + this.blockchainState = blockchainState; + this.declaredProperties = declaredProperties; + this.createdAtUtc = createdAtUtc; + this.updatedAtUtc = updatedAtUtc; + this.validationFailureReasons = validationFailureReasons; + } + + public Blockchain id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique blockchain identifier. + * + * @return id + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + public Blockchain blockchainState( + @jakarta.annotation.Nonnull BlockchainStateEnum blockchainState) { + this.blockchainState = blockchainState; + return this; + } + + /** + * Current lifecycle state of the blockchain. + * + * @return blockchainState + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BLOCKCHAIN_STATE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BlockchainStateEnum getBlockchainState() { + return blockchainState; + } + + @JsonProperty(JSON_PROPERTY_BLOCKCHAIN_STATE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBlockchainState( + @jakarta.annotation.Nonnull BlockchainStateEnum blockchainState) { + this.blockchainState = blockchainState; + } + + public Blockchain declaredProperties( + @jakarta.annotation.Nonnull BlockchainDeclaredProperties declaredProperties) { + this.declaredProperties = declaredProperties; + return this; + } + + /** + * Get declaredProperties + * + * @return declaredProperties + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_DECLARED_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BlockchainDeclaredProperties getDeclaredProperties() { + return declaredProperties; + } + + @JsonProperty(JSON_PROPERTY_DECLARED_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setDeclaredProperties( + @jakarta.annotation.Nonnull BlockchainDeclaredProperties declaredProperties) { + this.declaredProperties = declaredProperties; + } + + public Blockchain createdAtUtc(@jakarta.annotation.Nonnull BigDecimal createdAtUtc) { + this.createdAtUtc = createdAtUtc; + return this; + } + + /** + * Creation timestamp (epoch milliseconds, UTC). + * + * @return createdAtUtc + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_CREATED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BigDecimal getCreatedAtUtc() { + return createdAtUtc; + } + + @JsonProperty(JSON_PROPERTY_CREATED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setCreatedAtUtc(@jakarta.annotation.Nonnull BigDecimal createdAtUtc) { + this.createdAtUtc = createdAtUtc; + } + + public Blockchain updatedAtUtc(@jakarta.annotation.Nonnull BigDecimal updatedAtUtc) { + this.updatedAtUtc = updatedAtUtc; + return this; + } + + /** + * Last update timestamp (epoch milliseconds, UTC). + * + * @return updatedAtUtc + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_UPDATED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BigDecimal getUpdatedAtUtc() { + return updatedAtUtc; + } + + @JsonProperty(JSON_PROPERTY_UPDATED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setUpdatedAtUtc(@jakarta.annotation.Nonnull BigDecimal updatedAtUtc) { + this.updatedAtUtc = updatedAtUtc; + } + + public Blockchain validationSessionId(@jakarta.annotation.Nullable String validationSessionId) { + this.validationSessionId = validationSessionId; + return this; + } + + /** + * Validation session data (optional - only present if validation session exists) + * + * @return validationSessionId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VALIDATION_SESSION_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getValidationSessionId() { + return validationSessionId; + } + + @JsonProperty(JSON_PROPERTY_VALIDATION_SESSION_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValidationSessionId(@jakarta.annotation.Nullable String validationSessionId) { + this.validationSessionId = validationSessionId; + } + + public Blockchain validationStatus( + @jakarta.annotation.Nullable ValidationStatusEnum validationStatus) { + this.validationStatus = validationStatus; + return this; + } + + /** + * Status of the latest validation session. + * + * @return validationStatus + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VALIDATION_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ValidationStatusEnum getValidationStatus() { + return validationStatus; + } + + @JsonProperty(JSON_PROPERTY_VALIDATION_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValidationStatus( + @jakarta.annotation.Nullable ValidationStatusEnum validationStatus) { + this.validationStatus = validationStatus; + } + + public Blockchain validationCreatedAtUtc( + @jakarta.annotation.Nullable BigDecimal validationCreatedAtUtc) { + this.validationCreatedAtUtc = validationCreatedAtUtc; + return this; + } + + /** + * Validation session creation timestamp (epoch milliseconds, UTC). + * + * @return validationCreatedAtUtc + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VALIDATION_CREATED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getValidationCreatedAtUtc() { + return validationCreatedAtUtc; + } + + @JsonProperty(JSON_PROPERTY_VALIDATION_CREATED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValidationCreatedAtUtc( + @jakarta.annotation.Nullable BigDecimal validationCreatedAtUtc) { + this.validationCreatedAtUtc = validationCreatedAtUtc; + } + + public Blockchain validationUpdatedAtUtc( + @jakarta.annotation.Nullable BigDecimal validationUpdatedAtUtc) { + this.validationUpdatedAtUtc = validationUpdatedAtUtc; + return this; + } + + /** + * Validation session last update timestamp (epoch milliseconds, UTC). + * + * @return validationUpdatedAtUtc + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VALIDATION_UPDATED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getValidationUpdatedAtUtc() { + return validationUpdatedAtUtc; + } + + @JsonProperty(JSON_PROPERTY_VALIDATION_UPDATED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValidationUpdatedAtUtc( + @jakarta.annotation.Nullable BigDecimal validationUpdatedAtUtc) { + this.validationUpdatedAtUtc = validationUpdatedAtUtc; + } + + public Blockchain validationCompletedAtUtc( + @jakarta.annotation.Nullable BigDecimal validationCompletedAtUtc) { + this.validationCompletedAtUtc = validationCompletedAtUtc; + return this; + } + + /** + * Validation session completion timestamp (epoch milliseconds, UTC). + * + * @return validationCompletedAtUtc + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VALIDATION_COMPLETED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getValidationCompletedAtUtc() { + return validationCompletedAtUtc; + } + + @JsonProperty(JSON_PROPERTY_VALIDATION_COMPLETED_AT_UTC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValidationCompletedAtUtc( + @jakarta.annotation.Nullable BigDecimal validationCompletedAtUtc) { + this.validationCompletedAtUtc = validationCompletedAtUtc; + } + + public Blockchain validationFailureReasons( + @jakarta.annotation.Nonnull List validationFailureReasons) { + this.validationFailureReasons = validationFailureReasons; + return this; + } + + public Blockchain addValidationFailureReasonsItem(String validationFailureReasonsItem) { + if (this.validationFailureReasons == null) { + this.validationFailureReasons = new ArrayList<>(); + } + this.validationFailureReasons.add(validationFailureReasonsItem); + return this; + } + + /** + * Reasons the latest validation failed, if any. + * + * @return validationFailureReasons + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_VALIDATION_FAILURE_REASONS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getValidationFailureReasons() { + return validationFailureReasons; + } + + @JsonProperty(JSON_PROPERTY_VALIDATION_FAILURE_REASONS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setValidationFailureReasons( + @jakarta.annotation.Nonnull List validationFailureReasons) { + this.validationFailureReasons = validationFailureReasons; + } + + public Blockchain failedStep(@jakarta.annotation.Nullable FailedStepEnum failedStep) { + this.failedStep = failedStep; + return this; + } + + /** + * Business step at which the activation flow failed. Absent when no failure has been recorded. + * + * @return failedStep + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_FAILED_STEP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public FailedStepEnum getFailedStep() { + return failedStep; + } + + @JsonProperty(JSON_PROPERTY_FAILED_STEP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setFailedStep(@jakarta.annotation.Nullable FailedStepEnum failedStep) { + this.failedStep = failedStep; + } + + /** Return true if this Blockchain object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Blockchain blockchain = (Blockchain) o; + return Objects.equals(this.id, blockchain.id) + && Objects.equals(this.blockchainState, blockchain.blockchainState) + && Objects.equals(this.declaredProperties, blockchain.declaredProperties) + && Objects.equals(this.createdAtUtc, blockchain.createdAtUtc) + && Objects.equals(this.updatedAtUtc, blockchain.updatedAtUtc) + && Objects.equals(this.validationSessionId, blockchain.validationSessionId) + && Objects.equals(this.validationStatus, blockchain.validationStatus) + && Objects.equals(this.validationCreatedAtUtc, blockchain.validationCreatedAtUtc) + && Objects.equals(this.validationUpdatedAtUtc, blockchain.validationUpdatedAtUtc) + && Objects.equals( + this.validationCompletedAtUtc, blockchain.validationCompletedAtUtc) + && Objects.equals( + this.validationFailureReasons, blockchain.validationFailureReasons) + && Objects.equals(this.failedStep, blockchain.failedStep); + } + + @Override + public int hashCode() { + return Objects.hash( + id, + blockchainState, + declaredProperties, + createdAtUtc, + updatedAtUtc, + validationSessionId, + validationStatus, + validationCreatedAtUtc, + validationUpdatedAtUtc, + validationCompletedAtUtc, + validationFailureReasons, + failedStep); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Blockchain {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" blockchainState: ").append(toIndentedString(blockchainState)).append("\n"); + sb.append(" declaredProperties: ") + .append(toIndentedString(declaredProperties)) + .append("\n"); + sb.append(" createdAtUtc: ").append(toIndentedString(createdAtUtc)).append("\n"); + sb.append(" updatedAtUtc: ").append(toIndentedString(updatedAtUtc)).append("\n"); + sb.append(" validationSessionId: ") + .append(toIndentedString(validationSessionId)) + .append("\n"); + sb.append(" validationStatus: ").append(toIndentedString(validationStatus)).append("\n"); + sb.append(" validationCreatedAtUtc: ") + .append(toIndentedString(validationCreatedAtUtc)) + .append("\n"); + sb.append(" validationUpdatedAtUtc: ") + .append(toIndentedString(validationUpdatedAtUtc)) + .append("\n"); + sb.append(" validationCompletedAtUtc: ") + .append(toIndentedString(validationCompletedAtUtc)) + .append("\n"); + sb.append(" validationFailureReasons: ") + .append(toIndentedString(validationFailureReasons)) + .append("\n"); + sb.append(" failedStep: ").append(toIndentedString(failedStep)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add( + String.format( + "%sid%s=%s", + prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `blockchainState` to the URL query string + if (getBlockchainState() != null) { + joiner.add( + String.format( + "%sblockchainState%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBlockchainState())))); + } + + // add `declaredProperties` to the URL query string + if (getDeclaredProperties() != null) { + joiner.add( + getDeclaredProperties() + .toUrlQueryString(prefix + "declaredProperties" + suffix)); + } + + // add `createdAtUtc` to the URL query string + if (getCreatedAtUtc() != null) { + joiner.add( + String.format( + "%screatedAtUtc%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCreatedAtUtc())))); + } + + // add `updatedAtUtc` to the URL query string + if (getUpdatedAtUtc() != null) { + joiner.add( + String.format( + "%supdatedAtUtc%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getUpdatedAtUtc())))); + } + + // add `validationSessionId` to the URL query string + if (getValidationSessionId() != null) { + joiner.add( + String.format( + "%svalidationSessionId%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getValidationSessionId())))); + } + + // add `validationStatus` to the URL query string + if (getValidationStatus() != null) { + joiner.add( + String.format( + "%svalidationStatus%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getValidationStatus())))); + } + + // add `validationCreatedAtUtc` to the URL query string + if (getValidationCreatedAtUtc() != null) { + joiner.add( + String.format( + "%svalidationCreatedAtUtc%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getValidationCreatedAtUtc())))); + } + + // add `validationUpdatedAtUtc` to the URL query string + if (getValidationUpdatedAtUtc() != null) { + joiner.add( + String.format( + "%svalidationUpdatedAtUtc%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getValidationUpdatedAtUtc())))); + } + + // add `validationCompletedAtUtc` to the URL query string + if (getValidationCompletedAtUtc() != null) { + joiner.add( + String.format( + "%svalidationCompletedAtUtc%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getValidationCompletedAtUtc())))); + } + + // add `validationFailureReasons` to the URL query string + if (getValidationFailureReasons() != null) { + for (int i = 0; i < getValidationFailureReasons().size(); i++) { + joiner.add( + String.format( + "%svalidationFailureReasons%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode( + ApiClient.valueToString( + getValidationFailureReasons().get(i))))); + } + } + + // add `failedStep` to the URL query string + if (getFailedStep() != null) { + joiner.add( + String.format( + "%sfailedStep%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getFailedStep())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/BlockchainDeclaredProperties.java b/src/main/java/com/fireblocks/sdk/model/BlockchainDeclaredProperties.java new file mode 100644 index 00000000..b4ab7899 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/BlockchainDeclaredProperties.java @@ -0,0 +1,1059 @@ +/* + * 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.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.StringJoiner; + +/** + * Declared properties for blockchain configuration (create/update API and response) Only the fields + * sent by the API and returned in list/create/update responses. + */ +@JsonPropertyOrder({ + BlockchainDeclaredProperties.JSON_PROPERTY_CHAIN_NAME, + BlockchainDeclaredProperties.JSON_PROPERTY_CHAIN_ID, + BlockchainDeclaredProperties.JSON_PROPERTY_SYMBOL_NAME, + BlockchainDeclaredProperties.JSON_PROPERTY_DECIMALS, + BlockchainDeclaredProperties.JSON_PROPERTY_RPC_URLS, + BlockchainDeclaredProperties.JSON_PROPERTY_ENVIRONMENT_TYPE, + BlockchainDeclaredProperties.JSON_PROPERTY_BLOCK_EXPLORER_URL, + BlockchainDeclaredProperties.JSON_PROPERTY_BLOCK_EXPLORER_TRANSACTION_PATH, + BlockchainDeclaredProperties.JSON_PROPERTY_BLOCK_EXPLORER_ADDRESS_PATH, + BlockchainDeclaredProperties.JSON_PROPERTY_NETWORK_ID, + BlockchainDeclaredProperties.JSON_PROPERTY_HAS_FEE, + BlockchainDeclaredProperties.JSON_PROPERTY_IS_POA, + BlockchainDeclaredProperties.JSON_PROPERTY_HAS_LAYERED_FEE, + BlockchainDeclaredProperties.JSON_PROPERTY_NODE_TYPE, + BlockchainDeclaredProperties.JSON_PROPERTY_TRANSACTION_FORMAT, + BlockchainDeclaredProperties.JSON_PROPERTY_BASE_ASSET_TENANT_IDS, + BlockchainDeclaredProperties.JSON_PROPERTY_EXPLORER_API_URL, + BlockchainDeclaredProperties.JSON_PROPERTY_EXPLORER_API_KEY, + BlockchainDeclaredProperties.JSON_PROPERTY_IS_TRACE_ENABLED, + BlockchainDeclaredProperties.JSON_PROPERTY_RPC_AUTH +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class BlockchainDeclaredProperties { + public static final String JSON_PROPERTY_CHAIN_NAME = "chainName"; + @jakarta.annotation.Nonnull private String chainName; + + public static final String JSON_PROPERTY_CHAIN_ID = "chainId"; + @jakarta.annotation.Nonnull private BigDecimal chainId; + + public static final String JSON_PROPERTY_SYMBOL_NAME = "symbolName"; + @jakarta.annotation.Nonnull private String symbolName; + + public static final String JSON_PROPERTY_DECIMALS = "decimals"; + @jakarta.annotation.Nullable private BigDecimal decimals; + + public static final String JSON_PROPERTY_RPC_URLS = "rpcUrls"; + @jakarta.annotation.Nonnull private List rpcUrls; + + /** Network environment (mainnet or testnet). */ + public enum EnvironmentTypeEnum { + ENVIRONMENT_TYPE_MAINNET(String.valueOf("ENVIRONMENT_TYPE_MAINNET")), + + ENVIRONMENT_TYPE_TESTNET(String.valueOf("ENVIRONMENT_TYPE_TESTNET")); + + private String value; + + EnvironmentTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnvironmentTypeEnum fromValue(String value) { + for (EnvironmentTypeEnum b : EnvironmentTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_ENVIRONMENT_TYPE = "environmentType"; + @jakarta.annotation.Nonnull private EnvironmentTypeEnum environmentType; + + public static final String JSON_PROPERTY_BLOCK_EXPLORER_URL = "blockExplorerUrl"; + @jakarta.annotation.Nullable private String blockExplorerUrl; + + public static final String JSON_PROPERTY_BLOCK_EXPLORER_TRANSACTION_PATH = + "blockExplorerTransactionPath"; + @jakarta.annotation.Nullable private String blockExplorerTransactionPath; + + public static final String JSON_PROPERTY_BLOCK_EXPLORER_ADDRESS_PATH = + "blockExplorerAddressPath"; + @jakarta.annotation.Nullable private String blockExplorerAddressPath; + + public static final String JSON_PROPERTY_NETWORK_ID = "networkId"; + @jakarta.annotation.Nullable private BigDecimal networkId; + + public static final String JSON_PROPERTY_HAS_FEE = "hasFee"; + @jakarta.annotation.Nullable private Boolean hasFee; + + public static final String JSON_PROPERTY_IS_POA = "isPoa"; + @jakarta.annotation.Nullable private Boolean isPoa; + + public static final String JSON_PROPERTY_HAS_LAYERED_FEE = "hasLayeredFee"; + @jakarta.annotation.Nullable private Boolean hasLayeredFee; + + /** Node client type for the blockchain. */ + public enum NodeTypeEnum { + NODE_TYPE_CORE_GETH(String.valueOf("NODE_TYPE_CORE_GETH")), + + NODE_TYPE_FANTOM(String.valueOf("NODE_TYPE_FANTOM")), + + NODE_TYPE_ERIGON(String.valueOf("NODE_TYPE_ERIGON")), + + NODE_TYPE_PARITY(String.valueOf("NODE_TYPE_PARITY")), + + NODE_TYPE_BESU(String.valueOf("NODE_TYPE_BESU")); + + private String value; + + NodeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static NodeTypeEnum fromValue(String value) { + for (NodeTypeEnum b : NodeTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_NODE_TYPE = "nodeType"; + @jakarta.annotation.Nullable private NodeTypeEnum nodeType; + + public static final String JSON_PROPERTY_TRANSACTION_FORMAT = "transactionFormat"; + @jakarta.annotation.Nullable private BigDecimal transactionFormat; + + public static final String JSON_PROPERTY_BASE_ASSET_TENANT_IDS = "baseAssetTenantIds"; + @jakarta.annotation.Nullable private List baseAssetTenantIds; + + public static final String JSON_PROPERTY_EXPLORER_API_URL = "explorerApiUrl"; + @jakarta.annotation.Nullable private String explorerApiUrl; + + public static final String JSON_PROPERTY_EXPLORER_API_KEY = "explorerApiKey"; + @jakarta.annotation.Nullable private String explorerApiKey; + + public static final String JSON_PROPERTY_IS_TRACE_ENABLED = "isTraceEnabled"; + @jakarta.annotation.Nullable private Boolean isTraceEnabled; + + public static final String JSON_PROPERTY_RPC_AUTH = "rpcAuth"; + @jakarta.annotation.Nullable private BlockchainRpcAuth rpcAuth; + + public BlockchainDeclaredProperties() {} + + @JsonCreator + public BlockchainDeclaredProperties( + @JsonProperty(value = JSON_PROPERTY_CHAIN_NAME, required = true) String chainName, + @JsonProperty(value = JSON_PROPERTY_CHAIN_ID, required = true) BigDecimal chainId, + @JsonProperty(value = JSON_PROPERTY_SYMBOL_NAME, required = true) String symbolName, + @JsonProperty(value = JSON_PROPERTY_RPC_URLS, required = true) List rpcUrls, + @JsonProperty(value = JSON_PROPERTY_ENVIRONMENT_TYPE, required = true) + EnvironmentTypeEnum environmentType) { + this.chainName = chainName; + this.chainId = chainId; + this.symbolName = symbolName; + this.rpcUrls = rpcUrls; + this.environmentType = environmentType; + } + + public BlockchainDeclaredProperties chainName(@jakarta.annotation.Nonnull String chainName) { + this.chainName = chainName; + return this; + } + + /** + * Human-readable name of the blockchain. + * + * @return chainName + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_CHAIN_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getChainName() { + return chainName; + } + + @JsonProperty(JSON_PROPERTY_CHAIN_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setChainName(@jakarta.annotation.Nonnull String chainName) { + this.chainName = chainName; + } + + public BlockchainDeclaredProperties chainId(@jakarta.annotation.Nonnull BigDecimal chainId) { + this.chainId = chainId; + return this; + } + + /** + * EVM chain ID of the blockchain. + * + * @return chainId + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_CHAIN_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BigDecimal getChainId() { + return chainId; + } + + @JsonProperty(JSON_PROPERTY_CHAIN_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setChainId(@jakarta.annotation.Nonnull BigDecimal chainId) { + this.chainId = chainId; + } + + public BlockchainDeclaredProperties symbolName(@jakarta.annotation.Nonnull String symbolName) { + this.symbolName = symbolName; + return this; + } + + /** + * Native asset symbol of the blockchain. + * + * @return symbolName + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_SYMBOL_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getSymbolName() { + return symbolName; + } + + @JsonProperty(JSON_PROPERTY_SYMBOL_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setSymbolName(@jakarta.annotation.Nonnull String symbolName) { + this.symbolName = symbolName; + } + + public BlockchainDeclaredProperties decimals(@jakarta.annotation.Nullable BigDecimal decimals) { + this.decimals = decimals; + return this; + } + + /** + * Number of decimals for the native asset. + * + * @return decimals + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DECIMALS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getDecimals() { + return decimals; + } + + @JsonProperty(JSON_PROPERTY_DECIMALS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDecimals(@jakarta.annotation.Nullable BigDecimal decimals) { + this.decimals = decimals; + } + + public BlockchainDeclaredProperties rpcUrls(@jakarta.annotation.Nonnull List rpcUrls) { + this.rpcUrls = rpcUrls; + return this; + } + + public BlockchainDeclaredProperties addRpcUrlsItem(String rpcUrlsItem) { + if (this.rpcUrls == null) { + this.rpcUrls = new ArrayList<>(); + } + this.rpcUrls.add(rpcUrlsItem); + return this; + } + + /** + * RPC endpoint URLs for the blockchain. + * + * @return rpcUrls + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_RPC_URLS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getRpcUrls() { + return rpcUrls; + } + + @JsonProperty(JSON_PROPERTY_RPC_URLS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setRpcUrls(@jakarta.annotation.Nonnull List rpcUrls) { + this.rpcUrls = rpcUrls; + } + + public BlockchainDeclaredProperties environmentType( + @jakarta.annotation.Nonnull EnvironmentTypeEnum environmentType) { + this.environmentType = environmentType; + return this; + } + + /** + * Network environment (mainnet or testnet). + * + * @return environmentType + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ENVIRONMENT_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public EnvironmentTypeEnum getEnvironmentType() { + return environmentType; + } + + @JsonProperty(JSON_PROPERTY_ENVIRONMENT_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setEnvironmentType( + @jakarta.annotation.Nonnull EnvironmentTypeEnum environmentType) { + this.environmentType = environmentType; + } + + public BlockchainDeclaredProperties blockExplorerUrl( + @jakarta.annotation.Nullable String blockExplorerUrl) { + this.blockExplorerUrl = blockExplorerUrl; + return this; + } + + /** + * Base URL of the block explorer. + * + * @return blockExplorerUrl + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BLOCK_EXPLORER_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getBlockExplorerUrl() { + return blockExplorerUrl; + } + + @JsonProperty(JSON_PROPERTY_BLOCK_EXPLORER_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBlockExplorerUrl(@jakarta.annotation.Nullable String blockExplorerUrl) { + this.blockExplorerUrl = blockExplorerUrl; + } + + public BlockchainDeclaredProperties blockExplorerTransactionPath( + @jakarta.annotation.Nullable String blockExplorerTransactionPath) { + this.blockExplorerTransactionPath = blockExplorerTransactionPath; + return this; + } + + /** + * Path template for a transaction on the block explorer. + * + * @return blockExplorerTransactionPath + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BLOCK_EXPLORER_TRANSACTION_PATH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getBlockExplorerTransactionPath() { + return blockExplorerTransactionPath; + } + + @JsonProperty(JSON_PROPERTY_BLOCK_EXPLORER_TRANSACTION_PATH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBlockExplorerTransactionPath( + @jakarta.annotation.Nullable String blockExplorerTransactionPath) { + this.blockExplorerTransactionPath = blockExplorerTransactionPath; + } + + public BlockchainDeclaredProperties blockExplorerAddressPath( + @jakarta.annotation.Nullable String blockExplorerAddressPath) { + this.blockExplorerAddressPath = blockExplorerAddressPath; + return this; + } + + /** + * Path template for an address on the block explorer. + * + * @return blockExplorerAddressPath + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BLOCK_EXPLORER_ADDRESS_PATH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getBlockExplorerAddressPath() { + return blockExplorerAddressPath; + } + + @JsonProperty(JSON_PROPERTY_BLOCK_EXPLORER_ADDRESS_PATH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBlockExplorerAddressPath( + @jakarta.annotation.Nullable String blockExplorerAddressPath) { + this.blockExplorerAddressPath = blockExplorerAddressPath; + } + + public BlockchainDeclaredProperties networkId( + @jakarta.annotation.Nullable BigDecimal networkId) { + this.networkId = networkId; + return this; + } + + /** + * EVM network ID of the blockchain. + * + * @return networkId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NETWORK_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getNetworkId() { + return networkId; + } + + @JsonProperty(JSON_PROPERTY_NETWORK_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNetworkId(@jakarta.annotation.Nullable BigDecimal networkId) { + this.networkId = networkId; + } + + public BlockchainDeclaredProperties hasFee(@jakarta.annotation.Nullable Boolean hasFee) { + this.hasFee = hasFee; + return this; + } + + /** + * Whether the blockchain charges transaction fees. + * + * @return hasFee + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HAS_FEE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasFee() { + return hasFee; + } + + @JsonProperty(JSON_PROPERTY_HAS_FEE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHasFee(@jakarta.annotation.Nullable Boolean hasFee) { + this.hasFee = hasFee; + } + + public BlockchainDeclaredProperties isPoa(@jakarta.annotation.Nullable Boolean isPoa) { + this.isPoa = isPoa; + return this; + } + + /** + * Whether the blockchain uses proof-of-authority consensus. + * + * @return isPoa + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_POA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsPoa() { + return isPoa; + } + + @JsonProperty(JSON_PROPERTY_IS_POA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIsPoa(@jakarta.annotation.Nullable Boolean isPoa) { + this.isPoa = isPoa; + } + + public BlockchainDeclaredProperties hasLayeredFee( + @jakarta.annotation.Nullable Boolean hasLayeredFee) { + this.hasLayeredFee = hasLayeredFee; + return this; + } + + /** + * Whether the blockchain uses a layered fee model. + * + * @return hasLayeredFee + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HAS_LAYERED_FEE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasLayeredFee() { + return hasLayeredFee; + } + + @JsonProperty(JSON_PROPERTY_HAS_LAYERED_FEE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHasLayeredFee(@jakarta.annotation.Nullable Boolean hasLayeredFee) { + this.hasLayeredFee = hasLayeredFee; + } + + public BlockchainDeclaredProperties nodeType( + @jakarta.annotation.Nullable NodeTypeEnum nodeType) { + this.nodeType = nodeType; + return this; + } + + /** + * Node client type for the blockchain. + * + * @return nodeType + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NODE_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public NodeTypeEnum getNodeType() { + return nodeType; + } + + @JsonProperty(JSON_PROPERTY_NODE_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNodeType(@jakarta.annotation.Nullable NodeTypeEnum nodeType) { + this.nodeType = nodeType; + } + + public BlockchainDeclaredProperties transactionFormat( + @jakarta.annotation.Nullable BigDecimal transactionFormat) { + this.transactionFormat = transactionFormat; + return this; + } + + /** + * Transaction format identifier. + * + * @return transactionFormat + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRANSACTION_FORMAT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getTransactionFormat() { + return transactionFormat; + } + + @JsonProperty(JSON_PROPERTY_TRANSACTION_FORMAT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTransactionFormat(@jakarta.annotation.Nullable BigDecimal transactionFormat) { + this.transactionFormat = transactionFormat; + } + + public BlockchainDeclaredProperties baseAssetTenantIds( + @jakarta.annotation.Nullable List baseAssetTenantIds) { + this.baseAssetTenantIds = baseAssetTenantIds; + return this; + } + + public BlockchainDeclaredProperties addBaseAssetTenantIdsItem(String baseAssetTenantIdsItem) { + if (this.baseAssetTenantIds == null) { + this.baseAssetTenantIds = new ArrayList<>(); + } + this.baseAssetTenantIds.add(baseAssetTenantIdsItem); + return this; + } + + /** + * Tenant IDs that share this base asset. + * + * @return baseAssetTenantIds + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BASE_ASSET_TENANT_IDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getBaseAssetTenantIds() { + return baseAssetTenantIds; + } + + @JsonProperty(JSON_PROPERTY_BASE_ASSET_TENANT_IDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBaseAssetTenantIds( + @jakarta.annotation.Nullable List baseAssetTenantIds) { + this.baseAssetTenantIds = baseAssetTenantIds; + } + + public BlockchainDeclaredProperties explorerApiUrl( + @jakarta.annotation.Nullable String explorerApiUrl) { + this.explorerApiUrl = explorerApiUrl; + return this; + } + + /** + * Block explorer API base URL. + * + * @return explorerApiUrl + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EXPLORER_API_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getExplorerApiUrl() { + return explorerApiUrl; + } + + @JsonProperty(JSON_PROPERTY_EXPLORER_API_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setExplorerApiUrl(@jakarta.annotation.Nullable String explorerApiUrl) { + this.explorerApiUrl = explorerApiUrl; + } + + public BlockchainDeclaredProperties explorerApiKey( + @jakarta.annotation.Nullable String explorerApiKey) { + this.explorerApiKey = explorerApiKey; + return this; + } + + /** + * API key for the block explorer API. + * + * @return explorerApiKey + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EXPLORER_API_KEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getExplorerApiKey() { + return explorerApiKey; + } + + @JsonProperty(JSON_PROPERTY_EXPLORER_API_KEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setExplorerApiKey(@jakarta.annotation.Nullable String explorerApiKey) { + this.explorerApiKey = explorerApiKey; + } + + public BlockchainDeclaredProperties isTraceEnabled( + @jakarta.annotation.Nullable Boolean isTraceEnabled) { + this.isTraceEnabled = isTraceEnabled; + return this; + } + + /** + * Whether trace/debug RPC methods are enabled. + * + * @return isTraceEnabled + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_TRACE_ENABLED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsTraceEnabled() { + return isTraceEnabled; + } + + @JsonProperty(JSON_PROPERTY_IS_TRACE_ENABLED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIsTraceEnabled(@jakarta.annotation.Nullable Boolean isTraceEnabled) { + this.isTraceEnabled = isTraceEnabled; + } + + public BlockchainDeclaredProperties rpcAuth( + @jakarta.annotation.Nullable BlockchainRpcAuth rpcAuth) { + this.rpcAuth = rpcAuth; + return this; + } + + /** + * Get rpcAuth + * + * @return rpcAuth + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RPC_AUTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BlockchainRpcAuth getRpcAuth() { + return rpcAuth; + } + + @JsonProperty(JSON_PROPERTY_RPC_AUTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRpcAuth(@jakarta.annotation.Nullable BlockchainRpcAuth rpcAuth) { + this.rpcAuth = rpcAuth; + } + + /** Return true if this BlockchainDeclaredProperties object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BlockchainDeclaredProperties blockchainDeclaredProperties = + (BlockchainDeclaredProperties) o; + return Objects.equals(this.chainName, blockchainDeclaredProperties.chainName) + && Objects.equals(this.chainId, blockchainDeclaredProperties.chainId) + && Objects.equals(this.symbolName, blockchainDeclaredProperties.symbolName) + && Objects.equals(this.decimals, blockchainDeclaredProperties.decimals) + && Objects.equals(this.rpcUrls, blockchainDeclaredProperties.rpcUrls) + && Objects.equals( + this.environmentType, blockchainDeclaredProperties.environmentType) + && Objects.equals( + this.blockExplorerUrl, blockchainDeclaredProperties.blockExplorerUrl) + && Objects.equals( + this.blockExplorerTransactionPath, + blockchainDeclaredProperties.blockExplorerTransactionPath) + && Objects.equals( + this.blockExplorerAddressPath, + blockchainDeclaredProperties.blockExplorerAddressPath) + && Objects.equals(this.networkId, blockchainDeclaredProperties.networkId) + && Objects.equals(this.hasFee, blockchainDeclaredProperties.hasFee) + && Objects.equals(this.isPoa, blockchainDeclaredProperties.isPoa) + && Objects.equals(this.hasLayeredFee, blockchainDeclaredProperties.hasLayeredFee) + && Objects.equals(this.nodeType, blockchainDeclaredProperties.nodeType) + && Objects.equals( + this.transactionFormat, blockchainDeclaredProperties.transactionFormat) + && Objects.equals( + this.baseAssetTenantIds, blockchainDeclaredProperties.baseAssetTenantIds) + && Objects.equals(this.explorerApiUrl, blockchainDeclaredProperties.explorerApiUrl) + && Objects.equals(this.explorerApiKey, blockchainDeclaredProperties.explorerApiKey) + && Objects.equals(this.isTraceEnabled, blockchainDeclaredProperties.isTraceEnabled) + && Objects.equals(this.rpcAuth, blockchainDeclaredProperties.rpcAuth); + } + + @Override + public int hashCode() { + return Objects.hash( + chainName, + chainId, + symbolName, + decimals, + rpcUrls, + environmentType, + blockExplorerUrl, + blockExplorerTransactionPath, + blockExplorerAddressPath, + networkId, + hasFee, + isPoa, + hasLayeredFee, + nodeType, + transactionFormat, + baseAssetTenantIds, + explorerApiUrl, + explorerApiKey, + isTraceEnabled, + rpcAuth); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BlockchainDeclaredProperties {\n"); + sb.append(" chainName: ").append(toIndentedString(chainName)).append("\n"); + sb.append(" chainId: ").append(toIndentedString(chainId)).append("\n"); + sb.append(" symbolName: ").append(toIndentedString(symbolName)).append("\n"); + sb.append(" decimals: ").append(toIndentedString(decimals)).append("\n"); + sb.append(" rpcUrls: ").append(toIndentedString(rpcUrls)).append("\n"); + sb.append(" environmentType: ").append(toIndentedString(environmentType)).append("\n"); + sb.append(" blockExplorerUrl: ").append(toIndentedString(blockExplorerUrl)).append("\n"); + sb.append(" blockExplorerTransactionPath: ") + .append(toIndentedString(blockExplorerTransactionPath)) + .append("\n"); + sb.append(" blockExplorerAddressPath: ") + .append(toIndentedString(blockExplorerAddressPath)) + .append("\n"); + sb.append(" networkId: ").append(toIndentedString(networkId)).append("\n"); + sb.append(" hasFee: ").append(toIndentedString(hasFee)).append("\n"); + sb.append(" isPoa: ").append(toIndentedString(isPoa)).append("\n"); + sb.append(" hasLayeredFee: ").append(toIndentedString(hasLayeredFee)).append("\n"); + sb.append(" nodeType: ").append(toIndentedString(nodeType)).append("\n"); + sb.append(" transactionFormat: ") + .append(toIndentedString(transactionFormat)) + .append("\n"); + sb.append(" baseAssetTenantIds: ") + .append(toIndentedString(baseAssetTenantIds)) + .append("\n"); + sb.append(" explorerApiUrl: ").append(toIndentedString(explorerApiUrl)).append("\n"); + sb.append(" explorerApiKey: ").append(toIndentedString(explorerApiKey)).append("\n"); + sb.append(" isTraceEnabled: ").append(toIndentedString(isTraceEnabled)).append("\n"); + sb.append(" rpcAuth: ").append(toIndentedString(rpcAuth)).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 `chainName` to the URL query string + if (getChainName() != null) { + joiner.add( + String.format( + "%schainName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getChainName())))); + } + + // add `chainId` to the URL query string + if (getChainId() != null) { + joiner.add( + String.format( + "%schainId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getChainId())))); + } + + // add `symbolName` to the URL query string + if (getSymbolName() != null) { + joiner.add( + String.format( + "%ssymbolName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSymbolName())))); + } + + // add `decimals` to the URL query string + if (getDecimals() != null) { + joiner.add( + String.format( + "%sdecimals%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getDecimals())))); + } + + // add `rpcUrls` to the URL query string + if (getRpcUrls() != null) { + for (int i = 0; i < getRpcUrls().size(); i++) { + joiner.add( + String.format( + "%srpcUrls%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode(ApiClient.valueToString(getRpcUrls().get(i))))); + } + } + + // add `environmentType` to the URL query string + if (getEnvironmentType() != null) { + joiner.add( + String.format( + "%senvironmentType%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getEnvironmentType())))); + } + + // add `blockExplorerUrl` to the URL query string + if (getBlockExplorerUrl() != null) { + joiner.add( + String.format( + "%sblockExplorerUrl%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBlockExplorerUrl())))); + } + + // add `blockExplorerTransactionPath` to the URL query string + if (getBlockExplorerTransactionPath() != null) { + joiner.add( + String.format( + "%sblockExplorerTransactionPath%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getBlockExplorerTransactionPath())))); + } + + // add `blockExplorerAddressPath` to the URL query string + if (getBlockExplorerAddressPath() != null) { + joiner.add( + String.format( + "%sblockExplorerAddressPath%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getBlockExplorerAddressPath())))); + } + + // add `networkId` to the URL query string + if (getNetworkId() != null) { + joiner.add( + String.format( + "%snetworkId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getNetworkId())))); + } + + // add `hasFee` to the URL query string + if (getHasFee() != null) { + joiner.add( + String.format( + "%shasFee%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHasFee())))); + } + + // add `isPoa` to the URL query string + if (getIsPoa() != null) { + joiner.add( + String.format( + "%sisPoa%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIsPoa())))); + } + + // add `hasLayeredFee` to the URL query string + if (getHasLayeredFee() != null) { + joiner.add( + String.format( + "%shasLayeredFee%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHasLayeredFee())))); + } + + // add `nodeType` to the URL query string + if (getNodeType() != null) { + joiner.add( + String.format( + "%snodeType%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getNodeType())))); + } + + // add `transactionFormat` to the URL query string + if (getTransactionFormat() != null) { + joiner.add( + String.format( + "%stransactionFormat%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getTransactionFormat())))); + } + + // add `baseAssetTenantIds` to the URL query string + if (getBaseAssetTenantIds() != null) { + for (int i = 0; i < getBaseAssetTenantIds().size(); i++) { + joiner.add( + String.format( + "%sbaseAssetTenantIds%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode( + ApiClient.valueToString(getBaseAssetTenantIds().get(i))))); + } + } + + // add `explorerApiUrl` to the URL query string + if (getExplorerApiUrl() != null) { + joiner.add( + String.format( + "%sexplorerApiUrl%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getExplorerApiUrl())))); + } + + // add `explorerApiKey` to the URL query string + if (getExplorerApiKey() != null) { + joiner.add( + String.format( + "%sexplorerApiKey%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getExplorerApiKey())))); + } + + // add `isTraceEnabled` to the URL query string + if (getIsTraceEnabled() != null) { + joiner.add( + String.format( + "%sisTraceEnabled%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIsTraceEnabled())))); + } + + // add `rpcAuth` to the URL query string + if (getRpcAuth() != null) { + joiner.add(getRpcAuth().toUrlQueryString(prefix + "rpcAuth" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/BlockchainEnvironment.java b/src/main/java/com/fireblocks/sdk/model/BlockchainEnvironment.java new file mode 100644 index 00000000..00b53c32 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/BlockchainEnvironment.java @@ -0,0 +1,64 @@ +/* + * 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; + +/** Blockchain network environment. */ +public enum BlockchainEnvironment { + MAINNET("MAINNET"), + + TESTNET("TESTNET"); + + private String value; + + BlockchainEnvironment(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static BlockchainEnvironment fromValue(String value) { + for (BlockchainEnvironment b : BlockchainEnvironment.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/BlockchainRpcAuth.java b/src/main/java/com/fireblocks/sdk/model/BlockchainRpcAuth.java new file mode 100644 index 00000000..45247308 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/BlockchainRpcAuth.java @@ -0,0 +1,384 @@ +/* + * 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; + +/** + * Discriminated RPC auth payload. Sent on create/update so backend can distinguish \"no + * auth\" from \"field unchanged\" on PUT updates. Credential values are stored + * inside declaredProperties and fetched at activation time; they are deliberately not carried + * through workflow context. + */ +@JsonPropertyOrder({ + BlockchainRpcAuth.JSON_PROPERTY_TYPE, + BlockchainRpcAuth.JSON_PROPERTY_USERNAME, + BlockchainRpcAuth.JSON_PROPERTY_PASSWORD, + BlockchainRpcAuth.JSON_PROPERTY_TOKEN, + BlockchainRpcAuth.JSON_PROPERTY_HEADER_NAME, + BlockchainRpcAuth.JSON_PROPERTY_HEADER_VALUE +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class BlockchainRpcAuth { + /** Authentication scheme used when calling the RPC endpoint. */ + public enum TypeEnum { + RPC_AUTH_BASIC(String.valueOf("RPC_AUTH_BASIC")), + + RPC_AUTH_BEARER(String.valueOf("RPC_AUTH_BEARER")), + + RPC_AUTH_CUSTOM_HEADER(String.valueOf("RPC_AUTH_CUSTOM_HEADER")); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + @jakarta.annotation.Nonnull private TypeEnum type; + + public static final String JSON_PROPERTY_USERNAME = "username"; + @jakarta.annotation.Nullable private String username; + + public static final String JSON_PROPERTY_PASSWORD = "password"; + @jakarta.annotation.Nullable private String password; + + public static final String JSON_PROPERTY_TOKEN = "token"; + @jakarta.annotation.Nullable private String token; + + public static final String JSON_PROPERTY_HEADER_NAME = "headerName"; + @jakarta.annotation.Nullable private String headerName; + + public static final String JSON_PROPERTY_HEADER_VALUE = "headerValue"; + @jakarta.annotation.Nullable private String headerValue; + + public BlockchainRpcAuth() {} + + @JsonCreator + public BlockchainRpcAuth( + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type) { + this.type = type; + } + + public BlockchainRpcAuth type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Authentication scheme used when calling the RPC endpoint. + * + * @return type + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TypeEnum getType() { + return type; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + public BlockchainRpcAuth username(@jakarta.annotation.Nullable String username) { + this.username = username; + return this; + } + + /** + * Username for RPC_AUTH_BASIC authentication. + * + * @return username + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_USERNAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUsername() { + return username; + } + + @JsonProperty(JSON_PROPERTY_USERNAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUsername(@jakarta.annotation.Nullable String username) { + this.username = username; + } + + public BlockchainRpcAuth password(@jakarta.annotation.Nullable String password) { + this.password = password; + return this; + } + + /** + * Password for RPC_AUTH_BASIC authentication. + * + * @return password + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PASSWORD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPassword() { + return password; + } + + @JsonProperty(JSON_PROPERTY_PASSWORD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPassword(@jakarta.annotation.Nullable String password) { + this.password = password; + } + + public BlockchainRpcAuth token(@jakarta.annotation.Nullable String token) { + this.token = token; + return this; + } + + /** + * Bearer token for RPC_AUTH_BEARER authentication. + * + * @return token + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TOKEN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getToken() { + return token; + } + + @JsonProperty(JSON_PROPERTY_TOKEN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setToken(@jakarta.annotation.Nullable String token) { + this.token = token; + } + + public BlockchainRpcAuth headerName(@jakarta.annotation.Nullable String headerName) { + this.headerName = headerName; + return this; + } + + /** + * Header name for RPC_AUTH_CUSTOM_HEADER authentication. + * + * @return headerName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HEADER_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHeaderName() { + return headerName; + } + + @JsonProperty(JSON_PROPERTY_HEADER_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHeaderName(@jakarta.annotation.Nullable String headerName) { + this.headerName = headerName; + } + + public BlockchainRpcAuth headerValue(@jakarta.annotation.Nullable String headerValue) { + this.headerValue = headerValue; + return this; + } + + /** + * Header value for RPC_AUTH_CUSTOM_HEADER authentication. + * + * @return headerValue + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HEADER_VALUE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHeaderValue() { + return headerValue; + } + + @JsonProperty(JSON_PROPERTY_HEADER_VALUE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHeaderValue(@jakarta.annotation.Nullable String headerValue) { + this.headerValue = headerValue; + } + + /** Return true if this BlockchainRpcAuth object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BlockchainRpcAuth blockchainRpcAuth = (BlockchainRpcAuth) o; + return Objects.equals(this.type, blockchainRpcAuth.type) + && Objects.equals(this.username, blockchainRpcAuth.username) + && Objects.equals(this.password, blockchainRpcAuth.password) + && Objects.equals(this.token, blockchainRpcAuth.token) + && Objects.equals(this.headerName, blockchainRpcAuth.headerName) + && Objects.equals(this.headerValue, blockchainRpcAuth.headerValue); + } + + @Override + public int hashCode() { + return Objects.hash(type, username, password, token, headerName, headerValue); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BlockchainRpcAuth {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" username: ").append(toIndentedString(username)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" token: ").append(toIndentedString(token)).append("\n"); + sb.append(" headerName: ").append(toIndentedString(headerName)).append("\n"); + sb.append(" headerValue: ").append(toIndentedString(headerValue)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `type` to the URL query string + if (getType() != null) { + joiner.add( + String.format( + "%stype%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `username` to the URL query string + if (getUsername() != null) { + joiner.add( + String.format( + "%susername%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getUsername())))); + } + + // add `password` to the URL query string + if (getPassword() != null) { + joiner.add( + String.format( + "%spassword%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getPassword())))); + } + + // add `token` to the URL query string + if (getToken() != null) { + joiner.add( + String.format( + "%stoken%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getToken())))); + } + + // add `headerName` to the URL query string + if (getHeaderName() != null) { + joiner.add( + String.format( + "%sheaderName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHeaderName())))); + } + + // add `headerValue` to the URL query string + if (getHeaderValue() != null) { + joiner.add( + String.format( + "%sheaderValue%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHeaderValue())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/BlockchainSortField.java b/src/main/java/com/fireblocks/sdk/model/BlockchainSortField.java new file mode 100644 index 00000000..babb495e --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/BlockchainSortField.java @@ -0,0 +1,68 @@ +/* + * 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; + +/** Field to sort the blockchain list by. */ +public enum BlockchainSortField { + CREATED_AT("createdAt"), + + CHAIN_NAME("chainName"), + + SYMBOL_NAME("symbolName"), + + STATUS("status"); + + private String value; + + BlockchainSortField(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static BlockchainSortField fromValue(String value) { + for (BlockchainSortField b : BlockchainSortField.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/BlockchainStateFilter.java b/src/main/java/com/fireblocks/sdk/model/BlockchainStateFilter.java new file mode 100644 index 00000000..e819e9ad --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/BlockchainStateFilter.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; + +/** Blockchain lifecycle state used for list filtering. */ +public enum BlockchainStateFilter { + BLOCKCHAIN_STATE_CREATED("BLOCKCHAIN_STATE_CREATED"), + + BLOCKCHAIN_STATE_ACTIVATING("BLOCKCHAIN_STATE_ACTIVATING"), + + BLOCKCHAIN_STATE_ACTIVATED("BLOCKCHAIN_STATE_ACTIVATED"), + + BLOCKCHAIN_STATE_DEACTIVATING("BLOCKCHAIN_STATE_DEACTIVATING"), + + BLOCKCHAIN_STATE_DEACTIVATED("BLOCKCHAIN_STATE_DEACTIVATED"), + + BLOCKCHAIN_STATE_TECHNICAL_FAILURE("BLOCKCHAIN_STATE_TECHNICAL_FAILURE"); + + private String value; + + BlockchainStateFilter(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static BlockchainStateFilter fromValue(String value) { + for (BlockchainStateFilter b : BlockchainStateFilter.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/CreateBlockchainRequest.java b/src/main/java/com/fireblocks/sdk/model/CreateBlockchainRequest.java new file mode 100644 index 00000000..351dad61 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/CreateBlockchainRequest.java @@ -0,0 +1,147 @@ +/* + * 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 java.util.Objects; +import java.util.StringJoiner; + +/** Create blockchain request. tenant_id is derived from the JWT token context. */ +@JsonPropertyOrder({CreateBlockchainRequest.JSON_PROPERTY_DECLARED_PROPERTIES}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class CreateBlockchainRequest { + public static final String JSON_PROPERTY_DECLARED_PROPERTIES = "declaredProperties"; + @jakarta.annotation.Nonnull private BlockchainDeclaredProperties declaredProperties; + + public CreateBlockchainRequest() {} + + @JsonCreator + public CreateBlockchainRequest( + @JsonProperty(value = JSON_PROPERTY_DECLARED_PROPERTIES, required = true) + BlockchainDeclaredProperties declaredProperties) { + this.declaredProperties = declaredProperties; + } + + public CreateBlockchainRequest declaredProperties( + @jakarta.annotation.Nonnull BlockchainDeclaredProperties declaredProperties) { + this.declaredProperties = declaredProperties; + return this; + } + + /** + * Get declaredProperties + * + * @return declaredProperties + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_DECLARED_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BlockchainDeclaredProperties getDeclaredProperties() { + return declaredProperties; + } + + @JsonProperty(JSON_PROPERTY_DECLARED_PROPERTIES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setDeclaredProperties( + @jakarta.annotation.Nonnull BlockchainDeclaredProperties declaredProperties) { + this.declaredProperties = declaredProperties; + } + + /** Return true if this CreateBlockchainRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateBlockchainRequest createBlockchainRequest = (CreateBlockchainRequest) o; + return Objects.equals(this.declaredProperties, createBlockchainRequest.declaredProperties); + } + + @Override + public int hashCode() { + return Objects.hash(declaredProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateBlockchainRequest {\n"); + sb.append(" declaredProperties: ") + .append(toIndentedString(declaredProperties)) + .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 `declaredProperties` to the URL query string + if (getDeclaredProperties() != null) { + joiner.add( + getDeclaredProperties() + .toUrlQueryString(prefix + "declaredProperties" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/CreateBlockchainResponse.java b/src/main/java/com/fireblocks/sdk/model/CreateBlockchainResponse.java new file mode 100644 index 00000000..586f4f41 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/CreateBlockchainResponse.java @@ -0,0 +1,184 @@ +/* + * 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.Objects; +import java.util.StringJoiner; + +/** CreateBlockchainResponse */ +@JsonPropertyOrder({ + CreateBlockchainResponse.JSON_PROPERTY_BLOCKCHAIN, + CreateBlockchainResponse.JSON_PROPERTY_MESSAGE +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class CreateBlockchainResponse { + public static final String JSON_PROPERTY_BLOCKCHAIN = "blockchain"; + @jakarta.annotation.Nonnull private Blockchain blockchain; + + public static final String JSON_PROPERTY_MESSAGE = "message"; + @jakarta.annotation.Nonnull private String message; + + public CreateBlockchainResponse() {} + + @JsonCreator + public CreateBlockchainResponse( + @JsonProperty(value = JSON_PROPERTY_BLOCKCHAIN, required = true) Blockchain blockchain, + @JsonProperty(value = JSON_PROPERTY_MESSAGE, required = true) String message) { + this.blockchain = blockchain; + this.message = message; + } + + public CreateBlockchainResponse blockchain(@jakarta.annotation.Nonnull Blockchain blockchain) { + this.blockchain = blockchain; + return this; + } + + /** + * Get blockchain + * + * @return blockchain + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BLOCKCHAIN) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Blockchain getBlockchain() { + return blockchain; + } + + @JsonProperty(JSON_PROPERTY_BLOCKCHAIN) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBlockchain(@jakarta.annotation.Nonnull Blockchain blockchain) { + this.blockchain = blockchain; + } + + public CreateBlockchainResponse message(@jakarta.annotation.Nonnull String message) { + this.message = message; + return this; + } + + /** + * Human-readable result message. + * + * @return message + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getMessage() { + return message; + } + + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setMessage(@jakarta.annotation.Nonnull String message) { + this.message = message; + } + + /** Return true if this CreateBlockchainResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateBlockchainResponse createBlockchainResponse = (CreateBlockchainResponse) o; + return Objects.equals(this.blockchain, createBlockchainResponse.blockchain) + && Objects.equals(this.message, createBlockchainResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(blockchain, message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateBlockchainResponse {\n"); + sb.append(" blockchain: ").append(toIndentedString(blockchain)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `blockchain` to the URL query string + if (getBlockchain() != null) { + joiner.add(getBlockchain().toUrlQueryString(prefix + "blockchain" + suffix)); + } + + // add `message` to the URL query string + if (getMessage() != null) { + joiner.add( + String.format( + "%smessage%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getMessage())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/CreateTagRequest.java b/src/main/java/com/fireblocks/sdk/model/CreateTagRequest.java index cd6563c1..bb1c8dc8 100644 --- a/src/main/java/com/fireblocks/sdk/model/CreateTagRequest.java +++ b/src/main/java/com/fireblocks/sdk/model/CreateTagRequest.java @@ -18,6 +18,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fireblocks.sdk.ApiClient; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Objects; import java.util.StringJoiner; @@ -27,7 +30,8 @@ CreateTagRequest.JSON_PROPERTY_DESCRIPTION, CreateTagRequest.JSON_PROPERTY_COLOR, CreateTagRequest.JSON_PROPERTY_IS_PROTECTED, - CreateTagRequest.JSON_PROPERTY_TYPE + CreateTagRequest.JSON_PROPERTY_TYPE, + CreateTagRequest.JSON_PROPERTY_ALLOWED_ENTITY_TYPES }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -48,6 +52,11 @@ public class CreateTagRequest { public static final String JSON_PROPERTY_TYPE = "type"; @jakarta.annotation.Nullable private TagType type; + public static final String JSON_PROPERTY_ALLOWED_ENTITY_TYPES = "allowedEntityTypes"; + + @jakarta.annotation.Nullable + private List allowedEntityTypes = new ArrayList<>(Arrays.asList("vault_account")); + public CreateTagRequest() {} @JsonCreator @@ -171,6 +180,41 @@ public void setType(@jakarta.annotation.Nullable TagType type) { this.type = type; } + public CreateTagRequest allowedEntityTypes( + @jakarta.annotation.Nullable List allowedEntityTypes) { + this.allowedEntityTypes = allowedEntityTypes; + return this; + } + + public CreateTagRequest addAllowedEntityTypesItem(String allowedEntityTypesItem) { + if (this.allowedEntityTypes == null) { + this.allowedEntityTypes = new ArrayList<>(Arrays.asList("vault_account")); + } + this.allowedEntityTypes.add(allowedEntityTypesItem); + return this; + } + + /** + * Allow-list of entity types this tag may be attached to. Soft-defaults to + * ['vault_account'] when omitted, and is immutable after creation. Known values: + * vault_account (default), contact. + * + * @return allowedEntityTypes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ALLOWED_ENTITY_TYPES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getAllowedEntityTypes() { + return allowedEntityTypes; + } + + @JsonProperty(JSON_PROPERTY_ALLOWED_ENTITY_TYPES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAllowedEntityTypes( + @jakarta.annotation.Nullable List allowedEntityTypes) { + this.allowedEntityTypes = allowedEntityTypes; + } + /** Return true if this CreateTagRequest object is equal to o. */ @Override public boolean equals(Object o) { @@ -185,12 +229,13 @@ public boolean equals(Object o) { && Objects.equals(this.description, createTagRequest.description) && Objects.equals(this.color, createTagRequest.color) && Objects.equals(this.isProtected, createTagRequest.isProtected) - && Objects.equals(this.type, createTagRequest.type); + && Objects.equals(this.type, createTagRequest.type) + && Objects.equals(this.allowedEntityTypes, createTagRequest.allowedEntityTypes); } @Override public int hashCode() { - return Objects.hash(label, description, color, isProtected, type); + return Objects.hash(label, description, color, isProtected, type, allowedEntityTypes); } @Override @@ -202,6 +247,9 @@ public String toString() { sb.append(" color: ").append(toIndentedString(color)).append("\n"); sb.append(" isProtected: ").append(toIndentedString(isProtected)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" allowedEntityTypes: ") + .append(toIndentedString(allowedEntityTypes)) + .append("\n"); sb.append("}"); return sb.toString(); } @@ -299,6 +347,23 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getType())))); } + // add `allowedEntityTypes` to the URL query string + if (getAllowedEntityTypes() != null) { + for (int i = 0; i < getAllowedEntityTypes().size(); i++) { + joiner.add( + String.format( + "%sallowedEntityTypes%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode( + ApiClient.valueToString(getAllowedEntityTypes().get(i))))); + } + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/EarnCurator.java b/src/main/java/com/fireblocks/sdk/model/EarnCurator.java new file mode 100644 index 00000000..43065073 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/EarnCurator.java @@ -0,0 +1,178 @@ +/* + * 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.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fireblocks.sdk.ApiClient; +import java.net.URI; +import java.util.Objects; +import java.util.StringJoiner; + +/** EarnCurator */ +@JsonPropertyOrder({EarnCurator.JSON_PROPERTY_NAME, EarnCurator.JSON_PROPERTY_ICON_URL}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class EarnCurator { + public static final String JSON_PROPERTY_NAME = "name"; + @jakarta.annotation.Nullable private String name; + + public static final String JSON_PROPERTY_ICON_URL = "iconUrl"; + @jakarta.annotation.Nullable private URI iconUrl; + + public EarnCurator() {} + + public EarnCurator name(@jakarta.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Curator display name. + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setName(@jakarta.annotation.Nullable String name) { + this.name = name; + } + + public EarnCurator iconUrl(@jakarta.annotation.Nullable URI iconUrl) { + this.iconUrl = iconUrl; + return this; + } + + /** + * URL of the curator's icon/logo. + * + * @return iconUrl + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ICON_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public URI getIconUrl() { + return iconUrl; + } + + @JsonProperty(JSON_PROPERTY_ICON_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIconUrl(@jakarta.annotation.Nullable URI iconUrl) { + this.iconUrl = iconUrl; + } + + /** Return true if this EarnCurator object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EarnCurator earnCurator = (EarnCurator) o; + return Objects.equals(this.name, earnCurator.name) + && Objects.equals(this.iconUrl, earnCurator.iconUrl); + } + + @Override + public int hashCode() { + return Objects.hash(name, iconUrl); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EarnCurator {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" iconUrl: ").append(toIndentedString(iconUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add( + String.format( + "%sname%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `iconUrl` to the URL query string + if (getIconUrl() != null) { + joiner.add( + String.format( + "%siconUrl%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIconUrl())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/EarnMetadata.java b/src/main/java/com/fireblocks/sdk/model/EarnMetadata.java new file mode 100644 index 00000000..71abbb80 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/EarnMetadata.java @@ -0,0 +1,178 @@ +/* + * 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.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fireblocks.sdk.ApiClient; +import java.net.URI; +import java.util.Objects; +import java.util.StringJoiner; + +/** EarnMetadata */ +@JsonPropertyOrder({EarnMetadata.JSON_PROPERTY_NAME, EarnMetadata.JSON_PROPERTY_ICON_URL}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class EarnMetadata { + public static final String JSON_PROPERTY_NAME = "name"; + @jakarta.annotation.Nullable private String name; + + public static final String JSON_PROPERTY_ICON_URL = "iconUrl"; + @jakarta.annotation.Nullable private URI iconUrl; + + public EarnMetadata() {} + + public EarnMetadata name(@jakarta.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Protocol display name (e.g. \"Aave\", \"Aave Horizon\"). + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setName(@jakarta.annotation.Nullable String name) { + this.name = name; + } + + public EarnMetadata iconUrl(@jakarta.annotation.Nullable URI iconUrl) { + this.iconUrl = iconUrl; + return this; + } + + /** + * URL of the protocol's icon/logo. + * + * @return iconUrl + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ICON_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public URI getIconUrl() { + return iconUrl; + } + + @JsonProperty(JSON_PROPERTY_ICON_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIconUrl(@jakarta.annotation.Nullable URI iconUrl) { + this.iconUrl = iconUrl; + } + + /** Return true if this EarnMetadata object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EarnMetadata earnMetadata = (EarnMetadata) o; + return Objects.equals(this.name, earnMetadata.name) + && Objects.equals(this.iconUrl, earnMetadata.iconUrl); + } + + @Override + public int hashCode() { + return Objects.hash(name, iconUrl); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EarnMetadata {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" iconUrl: ").append(toIndentedString(iconUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add( + String.format( + "%sname%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `iconUrl` to the URL query string + if (getIconUrl() != null) { + joiner.add( + String.format( + "%siconUrl%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIconUrl())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/GetAutomationSettingsResponse.java b/src/main/java/com/fireblocks/sdk/model/GetAutomationSettingsResponse.java new file mode 100644 index 00000000..d6cf4875 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/GetAutomationSettingsResponse.java @@ -0,0 +1,171 @@ +/* + * 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 java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.StringJoiner; + +/** GetAutomationSettingsResponse */ +@JsonPropertyOrder({GetAutomationSettingsResponse.JSON_PROPERTY_SETTINGS}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class GetAutomationSettingsResponse { + public static final String JSON_PROPERTY_SETTINGS = "settings"; + @jakarta.annotation.Nonnull private List settings; + + public GetAutomationSettingsResponse() {} + + @JsonCreator + public GetAutomationSettingsResponse( + @JsonProperty(value = JSON_PROPERTY_SETTINGS, required = true) + List settings) { + this.settings = settings; + } + + public GetAutomationSettingsResponse settings( + @jakarta.annotation.Nonnull List settings) { + this.settings = settings; + return this; + } + + public GetAutomationSettingsResponse addSettingsItem(AutomationSettingsResponse settingsItem) { + if (this.settings == null) { + this.settings = new ArrayList<>(); + } + this.settings.add(settingsItem); + return this; + } + + /** + * The deposit automations configured for the vault account. + * + * @return settings + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getSettings() { + return settings; + } + + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setSettings(@jakarta.annotation.Nonnull List settings) { + this.settings = settings; + } + + /** Return true if this GetAutomationSettingsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetAutomationSettingsResponse getAutomationSettingsResponse = + (GetAutomationSettingsResponse) o; + return Objects.equals(this.settings, getAutomationSettingsResponse.settings); + } + + @Override + public int hashCode() { + return Objects.hash(settings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetAutomationSettingsResponse {\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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 `settings` to the URL query string + if (getSettings() != null) { + for (int i = 0; i < getSettings().size(); i++) { + if (getSettings().get(i) != null) { + joiner.add( + getSettings() + .get(i) + .toUrlQueryString( + String.format( + "%ssettings%s%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", + containerPrefix, + i, + containerSuffix)))); + } + } + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/GetBillingInfoResponse.java b/src/main/java/com/fireblocks/sdk/model/GetBillingInfoResponse.java new file mode 100644 index 00000000..4918ad0c --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/GetBillingInfoResponse.java @@ -0,0 +1,209 @@ +/* + * 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.math.BigDecimal; +import java.util.Objects; +import java.util.StringJoiner; + +/** GetBillingInfoResponse */ +@JsonPropertyOrder({ + GetBillingInfoResponse.JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_LIMIT, + GetBillingInfoResponse.JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_USED +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class GetBillingInfoResponse { + public static final String JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_LIMIT = + "activatedBlockchainsLimit"; + @jakarta.annotation.Nonnull private BigDecimal activatedBlockchainsLimit; + + public static final String JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_USED = + "activatedBlockchainsUsed"; + @jakarta.annotation.Nonnull private BigDecimal activatedBlockchainsUsed; + + public GetBillingInfoResponse() {} + + @JsonCreator + public GetBillingInfoResponse( + @JsonProperty(value = JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_LIMIT, required = true) + BigDecimal activatedBlockchainsLimit, + @JsonProperty(value = JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_USED, required = true) + BigDecimal activatedBlockchainsUsed) { + this.activatedBlockchainsLimit = activatedBlockchainsLimit; + this.activatedBlockchainsUsed = activatedBlockchainsUsed; + } + + public GetBillingInfoResponse activatedBlockchainsLimit( + @jakarta.annotation.Nonnull BigDecimal activatedBlockchainsLimit) { + this.activatedBlockchainsLimit = activatedBlockchainsLimit; + return this; + } + + /** + * Maximum number of activated blockchains allowed for this tenant (0 = not purchased). + * + * @return activatedBlockchainsLimit + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_LIMIT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BigDecimal getActivatedBlockchainsLimit() { + return activatedBlockchainsLimit; + } + + @JsonProperty(JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_LIMIT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setActivatedBlockchainsLimit( + @jakarta.annotation.Nonnull BigDecimal activatedBlockchainsLimit) { + this.activatedBlockchainsLimit = activatedBlockchainsLimit; + } + + public GetBillingInfoResponse activatedBlockchainsUsed( + @jakarta.annotation.Nonnull BigDecimal activatedBlockchainsUsed) { + this.activatedBlockchainsUsed = activatedBlockchainsUsed; + return this; + } + + /** + * Number of blockchains currently in Activating, Activated, or Deactivating state for this + * tenant. Filter-independent (ignores list filters/pagination). + * + * @return activatedBlockchainsUsed + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_USED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BigDecimal getActivatedBlockchainsUsed() { + return activatedBlockchainsUsed; + } + + @JsonProperty(JSON_PROPERTY_ACTIVATED_BLOCKCHAINS_USED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setActivatedBlockchainsUsed( + @jakarta.annotation.Nonnull BigDecimal activatedBlockchainsUsed) { + this.activatedBlockchainsUsed = activatedBlockchainsUsed; + } + + /** Return true if this GetBillingInfoResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetBillingInfoResponse getBillingInfoResponse = (GetBillingInfoResponse) o; + return Objects.equals( + this.activatedBlockchainsLimit, + getBillingInfoResponse.activatedBlockchainsLimit) + && Objects.equals( + this.activatedBlockchainsUsed, + getBillingInfoResponse.activatedBlockchainsUsed); + } + + @Override + public int hashCode() { + return Objects.hash(activatedBlockchainsLimit, activatedBlockchainsUsed); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetBillingInfoResponse {\n"); + sb.append(" activatedBlockchainsLimit: ") + .append(toIndentedString(activatedBlockchainsLimit)) + .append("\n"); + sb.append(" activatedBlockchainsUsed: ") + .append(toIndentedString(activatedBlockchainsUsed)) + .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 `activatedBlockchainsLimit` to the URL query string + if (getActivatedBlockchainsLimit() != null) { + joiner.add( + String.format( + "%sactivatedBlockchainsLimit%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getActivatedBlockchainsLimit())))); + } + + // add `activatedBlockchainsUsed` to the URL query string + if (getActivatedBlockchainsUsed() != null) { + joiner.add( + String.format( + "%sactivatedBlockchainsUsed%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getActivatedBlockchainsUsed())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/GetBlockchainByIdResponse.java b/src/main/java/com/fireblocks/sdk/model/GetBlockchainByIdResponse.java new file mode 100644 index 00000000..e2e111c2 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/GetBlockchainByIdResponse.java @@ -0,0 +1,141 @@ +/* + * 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 java.util.Objects; +import java.util.StringJoiner; + +/** GetBlockchainByIdResponse */ +@JsonPropertyOrder({GetBlockchainByIdResponse.JSON_PROPERTY_BLOCKCHAIN}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class GetBlockchainByIdResponse { + public static final String JSON_PROPERTY_BLOCKCHAIN = "blockchain"; + @jakarta.annotation.Nonnull private Blockchain blockchain; + + public GetBlockchainByIdResponse() {} + + @JsonCreator + public GetBlockchainByIdResponse( + @JsonProperty(value = JSON_PROPERTY_BLOCKCHAIN, required = true) + Blockchain blockchain) { + this.blockchain = blockchain; + } + + public GetBlockchainByIdResponse blockchain(@jakarta.annotation.Nonnull Blockchain blockchain) { + this.blockchain = blockchain; + return this; + } + + /** + * Get blockchain + * + * @return blockchain + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BLOCKCHAIN) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Blockchain getBlockchain() { + return blockchain; + } + + @JsonProperty(JSON_PROPERTY_BLOCKCHAIN) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBlockchain(@jakarta.annotation.Nonnull Blockchain blockchain) { + this.blockchain = blockchain; + } + + /** Return true if this GetBlockchainByIdResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetBlockchainByIdResponse getBlockchainByIdResponse = (GetBlockchainByIdResponse) o; + return Objects.equals(this.blockchain, getBlockchainByIdResponse.blockchain); + } + + @Override + public int hashCode() { + return Objects.hash(blockchain); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetBlockchainByIdResponse {\n"); + sb.append(" blockchain: ").append(toIndentedString(blockchain)).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 `blockchain` to the URL query string + if (getBlockchain() != null) { + joiner.add(getBlockchain().toUrlQueryString(prefix + "blockchain" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponse.java b/src/main/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponse.java new file mode 100644 index 00000000..6f496266 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponse.java @@ -0,0 +1,152 @@ +/* + * 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.Objects; +import java.util.StringJoiner; + +/** GetConnectedAccountsCredentialsPublicKeyResponse */ +@JsonPropertyOrder({GetConnectedAccountsCredentialsPublicKeyResponse.JSON_PROPERTY_PUBLIC_KEY}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class GetConnectedAccountsCredentialsPublicKeyResponse { + public static final String JSON_PROPERTY_PUBLIC_KEY = "publicKey"; + @jakarta.annotation.Nonnull private String publicKey; + + public GetConnectedAccountsCredentialsPublicKeyResponse() {} + + @JsonCreator + public GetConnectedAccountsCredentialsPublicKeyResponse( + @JsonProperty(value = JSON_PROPERTY_PUBLIC_KEY, required = true) String publicKey) { + this.publicKey = publicKey; + } + + public GetConnectedAccountsCredentialsPublicKeyResponse publicKey( + @jakarta.annotation.Nonnull String publicKey) { + this.publicKey = publicKey; + return this; + } + + /** + * RSA public key (PEM) used to encrypt credential payloads sent to POST /connected_accounts. + * + * @return publicKey + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_PUBLIC_KEY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getPublicKey() { + return publicKey; + } + + @JsonProperty(JSON_PROPERTY_PUBLIC_KEY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setPublicKey(@jakarta.annotation.Nonnull String publicKey) { + this.publicKey = publicKey; + } + + /** + * Return true if this GetConnectedAccountsCredentialsPublicKeyResponse object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetConnectedAccountsCredentialsPublicKeyResponse + getConnectedAccountsCredentialsPublicKeyResponse = + (GetConnectedAccountsCredentialsPublicKeyResponse) o; + return Objects.equals( + this.publicKey, getConnectedAccountsCredentialsPublicKeyResponse.publicKey); + } + + @Override + public int hashCode() { + return Objects.hash(publicKey); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetConnectedAccountsCredentialsPublicKeyResponse {\n"); + sb.append(" publicKey: ").append(toIndentedString(publicKey)).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 `publicKey` to the URL query string + if (getPublicKey() != null) { + joiner.add( + String.format( + "%spublicKey%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getPublicKey())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/GetTestWalletAddressResponse.java b/src/main/java/com/fireblocks/sdk/model/GetTestWalletAddressResponse.java new file mode 100644 index 00000000..886ae4c7 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/GetTestWalletAddressResponse.java @@ -0,0 +1,144 @@ +/* + * 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.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** GetTestWalletAddressResponse */ +@JsonPropertyOrder({GetTestWalletAddressResponse.JSON_PROPERTY_TEST_WALLET_ADDRESS}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class GetTestWalletAddressResponse { + public static final String JSON_PROPERTY_TEST_WALLET_ADDRESS = "testWalletAddress"; + @jakarta.annotation.Nullable private String testWalletAddress; + + public GetTestWalletAddressResponse() {} + + public GetTestWalletAddressResponse testWalletAddress( + @jakarta.annotation.Nullable String testWalletAddress) { + this.testWalletAddress = testWalletAddress; + return this; + } + + /** + * Ethereum address derived from BLOCKCHAIN_LINK_EXTERNAL_WALLET_PRIVATE_KEY (for UI display). + * + * @return testWalletAddress + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TEST_WALLET_ADDRESS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTestWalletAddress() { + return testWalletAddress; + } + + @JsonProperty(JSON_PROPERTY_TEST_WALLET_ADDRESS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTestWalletAddress(@jakarta.annotation.Nullable String testWalletAddress) { + this.testWalletAddress = testWalletAddress; + } + + /** Return true if this GetTestWalletAddressResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetTestWalletAddressResponse getTestWalletAddressResponse = + (GetTestWalletAddressResponse) o; + return Objects.equals( + this.testWalletAddress, getTestWalletAddressResponse.testWalletAddress); + } + + @Override + public int hashCode() { + return Objects.hash(testWalletAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetTestWalletAddressResponse {\n"); + sb.append(" testWalletAddress: ") + .append(toIndentedString(testWalletAddress)) + .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 `testWalletAddress` to the URL query string + if (getTestWalletAddress() != null) { + joiner.add( + String.format( + "%stestWalletAddress%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getTestWalletAddress())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/ListBlockchainsResponse2.java b/src/main/java/com/fireblocks/sdk/model/ListBlockchainsResponse2.java new file mode 100644 index 00000000..f27c237f --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/ListBlockchainsResponse2.java @@ -0,0 +1,293 @@ +/* + * 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.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.StringJoiner; + +/** ListBlockchainsResponse2 */ +@JsonPropertyOrder({ + ListBlockchainsResponse2.JSON_PROPERTY_DATA, + ListBlockchainsResponse2.JSON_PROPERTY_TOTAL, + ListBlockchainsResponse2.JSON_PROPERTY_NEXT, + ListBlockchainsResponse2.JSON_PROPERTY_PREV +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class ListBlockchainsResponse2 { + public static final String JSON_PROPERTY_DATA = "data"; + @jakarta.annotation.Nonnull private List data; + + public static final String JSON_PROPERTY_TOTAL = "total"; + @jakarta.annotation.Nonnull private BigDecimal total; + + public static final String JSON_PROPERTY_NEXT = "next"; + @jakarta.annotation.Nullable private String next; + + public static final String JSON_PROPERTY_PREV = "prev"; + @jakarta.annotation.Nullable private String prev; + + public ListBlockchainsResponse2() {} + + @JsonCreator + public ListBlockchainsResponse2( + @JsonProperty(value = JSON_PROPERTY_DATA, required = true) List data, + @JsonProperty(value = JSON_PROPERTY_TOTAL, required = true) BigDecimal total) { + this.data = data; + this.total = total; + } + + public ListBlockchainsResponse2 data(@jakarta.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public ListBlockchainsResponse2 addDataItem(Blockchain dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Blockchains for the current page. + * + * @return data + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setData(@jakarta.annotation.Nonnull List data) { + this.data = data; + } + + public ListBlockchainsResponse2 total(@jakarta.annotation.Nonnull BigDecimal total) { + this.total = total; + return this; + } + + /** + * Total number of items across all pages, matching the current filter. + * + * @return total + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TOTAL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public BigDecimal getTotal() { + return total; + } + + @JsonProperty(JSON_PROPERTY_TOTAL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTotal(@jakarta.annotation.Nonnull BigDecimal total) { + this.total = total; + } + + public ListBlockchainsResponse2 next(@jakarta.annotation.Nullable String next) { + this.next = next; + return this; + } + + /** + * Cursor for the next page; absent when the current page is the last. Opaque base64 blob + * bundling the target pageCursor and current query params (pageSize, search, status, + * statusExclude, blockchainEnv, sortBy, order). + * + * @return next + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NEXT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNext() { + return next; + } + + @JsonProperty(JSON_PROPERTY_NEXT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNext(@jakarta.annotation.Nullable String next) { + this.next = next; + } + + public ListBlockchainsResponse2 prev(@jakarta.annotation.Nullable String prev) { + this.prev = prev; + return this; + } + + /** + * Cursor for the previous page; absent when the current page is the first. + * + * @return prev + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PREV) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPrev() { + return prev; + } + + @JsonProperty(JSON_PROPERTY_PREV) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPrev(@jakarta.annotation.Nullable String prev) { + this.prev = prev; + } + + /** Return true if this ListBlockchainsResponse-2 object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListBlockchainsResponse2 listBlockchainsResponse2 = (ListBlockchainsResponse2) o; + return Objects.equals(this.data, listBlockchainsResponse2.data) + && Objects.equals(this.total, listBlockchainsResponse2.total) + && Objects.equals(this.next, listBlockchainsResponse2.next) + && Objects.equals(this.prev, listBlockchainsResponse2.prev); + } + + @Override + public int hashCode() { + return Objects.hash(data, total, next, prev); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ListBlockchainsResponse2 {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" next: ").append(toIndentedString(next)).append("\n"); + sb.append(" prev: ").append(toIndentedString(prev)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add( + getData() + .get(i) + .toUrlQueryString( + String.format( + "%sdata%s%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", + containerPrefix, + i, + containerSuffix)))); + } + } + } + + // add `total` to the URL query string + if (getTotal() != null) { + joiner.add( + String.format( + "%stotal%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getTotal())))); + } + + // add `next` to the URL query string + if (getNext() != null) { + joiner.add( + String.format( + "%snext%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getNext())))); + } + + // add `prev` to the URL query string + if (getPrev() != null) { + joiner.add( + String.format( + "%sprev%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getPrev())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/MomoPaymentInfo.java b/src/main/java/com/fireblocks/sdk/model/MomoPaymentInfo.java index de99553e..44262d9b 100644 --- a/src/main/java/com/fireblocks/sdk/model/MomoPaymentInfo.java +++ b/src/main/java/com/fireblocks/sdk/model/MomoPaymentInfo.java @@ -129,7 +129,9 @@ public enum ProviderEnum { TIGO(String.valueOf("TIGO")), - WAVE(String.valueOf("WAVE")); + WAVE(String.valueOf("WAVE")), + + ORANGE(String.valueOf("ORANGE")); private String value; diff --git a/src/main/java/com/fireblocks/sdk/model/Opportunity.java b/src/main/java/com/fireblocks/sdk/model/Opportunity.java index 7761d4de..82fd2e5b 100644 --- a/src/main/java/com/fireblocks/sdk/model/Opportunity.java +++ b/src/main/java/com/fireblocks/sdk/model/Opportunity.java @@ -36,12 +36,16 @@ Opportunity.JSON_PROPERTY_PRINCIPAL_ASSET, Opportunity.JSON_PROPERTY_POSITION_ASSET, Opportunity.JSON_PROPERTY_TOTAL_ASSETS, + Opportunity.JSON_PROPERTY_TOTAL_ASSETS_USD, Opportunity.JSON_PROPERTY_LIQUIDITY, + Opportunity.JSON_PROPERTY_LIQUIDITY_USD, Opportunity.JSON_PROPERTY_APY, Opportunity.JSON_PROPERTY_PERFORMANCE_FEE, Opportunity.JSON_PROPERTY_MANAGEMENT_FEE, Opportunity.JSON_PROPERTY_EXPOSURE_TYPE, - Opportunity.JSON_PROPERTY_EXPOSURE + Opportunity.JSON_PROPERTY_EXPOSURE, + Opportunity.JSON_PROPERTY_CURATOR, + Opportunity.JSON_PROPERTY_METADATA }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -143,9 +147,15 @@ public static TypeEnum fromValue(String value) { public static final String JSON_PROPERTY_TOTAL_ASSETS = "totalAssets"; @jakarta.annotation.Nullable private String totalAssets; + public static final String JSON_PROPERTY_TOTAL_ASSETS_USD = "totalAssetsUsd"; + @jakarta.annotation.Nullable private String totalAssetsUsd; + public static final String JSON_PROPERTY_LIQUIDITY = "liquidity"; @jakarta.annotation.Nullable private String liquidity; + public static final String JSON_PROPERTY_LIQUIDITY_USD = "liquidityUsd"; + @jakarta.annotation.Nullable private String liquidityUsd; + public static final String JSON_PROPERTY_APY = "apy"; @jakarta.annotation.Nullable private Apy apy; @@ -199,6 +209,12 @@ public static ExposureTypeEnum fromValue(String value) { public static final String JSON_PROPERTY_EXPOSURE = "exposure"; @jakarta.annotation.Nullable private List exposure; + public static final String JSON_PROPERTY_CURATOR = "curator"; + @jakarta.annotation.Nullable private EarnCurator curator; + + public static final String JSON_PROPERTY_METADATA = "metadata"; + @jakarta.annotation.Nullable private EarnMetadata metadata; + public Opportunity() {} public Opportunity id(@jakarta.annotation.Nullable String id) { @@ -431,6 +447,29 @@ public void setTotalAssets(@jakarta.annotation.Nullable String totalAssets) { this.totalAssets = totalAssets; } + public Opportunity totalAssetsUsd(@jakarta.annotation.Nullable String totalAssetsUsd) { + this.totalAssetsUsd = totalAssetsUsd; + return this; + } + + /** + * USD-denominated total assets / TVL. + * + * @return totalAssetsUsd + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TOTAL_ASSETS_USD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTotalAssetsUsd() { + return totalAssetsUsd; + } + + @JsonProperty(JSON_PROPERTY_TOTAL_ASSETS_USD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTotalAssetsUsd(@jakarta.annotation.Nullable String totalAssetsUsd) { + this.totalAssetsUsd = totalAssetsUsd; + } + public Opportunity liquidity(@jakarta.annotation.Nullable String liquidity) { this.liquidity = liquidity; return this; @@ -454,6 +493,29 @@ public void setLiquidity(@jakarta.annotation.Nullable String liquidity) { this.liquidity = liquidity; } + public Opportunity liquidityUsd(@jakarta.annotation.Nullable String liquidityUsd) { + this.liquidityUsd = liquidityUsd; + return this; + } + + /** + * USD-denominated available liquidity. + * + * @return liquidityUsd + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LIQUIDITY_USD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLiquidityUsd() { + return liquidityUsd; + } + + @JsonProperty(JSON_PROPERTY_LIQUIDITY_USD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLiquidityUsd(@jakarta.annotation.Nullable String liquidityUsd) { + this.liquidityUsd = liquidityUsd; + } + public Opportunity apy(@jakarta.annotation.Nullable Apy apy) { this.apy = apy; return this; @@ -579,6 +641,52 @@ public void setExposure(@jakarta.annotation.Nullable List exposure) { this.exposure = exposure; } + public Opportunity curator(@jakarta.annotation.Nullable EarnCurator curator) { + this.curator = curator; + return this; + } + + /** + * Curator information for Morpho vaults. + * + * @return curator + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CURATOR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EarnCurator getCurator() { + return curator; + } + + @JsonProperty(JSON_PROPERTY_CURATOR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCurator(@jakarta.annotation.Nullable EarnCurator curator) { + this.curator = curator; + } + + public Opportunity metadata(@jakarta.annotation.Nullable EarnMetadata metadata) { + this.metadata = metadata; + return this; + } + + /** + * Protocol-level metadata (display name and logo). + * + * @return metadata + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_METADATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EarnMetadata getMetadata() { + return metadata; + } + + @JsonProperty(JSON_PROPERTY_METADATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMetadata(@jakarta.annotation.Nullable EarnMetadata metadata) { + this.metadata = metadata; + } + /** Return true if this Opportunity object is equal to o. */ @Override public boolean equals(Object o) { @@ -599,12 +707,16 @@ public boolean equals(Object o) { && Objects.equals(this.principalAsset, opportunity.principalAsset) && Objects.equals(this.positionAsset, opportunity.positionAsset) && Objects.equals(this.totalAssets, opportunity.totalAssets) + && Objects.equals(this.totalAssetsUsd, opportunity.totalAssetsUsd) && Objects.equals(this.liquidity, opportunity.liquidity) + && Objects.equals(this.liquidityUsd, opportunity.liquidityUsd) && Objects.equals(this.apy, opportunity.apy) && Objects.equals(this.performanceFee, opportunity.performanceFee) && Objects.equals(this.managementFee, opportunity.managementFee) && Objects.equals(this.exposureType, opportunity.exposureType) - && Objects.equals(this.exposure, opportunity.exposure); + && Objects.equals(this.exposure, opportunity.exposure) + && Objects.equals(this.curator, opportunity.curator) + && Objects.equals(this.metadata, opportunity.metadata); } @Override @@ -620,12 +732,16 @@ public int hashCode() { principalAsset, positionAsset, totalAssets, + totalAssetsUsd, liquidity, + liquidityUsd, apy, performanceFee, managementFee, exposureType, - exposure); + exposure, + curator, + metadata); } @Override @@ -642,12 +758,16 @@ public String toString() { sb.append(" principalAsset: ").append(toIndentedString(principalAsset)).append("\n"); sb.append(" positionAsset: ").append(toIndentedString(positionAsset)).append("\n"); sb.append(" totalAssets: ").append(toIndentedString(totalAssets)).append("\n"); + sb.append(" totalAssetsUsd: ").append(toIndentedString(totalAssetsUsd)).append("\n"); sb.append(" liquidity: ").append(toIndentedString(liquidity)).append("\n"); + sb.append(" liquidityUsd: ").append(toIndentedString(liquidityUsd)).append("\n"); sb.append(" apy: ").append(toIndentedString(apy)).append("\n"); sb.append(" performanceFee: ").append(toIndentedString(performanceFee)).append("\n"); sb.append(" managementFee: ").append(toIndentedString(managementFee)).append("\n"); sb.append(" exposureType: ").append(toIndentedString(exposureType)).append("\n"); sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" curator: ").append(toIndentedString(curator)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); sb.append("}"); return sb.toString(); } @@ -783,6 +903,16 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getTotalAssets())))); } + // add `totalAssetsUsd` to the URL query string + if (getTotalAssetsUsd() != null) { + joiner.add( + String.format( + "%stotalAssetsUsd%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getTotalAssetsUsd())))); + } + // add `liquidity` to the URL query string if (getLiquidity() != null) { joiner.add( @@ -793,6 +923,16 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getLiquidity())))); } + // add `liquidityUsd` to the URL query string + if (getLiquidityUsd() != null) { + joiner.add( + String.format( + "%sliquidityUsd%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getLiquidityUsd())))); + } + // add `apy` to the URL query string if (getApy() != null) { joiner.add(getApy().toUrlQueryString(prefix + "apy" + suffix)); @@ -851,6 +991,16 @@ public String toUrlQueryString(String prefix) { } } + // add `curator` to the URL query string + if (getCurator() != null) { + joiner.add(getCurator().toUrlQueryString(prefix + "curator" + suffix)); + } + + // add `metadata` to the URL query string + if (getMetadata() != null) { + joiner.add(getMetadata().toUrlQueryString(prefix + "metadata" + suffix)); + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipant.java b/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipant.java new file mode 100644 index 00000000..c2e2d889 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipant.java @@ -0,0 +1,187 @@ +/* + * 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.Objects; +import java.util.StringJoiner; + +/** Participant identifier for AOT quota calculation */ +@JsonPropertyOrder({ + PolicyRuleQuotaParticipant.JSON_PROPERTY_ID, + PolicyRuleQuotaParticipant.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class PolicyRuleQuotaParticipant { + public static final String JSON_PROPERTY_ID = "id"; + @jakarta.annotation.Nonnull private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + @jakarta.annotation.Nonnull private String type; + + public PolicyRuleQuotaParticipant() {} + + @JsonCreator + public PolicyRuleQuotaParticipant( + @JsonProperty(value = JSON_PROPERTY_ID, required = true) String id, + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) String type) { + this.id = id; + this.type = type; + } + + public PolicyRuleQuotaParticipant id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Participant identifier (integer for VAULT accounts, UUID for others) + * + * @return id + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + public PolicyRuleQuotaParticipant type(@jakarta.annotation.Nonnull String type) { + this.type = type; + return this; + } + + /** + * Participant type + * + * @return type + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getType() { + return type; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@jakarta.annotation.Nonnull String type) { + this.type = type; + } + + /** Return true if this PolicyRuleQuotaParticipant object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PolicyRuleQuotaParticipant policyRuleQuotaParticipant = (PolicyRuleQuotaParticipant) o; + return Objects.equals(this.id, policyRuleQuotaParticipant.id) + && Objects.equals(this.type, policyRuleQuotaParticipant.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PolicyRuleQuotaParticipant {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add( + String.format( + "%sid%s=%s", + prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add( + String.format( + "%stype%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequest.java b/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequest.java new file mode 100644 index 00000000..12a55656 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequest.java @@ -0,0 +1,258 @@ +/* + * 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.Objects; +import java.util.StringJoiner; + +/** PolicyRuleQuotaRequest */ +@JsonPropertyOrder({ + PolicyRuleQuotaRequest.JSON_PROPERTY_RULE_ID, + PolicyRuleQuotaRequest.JSON_PROPERTY_INITIATOR, + PolicyRuleQuotaRequest.JSON_PROPERTY_SOURCE, + PolicyRuleQuotaRequest.JSON_PROPERTY_DESTINATION +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class PolicyRuleQuotaRequest { + public static final String JSON_PROPERTY_RULE_ID = "ruleId"; + @jakarta.annotation.Nonnull private String ruleId; + + public static final String JSON_PROPERTY_INITIATOR = "initiator"; + @jakarta.annotation.Nullable private String initiator; + + public static final String JSON_PROPERTY_SOURCE = "source"; + @jakarta.annotation.Nullable private PolicyRuleQuotaParticipant source; + + public static final String JSON_PROPERTY_DESTINATION = "destination"; + @jakarta.annotation.Nullable private PolicyRuleQuotaParticipant destination; + + public PolicyRuleQuotaRequest() {} + + @JsonCreator + public PolicyRuleQuotaRequest( + @JsonProperty(value = JSON_PROPERTY_RULE_ID, required = true) String ruleId) { + this.ruleId = ruleId; + } + + public PolicyRuleQuotaRequest ruleId(@jakarta.annotation.Nonnull String ruleId) { + this.ruleId = ruleId; + return this; + } + + /** + * The ID of the policy rule to calculate AOT quota for + * + * @return ruleId + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_RULE_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getRuleId() { + return ruleId; + } + + @JsonProperty(JSON_PROPERTY_RULE_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setRuleId(@jakarta.annotation.Nonnull String ruleId) { + this.ruleId = ruleId; + } + + public PolicyRuleQuotaRequest initiator(@jakarta.annotation.Nullable String initiator) { + this.initiator = initiator; + return this; + } + + /** + * Optional initiator identifier for the AOT calculation + * + * @return initiator + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INITIATOR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getInitiator() { + return initiator; + } + + @JsonProperty(JSON_PROPERTY_INITIATOR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setInitiator(@jakarta.annotation.Nullable String initiator) { + this.initiator = initiator; + } + + public PolicyRuleQuotaRequest source( + @jakarta.annotation.Nullable PolicyRuleQuotaParticipant source) { + this.source = source; + return this; + } + + /** + * Get source + * + * @return source + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SOURCE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public PolicyRuleQuotaParticipant getSource() { + return source; + } + + @JsonProperty(JSON_PROPERTY_SOURCE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSource(@jakarta.annotation.Nullable PolicyRuleQuotaParticipant source) { + this.source = source; + } + + public PolicyRuleQuotaRequest destination( + @jakarta.annotation.Nullable PolicyRuleQuotaParticipant destination) { + this.destination = destination; + return this; + } + + /** + * Get destination + * + * @return destination + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DESTINATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public PolicyRuleQuotaParticipant getDestination() { + return destination; + } + + @JsonProperty(JSON_PROPERTY_DESTINATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDestination( + @jakarta.annotation.Nullable PolicyRuleQuotaParticipant destination) { + this.destination = destination; + } + + /** Return true if this PolicyRuleQuotaRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PolicyRuleQuotaRequest policyRuleQuotaRequest = (PolicyRuleQuotaRequest) o; + return Objects.equals(this.ruleId, policyRuleQuotaRequest.ruleId) + && Objects.equals(this.initiator, policyRuleQuotaRequest.initiator) + && Objects.equals(this.source, policyRuleQuotaRequest.source) + && Objects.equals(this.destination, policyRuleQuotaRequest.destination); + } + + @Override + public int hashCode() { + return Objects.hash(ruleId, initiator, source, destination); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PolicyRuleQuotaRequest {\n"); + sb.append(" ruleId: ").append(toIndentedString(ruleId)).append("\n"); + sb.append(" initiator: ").append(toIndentedString(initiator)).append("\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); + sb.append(" destination: ").append(toIndentedString(destination)).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 `ruleId` to the URL query string + if (getRuleId() != null) { + joiner.add( + String.format( + "%sruleId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getRuleId())))); + } + + // add `initiator` to the URL query string + if (getInitiator() != null) { + joiner.add( + String.format( + "%sinitiator%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getInitiator())))); + } + + // add `source` to the URL query string + if (getSource() != null) { + joiner.add(getSource().toUrlQueryString(prefix + "source" + suffix)); + } + + // add `destination` to the URL query string + if (getDestination() != null) { + joiner.add(getDestination().toUrlQueryString(prefix + "destination" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponse.java b/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponse.java new file mode 100644 index 00000000..45215a5f --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponse.java @@ -0,0 +1,337 @@ +/* + * 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.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fireblocks.sdk.ApiClient; +import java.math.BigDecimal; +import java.util.Objects; +import java.util.StringJoiner; + +/** PolicyRuleQuotaResponse */ +@JsonPropertyOrder({ + PolicyRuleQuotaResponse.JSON_PROPERTY_AMOUNT, + PolicyRuleQuotaResponse.JSON_PROPERTY_QUOTA_CONFIG, + PolicyRuleQuotaResponse.JSON_PROPERTY_CURRENCY, + PolicyRuleQuotaResponse.JSON_PROPERTY_WINDOW_START, + PolicyRuleQuotaResponse.JSON_PROPERTY_WINDOW_END, + PolicyRuleQuotaResponse.JSON_PROPERTY_TRANSACTION_COUNT +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class PolicyRuleQuotaResponse { + public static final String JSON_PROPERTY_AMOUNT = "amount"; + @jakarta.annotation.Nullable private String amount; + + public static final String JSON_PROPERTY_QUOTA_CONFIG = "quotaConfig"; + @jakarta.annotation.Nullable private AmountOverTimeConfig quotaConfig; + + public static final String JSON_PROPERTY_CURRENCY = "currency"; + @jakarta.annotation.Nullable private String currency; + + public static final String JSON_PROPERTY_WINDOW_START = "windowStart"; + @jakarta.annotation.Nullable private BigDecimal windowStart; + + public static final String JSON_PROPERTY_WINDOW_END = "windowEnd"; + @jakarta.annotation.Nullable private BigDecimal windowEnd; + + public static final String JSON_PROPERTY_TRANSACTION_COUNT = "transactionCount"; + @jakarta.annotation.Nullable private BigDecimal transactionCount; + + public PolicyRuleQuotaResponse() {} + + public PolicyRuleQuotaResponse amount(@jakarta.annotation.Nullable String amount) { + this.amount = amount; + return this; + } + + /** + * The calculated Amount Over Time (AOT) quota for the rule + * + * @return amount + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_AMOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAmount() { + return amount; + } + + @JsonProperty(JSON_PROPERTY_AMOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAmount(@jakarta.annotation.Nullable String amount) { + this.amount = amount; + } + + public PolicyRuleQuotaResponse quotaConfig( + @jakarta.annotation.Nullable AmountOverTimeConfig quotaConfig) { + this.quotaConfig = quotaConfig; + return this; + } + + /** + * Get quotaConfig + * + * @return quotaConfig + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_QUOTA_CONFIG) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AmountOverTimeConfig getQuotaConfig() { + return quotaConfig; + } + + @JsonProperty(JSON_PROPERTY_QUOTA_CONFIG) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setQuotaConfig(@jakarta.annotation.Nullable AmountOverTimeConfig quotaConfig) { + this.quotaConfig = quotaConfig; + } + + public PolicyRuleQuotaResponse currency(@jakarta.annotation.Nullable String currency) { + this.currency = currency; + return this; + } + + /** + * The currency of the AOT amount + * + * @return currency + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CURRENCY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCurrency() { + return currency; + } + + @JsonProperty(JSON_PROPERTY_CURRENCY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCurrency(@jakarta.annotation.Nullable String currency) { + this.currency = currency; + } + + public PolicyRuleQuotaResponse windowStart( + @jakarta.annotation.Nullable BigDecimal windowStart) { + this.windowStart = windowStart; + return this; + } + + /** + * Unix timestamp (seconds) of the start of the current AOT time window + * + * @return windowStart + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_WINDOW_START) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getWindowStart() { + return windowStart; + } + + @JsonProperty(JSON_PROPERTY_WINDOW_START) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setWindowStart(@jakarta.annotation.Nullable BigDecimal windowStart) { + this.windowStart = windowStart; + } + + public PolicyRuleQuotaResponse windowEnd(@jakarta.annotation.Nullable BigDecimal windowEnd) { + this.windowEnd = windowEnd; + return this; + } + + /** + * Unix timestamp (seconds) of the end of the current AOT time window (when the AOT was + * calculated) + * + * @return windowEnd + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_WINDOW_END) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getWindowEnd() { + return windowEnd; + } + + @JsonProperty(JSON_PROPERTY_WINDOW_END) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setWindowEnd(@jakarta.annotation.Nullable BigDecimal windowEnd) { + this.windowEnd = windowEnd; + } + + public PolicyRuleQuotaResponse transactionCount( + @jakarta.annotation.Nullable BigDecimal transactionCount) { + this.transactionCount = transactionCount; + return this; + } + + /** + * Number of transactions in the current AOT time window + * + * @return transactionCount + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRANSACTION_COUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BigDecimal getTransactionCount() { + return transactionCount; + } + + @JsonProperty(JSON_PROPERTY_TRANSACTION_COUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTransactionCount(@jakarta.annotation.Nullable BigDecimal transactionCount) { + this.transactionCount = transactionCount; + } + + /** Return true if this PolicyRuleQuotaResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PolicyRuleQuotaResponse policyRuleQuotaResponse = (PolicyRuleQuotaResponse) o; + return Objects.equals(this.amount, policyRuleQuotaResponse.amount) + && Objects.equals(this.quotaConfig, policyRuleQuotaResponse.quotaConfig) + && Objects.equals(this.currency, policyRuleQuotaResponse.currency) + && Objects.equals(this.windowStart, policyRuleQuotaResponse.windowStart) + && Objects.equals(this.windowEnd, policyRuleQuotaResponse.windowEnd) + && Objects.equals(this.transactionCount, policyRuleQuotaResponse.transactionCount); + } + + @Override + public int hashCode() { + return Objects.hash( + amount, quotaConfig, currency, windowStart, windowEnd, transactionCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PolicyRuleQuotaResponse {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" quotaConfig: ").append(toIndentedString(quotaConfig)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" windowStart: ").append(toIndentedString(windowStart)).append("\n"); + sb.append(" windowEnd: ").append(toIndentedString(windowEnd)).append("\n"); + sb.append(" transactionCount: ").append(toIndentedString(transactionCount)).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 `amount` to the URL query string + if (getAmount() != null) { + joiner.add( + String.format( + "%samount%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAmount())))); + } + + // add `quotaConfig` to the URL query string + if (getQuotaConfig() != null) { + joiner.add(getQuotaConfig().toUrlQueryString(prefix + "quotaConfig" + suffix)); + } + + // add `currency` to the URL query string + if (getCurrency() != null) { + joiner.add( + String.format( + "%scurrency%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCurrency())))); + } + + // add `windowStart` to the URL query string + if (getWindowStart() != null) { + joiner.add( + String.format( + "%swindowStart%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getWindowStart())))); + } + + // add `windowEnd` to the URL query string + if (getWindowEnd() != null) { + joiner.add( + String.format( + "%swindowEnd%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getWindowEnd())))); + } + + // add `transactionCount` to the URL query string + if (getTransactionCount() != null) { + joiner.add( + String.format( + "%stransactionCount%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getTransactionCount())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/Position2.java b/src/main/java/com/fireblocks/sdk/model/Position2.java index 50acc4e5..1f8e5fe3 100644 --- a/src/main/java/com/fireblocks/sdk/model/Position2.java +++ b/src/main/java/com/fireblocks/sdk/model/Position2.java @@ -42,6 +42,7 @@ Position2.JSON_PROPERTY_CREATED_AT, Position2.JSON_PROPERTY_UPDATED_AT, Position2.JSON_PROPERTY_LAST_SYNCED_AT, + Position2.JSON_PROPERTY_LAST_MODIFIED_AT, Position2.JSON_PROPERTY_AVAILABLE_ACTIONS, Position2.JSON_PROPERTY_YIELD }) @@ -229,6 +230,9 @@ public static OriginEnum fromValue(String value) { public static final String JSON_PROPERTY_LAST_SYNCED_AT = "lastSyncedAt"; @jakarta.annotation.Nullable private String lastSyncedAt; + public static final String JSON_PROPERTY_LAST_MODIFIED_AT = "lastModifiedAt"; + @jakarta.annotation.Nullable private String lastModifiedAt; + /** Gets or Sets availableActions */ public enum AvailableActionsEnum { DEPOSIT(String.valueOf("DEPOSIT")), @@ -683,6 +687,30 @@ public void setLastSyncedAt(@jakarta.annotation.Nullable String lastSyncedAt) { this.lastSyncedAt = lastSyncedAt; } + public Position2 lastModifiedAt(@jakarta.annotation.Nullable String lastModifiedAt) { + this.lastModifiedAt = lastModifiedAt; + return this; + } + + /** + * Timestamp of the last user-triggered action on this position (ISO-8601). Empty if the user + * has never interacted with it. + * + * @return lastModifiedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LAST_MODIFIED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLastModifiedAt() { + return lastModifiedAt; + } + + @JsonProperty(JSON_PROPERTY_LAST_MODIFIED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLastModifiedAt(@jakarta.annotation.Nullable String lastModifiedAt) { + this.lastModifiedAt = lastModifiedAt; + } + public Position2 availableActions( @jakarta.annotation.Nonnull List availableActions) { this.availableActions = availableActions; @@ -765,6 +793,7 @@ public boolean equals(Object o) { && Objects.equals(this.createdAt, position2.createdAt) && Objects.equals(this.updatedAt, position2.updatedAt) && Objects.equals(this.lastSyncedAt, position2.lastSyncedAt) + && Objects.equals(this.lastModifiedAt, position2.lastModifiedAt) && Objects.equals(this.availableActions, position2.availableActions) && Objects.equals(this.yield, position2.yield); } @@ -788,6 +817,7 @@ public int hashCode() { createdAt, updatedAt, lastSyncedAt, + lastModifiedAt, availableActions, yield); } @@ -812,6 +842,7 @@ public String toString() { sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append(" lastSyncedAt: ").append(toIndentedString(lastSyncedAt)).append("\n"); + sb.append(" lastModifiedAt: ").append(toIndentedString(lastModifiedAt)).append("\n"); sb.append(" availableActions: ").append(toIndentedString(availableActions)).append("\n"); sb.append(" yield: ").append(toIndentedString(yield)).append("\n"); sb.append("}"); @@ -1019,6 +1050,16 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getLastSyncedAt())))); } + // add `lastModifiedAt` to the URL query string + if (getLastModifiedAt() != null) { + joiner.add( + String.format( + "%slastModifiedAt%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getLastModifiedAt())))); + } + // add `availableActions` to the URL query string if (getAvailableActions() != null) { for (int i = 0; i < getAvailableActions().size(); i++) { diff --git a/src/main/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItem.java b/src/main/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItem.java new file mode 100644 index 00000000..e925ac08 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItem.java @@ -0,0 +1,254 @@ +/* + * 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.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.StringJoiner; + +/** A single decoded Solana instruction from a PROGRAM_CALL transaction. */ +@JsonPropertyOrder({ + ProgramCallDecodedDataItem.JSON_PROPERTY_PROGRAM_ID, + ProgramCallDecodedDataItem.JSON_PROPERTY_PROGRAM_NAME, + ProgramCallDecodedDataItem.JSON_PROPERTY_INSTRUCTION_DATA +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class ProgramCallDecodedDataItem { + public static final String JSON_PROPERTY_PROGRAM_ID = "programId"; + @jakarta.annotation.Nonnull private String programId; + + public static final String JSON_PROPERTY_PROGRAM_NAME = "programName"; + @jakarta.annotation.Nonnull private String programName; + + public static final String JSON_PROPERTY_INSTRUCTION_DATA = "instructionData"; + @jakarta.annotation.Nonnull private Map instructionData; + + public ProgramCallDecodedDataItem() {} + + @JsonCreator + public ProgramCallDecodedDataItem( + @JsonProperty(value = JSON_PROPERTY_PROGRAM_ID, required = true) String programId, + @JsonProperty(value = JSON_PROPERTY_PROGRAM_NAME, required = true) String programName, + @JsonProperty(value = JSON_PROPERTY_INSTRUCTION_DATA, required = true) + Map instructionData) { + this.programId = programId; + this.programName = programName; + this.instructionData = instructionData; + } + + public ProgramCallDecodedDataItem programId(@jakarta.annotation.Nonnull String programId) { + this.programId = programId; + return this; + } + + /** + * The on-chain program address that owns this instruction. + * + * @return programId + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_PROGRAM_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getProgramId() { + return programId; + } + + @JsonProperty(JSON_PROPERTY_PROGRAM_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setProgramId(@jakarta.annotation.Nonnull String programId) { + this.programId = programId; + } + + public ProgramCallDecodedDataItem programName(@jakarta.annotation.Nonnull String programName) { + this.programName = programName; + return this; + } + + /** + * Human-readable program name (e.g. `SystemProgram`, `ComputeBudget`). + * + * @return programName + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_PROGRAM_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getProgramName() { + return programName; + } + + @JsonProperty(JSON_PROPERTY_PROGRAM_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setProgramName(@jakarta.annotation.Nonnull String programName) { + this.programName = programName; + } + + public ProgramCallDecodedDataItem instructionData( + @jakarta.annotation.Nonnull Map instructionData) { + this.instructionData = instructionData; + return this; + } + + public ProgramCallDecodedDataItem putInstructionDataItem( + String key, Object instructionDataItem) { + if (this.instructionData == null) { + this.instructionData = new HashMap<>(); + } + this.instructionData.put(key, instructionDataItem); + return this; + } + + /** + * Decoded instruction arguments. Keys and values depend on the instruction type — values may be + * strings, numbers, or nested objects (e.g. `args`, `accounts`, + * `name`). + * + * @return instructionData + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_INSTRUCTION_DATA) + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.ALWAYS) + public Map getInstructionData() { + return instructionData; + } + + @JsonProperty(JSON_PROPERTY_INSTRUCTION_DATA) + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.ALWAYS) + public void setInstructionData( + @jakarta.annotation.Nonnull Map instructionData) { + this.instructionData = instructionData; + } + + /** Return true if this ProgramCallDecodedDataItem object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProgramCallDecodedDataItem programCallDecodedDataItem = (ProgramCallDecodedDataItem) o; + return Objects.equals(this.programId, programCallDecodedDataItem.programId) + && Objects.equals(this.programName, programCallDecodedDataItem.programName) + && Objects.equals(this.instructionData, programCallDecodedDataItem.instructionData); + } + + @Override + public int hashCode() { + return Objects.hash(programId, programName, instructionData); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProgramCallDecodedDataItem {\n"); + sb.append(" programId: ").append(toIndentedString(programId)).append("\n"); + sb.append(" programName: ").append(toIndentedString(programName)).append("\n"); + sb.append(" instructionData: ").append(toIndentedString(instructionData)).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 `programId` to the URL query string + if (getProgramId() != null) { + joiner.add( + String.format( + "%sprogramId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getProgramId())))); + } + + // add `programName` to the URL query string + if (getProgramName() != null) { + joiner.add( + String.format( + "%sprogramName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getProgramName())))); + } + + // add `instructionData` to the URL query string + if (getInstructionData() != null) { + for (String _key : getInstructionData().keySet()) { + joiner.add( + String.format( + "%sinstructionData%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, _key, containerSuffix), + getInstructionData().get(_key), + ApiClient.urlEncode( + ApiClient.valueToString(getInstructionData().get(_key))))); + } + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/RescreenTransactionRequest.java b/src/main/java/com/fireblocks/sdk/model/RescreenTransactionRequest.java new file mode 100644 index 00000000..9dd7bf0c --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/RescreenTransactionRequest.java @@ -0,0 +1,145 @@ +/* + * 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.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** RescreenTransactionRequest */ +@JsonPropertyOrder({RescreenTransactionRequest.JSON_PROPERTY_RESET_TRAVEL_RULE_MESSAGE}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class RescreenTransactionRequest { + public static final String JSON_PROPERTY_RESET_TRAVEL_RULE_MESSAGE = "resetTravelRuleMessage"; + @jakarta.annotation.Nullable private Boolean resetTravelRuleMessage = false; + + public RescreenTransactionRequest() {} + + public RescreenTransactionRequest resetTravelRuleMessage( + @jakarta.annotation.Nullable Boolean resetTravelRuleMessage) { + this.resetTravelRuleMessage = resetTravelRuleMessage; + return this; + } + + /** + * When true, clears the existing travel rule message on the transaction before rescreening. + * + * @return resetTravelRuleMessage + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RESET_TRAVEL_RULE_MESSAGE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getResetTravelRuleMessage() { + return resetTravelRuleMessage; + } + + @JsonProperty(JSON_PROPERTY_RESET_TRAVEL_RULE_MESSAGE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setResetTravelRuleMessage( + @jakarta.annotation.Nullable Boolean resetTravelRuleMessage) { + this.resetTravelRuleMessage = resetTravelRuleMessage; + } + + /** Return true if this RescreenTransactionRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RescreenTransactionRequest rescreenTransactionRequest = (RescreenTransactionRequest) o; + return Objects.equals( + this.resetTravelRuleMessage, rescreenTransactionRequest.resetTravelRuleMessage); + } + + @Override + public int hashCode() { + return Objects.hash(resetTravelRuleMessage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RescreenTransactionRequest {\n"); + sb.append(" resetTravelRuleMessage: ") + .append(toIndentedString(resetTravelRuleMessage)) + .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 `resetTravelRuleMessage` to the URL query string + if (getResetTravelRuleMessage() != null) { + joiner.add( + String.format( + "%sresetTravelRuleMessage%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getResetTravelRuleMessage())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/RescreenTransactionResponse.java b/src/main/java/com/fireblocks/sdk/model/RescreenTransactionResponse.java new file mode 100644 index 00000000..a5e02723 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/RescreenTransactionResponse.java @@ -0,0 +1,146 @@ +/* + * 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.Objects; +import java.util.StringJoiner; + +/** RescreenTransactionResponse */ +@JsonPropertyOrder({RescreenTransactionResponse.JSON_PROPERTY_SUCCESS}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class RescreenTransactionResponse { + public static final String JSON_PROPERTY_SUCCESS = "success"; + @jakarta.annotation.Nonnull private Boolean success; + + public RescreenTransactionResponse() {} + + @JsonCreator + public RescreenTransactionResponse( + @JsonProperty(value = JSON_PROPERTY_SUCCESS, required = true) Boolean success) { + this.success = success; + } + + public RescreenTransactionResponse success(@jakarta.annotation.Nonnull Boolean success) { + this.success = success; + return this; + } + + /** + * Whether the rescreen was triggered successfully + * + * @return success + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_SUCCESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Boolean getSuccess() { + return success; + } + + @JsonProperty(JSON_PROPERTY_SUCCESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setSuccess(@jakarta.annotation.Nonnull Boolean success) { + this.success = success; + } + + /** Return true if this RescreenTransactionResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RescreenTransactionResponse rescreenTransactionResponse = (RescreenTransactionResponse) o; + return Objects.equals(this.success, rescreenTransactionResponse.success); + } + + @Override + public int hashCode() { + return Objects.hash(success); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RescreenTransactionResponse {\n"); + sb.append(" success: ").append(toIndentedString(success)).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 `success` to the URL query string + if (getSuccess() != null) { + joiner.add( + String.format( + "%ssuccess%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSuccess())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponse.java b/src/main/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponse.java new file mode 100644 index 00000000..7d6d4e20 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponse.java @@ -0,0 +1,149 @@ +/* + * 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.Objects; +import java.util.StringJoiner; +import java.util.UUID; + +/** SaveAutomationSettingsResponse */ +@JsonPropertyOrder({SaveAutomationSettingsResponse.JSON_PROPERTY_AUTOMATION_ID}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class SaveAutomationSettingsResponse { + public static final String JSON_PROPERTY_AUTOMATION_ID = "automationId"; + @jakarta.annotation.Nonnull private UUID automationId; + + public SaveAutomationSettingsResponse() {} + + @JsonCreator + public SaveAutomationSettingsResponse( + @JsonProperty(value = JSON_PROPERTY_AUTOMATION_ID, required = true) UUID automationId) { + this.automationId = automationId; + } + + public SaveAutomationSettingsResponse automationId( + @jakarta.annotation.Nonnull UUID automationId) { + this.automationId = automationId; + return this; + } + + /** + * The ID of the newly created deposit automation. + * + * @return automationId + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_AUTOMATION_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getAutomationId() { + return automationId; + } + + @JsonProperty(JSON_PROPERTY_AUTOMATION_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAutomationId(@jakarta.annotation.Nonnull UUID automationId) { + this.automationId = automationId; + } + + /** Return true if this SaveAutomationSettingsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SaveAutomationSettingsResponse saveAutomationSettingsResponse = + (SaveAutomationSettingsResponse) o; + return Objects.equals(this.automationId, saveAutomationSettingsResponse.automationId); + } + + @Override + public int hashCode() { + return Objects.hash(automationId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SaveAutomationSettingsResponse {\n"); + sb.append(" automationId: ").append(toIndentedString(automationId)).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 `automationId` to the URL query string + if (getAutomationId() != null) { + joiner.add( + String.format( + "%sautomationId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAutomationId())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/ScreeningStatusEnum.java b/src/main/java/com/fireblocks/sdk/model/ScreeningStatusEnum.java new file mode 100644 index 00000000..8eca09e8 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/ScreeningStatusEnum.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; + +/** + * Current status of the screening process. Applies to AML, Travel Rule, and TRLink screening flows. + */ +public enum ScreeningStatusEnum { + COMPLETED("COMPLETED"), + + PENDING("PENDING"), + + BYPASSED("BYPASSED"), + + FAILED("FAILED"), + + FROZEN("FROZEN"); + + private String value; + + ScreeningStatusEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ScreeningStatusEnum fromValue(String value) { + for (ScreeningStatusEnum b : ScreeningStatusEnum.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/ScreeningVerdictEnum.java b/src/main/java/com/fireblocks/sdk/model/ScreeningVerdictEnum.java index 952d7093..1d9fe4c4 100644 --- a/src/main/java/com/fireblocks/sdk/model/ScreeningVerdictEnum.java +++ b/src/main/java/com/fireblocks/sdk/model/ScreeningVerdictEnum.java @@ -18,7 +18,7 @@ /** * The final verdict of the screening (unified for AML, Travel Rule, and TRLink). Different - * providers may return different verdict values: - AML: PASS, FAIL, ALERT - Travel Rule: PASS, + * providers may return different verdict values: - AML: ACCEPT, REJECT, ALERT - Travel Rule: PASS, * FAIL, TRAVEL_RULE_REQUIRED - TRLink: PASS, REJECT, WARN */ public enum ScreeningVerdictEnum { @@ -36,7 +36,9 @@ public enum ScreeningVerdictEnum { ACCEPT("ACCEPT"), - REVIEW("REVIEW"); + REVIEW("REVIEW"), + + WAIT("WAIT"); private String value; diff --git a/src/main/java/com/fireblocks/sdk/model/Tag.java b/src/main/java/com/fireblocks/sdk/model/Tag.java index d47735e1..309e1efc 100644 --- a/src/main/java/com/fireblocks/sdk/model/Tag.java +++ b/src/main/java/com/fireblocks/sdk/model/Tag.java @@ -19,6 +19,8 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fireblocks.sdk.ApiClient; import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; import java.util.StringJoiner; import java.util.UUID; @@ -32,6 +34,7 @@ Tag.JSON_PROPERTY_IS_PROTECTED, Tag.JSON_PROPERTY_UPDATED_AT, Tag.JSON_PROPERTY_TYPE, + Tag.JSON_PROPERTY_ALLOWED_ENTITY_TYPES, Tag.JSON_PROPERTY_PENDING_APPROVAL_REQUEST }) @jakarta.annotation.Generated( @@ -59,6 +62,9 @@ public class Tag { public static final String JSON_PROPERTY_TYPE = "type"; @jakarta.annotation.Nullable private TagType type; + public static final String JSON_PROPERTY_ALLOWED_ENTITY_TYPES = "allowedEntityTypes"; + @jakarta.annotation.Nullable private List allowedEntityTypes; + public static final String JSON_PROPERTY_PENDING_APPROVAL_REQUEST = "pendingApprovalRequest"; @jakarta.annotation.Nullable private ApprovalRequest pendingApprovalRequest; @@ -237,6 +243,39 @@ public void setType(@jakarta.annotation.Nullable TagType type) { this.type = type; } + public Tag allowedEntityTypes(@jakarta.annotation.Nullable List allowedEntityTypes) { + this.allowedEntityTypes = allowedEntityTypes; + return this; + } + + public Tag addAllowedEntityTypesItem(String allowedEntityTypesItem) { + if (this.allowedEntityTypes == null) { + this.allowedEntityTypes = new ArrayList<>(); + } + this.allowedEntityTypes.add(allowedEntityTypesItem); + return this; + } + + /** + * The entity types this tag may be attached to. Tags created before this field was introduced + * read back as ['vault_account']. Known values: vault_account (default), contact. + * + * @return allowedEntityTypes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ALLOWED_ENTITY_TYPES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getAllowedEntityTypes() { + return allowedEntityTypes; + } + + @JsonProperty(JSON_PROPERTY_ALLOWED_ENTITY_TYPES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAllowedEntityTypes( + @jakarta.annotation.Nullable List allowedEntityTypes) { + this.allowedEntityTypes = allowedEntityTypes; + } + public Tag pendingApprovalRequest( @jakarta.annotation.Nullable ApprovalRequest pendingApprovalRequest) { this.pendingApprovalRequest = pendingApprovalRequest; @@ -279,6 +318,7 @@ public boolean equals(Object o) { && Objects.equals(this.isProtected, tag.isProtected) && Objects.equals(this.updatedAt, tag.updatedAt) && Objects.equals(this.type, tag.type) + && Objects.equals(this.allowedEntityTypes, tag.allowedEntityTypes) && Objects.equals(this.pendingApprovalRequest, tag.pendingApprovalRequest); } @@ -292,6 +332,7 @@ public int hashCode() { isProtected, updatedAt, type, + allowedEntityTypes, pendingApprovalRequest); } @@ -306,6 +347,9 @@ public String toString() { sb.append(" isProtected: ").append(toIndentedString(isProtected)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" allowedEntityTypes: ") + .append(toIndentedString(allowedEntityTypes)) + .append("\n"); sb.append(" pendingApprovalRequest: ") .append(toIndentedString(pendingApprovalRequest)) .append("\n"); @@ -424,6 +468,23 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getType())))); } + // add `allowedEntityTypes` to the URL query string + if (getAllowedEntityTypes() != null) { + for (int i = 0; i < getAllowedEntityTypes().size(); i++) { + joiner.add( + String.format( + "%sallowedEntityTypes%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode( + ApiClient.valueToString(getAllowedEntityTypes().get(i))))); + } + } + // add `pendingApprovalRequest` to the URL query string if (getPendingApprovalRequest() != null) { joiner.add( diff --git a/src/main/java/com/fireblocks/sdk/model/TimeBasedTrigger.java b/src/main/java/com/fireblocks/sdk/model/TimeBasedTrigger.java new file mode 100644 index 00000000..95f8167f --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/TimeBasedTrigger.java @@ -0,0 +1,271 @@ +/* + * 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; + +/** The schedule for this deposit automation. */ +@JsonPropertyOrder({ + TimeBasedTrigger.JSON_PROPERTY_INTERVAL_VALUE, + TimeBasedTrigger.JSON_PROPERTY_INTERVAL_UNIT, + TimeBasedTrigger.JSON_PROPERTY_BALANCE_THRESHOLD +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class TimeBasedTrigger { + public static final String JSON_PROPERTY_INTERVAL_VALUE = "intervalValue"; + @jakarta.annotation.Nonnull private Integer intervalValue; + + /** The unit for intervalValue. */ + public enum IntervalUnitEnum { + MINUTES(String.valueOf("MINUTES")), + + HOURS(String.valueOf("HOURS")), + + DAYS(String.valueOf("DAYS")); + + private String value; + + IntervalUnitEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static IntervalUnitEnum fromValue(String value) { + for (IntervalUnitEnum b : IntervalUnitEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_INTERVAL_UNIT = "intervalUnit"; + @jakarta.annotation.Nonnull private IntervalUnitEnum intervalUnit; + + public static final String JSON_PROPERTY_BALANCE_THRESHOLD = "balanceThreshold"; + @jakarta.annotation.Nonnull private String balanceThreshold; + + public TimeBasedTrigger() {} + + @JsonCreator + public TimeBasedTrigger( + @JsonProperty(value = JSON_PROPERTY_INTERVAL_VALUE, required = true) + Integer intervalValue, + @JsonProperty(value = JSON_PROPERTY_INTERVAL_UNIT, required = true) + IntervalUnitEnum intervalUnit, + @JsonProperty(value = JSON_PROPERTY_BALANCE_THRESHOLD, required = true) + String balanceThreshold) { + this.intervalValue = intervalValue; + this.intervalUnit = intervalUnit; + this.balanceThreshold = balanceThreshold; + } + + public TimeBasedTrigger intervalValue(@jakarta.annotation.Nonnull Integer intervalValue) { + this.intervalValue = intervalValue; + return this; + } + + /** + * How often the deposit runs, in units of intervalUnit. minimum: 1 + * + * @return intervalValue + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_INTERVAL_VALUE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Integer getIntervalValue() { + return intervalValue; + } + + @JsonProperty(JSON_PROPERTY_INTERVAL_VALUE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setIntervalValue(@jakarta.annotation.Nonnull Integer intervalValue) { + this.intervalValue = intervalValue; + } + + public TimeBasedTrigger intervalUnit( + @jakarta.annotation.Nonnull IntervalUnitEnum intervalUnit) { + this.intervalUnit = intervalUnit; + return this; + } + + /** + * The unit for intervalValue. + * + * @return intervalUnit + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_INTERVAL_UNIT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntervalUnitEnum getIntervalUnit() { + return intervalUnit; + } + + @JsonProperty(JSON_PROPERTY_INTERVAL_UNIT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setIntervalUnit(@jakarta.annotation.Nonnull IntervalUnitEnum intervalUnit) { + this.intervalUnit = intervalUnit; + } + + public TimeBasedTrigger balanceThreshold(@jakarta.annotation.Nonnull String balanceThreshold) { + this.balanceThreshold = balanceThreshold; + return this; + } + + /** + * Minimum USDC balance required before a deposit runs. Set to \"0\" to sweep the full + * available balance every time, with no minimum. + * + * @return balanceThreshold + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BALANCE_THRESHOLD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getBalanceThreshold() { + return balanceThreshold; + } + + @JsonProperty(JSON_PROPERTY_BALANCE_THRESHOLD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBalanceThreshold(@jakarta.annotation.Nonnull String balanceThreshold) { + this.balanceThreshold = balanceThreshold; + } + + /** Return true if this TimeBasedTrigger object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TimeBasedTrigger timeBasedTrigger = (TimeBasedTrigger) o; + return Objects.equals(this.intervalValue, timeBasedTrigger.intervalValue) + && Objects.equals(this.intervalUnit, timeBasedTrigger.intervalUnit) + && Objects.equals(this.balanceThreshold, timeBasedTrigger.balanceThreshold); + } + + @Override + public int hashCode() { + return Objects.hash(intervalValue, intervalUnit, balanceThreshold); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TimeBasedTrigger {\n"); + sb.append(" intervalValue: ").append(toIndentedString(intervalValue)).append("\n"); + sb.append(" intervalUnit: ").append(toIndentedString(intervalUnit)).append("\n"); + sb.append(" balanceThreshold: ").append(toIndentedString(balanceThreshold)).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 `intervalValue` to the URL query string + if (getIntervalValue() != null) { + joiner.add( + String.format( + "%sintervalValue%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIntervalValue())))); + } + + // add `intervalUnit` to the URL query string + if (getIntervalUnit() != null) { + joiner.add( + String.format( + "%sintervalUnit%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIntervalUnit())))); + } + + // add `balanceThreshold` to the URL query string + if (getBalanceThreshold() != null) { + joiner.add( + String.format( + "%sbalanceThreshold%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBalanceThreshold())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/TransactionFee.java b/src/main/java/com/fireblocks/sdk/model/TransactionFee.java index 55bd925b..2a9a782b 100644 --- a/src/main/java/com/fireblocks/sdk/model/TransactionFee.java +++ b/src/main/java/com/fireblocks/sdk/model/TransactionFee.java @@ -17,7 +17,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fireblocks.sdk.ApiClient; -import java.math.BigDecimal; import java.util.Objects; import java.util.StringJoiner; @@ -40,7 +39,7 @@ public class TransactionFee { @jakarta.annotation.Nullable private String feePerByte; public static final String JSON_PROPERTY_GAS_PRICE = "gasPrice"; - @jakarta.annotation.Nullable private BigDecimal gasPrice; + @jakarta.annotation.Nullable private String gasPrice; public static final String JSON_PROPERTY_GAS_LIMIT = "gasLimit"; @jakarta.annotation.Nullable private String gasLimit; @@ -49,10 +48,10 @@ public class TransactionFee { @jakarta.annotation.Nullable private String networkFee; public static final String JSON_PROPERTY_BASE_FEE = "baseFee"; - @jakarta.annotation.Nullable private BigDecimal baseFee; + @jakarta.annotation.Nullable private String baseFee; public static final String JSON_PROPERTY_PRIORITY_FEE = "priorityFee"; - @jakarta.annotation.Nullable private BigDecimal priorityFee; + @jakarta.annotation.Nullable private String priorityFee; public static final String JSON_PROPERTY_MAX_FEE_PER_GAS_DELTA = "maxFeePerGasDelta"; @jakarta.annotation.Nullable private String maxFeePerGasDelta; @@ -85,7 +84,7 @@ public void setFeePerByte(@jakarta.annotation.Nullable String feePerByte) { this.feePerByte = feePerByte; } - public TransactionFee gasPrice(@jakarta.annotation.Nullable BigDecimal gasPrice) { + public TransactionFee gasPrice(@jakarta.annotation.Nullable String gasPrice) { this.gasPrice = gasPrice; return this; } @@ -98,13 +97,13 @@ public TransactionFee gasPrice(@jakarta.annotation.Nullable BigDecimal gasPrice) @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_GAS_PRICE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public BigDecimal getGasPrice() { + public String getGasPrice() { return gasPrice; } @JsonProperty(JSON_PROPERTY_GAS_PRICE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setGasPrice(@jakarta.annotation.Nullable BigDecimal gasPrice) { + public void setGasPrice(@jakarta.annotation.Nullable String gasPrice) { this.gasPrice = gasPrice; } @@ -154,7 +153,7 @@ public void setNetworkFee(@jakarta.annotation.Nullable String networkFee) { this.networkFee = networkFee; } - public TransactionFee baseFee(@jakarta.annotation.Nullable BigDecimal baseFee) { + public TransactionFee baseFee(@jakarta.annotation.Nullable String baseFee) { this.baseFee = baseFee; return this; } @@ -167,17 +166,17 @@ public TransactionFee baseFee(@jakarta.annotation.Nullable BigDecimal baseFee) { @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_BASE_FEE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public BigDecimal getBaseFee() { + public String getBaseFee() { return baseFee; } @JsonProperty(JSON_PROPERTY_BASE_FEE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setBaseFee(@jakarta.annotation.Nullable BigDecimal baseFee) { + public void setBaseFee(@jakarta.annotation.Nullable String baseFee) { this.baseFee = baseFee; } - public TransactionFee priorityFee(@jakarta.annotation.Nullable BigDecimal priorityFee) { + public TransactionFee priorityFee(@jakarta.annotation.Nullable String priorityFee) { this.priorityFee = priorityFee; return this; } @@ -190,13 +189,13 @@ public TransactionFee priorityFee(@jakarta.annotation.Nullable BigDecimal priori @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_PRIORITY_FEE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public BigDecimal getPriorityFee() { + public String getPriorityFee() { return priorityFee; } @JsonProperty(JSON_PROPERTY_PRIORITY_FEE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setPriorityFee(@jakarta.annotation.Nullable BigDecimal priorityFee) { + public void setPriorityFee(@jakarta.annotation.Nullable String priorityFee) { this.priorityFee = priorityFee; } diff --git a/src/main/java/com/fireblocks/sdk/model/TransactionResponse.java b/src/main/java/com/fireblocks/sdk/model/TransactionResponse.java index ffd3f96b..a69c851d 100644 --- a/src/main/java/com/fireblocks/sdk/model/TransactionResponse.java +++ b/src/main/java/com/fireblocks/sdk/model/TransactionResponse.java @@ -45,6 +45,7 @@ TransactionResponse.JSON_PROPERTY_DESTINATION_ADDRESS_DESCRIPTION, TransactionResponse.JSON_PROPERTY_DESTINATION_TAG, TransactionResponse.JSON_PROPERTY_CONTRACT_CALL_DECODED_DATA, + TransactionResponse.JSON_PROPERTY_PROGRAM_CALL_DECODED_DATA, TransactionResponse.JSON_PROPERTY_AMOUNT_INFO, TransactionResponse.JSON_PROPERTY_TREAT_AS_GROSS_AMOUNT, TransactionResponse.JSON_PROPERTY_FEE_INFO, @@ -149,6 +150,9 @@ public class TransactionResponse { @jakarta.annotation.Nullable private TransactionResponseContractCallDecodedData contractCallDecodedData; + public static final String JSON_PROPERTY_PROGRAM_CALL_DECODED_DATA = "programCallDecodedData"; + @jakarta.annotation.Nullable private List programCallDecodedData; + public static final String JSON_PROPERTY_AMOUNT_INFO = "amountInfo"; @jakarta.annotation.Nullable private AmountInfo amountInfo; @@ -782,6 +786,43 @@ public void setContractCallDecodedData( this.contractCallDecodedData = contractCallDecodedData; } + public TransactionResponse programCallDecodedData( + @jakarta.annotation.Nullable List programCallDecodedData) { + this.programCallDecodedData = programCallDecodedData; + return this; + } + + public TransactionResponse addProgramCallDecodedDataItem( + ProgramCallDecodedDataItem programCallDecodedDataItem) { + if (this.programCallDecodedData == null) { + this.programCallDecodedData = new ArrayList<>(); + } + this.programCallDecodedData.add(programCallDecodedDataItem); + return this; + } + + /** + * Decoded instruction list for `PROGRAM_CALL` (Solana) operations. Each entry + * represents one instruction in the transaction, in execution order. Fireblocks-injected + * instructions (e.g. `AdvanceNonceAccount`, `ComputeBudget`) appear first, + * followed by the original dApp instructions. + * + * @return programCallDecodedData + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROGRAM_CALL_DECODED_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getProgramCallDecodedData() { + return programCallDecodedData; + } + + @JsonProperty(JSON_PROPERTY_PROGRAM_CALL_DECODED_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProgramCallDecodedData( + @jakarta.annotation.Nullable List programCallDecodedData) { + this.programCallDecodedData = programCallDecodedData; + } + public TransactionResponse amountInfo(@jakarta.annotation.Nullable AmountInfo amountInfo) { this.amountInfo = amountInfo; return this; @@ -1869,6 +1910,8 @@ public boolean equals(Object o) { && Objects.equals(this.destinationTag, transactionResponse.destinationTag) && Objects.equals( this.contractCallDecodedData, transactionResponse.contractCallDecodedData) + && Objects.equals( + this.programCallDecodedData, transactionResponse.programCallDecodedData) && Objects.equals(this.amountInfo, transactionResponse.amountInfo) && Objects.equals(this.treatAsGrossAmount, transactionResponse.treatAsGrossAmount) && Objects.equals(this.feeInfo, transactionResponse.feeInfo) @@ -1935,6 +1978,7 @@ public int hashCode() { destinationAddressDescription, destinationTag, contractCallDecodedData, + programCallDecodedData, amountInfo, treatAsGrossAmount, feeInfo, @@ -2007,6 +2051,9 @@ public String toString() { sb.append(" contractCallDecodedData: ") .append(toIndentedString(contractCallDecodedData)) .append("\n"); + sb.append(" programCallDecodedData: ") + .append(toIndentedString(programCallDecodedData)) + .append("\n"); sb.append(" amountInfo: ").append(toIndentedString(amountInfo)).append("\n"); sb.append(" treatAsGrossAmount: ") .append(toIndentedString(treatAsGrossAmount)) @@ -2289,6 +2336,29 @@ public String toUrlQueryString(String prefix) { .toUrlQueryString(prefix + "contractCallDecodedData" + suffix)); } + // add `programCallDecodedData` to the URL query string + if (getProgramCallDecodedData() != null) { + for (int i = 0; i < getProgramCallDecodedData().size(); i++) { + if (getProgramCallDecodedData().get(i) != null) { + joiner.add( + getProgramCallDecodedData() + .get(i) + .toUrlQueryString( + String.format( + "%sprogramCallDecodedData%s%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", + containerPrefix, + i, + containerSuffix)))); + } + } + } + // add `amountInfo` to the URL query string if (getAmountInfo() != null) { joiner.add(getAmountInfo().toUrlQueryString(prefix + "amountInfo" + suffix)); diff --git a/src/main/java/com/fireblocks/sdk/model/TriggerValidationFlowResponse.java b/src/main/java/com/fireblocks/sdk/model/TriggerValidationFlowResponse.java new file mode 100644 index 00000000..625f7444 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/TriggerValidationFlowResponse.java @@ -0,0 +1,147 @@ +/* + * 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.Objects; +import java.util.StringJoiner; + +/** TriggerValidationFlowResponse */ +@JsonPropertyOrder({TriggerValidationFlowResponse.JSON_PROPERTY_MESSAGE}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class TriggerValidationFlowResponse { + public static final String JSON_PROPERTY_MESSAGE = "message"; + @jakarta.annotation.Nonnull private String message; + + public TriggerValidationFlowResponse() {} + + @JsonCreator + public TriggerValidationFlowResponse( + @JsonProperty(value = JSON_PROPERTY_MESSAGE, required = true) String message) { + this.message = message; + } + + public TriggerValidationFlowResponse message(@jakarta.annotation.Nonnull String message) { + this.message = message; + return this; + } + + /** + * Human-readable result message. + * + * @return message + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getMessage() { + return message; + } + + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setMessage(@jakarta.annotation.Nonnull String message) { + this.message = message; + } + + /** Return true if this TriggerValidationFlowResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TriggerValidationFlowResponse triggerValidationFlowResponse = + (TriggerValidationFlowResponse) o; + return Objects.equals(this.message, triggerValidationFlowResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TriggerValidationFlowResponse {\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `message` to the URL query string + if (getMessage() != null) { + joiner.add( + String.format( + "%smessage%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getMessage())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequest.java b/src/main/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequest.java new file mode 100644 index 00000000..00783339 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequest.java @@ -0,0 +1,143 @@ +/* + * 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 java.util.Objects; +import java.util.StringJoiner; + +/** Request body for changing an existing USDC Gateway deposit automation. */ +@JsonPropertyOrder({UpdateAutomationSettingsRequest.JSON_PROPERTY_TIME_BASED}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class UpdateAutomationSettingsRequest { + public static final String JSON_PROPERTY_TIME_BASED = "timeBased"; + @jakarta.annotation.Nonnull private TimeBasedTrigger timeBased; + + public UpdateAutomationSettingsRequest() {} + + @JsonCreator + public UpdateAutomationSettingsRequest( + @JsonProperty(value = JSON_PROPERTY_TIME_BASED, required = true) + TimeBasedTrigger timeBased) { + this.timeBased = timeBased; + } + + public UpdateAutomationSettingsRequest timeBased( + @jakarta.annotation.Nonnull TimeBasedTrigger timeBased) { + this.timeBased = timeBased; + return this; + } + + /** + * Get timeBased + * + * @return timeBased + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TIME_BASED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TimeBasedTrigger getTimeBased() { + return timeBased; + } + + @JsonProperty(JSON_PROPERTY_TIME_BASED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTimeBased(@jakarta.annotation.Nonnull TimeBasedTrigger timeBased) { + this.timeBased = timeBased; + } + + /** Return true if this UpdateAutomationSettingsRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAutomationSettingsRequest updateAutomationSettingsRequest = + (UpdateAutomationSettingsRequest) o; + return Objects.equals(this.timeBased, updateAutomationSettingsRequest.timeBased); + } + + @Override + public int hashCode() { + return Objects.hash(timeBased); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAutomationSettingsRequest {\n"); + sb.append(" timeBased: ").append(toIndentedString(timeBased)).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 `timeBased` to the URL query string + if (getTimeBased() != null) { + joiner.add(getTimeBased().toUrlQueryString(prefix + "timeBased" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/UpdateBlockchainResponse.java b/src/main/java/com/fireblocks/sdk/model/UpdateBlockchainResponse.java new file mode 100644 index 00000000..e79d25d4 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/UpdateBlockchainResponse.java @@ -0,0 +1,184 @@ +/* + * 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.Objects; +import java.util.StringJoiner; + +/** UpdateBlockchainResponse */ +@JsonPropertyOrder({ + UpdateBlockchainResponse.JSON_PROPERTY_BLOCKCHAIN, + UpdateBlockchainResponse.JSON_PROPERTY_MESSAGE +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class UpdateBlockchainResponse { + public static final String JSON_PROPERTY_BLOCKCHAIN = "blockchain"; + @jakarta.annotation.Nonnull private Blockchain blockchain; + + public static final String JSON_PROPERTY_MESSAGE = "message"; + @jakarta.annotation.Nonnull private String message; + + public UpdateBlockchainResponse() {} + + @JsonCreator + public UpdateBlockchainResponse( + @JsonProperty(value = JSON_PROPERTY_BLOCKCHAIN, required = true) Blockchain blockchain, + @JsonProperty(value = JSON_PROPERTY_MESSAGE, required = true) String message) { + this.blockchain = blockchain; + this.message = message; + } + + public UpdateBlockchainResponse blockchain(@jakarta.annotation.Nonnull Blockchain blockchain) { + this.blockchain = blockchain; + return this; + } + + /** + * Get blockchain + * + * @return blockchain + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BLOCKCHAIN) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Blockchain getBlockchain() { + return blockchain; + } + + @JsonProperty(JSON_PROPERTY_BLOCKCHAIN) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBlockchain(@jakarta.annotation.Nonnull Blockchain blockchain) { + this.blockchain = blockchain; + } + + public UpdateBlockchainResponse message(@jakarta.annotation.Nonnull String message) { + this.message = message; + return this; + } + + /** + * Human-readable result message. + * + * @return message + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getMessage() { + return message; + } + + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setMessage(@jakarta.annotation.Nonnull String message) { + this.message = message; + } + + /** Return true if this UpdateBlockchainResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateBlockchainResponse updateBlockchainResponse = (UpdateBlockchainResponse) o; + return Objects.equals(this.blockchain, updateBlockchainResponse.blockchain) + && Objects.equals(this.message, updateBlockchainResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(blockchain, message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateBlockchainResponse {\n"); + sb.append(" blockchain: ").append(toIndentedString(blockchain)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `blockchain` to the URL query string + if (getBlockchain() != null) { + joiner.add(getBlockchain().toUrlQueryString(prefix + "blockchain" + suffix)); + } + + // add `message` to the URL query string + if (getMessage() != null) { + joiner.add( + String.format( + "%smessage%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getMessage())))); + } + + return joiner.toString(); + } +} diff --git a/src/test/java/com/fireblocks/sdk/FireblocksTest.java b/src/test/java/com/fireblocks/sdk/FireblocksTest.java index c2128a5d..faaffc74 100644 --- a/src/test/java/com/fireblocks/sdk/FireblocksTest.java +++ b/src/test/java/com/fireblocks/sdk/FireblocksTest.java @@ -371,6 +371,14 @@ public void testGetAuditLogsApi() { Assert.assertSame(auditLogs, fireblocks.auditLogs()); } + @Test + public void testGetBlockchainLinkBetaApi() { + setupFireblocks(true, null, null); + BlockchainLinkBetaApi blockchainLinkBeta = fireblocks.blockchainLinkBeta(); + Assert.assertNotNull(blockchainLinkBeta); + Assert.assertSame(blockchainLinkBeta, fireblocks.blockchainLinkBeta()); + } + @Test public void testGetBlockchainsAssetsApi() { setupFireblocks(true, null, null); @@ -454,11 +462,11 @@ public void testGetDeployedContractsApi() { } @Test - public void testGetEarnBetaApi() { + public void testGetEarnApi() { setupFireblocks(true, null, null); - EarnBetaApi earnBeta = fireblocks.earnBeta(); - Assert.assertNotNull(earnBeta); - Assert.assertSame(earnBeta, fireblocks.earnBeta()); + EarnApi earn = fireblocks.earn(); + Assert.assertNotNull(earn); + Assert.assertSame(earn, fireblocks.earn()); } @Test @@ -597,6 +605,14 @@ public void testGetPolicyEditorV2Api() { Assert.assertSame(policyEditorV2, fireblocks.policyEditorV2()); } + @Test + public void testGetPolicyEditorV2BetaApi() { + setupFireblocks(true, null, null); + PolicyEditorV2BetaApi policyEditorV2Beta = fireblocks.policyEditorV2Beta(); + Assert.assertNotNull(policyEditorV2Beta); + Assert.assertSame(policyEditorV2Beta, fireblocks.policyEditorV2Beta()); + } + @Test public void testGetReportsBetaApi() { setupFireblocks(true, null, null); diff --git a/src/test/java/com/fireblocks/sdk/api/BlockchainLinkBetaApiTest.java b/src/test/java/com/fireblocks/sdk/api/BlockchainLinkBetaApiTest.java new file mode 100644 index 00000000..c1de03cd --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/api/BlockchainLinkBetaApiTest.java @@ -0,0 +1,197 @@ +/* + * 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.api; + + +import com.fireblocks.sdk.ApiException; +import com.fireblocks.sdk.ApiResponse; +import com.fireblocks.sdk.model.ActivateBlockchainResponse; +import com.fireblocks.sdk.model.BlockchainDeclaredProperties; +import com.fireblocks.sdk.model.BlockchainEnvironment; +import com.fireblocks.sdk.model.BlockchainSortField; +import com.fireblocks.sdk.model.BlockchainStateFilter; +import com.fireblocks.sdk.model.CreateBlockchainRequest; +import com.fireblocks.sdk.model.CreateBlockchainResponse; +import com.fireblocks.sdk.model.GetBillingInfoResponse; +import com.fireblocks.sdk.model.GetBlockchainByIdResponse; +import com.fireblocks.sdk.model.GetTestWalletAddressResponse; +import com.fireblocks.sdk.model.ListBlockchainsResponse2; +import com.fireblocks.sdk.model.TriggerValidationFlowResponse; +import com.fireblocks.sdk.model.UpdateBlockchainResponse; +import java.math.BigDecimal; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import org.junit.Ignore; +import org.junit.Test; + +/** API tests for BlockchainLinkBetaApi */ +@Ignore +public class BlockchainLinkBetaApiTest { + + private final BlockchainLinkBetaApi api = new BlockchainLinkBetaApi(); + + /** + * Activate a blockchain (triggers activation workflow) + * + *

Starts the asynchronous activation workflow for the blockchain identified by its ID, + * transitioning it towards the ACTIVATED state. + * + * @throws ApiException if the Api call fails + */ + @Test + public void activateBlockchainLinkChainTest() throws ApiException { + String blockchainId = null; + String idempotencyKey = null; + CompletableFuture> response = + api.activateBlockchainLinkChain(blockchainId, idempotencyKey); + } + + /** + * Create a new blockchain + * + *

Registers a new tenant-managed blockchain from the supplied declared properties. The + * blockchain starts in the CREATED state and must be activated separately before it can be + * used. + * + * @throws ApiException if the Api call fails + */ + @Test + public void createBlockchainLinkChainTest() throws ApiException { + CreateBlockchainRequest createBlockchainRequest = null; + String idempotencyKey = null; + CompletableFuture> response = + api.createBlockchainLinkChain(createBlockchainRequest, idempotencyKey); + } + + /** + * Delete a blockchain + * + *

Permanently removes a blockchain identified by its ID. The blockchain must not be in an + * active lifecycle state. + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteBlockchainLinkChainTest() throws ApiException { + String blockchainId = null; + + CompletableFuture> response = api.deleteBlockchainLinkChain(blockchainId); + } + + /** + * Get tenant billing info + * + *

Returns the tenant's blockchain activation limit and current usage. tenant_id is + * derived from the JWT token context. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getBlockchainLinkBillingInfoTest() throws ApiException { + CompletableFuture> response = + api.getBlockchainLinkBillingInfo(); + } + + /** + * Get a blockchain by ID + * + *

Returns a single blockchain owned by the tenant, identified by its ID. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getBlockchainLinkChainTest() throws ApiException { + String blockchainId = null; + CompletableFuture> response = + api.getBlockchainLinkChain(blockchainId); + } + + /** + * Get the test wallet address + * + *

Returns the Ethereum address derived from the configured external wallet private key, used + * by the UI for test transfers. tenant_id is derived from the JWT token context. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getBlockchainLinkTestWalletAddressTest() throws ApiException { + CompletableFuture> response = + api.getBlockchainLinkTestWalletAddress(); + } + + /** + * List blockchains with pagination and filtering + * + *

Returns the tenant's blockchains, paginated and filterable by state, network + * environment, and free-text search, with configurable sorting. + * + * @throws ApiException if the Api call fails + */ + @Test + public void listBlockchainLinkChainsTest() throws ApiException { + String pageCursor = null; + BigDecimal pageSize = null; + String search = null; + List status = null; + BlockchainEnvironment blockchainEnv = null; + BlockchainSortField sortBy = null; + String order = null; + List statusExclude = null; + CompletableFuture> response = + api.listBlockchainLinkChains( + pageCursor, + pageSize, + search, + status, + blockchainEnv, + sortBy, + order, + statusExclude); + } + + /** + * Trigger validation workflow + * + *

Starts the asynchronous validation workflow for a blockchain and its associated validation + * session. + * + * @throws ApiException if the Api call fails + */ + @Test + public void triggerBlockchainLinkValidationTest() throws ApiException { + UUID blockchainId = null; + String idempotencyKey = null; + CompletableFuture> response = + api.triggerBlockchainLinkValidation(blockchainId, idempotencyKey); + } + + /** + * Update a blockchain + * + *

Updates the declared properties of an existing blockchain identified by its ID. Only the + * fields supplied in the request are modified. + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateBlockchainLinkChainTest() throws ApiException { + BlockchainDeclaredProperties blockchainDeclaredProperties = null; + String blockchainId = null; + String idempotencyKey = null; + CompletableFuture> response = + api.updateBlockchainLinkChain( + blockchainDeclaredProperties, blockchainId, idempotencyKey); + } +} diff --git a/src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java b/src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java index f2408987..340f9afa 100644 --- a/src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java @@ -43,6 +43,8 @@ import com.fireblocks.sdk.model.ListLegalEntitiesResponse; import com.fireblocks.sdk.model.ListVaultsForRegistrationResponse; import com.fireblocks.sdk.model.RegisterLegalEntityRequest; +import com.fireblocks.sdk.model.RescreenTransactionRequest; +import com.fireblocks.sdk.model.RescreenTransactionResponse; import com.fireblocks.sdk.model.ScreeningConfigurationsRequest; import com.fireblocks.sdk.model.ScreeningPolicyResponse; import com.fireblocks.sdk.model.ScreeningProviderRulesConfigurationResponse; @@ -525,6 +527,24 @@ public void removeAllAddressRegistryVaultOptOutsTest() throws ApiException { api.removeAllAddressRegistryVaultOptOuts(); } + /** + * Rescreen a rejected transaction + * + *

Re-runs compliance screening on an incoming transaction that was rejected or failed by + * screening checks, moving it back to pending screening. This endpoint is only applicable to + * incoming transactions with a rejected/failed AML screening status. + * + * @throws ApiException if the Api call fails + */ + @Test + public void rescreenRejectedTransactionTest() throws ApiException { + String txId = null; + RescreenTransactionRequest rescreenTransactionRequest = null; + String idempotencyKey = null; + CompletableFuture> response = + api.rescreenRejectedTransaction(txId, rescreenTransactionRequest, idempotencyKey); + } + /** * Bypass Screening Policy * diff --git a/src/test/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApiTest.java b/src/test/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApiTest.java index f479fd0c..1d2993c7 100644 --- a/src/test/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApiTest.java @@ -25,6 +25,7 @@ import com.fireblocks.sdk.model.ConnectedAccountTradingPairsResponse; import com.fireblocks.sdk.model.ConnectedAccountsResponse; import com.fireblocks.sdk.model.ConnectedSingleAccountResponse; +import com.fireblocks.sdk.model.GetConnectedAccountsCredentialsPublicKeyResponse; import com.fireblocks.sdk.model.RenameConnectedAccountRequest; import com.fireblocks.sdk.model.RenameConnectedAccountResponse; import java.util.concurrent.CompletableFuture; @@ -42,7 +43,7 @@ public class ConnectedAccountsBetaApiTest { * *

Creates a new connected account for the authenticated tenant. The `creds` field * must be a Base64-encoded RSA-encrypted credential blob. Use `GET - * /exchange_accounts/credentials_public_key` to retrieve the public key for encryption. + * /connected_accounts/credentials/public_key` to retrieve the public key for encryption. * The `providerType` is derived server-side from the `providerId` — callers * do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This * endpoint is currently in beta and might be subject to changes. @@ -105,7 +106,6 @@ public void getConnectedAccountAllowlistTest() throws ApiException { String address = null; String pageCursor = null; Integer pageSize = null; - String sortBy = null; String order = null; CompletableFuture> response = api.getConnectedAccountAllowlist( @@ -116,7 +116,6 @@ public void getConnectedAccountAllowlistTest() throws ApiException { address, pageCursor, pageSize, - sortBy, order); } @@ -207,6 +206,22 @@ public void getConnectedAccountsTest() throws ApiException { api.getConnectedAccounts(mainAccounts, pageSize, pageCursor); } + /** + * Get public key to encrypt connected account credentials + * + *

Returns the RSA public key used to encrypt the `creds` field before calling + * `POST /connected_accounts`. The key is a singleton resource scoped to the + * connected-accounts credentials domain — there is one per tenant context. **Note:** This + * endpoint is currently in beta and might be subject to changes. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getConnectedAccountsCredentialsPublicKeyTest() throws ApiException { + CompletableFuture> response = + api.getConnectedAccountsCredentialsPublicKey(); + } + /** * Rename Connected Account * diff --git a/src/test/java/com/fireblocks/sdk/api/EarnBetaApiTest.java b/src/test/java/com/fireblocks/sdk/api/EarnApiTest.java similarity index 83% rename from src/test/java/com/fireblocks/sdk/api/EarnBetaApiTest.java rename to src/test/java/com/fireblocks/sdk/api/EarnApiTest.java index 4f873f40..163c6b10 100644 --- a/src/test/java/com/fireblocks/sdk/api/EarnBetaApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/EarnApiTest.java @@ -26,11 +26,11 @@ import org.junit.Ignore; import org.junit.Test; -/** API tests for EarnBetaApi */ +/** API tests for EarnApi */ @Ignore -public class EarnBetaApiTest { +public class EarnApiTest { - private final EarnBetaApi api = new EarnBetaApi(); + private final EarnApi api = new EarnApi(); /** * Approve earn provider terms of service @@ -38,8 +38,7 @@ public class EarnBetaApiTest { *

Approves earn provider terms of service for this workspace (one-time per tenant). When * `isTermsApprovalRequired` is true on a provider (see list providers), call this * once before creating or executing earn actions with providers that require it. After success, - * `GET /earn/providers` reflects `isTermsOfServiceApproved`. **Note:** This - * endpoint is currently in beta and might be subject to changes. + * `GET /earn/providers` reflects `isTermsOfServiceApproved`. * * @throws ApiException if the Api call fails */ @@ -55,8 +54,7 @@ public void approveTermsOfServiceTest() throws ApiException { * *

Creates and runs a sequence of on-chain steps for either a deposit into or a withdrawal * from an earn vault/market. Specify the operation with `action` in the request body - * (`DEPOSIT` or `WITHDRAW`). **Note:** This endpoint is currently in beta - * and might be subject to changes. + * (`DEPOSIT` or `WITHDRAW`). * * @throws ApiException if the Api call fails */ @@ -71,8 +69,7 @@ public void createEarnActionTest() throws ApiException { /** * Get a single earn lending action * - *

Returns one lending action by its action sequence id (tenant-scoped). **Note:** This - * endpoint is currently in beta and might be subject to changes. + *

Returns one lending action by its action sequence id (tenant-scoped). * * @throws ApiException if the Api call fails */ @@ -86,8 +83,7 @@ public void getEarnActionTest() throws ApiException { * List earn lending actions * *

Returns a paginated list of lending actions (deposits and withdrawals) for the - * authenticated tenant. **Note:** This endpoint is currently in beta and might be subject to - * changes. + * authenticated tenant. * * @throws ApiException if the Api call fails */ @@ -104,8 +100,7 @@ public void getEarnActionsTest() throws ApiException { /** * Get list of earn opportunities * - *

Get list of earn opportunities (vaults). **Note:** This endpoint is currently in beta and - * might be subject to changes. + *

Get list of earn opportunities (vaults). * * @throws ApiException if the Api call fails */ @@ -123,8 +118,7 @@ public void getEarnOpportunitiesTest() throws ApiException { * Get list of earn positions * *

Get list of earn positions for accounts tracked for this workspace. Optional query - * parameters filter by chain, provider, and pagination. **Note:** This endpoint is currently in - * beta and might be subject to changes. + * parameters filter by chain, provider, and pagination. * * @throws ApiException if the Api call fails */ @@ -143,8 +137,7 @@ public void getEarnPositionsTest() throws ApiException { /** * Get list of earn providers * - *

Get list of earn providers. **Note:** This endpoint is currently in beta and might be - * subject to changes. + *

Get list of earn providers. * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApiTest.java b/src/test/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApiTest.java new file mode 100644 index 00000000..d1fbc35b --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApiTest.java @@ -0,0 +1,45 @@ +/* + * 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.api; + + +import com.fireblocks.sdk.ApiException; +import com.fireblocks.sdk.ApiResponse; +import com.fireblocks.sdk.model.PolicyRuleQuotaRequest; +import com.fireblocks.sdk.model.PolicyRuleQuotaResponse; +import java.util.concurrent.CompletableFuture; +import org.junit.Ignore; +import org.junit.Test; + +/** API tests for PolicyEditorV2BetaApi */ +@Ignore +public class PolicyEditorV2BetaApiTest { + + private final PolicyEditorV2BetaApi api = new PolicyEditorV2BetaApi(); + + /** + * Calculate the AOT quota for a policy rule + * + *

Returns the Amount Over Time (AOT) quota calculated for a specific policy rule. Endpoint + * Permissions: Owner, Admin, Non-Signing Admin. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getPolicyRuleQuotaTest() throws ApiException { + PolicyRuleQuotaRequest policyRuleQuotaRequest = null; + String idempotencyKey = null; + CompletableFuture> response = + api.getPolicyRuleQuota(policyRuleQuotaRequest, idempotencyKey); + } +} diff --git a/src/test/java/com/fireblocks/sdk/api/TagsApiTest.java b/src/test/java/com/fireblocks/sdk/api/TagsApiTest.java index f2ab89c4..94178f0a 100644 --- a/src/test/java/com/fireblocks/sdk/api/TagsApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/TagsApiTest.java @@ -108,6 +108,7 @@ public void getTagsTest() throws ApiException { Boolean includePendingApprovalsInfo = null; Boolean isProtected = null; List type = null; + String allowedEntityType = null; CompletableFuture> response = api.getTags( pageCursor, @@ -116,7 +117,8 @@ public void getTagsTest() throws ApiException { tagIds, includePendingApprovalsInfo, isProtected, - type); + type, + allowedEntityType); } /** diff --git a/src/test/java/com/fireblocks/sdk/api/UtxoManagementBetaApiTest.java b/src/test/java/com/fireblocks/sdk/api/UtxoManagementBetaApiTest.java index 797a96a4..6b79e4e4 100644 --- a/src/test/java/com/fireblocks/sdk/api/UtxoManagementBetaApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/UtxoManagementBetaApiTest.java @@ -19,6 +19,7 @@ import com.fireblocks.sdk.model.AttachDetachUtxoLabelsResponse; import com.fireblocks.sdk.model.ListUtxosResponse; import java.util.List; +import java.util.UUID; import java.util.concurrent.CompletableFuture; import org.junit.Ignore; import org.junit.Test; @@ -52,6 +53,8 @@ public void getUtxosTest() throws ApiException { List excludeAnyLabels = null; List includeStatuses = null; String address = null; + String txHash = null; + UUID txId = null; String minAmount = null; String maxAmount = null; CompletableFuture> response = @@ -67,6 +70,8 @@ public void getUtxosTest() throws ApiException { excludeAnyLabels, includeStatuses, address, + txHash, + txId, minAmount, maxAmount); } diff --git a/src/test/java/com/fireblocks/sdk/api/VaultsApiTest.java b/src/test/java/com/fireblocks/sdk/api/VaultsApiTest.java index 4ed2281e..6c1f1590 100644 --- a/src/test/java/com/fireblocks/sdk/api/VaultsApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/VaultsApiTest.java @@ -16,6 +16,8 @@ import com.fireblocks.sdk.ApiException; import com.fireblocks.sdk.ApiResponse; import com.fireblocks.sdk.model.AddressReverseLookupResponse; +import com.fireblocks.sdk.model.AutomationSettingsRequest; +import com.fireblocks.sdk.model.AutomationSettingsResponse; import com.fireblocks.sdk.model.CreateAddressRequest; import com.fireblocks.sdk.model.CreateAddressResponse; import com.fireblocks.sdk.model.CreateAssetsRequest; @@ -25,6 +27,7 @@ import com.fireblocks.sdk.model.CreateMultipleVaultAccountsJobStatus; import com.fireblocks.sdk.model.CreateVaultAccountRequest; import com.fireblocks.sdk.model.CreateVaultAssetResponse; +import com.fireblocks.sdk.model.GetAutomationSettingsResponse; import com.fireblocks.sdk.model.GetMaxBipIndexUsedResponse; import com.fireblocks.sdk.model.GetMaxSpendableAmountResponse; import com.fireblocks.sdk.model.JobCreated; @@ -32,10 +35,12 @@ import com.fireblocks.sdk.model.PaginatedAssetWalletResponse; import com.fireblocks.sdk.model.PublicKeyInformation; import com.fireblocks.sdk.model.RenameVaultAccountResponse; +import com.fireblocks.sdk.model.SaveAutomationSettingsResponse; import com.fireblocks.sdk.model.SetAutoFuelRequest; import com.fireblocks.sdk.model.SetCustomerRefIdForAddressRequest; import com.fireblocks.sdk.model.SetCustomerRefIdRequest; import com.fireblocks.sdk.model.UnspentInputsResponse; +import com.fireblocks.sdk.model.UpdateAutomationSettingsRequest; import com.fireblocks.sdk.model.UpdateVaultAccountAssetAddressRequest; import com.fireblocks.sdk.model.UpdateVaultAccountRequest; import com.fireblocks.sdk.model.UsdcGatewayWalletInfoResponse; @@ -253,6 +258,25 @@ public void deactivateUsdcGatewayWalletBetaTest() throws ApiException { api.deactivateUsdcGatewayWalletBeta(vaultAccountId, idempotencyKey); } + /** + * Stop a USDC Gateway deposit automation's schedule + * + *

Stops the schedule for an existing deposit automation. The automation itself stays + * configured, only its schedule stops. Turn it back on later with PATCH, without setting up the + * automation again from scratch. **Note:** This endpoint is currently in beta and might be + * subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + * + * @throws ApiException if the Api call fails + */ + @Test + public void disableUsdcGatewayDepositAutomationScheduleBetaTest() throws ApiException { + String vaultAccountId = null; + UUID automationId = null; + + CompletableFuture> response = + api.disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId, automationId); + } + /** * Get vault wallets (Paginated) * @@ -335,8 +359,23 @@ public void getMaxSpendableAmountTest() throws ApiException { String vaultAccountId = null; String assetId = null; Boolean manualSignging = null; + List includeAllLabels = null; + List includeAnyLabels = null; + List excludeAnyLabels = null; + String address = null; + String minAmount = null; + String maxAmount = null; CompletableFuture> response = - api.getMaxSpendableAmount(vaultAccountId, assetId, manualSignging); + api.getMaxSpendableAmount( + vaultAccountId, + assetId, + manualSignging, + includeAllLabels, + includeAnyLabels, + excludeAnyLabels, + address, + minAmount, + maxAmount); } /** @@ -429,6 +468,22 @@ public void getUnspentInputsTest() throws ApiException { api.getUnspentInputs(vaultAccountId, assetId); } + /** + * Read the USDC Gateway deposit automations for a vault account + * + *

Returns the USDC Gateway deposit automations configured for the given vault account. + * **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint + * Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getUsdcGatewayDepositAutomationBetaTest() throws ApiException { + String vaultAccountId = null; + CompletableFuture> response = + api.getUsdcGatewayDepositAutomationBeta(vaultAccountId); + } + /** * Get USDC Gateway wallet info * @@ -586,6 +641,27 @@ public void setCustomerRefIdForAddressTest() throws ApiException { idempotencyKey); } + /** + * Set up a USDC Gateway deposit automation for a vault account + * + *

Turns on automatic deposits into the USDC Gateway wallet for the given vault account, on + * the schedule you choose. Returns an error if an automation already exists for this vault + * account and asset. Use PATCH to change it instead. **Note:** This endpoint is currently in + * beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, + * Approver. + * + * @throws ApiException if the Api call fails + */ + @Test + public void setUsdcGatewayDepositAutomationBetaTest() throws ApiException { + AutomationSettingsRequest automationSettingsRequest = null; + String vaultAccountId = null; + String idempotencyKey = null; + CompletableFuture> response = + api.setUsdcGatewayDepositAutomationBeta( + automationSettingsRequest, vaultAccountId, idempotencyKey); + } + /** * Set auto fueling to on or off * @@ -642,6 +718,29 @@ public void unhideVaultAccountTest() throws ApiException { api.unhideVaultAccount(vaultAccountId, idempotencyKey); } + /** + * Change a USDC Gateway deposit automation + * + *

Changes an existing USDC Gateway deposit automation for a vault account. **Note:** This + * endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, + * Non-Signing Admin, Signer, Approver. + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateUsdcGatewayDepositAutomationBetaTest() throws ApiException { + UpdateAutomationSettingsRequest updateAutomationSettingsRequest = null; + String vaultAccountId = null; + UUID automationId = null; + String idempotencyKey = null; + CompletableFuture> response = + api.updateUsdcGatewayDepositAutomationBeta( + updateAutomationSettingsRequest, + vaultAccountId, + automationId, + idempotencyKey); + } + /** * Rename a vault account * diff --git a/src/test/java/com/fireblocks/sdk/model/ActivateBlockchainResponseTest.java b/src/test/java/com/fireblocks/sdk/model/ActivateBlockchainResponseTest.java new file mode 100644 index 00000000..25dded69 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/ActivateBlockchainResponseTest.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 ActivateBlockchainResponse */ +class ActivateBlockchainResponseTest { + private final ActivateBlockchainResponse model = new ActivateBlockchainResponse(); + + /** Model tests for ActivateBlockchainResponse */ + @Test + void testActivateBlockchainResponse() { + // TODO: test ActivateBlockchainResponse + } + + /** Test the property 'message' */ + @Test + void messageTest() { + // TODO: test message + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/AmlBypassReasonEnumTest.java b/src/test/java/com/fireblocks/sdk/model/AmlBypassReasonEnumTest.java new file mode 100644 index 00000000..c33d7a0d --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/AmlBypassReasonEnumTest.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 AmlBypassReasonEnum */ +class AmlBypassReasonEnumTest { + /** Model tests for AmlBypassReasonEnum */ + @Test + void testAmlBypassReasonEnum() { + // TODO: test AmlBypassReasonEnum + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/AmlScreeningResultTest.java b/src/test/java/com/fireblocks/sdk/model/AmlScreeningResultTest.java index 0e39d0dd..f960dccb 100644 --- a/src/test/java/com/fireblocks/sdk/model/AmlScreeningResultTest.java +++ b/src/test/java/com/fireblocks/sdk/model/AmlScreeningResultTest.java @@ -36,4 +36,82 @@ void providerTest() { void payloadTest() { // TODO: test payload } + + /** Test the property 'verdict' */ + @Test + void verdictTest() { + // TODO: test verdict + } + + /** Test the property 'screeningStatus' */ + @Test + void screeningStatusTest() { + // TODO: test screeningStatus + } + + /** Test the property 'bypassReason' */ + @Test + void bypassReasonTest() { + // TODO: test bypassReason + } + + /** Test the property 'timestamp' */ + @Test + void timestampTest() { + // TODO: test timestamp + } + + /** Test the property 'customerRefId' */ + @Test + void customerRefIdTest() { + // TODO: test customerRefId + } + + /** Test the property 'externalId' */ + @Test + void externalIdTest() { + // TODO: test externalId + } + + /** Test the property 'category' */ + @Test + void categoryTest() { + // TODO: test category + } + + /** Test the property 'categoryId' */ + @Test + void categoryIdTest() { + // TODO: test categoryId + } + + /** Test the property 'risk' */ + @Test + void riskTest() { + // TODO: test risk + } + + /** Test the property 'destAddress' */ + @Test + void destAddressTest() { + // TODO: test destAddress + } + + /** Test the property 'matchedRule' */ + @Test + void matchedRuleTest() { + // TODO: test matchedRule + } + + /** Test the property 'matchedPrescreeningRule' */ + @Test + void matchedPrescreeningRuleTest() { + // TODO: test matchedPrescreeningRule + } + + /** Test the property 'matchedAlert' */ + @Test + void matchedAlertTest() { + // TODO: test matchedAlert + } } diff --git a/src/test/java/com/fireblocks/sdk/model/ApyTest.java b/src/test/java/com/fireblocks/sdk/model/ApyTest.java index 4ea8f63e..4c3eadc6 100644 --- a/src/test/java/com/fireblocks/sdk/model/ApyTest.java +++ b/src/test/java/com/fireblocks/sdk/model/ApyTest.java @@ -42,4 +42,10 @@ void grossTest() { void netTest() { // TODO: test net } + + /** Test the property 'supplyIncentiveApy' */ + @Test + void supplyIncentiveApyTest() { + // TODO: test supplyIncentiveApy + } } diff --git a/src/test/java/com/fireblocks/sdk/model/AutomationSettingsRequestTest.java b/src/test/java/com/fireblocks/sdk/model/AutomationSettingsRequestTest.java new file mode 100644 index 00000000..94d7dea8 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/AutomationSettingsRequestTest.java @@ -0,0 +1,45 @@ +/* + * 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 AutomationSettingsRequest */ +class AutomationSettingsRequestTest { + private final AutomationSettingsRequest model = new AutomationSettingsRequest(); + + /** Model tests for AutomationSettingsRequest */ + @Test + void testAutomationSettingsRequest() { + // TODO: test AutomationSettingsRequest + } + + /** Test the property 'automationType' */ + @Test + void automationTypeTest() { + // TODO: test automationType + } + + /** Test the property 'assetId' */ + @Test + void assetIdTest() { + // TODO: test assetId + } + + /** Test the property 'timeBased' */ + @Test + void timeBasedTest() { + // TODO: test timeBased + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/AutomationSettingsResponseTest.java b/src/test/java/com/fireblocks/sdk/model/AutomationSettingsResponseTest.java new file mode 100644 index 00000000..445b4fea --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/AutomationSettingsResponseTest.java @@ -0,0 +1,57 @@ +/* + * 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 AutomationSettingsResponse */ +class AutomationSettingsResponseTest { + private final AutomationSettingsResponse model = new AutomationSettingsResponse(); + + /** Model tests for AutomationSettingsResponse */ + @Test + void testAutomationSettingsResponse() { + // TODO: test AutomationSettingsResponse + } + + /** Test the property 'automationId' */ + @Test + void automationIdTest() { + // TODO: test automationId + } + + /** Test the property 'vaultAccountId' */ + @Test + void vaultAccountIdTest() { + // TODO: test vaultAccountId + } + + /** Test the property 'assetId' */ + @Test + void assetIdTest() { + // TODO: test assetId + } + + /** Test the property 'automationType' */ + @Test + void automationTypeTest() { + // TODO: test automationType + } + + /** Test the property 'timeBased' */ + @Test + void timeBasedTest() { + // TODO: test timeBased + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/BlockchainDeclaredPropertiesTest.java b/src/test/java/com/fireblocks/sdk/model/BlockchainDeclaredPropertiesTest.java new file mode 100644 index 00000000..98650a1d --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/BlockchainDeclaredPropertiesTest.java @@ -0,0 +1,147 @@ +/* + * 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 BlockchainDeclaredProperties */ +class BlockchainDeclaredPropertiesTest { + private final BlockchainDeclaredProperties model = new BlockchainDeclaredProperties(); + + /** Model tests for BlockchainDeclaredProperties */ + @Test + void testBlockchainDeclaredProperties() { + // TODO: test BlockchainDeclaredProperties + } + + /** Test the property 'chainName' */ + @Test + void chainNameTest() { + // TODO: test chainName + } + + /** Test the property 'chainId' */ + @Test + void chainIdTest() { + // TODO: test chainId + } + + /** Test the property 'symbolName' */ + @Test + void symbolNameTest() { + // TODO: test symbolName + } + + /** Test the property 'decimals' */ + @Test + void decimalsTest() { + // TODO: test decimals + } + + /** Test the property 'rpcUrls' */ + @Test + void rpcUrlsTest() { + // TODO: test rpcUrls + } + + /** Test the property 'environmentType' */ + @Test + void environmentTypeTest() { + // TODO: test environmentType + } + + /** Test the property 'blockExplorerUrl' */ + @Test + void blockExplorerUrlTest() { + // TODO: test blockExplorerUrl + } + + /** Test the property 'blockExplorerTransactionPath' */ + @Test + void blockExplorerTransactionPathTest() { + // TODO: test blockExplorerTransactionPath + } + + /** Test the property 'blockExplorerAddressPath' */ + @Test + void blockExplorerAddressPathTest() { + // TODO: test blockExplorerAddressPath + } + + /** Test the property 'networkId' */ + @Test + void networkIdTest() { + // TODO: test networkId + } + + /** Test the property 'hasFee' */ + @Test + void hasFeeTest() { + // TODO: test hasFee + } + + /** Test the property 'isPoa' */ + @Test + void isPoaTest() { + // TODO: test isPoa + } + + /** Test the property 'hasLayeredFee' */ + @Test + void hasLayeredFeeTest() { + // TODO: test hasLayeredFee + } + + /** Test the property 'nodeType' */ + @Test + void nodeTypeTest() { + // TODO: test nodeType + } + + /** Test the property 'transactionFormat' */ + @Test + void transactionFormatTest() { + // TODO: test transactionFormat + } + + /** Test the property 'baseAssetTenantIds' */ + @Test + void baseAssetTenantIdsTest() { + // TODO: test baseAssetTenantIds + } + + /** Test the property 'explorerApiUrl' */ + @Test + void explorerApiUrlTest() { + // TODO: test explorerApiUrl + } + + /** Test the property 'explorerApiKey' */ + @Test + void explorerApiKeyTest() { + // TODO: test explorerApiKey + } + + /** Test the property 'isTraceEnabled' */ + @Test + void isTraceEnabledTest() { + // TODO: test isTraceEnabled + } + + /** Test the property 'rpcAuth' */ + @Test + void rpcAuthTest() { + // TODO: test rpcAuth + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/BlockchainEnvironmentTest.java b/src/test/java/com/fireblocks/sdk/model/BlockchainEnvironmentTest.java new file mode 100644 index 00000000..45764f47 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/BlockchainEnvironmentTest.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 BlockchainEnvironment */ +class BlockchainEnvironmentTest { + /** Model tests for BlockchainEnvironment */ + @Test + void testBlockchainEnvironment() { + // TODO: test BlockchainEnvironment + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/BlockchainRpcAuthTest.java b/src/test/java/com/fireblocks/sdk/model/BlockchainRpcAuthTest.java new file mode 100644 index 00000000..c403083f --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/BlockchainRpcAuthTest.java @@ -0,0 +1,63 @@ +/* + * 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 BlockchainRpcAuth */ +class BlockchainRpcAuthTest { + private final BlockchainRpcAuth model = new BlockchainRpcAuth(); + + /** Model tests for BlockchainRpcAuth */ + @Test + void testBlockchainRpcAuth() { + // TODO: test BlockchainRpcAuth + } + + /** Test the property 'type' */ + @Test + void typeTest() { + // TODO: test type + } + + /** Test the property 'username' */ + @Test + void usernameTest() { + // TODO: test username + } + + /** Test the property 'password' */ + @Test + void passwordTest() { + // TODO: test password + } + + /** Test the property 'token' */ + @Test + void tokenTest() { + // TODO: test token + } + + /** Test the property 'headerName' */ + @Test + void headerNameTest() { + // TODO: test headerName + } + + /** Test the property 'headerValue' */ + @Test + void headerValueTest() { + // TODO: test headerValue + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/BlockchainSortFieldTest.java b/src/test/java/com/fireblocks/sdk/model/BlockchainSortFieldTest.java new file mode 100644 index 00000000..b1049fc5 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/BlockchainSortFieldTest.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 BlockchainSortField */ +class BlockchainSortFieldTest { + /** Model tests for BlockchainSortField */ + @Test + void testBlockchainSortField() { + // TODO: test BlockchainSortField + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/BlockchainStateFilterTest.java b/src/test/java/com/fireblocks/sdk/model/BlockchainStateFilterTest.java new file mode 100644 index 00000000..20ed1bfb --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/BlockchainStateFilterTest.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 BlockchainStateFilter */ +class BlockchainStateFilterTest { + /** Model tests for BlockchainStateFilter */ + @Test + void testBlockchainStateFilter() { + // TODO: test BlockchainStateFilter + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/BlockchainTest.java b/src/test/java/com/fireblocks/sdk/model/BlockchainTest.java new file mode 100644 index 00000000..a2087258 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/BlockchainTest.java @@ -0,0 +1,99 @@ +/* + * 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 Blockchain */ +class BlockchainTest { + private final Blockchain model = new Blockchain(); + + /** Model tests for Blockchain */ + @Test + void testBlockchain() { + // TODO: test Blockchain + } + + /** Test the property 'id' */ + @Test + void idTest() { + // TODO: test id + } + + /** Test the property 'blockchainState' */ + @Test + void blockchainStateTest() { + // TODO: test blockchainState + } + + /** Test the property 'declaredProperties' */ + @Test + void declaredPropertiesTest() { + // TODO: test declaredProperties + } + + /** Test the property 'createdAtUtc' */ + @Test + void createdAtUtcTest() { + // TODO: test createdAtUtc + } + + /** Test the property 'updatedAtUtc' */ + @Test + void updatedAtUtcTest() { + // TODO: test updatedAtUtc + } + + /** Test the property 'validationSessionId' */ + @Test + void validationSessionIdTest() { + // TODO: test validationSessionId + } + + /** Test the property 'validationStatus' */ + @Test + void validationStatusTest() { + // TODO: test validationStatus + } + + /** Test the property 'validationCreatedAtUtc' */ + @Test + void validationCreatedAtUtcTest() { + // TODO: test validationCreatedAtUtc + } + + /** Test the property 'validationUpdatedAtUtc' */ + @Test + void validationUpdatedAtUtcTest() { + // TODO: test validationUpdatedAtUtc + } + + /** Test the property 'validationCompletedAtUtc' */ + @Test + void validationCompletedAtUtcTest() { + // TODO: test validationCompletedAtUtc + } + + /** Test the property 'validationFailureReasons' */ + @Test + void validationFailureReasonsTest() { + // TODO: test validationFailureReasons + } + + /** Test the property 'failedStep' */ + @Test + void failedStepTest() { + // TODO: test failedStep + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/CreateBlockchainRequestTest.java b/src/test/java/com/fireblocks/sdk/model/CreateBlockchainRequestTest.java new file mode 100644 index 00000000..ac3a8654 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/CreateBlockchainRequestTest.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 CreateBlockchainRequest */ +class CreateBlockchainRequestTest { + private final CreateBlockchainRequest model = new CreateBlockchainRequest(); + + /** Model tests for CreateBlockchainRequest */ + @Test + void testCreateBlockchainRequest() { + // TODO: test CreateBlockchainRequest + } + + /** Test the property 'declaredProperties' */ + @Test + void declaredPropertiesTest() { + // TODO: test declaredProperties + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/CreateBlockchainResponseTest.java b/src/test/java/com/fireblocks/sdk/model/CreateBlockchainResponseTest.java new file mode 100644 index 00000000..c95425d3 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/CreateBlockchainResponseTest.java @@ -0,0 +1,39 @@ +/* + * 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 CreateBlockchainResponse */ +class CreateBlockchainResponseTest { + private final CreateBlockchainResponse model = new CreateBlockchainResponse(); + + /** Model tests for CreateBlockchainResponse */ + @Test + void testCreateBlockchainResponse() { + // TODO: test CreateBlockchainResponse + } + + /** Test the property 'blockchain' */ + @Test + void blockchainTest() { + // TODO: test blockchain + } + + /** Test the property 'message' */ + @Test + void messageTest() { + // TODO: test message + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/CreateTagRequestTest.java b/src/test/java/com/fireblocks/sdk/model/CreateTagRequestTest.java index 6b17f957..5f8370d4 100644 --- a/src/test/java/com/fireblocks/sdk/model/CreateTagRequestTest.java +++ b/src/test/java/com/fireblocks/sdk/model/CreateTagRequestTest.java @@ -54,4 +54,10 @@ void isProtectedTest() { void typeTest() { // TODO: test type } + + /** Test the property 'allowedEntityTypes' */ + @Test + void allowedEntityTypesTest() { + // TODO: test allowedEntityTypes + } } diff --git a/src/test/java/com/fireblocks/sdk/model/EarnCuratorTest.java b/src/test/java/com/fireblocks/sdk/model/EarnCuratorTest.java new file mode 100644 index 00000000..ff9aa364 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/EarnCuratorTest.java @@ -0,0 +1,39 @@ +/* + * 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 EarnCurator */ +class EarnCuratorTest { + private final EarnCurator model = new EarnCurator(); + + /** Model tests for EarnCurator */ + @Test + void testEarnCurator() { + // TODO: test EarnCurator + } + + /** Test the property 'name' */ + @Test + void nameTest() { + // TODO: test name + } + + /** Test the property 'iconUrl' */ + @Test + void iconUrlTest() { + // TODO: test iconUrl + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/EarnMetadataTest.java b/src/test/java/com/fireblocks/sdk/model/EarnMetadataTest.java new file mode 100644 index 00000000..19ddf9ab --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/EarnMetadataTest.java @@ -0,0 +1,39 @@ +/* + * 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 EarnMetadata */ +class EarnMetadataTest { + private final EarnMetadata model = new EarnMetadata(); + + /** Model tests for EarnMetadata */ + @Test + void testEarnMetadata() { + // TODO: test EarnMetadata + } + + /** Test the property 'name' */ + @Test + void nameTest() { + // TODO: test name + } + + /** Test the property 'iconUrl' */ + @Test + void iconUrlTest() { + // TODO: test iconUrl + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/GetAutomationSettingsResponseTest.java b/src/test/java/com/fireblocks/sdk/model/GetAutomationSettingsResponseTest.java new file mode 100644 index 00000000..1ba5e442 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/GetAutomationSettingsResponseTest.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 GetAutomationSettingsResponse */ +class GetAutomationSettingsResponseTest { + private final GetAutomationSettingsResponse model = new GetAutomationSettingsResponse(); + + /** Model tests for GetAutomationSettingsResponse */ + @Test + void testGetAutomationSettingsResponse() { + // TODO: test GetAutomationSettingsResponse + } + + /** Test the property 'settings' */ + @Test + void settingsTest() { + // TODO: test settings + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/GetBillingInfoResponseTest.java b/src/test/java/com/fireblocks/sdk/model/GetBillingInfoResponseTest.java new file mode 100644 index 00000000..ab2d0418 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/GetBillingInfoResponseTest.java @@ -0,0 +1,39 @@ +/* + * 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 GetBillingInfoResponse */ +class GetBillingInfoResponseTest { + private final GetBillingInfoResponse model = new GetBillingInfoResponse(); + + /** Model tests for GetBillingInfoResponse */ + @Test + void testGetBillingInfoResponse() { + // TODO: test GetBillingInfoResponse + } + + /** Test the property 'activatedBlockchainsLimit' */ + @Test + void activatedBlockchainsLimitTest() { + // TODO: test activatedBlockchainsLimit + } + + /** Test the property 'activatedBlockchainsUsed' */ + @Test + void activatedBlockchainsUsedTest() { + // TODO: test activatedBlockchainsUsed + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/GetBlockchainByIdResponseTest.java b/src/test/java/com/fireblocks/sdk/model/GetBlockchainByIdResponseTest.java new file mode 100644 index 00000000..818ec4e5 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/GetBlockchainByIdResponseTest.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 GetBlockchainByIdResponse */ +class GetBlockchainByIdResponseTest { + private final GetBlockchainByIdResponse model = new GetBlockchainByIdResponse(); + + /** Model tests for GetBlockchainByIdResponse */ + @Test + void testGetBlockchainByIdResponse() { + // TODO: test GetBlockchainByIdResponse + } + + /** Test the property 'blockchain' */ + @Test + void blockchainTest() { + // TODO: test blockchain + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponseTest.java b/src/test/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponseTest.java new file mode 100644 index 00000000..c854fd36 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponseTest.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 GetConnectedAccountsCredentialsPublicKeyResponse */ +class GetConnectedAccountsCredentialsPublicKeyResponseTest { + private final GetConnectedAccountsCredentialsPublicKeyResponse model = + new GetConnectedAccountsCredentialsPublicKeyResponse(); + + /** Model tests for GetConnectedAccountsCredentialsPublicKeyResponse */ + @Test + void testGetConnectedAccountsCredentialsPublicKeyResponse() { + // TODO: test GetConnectedAccountsCredentialsPublicKeyResponse + } + + /** Test the property 'publicKey' */ + @Test + void publicKeyTest() { + // TODO: test publicKey + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/GetTestWalletAddressResponseTest.java b/src/test/java/com/fireblocks/sdk/model/GetTestWalletAddressResponseTest.java new file mode 100644 index 00000000..e80c76d7 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/GetTestWalletAddressResponseTest.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 GetTestWalletAddressResponse */ +class GetTestWalletAddressResponseTest { + private final GetTestWalletAddressResponse model = new GetTestWalletAddressResponse(); + + /** Model tests for GetTestWalletAddressResponse */ + @Test + void testGetTestWalletAddressResponse() { + // TODO: test GetTestWalletAddressResponse + } + + /** Test the property 'testWalletAddress' */ + @Test + void testWalletAddressTest() { + // TODO: test testWalletAddress + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/ListBlockchainsResponse2Test.java b/src/test/java/com/fireblocks/sdk/model/ListBlockchainsResponse2Test.java new file mode 100644 index 00000000..a7bb86b3 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/ListBlockchainsResponse2Test.java @@ -0,0 +1,51 @@ +/* + * 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 ListBlockchainsResponse2 */ +class ListBlockchainsResponse2Test { + private final ListBlockchainsResponse2 model = new ListBlockchainsResponse2(); + + /** Model tests for ListBlockchainsResponse2 */ + @Test + void testListBlockchainsResponse2() { + // TODO: test ListBlockchainsResponse2 + } + + /** Test the property 'data' */ + @Test + void dataTest() { + // TODO: test data + } + + /** Test the property 'total' */ + @Test + void totalTest() { + // TODO: test total + } + + /** Test the property 'next' */ + @Test + void nextTest() { + // TODO: test next + } + + /** Test the property 'prev' */ + @Test + void prevTest() { + // TODO: test prev + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/OpportunityTest.java b/src/test/java/com/fireblocks/sdk/model/OpportunityTest.java index 65c90638..d023bc75 100644 --- a/src/test/java/com/fireblocks/sdk/model/OpportunityTest.java +++ b/src/test/java/com/fireblocks/sdk/model/OpportunityTest.java @@ -85,12 +85,24 @@ void totalAssetsTest() { // TODO: test totalAssets } + /** Test the property 'totalAssetsUsd' */ + @Test + void totalAssetsUsdTest() { + // TODO: test totalAssetsUsd + } + /** Test the property 'liquidity' */ @Test void liquidityTest() { // TODO: test liquidity } + /** Test the property 'liquidityUsd' */ + @Test + void liquidityUsdTest() { + // TODO: test liquidityUsd + } + /** Test the property 'apy' */ @Test void apyTest() { @@ -120,4 +132,16 @@ void exposureTypeTest() { void exposureTest() { // TODO: test exposure } + + /** Test the property 'curator' */ + @Test + void curatorTest() { + // TODO: test curator + } + + /** Test the property 'metadata' */ + @Test + void metadataTest() { + // TODO: test metadata + } } diff --git a/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipantTest.java b/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipantTest.java new file mode 100644 index 00000000..9f52fc7f --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipantTest.java @@ -0,0 +1,39 @@ +/* + * 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 PolicyRuleQuotaParticipant */ +class PolicyRuleQuotaParticipantTest { + private final PolicyRuleQuotaParticipant model = new PolicyRuleQuotaParticipant(); + + /** Model tests for PolicyRuleQuotaParticipant */ + @Test + void testPolicyRuleQuotaParticipant() { + // TODO: test PolicyRuleQuotaParticipant + } + + /** Test the property 'id' */ + @Test + void idTest() { + // TODO: test id + } + + /** Test the property 'type' */ + @Test + void typeTest() { + // TODO: test type + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequestTest.java b/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequestTest.java new file mode 100644 index 00000000..feda150e --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequestTest.java @@ -0,0 +1,51 @@ +/* + * 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 PolicyRuleQuotaRequest */ +class PolicyRuleQuotaRequestTest { + private final PolicyRuleQuotaRequest model = new PolicyRuleQuotaRequest(); + + /** Model tests for PolicyRuleQuotaRequest */ + @Test + void testPolicyRuleQuotaRequest() { + // TODO: test PolicyRuleQuotaRequest + } + + /** Test the property 'ruleId' */ + @Test + void ruleIdTest() { + // TODO: test ruleId + } + + /** Test the property 'initiator' */ + @Test + void initiatorTest() { + // TODO: test initiator + } + + /** Test the property 'source' */ + @Test + void sourceTest() { + // TODO: test source + } + + /** Test the property 'destination' */ + @Test + void destinationTest() { + // TODO: test destination + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponseTest.java b/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponseTest.java new file mode 100644 index 00000000..69314da7 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponseTest.java @@ -0,0 +1,63 @@ +/* + * 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 PolicyRuleQuotaResponse */ +class PolicyRuleQuotaResponseTest { + private final PolicyRuleQuotaResponse model = new PolicyRuleQuotaResponse(); + + /** Model tests for PolicyRuleQuotaResponse */ + @Test + void testPolicyRuleQuotaResponse() { + // TODO: test PolicyRuleQuotaResponse + } + + /** Test the property 'amount' */ + @Test + void amountTest() { + // TODO: test amount + } + + /** Test the property 'quotaConfig' */ + @Test + void quotaConfigTest() { + // TODO: test quotaConfig + } + + /** Test the property 'currency' */ + @Test + void currencyTest() { + // TODO: test currency + } + + /** Test the property 'windowStart' */ + @Test + void windowStartTest() { + // TODO: test windowStart + } + + /** Test the property 'windowEnd' */ + @Test + void windowEndTest() { + // TODO: test windowEnd + } + + /** Test the property 'transactionCount' */ + @Test + void transactionCountTest() { + // TODO: test transactionCount + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/Position2Test.java b/src/test/java/com/fireblocks/sdk/model/Position2Test.java index c5ba4a61..c8ebeb0b 100644 --- a/src/test/java/com/fireblocks/sdk/model/Position2Test.java +++ b/src/test/java/com/fireblocks/sdk/model/Position2Test.java @@ -121,6 +121,12 @@ void lastSyncedAtTest() { // TODO: test lastSyncedAt } + /** Test the property 'lastModifiedAt' */ + @Test + void lastModifiedAtTest() { + // TODO: test lastModifiedAt + } + /** Test the property 'availableActions' */ @Test void availableActionsTest() { diff --git a/src/test/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItemTest.java b/src/test/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItemTest.java new file mode 100644 index 00000000..dc7782c8 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItemTest.java @@ -0,0 +1,45 @@ +/* + * 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 ProgramCallDecodedDataItem */ +class ProgramCallDecodedDataItemTest { + private final ProgramCallDecodedDataItem model = new ProgramCallDecodedDataItem(); + + /** Model tests for ProgramCallDecodedDataItem */ + @Test + void testProgramCallDecodedDataItem() { + // TODO: test ProgramCallDecodedDataItem + } + + /** Test the property 'programId' */ + @Test + void programIdTest() { + // TODO: test programId + } + + /** Test the property 'programName' */ + @Test + void programNameTest() { + // TODO: test programName + } + + /** Test the property 'instructionData' */ + @Test + void instructionDataTest() { + // TODO: test instructionData + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/RescreenTransactionRequestTest.java b/src/test/java/com/fireblocks/sdk/model/RescreenTransactionRequestTest.java new file mode 100644 index 00000000..5fc2c035 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/RescreenTransactionRequestTest.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 RescreenTransactionRequest */ +class RescreenTransactionRequestTest { + private final RescreenTransactionRequest model = new RescreenTransactionRequest(); + + /** Model tests for RescreenTransactionRequest */ + @Test + void testRescreenTransactionRequest() { + // TODO: test RescreenTransactionRequest + } + + /** Test the property 'resetTravelRuleMessage' */ + @Test + void resetTravelRuleMessageTest() { + // TODO: test resetTravelRuleMessage + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/RescreenTransactionResponseTest.java b/src/test/java/com/fireblocks/sdk/model/RescreenTransactionResponseTest.java new file mode 100644 index 00000000..9b83b981 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/RescreenTransactionResponseTest.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 RescreenTransactionResponse */ +class RescreenTransactionResponseTest { + private final RescreenTransactionResponse model = new RescreenTransactionResponse(); + + /** Model tests for RescreenTransactionResponse */ + @Test + void testRescreenTransactionResponse() { + // TODO: test RescreenTransactionResponse + } + + /** Test the property 'success' */ + @Test + void successTest() { + // TODO: test success + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponseTest.java b/src/test/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponseTest.java new file mode 100644 index 00000000..f4fc9d05 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponseTest.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 SaveAutomationSettingsResponse */ +class SaveAutomationSettingsResponseTest { + private final SaveAutomationSettingsResponse model = new SaveAutomationSettingsResponse(); + + /** Model tests for SaveAutomationSettingsResponse */ + @Test + void testSaveAutomationSettingsResponse() { + // TODO: test SaveAutomationSettingsResponse + } + + /** Test the property 'automationId' */ + @Test + void automationIdTest() { + // TODO: test automationId + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/ScreeningStatusEnumTest.java b/src/test/java/com/fireblocks/sdk/model/ScreeningStatusEnumTest.java new file mode 100644 index 00000000..98b722cd --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/ScreeningStatusEnumTest.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 ScreeningStatusEnum */ +class ScreeningStatusEnumTest { + /** Model tests for ScreeningStatusEnum */ + @Test + void testScreeningStatusEnum() { + // TODO: test ScreeningStatusEnum + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/TagTest.java b/src/test/java/com/fireblocks/sdk/model/TagTest.java index cecd1ec6..39ede19c 100644 --- a/src/test/java/com/fireblocks/sdk/model/TagTest.java +++ b/src/test/java/com/fireblocks/sdk/model/TagTest.java @@ -67,6 +67,12 @@ void typeTest() { // TODO: test type } + /** Test the property 'allowedEntityTypes' */ + @Test + void allowedEntityTypesTest() { + // TODO: test allowedEntityTypes + } + /** Test the property 'pendingApprovalRequest' */ @Test void pendingApprovalRequestTest() { diff --git a/src/test/java/com/fireblocks/sdk/model/TimeBasedTriggerTest.java b/src/test/java/com/fireblocks/sdk/model/TimeBasedTriggerTest.java new file mode 100644 index 00000000..7151b39c --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/TimeBasedTriggerTest.java @@ -0,0 +1,45 @@ +/* + * 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 TimeBasedTrigger */ +class TimeBasedTriggerTest { + private final TimeBasedTrigger model = new TimeBasedTrigger(); + + /** Model tests for TimeBasedTrigger */ + @Test + void testTimeBasedTrigger() { + // TODO: test TimeBasedTrigger + } + + /** Test the property 'intervalValue' */ + @Test + void intervalValueTest() { + // TODO: test intervalValue + } + + /** Test the property 'intervalUnit' */ + @Test + void intervalUnitTest() { + // TODO: test intervalUnit + } + + /** Test the property 'balanceThreshold' */ + @Test + void balanceThresholdTest() { + // TODO: test balanceThreshold + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/TransactionResponseTest.java b/src/test/java/com/fireblocks/sdk/model/TransactionResponseTest.java index b596a686..f9506c86 100644 --- a/src/test/java/com/fireblocks/sdk/model/TransactionResponseTest.java +++ b/src/test/java/com/fireblocks/sdk/model/TransactionResponseTest.java @@ -133,6 +133,12 @@ void contractCallDecodedDataTest() { // TODO: test contractCallDecodedData } + /** Test the property 'programCallDecodedData' */ + @Test + void programCallDecodedDataTest() { + // TODO: test programCallDecodedData + } + /** Test the property 'amountInfo' */ @Test void amountInfoTest() { diff --git a/src/test/java/com/fireblocks/sdk/model/TriggerValidationFlowResponseTest.java b/src/test/java/com/fireblocks/sdk/model/TriggerValidationFlowResponseTest.java new file mode 100644 index 00000000..6bbb7ca1 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/TriggerValidationFlowResponseTest.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 TriggerValidationFlowResponse */ +class TriggerValidationFlowResponseTest { + private final TriggerValidationFlowResponse model = new TriggerValidationFlowResponse(); + + /** Model tests for TriggerValidationFlowResponse */ + @Test + void testTriggerValidationFlowResponse() { + // TODO: test TriggerValidationFlowResponse + } + + /** Test the property 'message' */ + @Test + void messageTest() { + // TODO: test message + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequestTest.java b/src/test/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequestTest.java new file mode 100644 index 00000000..5a127130 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequestTest.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 UpdateAutomationSettingsRequest */ +class UpdateAutomationSettingsRequestTest { + private final UpdateAutomationSettingsRequest model = new UpdateAutomationSettingsRequest(); + + /** Model tests for UpdateAutomationSettingsRequest */ + @Test + void testUpdateAutomationSettingsRequest() { + // TODO: test UpdateAutomationSettingsRequest + } + + /** Test the property 'timeBased' */ + @Test + void timeBasedTest() { + // TODO: test timeBased + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/UpdateBlockchainResponseTest.java b/src/test/java/com/fireblocks/sdk/model/UpdateBlockchainResponseTest.java new file mode 100644 index 00000000..d8544594 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/UpdateBlockchainResponseTest.java @@ -0,0 +1,39 @@ +/* + * 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 UpdateBlockchainResponse */ +class UpdateBlockchainResponseTest { + private final UpdateBlockchainResponse model = new UpdateBlockchainResponse(); + + /** Model tests for UpdateBlockchainResponse */ + @Test + void testUpdateBlockchainResponse() { + // TODO: test UpdateBlockchainResponse + } + + /** Test the property 'blockchain' */ + @Test + void blockchainTest() { + // TODO: test blockchain + } + + /** Test the property 'message' */ + @Test + void messageTest() { + // TODO: test message + } +}