diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 618cad5e..652cd533 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -69,9 +69,6 @@ docs/AddressReverseLookupResponse.md
docs/AddressesFilters.md
docs/AlertExposureTypeEnum.md
docs/AlertLevelEnum.md
-docs/AllocationResponse.md
-docs/AllocationResponseAccept.md
-docs/AllocationResponseReject.md
docs/AllocationWithdrawPayload.md
docs/AllowListPayload.md
docs/AllowlistEntry.md
@@ -201,7 +198,6 @@ docs/CantonCallEndInvestorInvite.md
docs/CantonCallEndInvestorInviteCancel.md
docs/CantonCallEndInvestorOffboard.md
docs/CantonCallParticipantOnboarding.md
-docs/CantonCallTransferWithdraw.md
docs/CantonDetails.md
docs/CantonDomainEnum.md
docs/CantonOfferResponseDetails.md
@@ -353,6 +349,8 @@ docs/CreateReportResponse.md
docs/CreateSigningKeyDto.md
docs/CreateSigningKeyDtoProofOfOwnership.md
docs/CreateTagRequest.md
+docs/CreateTempoTransferRequest.md
+docs/CreateTempoTransferResponse.md
docs/CreateTokenRequestDto.md
docs/CreateTokenRequestDtoCreateParams.md
docs/CreateTransactionResponse.md
@@ -377,6 +375,7 @@ docs/DefaultNetworkRoutingDest.md
docs/Delegation.md
docs/DelegationBlockchainPositionInfo.md
docs/DelegationSummary.md
+docs/DeleteApprovalApiKeyResponse.md
docs/DeleteNetworkConnectionResponse.md
docs/DeleteNetworkIdResponse.md
docs/DeleteWebhookMtlsConfigResponse.md
@@ -420,6 +419,7 @@ docs/DraftResponse.md
docs/DraftReviewAndValidationResponse.md
docs/DropTransactionRequest.md
docs/DropTransactionResponse.md
+docs/DtccOnboardingRejectPayload.md
docs/DvnConfig.md
docs/DvnConfigWithConfirmations.md
docs/EVMTokenCreateParamsDto.md
@@ -703,15 +703,16 @@ docs/OffExchangesApi.md
docs/Offer.md
docs/OfferResponse.md
docs/OfferResponseAccepted.md
-docs/OfferResponseAllocation.md
-docs/OfferResponseOnboarding.md
-docs/OfferResponseTransfer.md
+docs/OfferResponseAllocationAccept.md
+docs/OfferResponseAllocationReject.md
+docs/OfferResponseDtccOnboardingAccept.md
+docs/OfferResponseDtccOnboardingReject.md
+docs/OfferResponseTradewebAccept.md
+docs/OfferResponseTradewebReject.md
+docs/OfferResponseTransferAccept.md
+docs/OfferResponseTransferReject.md
+docs/OfferResponseTransferWithdraw.md
docs/OffersResponse.md
-docs/OnboardingResponse.md
-docs/OnboardingResponseDtccAccept.md
-docs/OnboardingResponseDtccReject.md
-docs/OnboardingResponseTradewebAccept.md
-docs/OnboardingResponseTradewebReject.md
docs/OnchainDataApi.md
docs/OnchainTransaction.md
docs/OnchainTransactionsPagedResponse.md
@@ -1144,6 +1145,10 @@ docs/TagType.md
docs/TagsApi.md
docs/TagsPagedResponse.md
docs/TemplatesPaginatedResponse.md
+docs/TempoBetaApi.md
+docs/TempoTransferDestination.md
+docs/TempoTransferDestinationItem.md
+docs/TempoTransferSource.md
docs/ThirdPartyRouting.md
docs/TimeBasedTrigger.md
docs/TimeInForce.md
@@ -1212,11 +1217,7 @@ docs/TransferPeerTypeEnum.md
docs/TransferPeerTypeEnum2.md
docs/TransferRail.md
docs/TransferReceipt.md
-docs/TransferResponse.md
-docs/TransferResponseAccept.md
-docs/TransferResponseReject.md
docs/TransferValidationFailure.md
-docs/TransferWithdrawPayload.md
docs/TravelRuleActionEnum.md
docs/TravelRuleAddress.md
docs/TravelRuleApi.md
@@ -1419,6 +1420,7 @@ fireblocks/api/security_posture_management_api.py
fireblocks/api/smart_transfer_api.py
fireblocks/api/staking_api.py
fireblocks/api/tags_api.py
+fireblocks/api/tempo_beta_api.py
fireblocks/api/tokenization_api.py
fireblocks/api/tr_link_api.py
fireblocks/api/trading_beta_api.py
@@ -1511,9 +1513,6 @@ fireblocks/models/address_reverse_lookup_response.py
fireblocks/models/addresses_filters.py
fireblocks/models/alert_exposure_type_enum.py
fireblocks/models/alert_level_enum.py
-fireblocks/models/allocation_response.py
-fireblocks/models/allocation_response_accept.py
-fireblocks/models/allocation_response_reject.py
fireblocks/models/allocation_withdraw_payload.py
fireblocks/models/allow_list_payload.py
fireblocks/models/allowlist_entry.py
@@ -1639,7 +1638,6 @@ fireblocks/models/canton_call_end_investor_invite.py
fireblocks/models/canton_call_end_investor_invite_cancel.py
fireblocks/models/canton_call_end_investor_offboard.py
fireblocks/models/canton_call_participant_onboarding.py
-fireblocks/models/canton_call_transfer_withdraw.py
fireblocks/models/canton_details.py
fireblocks/models/canton_domain_enum.py
fireblocks/models/canton_offer_response_details.py
@@ -1781,6 +1779,8 @@ fireblocks/models/create_report_response.py
fireblocks/models/create_signing_key_dto.py
fireblocks/models/create_signing_key_dto_proof_of_ownership.py
fireblocks/models/create_tag_request.py
+fireblocks/models/create_tempo_transfer_request.py
+fireblocks/models/create_tempo_transfer_response.py
fireblocks/models/create_token_request_dto.py
fireblocks/models/create_token_request_dto_create_params.py
fireblocks/models/create_transaction_response.py
@@ -1803,6 +1803,7 @@ fireblocks/models/default_network_routing_dest.py
fireblocks/models/delegation.py
fireblocks/models/delegation_blockchain_position_info.py
fireblocks/models/delegation_summary.py
+fireblocks/models/delete_approval_api_key_response.py
fireblocks/models/delete_network_connection_response.py
fireblocks/models/delete_network_id_response.py
fireblocks/models/delete_webhook_mtls_config_response.py
@@ -1845,6 +1846,7 @@ fireblocks/models/draft_response.py
fireblocks/models/draft_review_and_validation_response.py
fireblocks/models/drop_transaction_request.py
fireblocks/models/drop_transaction_response.py
+fireblocks/models/dtcc_onboarding_reject_payload.py
fireblocks/models/dvn_config.py
fireblocks/models/dvn_config_with_confirmations.py
fireblocks/models/dvp_settlement.py
@@ -2116,15 +2118,16 @@ fireblocks/models/notification_with_data.py
fireblocks/models/offer.py
fireblocks/models/offer_response.py
fireblocks/models/offer_response_accepted.py
-fireblocks/models/offer_response_allocation.py
-fireblocks/models/offer_response_onboarding.py
-fireblocks/models/offer_response_transfer.py
+fireblocks/models/offer_response_allocation_accept.py
+fireblocks/models/offer_response_allocation_reject.py
+fireblocks/models/offer_response_dtcc_onboarding_accept.py
+fireblocks/models/offer_response_dtcc_onboarding_reject.py
+fireblocks/models/offer_response_tradeweb_accept.py
+fireblocks/models/offer_response_tradeweb_reject.py
+fireblocks/models/offer_response_transfer_accept.py
+fireblocks/models/offer_response_transfer_reject.py
+fireblocks/models/offer_response_transfer_withdraw.py
fireblocks/models/offers_response.py
-fireblocks/models/onboarding_response.py
-fireblocks/models/onboarding_response_dtcc_accept.py
-fireblocks/models/onboarding_response_dtcc_reject.py
-fireblocks/models/onboarding_response_tradeweb_accept.py
-fireblocks/models/onboarding_response_tradeweb_reject.py
fireblocks/models/onchain_transaction.py
fireblocks/models/onchain_transactions_paged_response.py
fireblocks/models/onchain_transactions_paged_response2.py
@@ -2455,6 +2458,9 @@ fireblocks/models/tag_attachment_operation_action.py
fireblocks/models/tag_type.py
fireblocks/models/tags_paged_response.py
fireblocks/models/templates_paginated_response.py
+fireblocks/models/tempo_transfer_destination.py
+fireblocks/models/tempo_transfer_destination_item.py
+fireblocks/models/tempo_transfer_source.py
fireblocks/models/third_party_routing.py
fireblocks/models/time_based_trigger.py
fireblocks/models/time_in_force.py
@@ -2610,11 +2616,7 @@ fireblocks/models/transfer_peer_type_enum.py
fireblocks/models/transfer_peer_type_enum2.py
fireblocks/models/transfer_rail.py
fireblocks/models/transfer_receipt.py
-fireblocks/models/transfer_response.py
-fireblocks/models/transfer_response_accept.py
-fireblocks/models/transfer_response_reject.py
fireblocks/models/transfer_validation_failure.py
-fireblocks/models/transfer_withdraw_payload.py
fireblocks/models/travel_rule_action_enum.py
fireblocks/models/travel_rule_address.py
fireblocks/models/travel_rule_create_transaction_request.py
@@ -2853,9 +2855,6 @@ test/test_address_reverse_lookup_response.py
test/test_addresses_filters.py
test/test_alert_exposure_type_enum.py
test/test_alert_level_enum.py
-test/test_allocation_response.py
-test/test_allocation_response_accept.py
-test/test_allocation_response_reject.py
test/test_allocation_withdraw_payload.py
test/test_allow_list_payload.py
test/test_allowlist_entry.py
@@ -2986,7 +2985,6 @@ test/test_canton_call_end_investor_invite.py
test/test_canton_call_end_investor_invite_cancel.py
test/test_canton_call_end_investor_offboard.py
test/test_canton_call_participant_onboarding.py
-test/test_canton_call_transfer_withdraw.py
test/test_canton_details.py
test/test_canton_domain_enum.py
test/test_canton_offer_response_details.py
@@ -3138,6 +3136,8 @@ test/test_create_report_response.py
test/test_create_signing_key_dto.py
test/test_create_signing_key_dto_proof_of_ownership.py
test/test_create_tag_request.py
+test/test_create_tempo_transfer_request.py
+test/test_create_tempo_transfer_response.py
test/test_create_token_request_dto.py
test/test_create_token_request_dto_create_params.py
test/test_create_transaction_response.py
@@ -3160,6 +3160,7 @@ test/test_default_network_routing_dest.py
test/test_delegation.py
test/test_delegation_blockchain_position_info.py
test/test_delegation_summary.py
+test/test_delete_approval_api_key_response.py
test/test_delete_network_connection_response.py
test/test_delete_network_id_response.py
test/test_delete_webhook_mtls_config_response.py
@@ -3203,6 +3204,7 @@ test/test_draft_response.py
test/test_draft_review_and_validation_response.py
test/test_drop_transaction_request.py
test/test_drop_transaction_response.py
+test/test_dtcc_onboarding_reject_payload.py
test/test_dvn_config.py
test/test_dvn_config_with_confirmations.py
test/test_dvp_settlement.py
@@ -3487,15 +3489,16 @@ test/test_off_exchanges_api.py
test/test_offer.py
test/test_offer_response.py
test/test_offer_response_accepted.py
-test/test_offer_response_allocation.py
-test/test_offer_response_onboarding.py
-test/test_offer_response_transfer.py
+test/test_offer_response_allocation_accept.py
+test/test_offer_response_allocation_reject.py
+test/test_offer_response_dtcc_onboarding_accept.py
+test/test_offer_response_dtcc_onboarding_reject.py
+test/test_offer_response_tradeweb_accept.py
+test/test_offer_response_tradeweb_reject.py
+test/test_offer_response_transfer_accept.py
+test/test_offer_response_transfer_reject.py
+test/test_offer_response_transfer_withdraw.py
test/test_offers_response.py
-test/test_onboarding_response.py
-test/test_onboarding_response_dtcc_accept.py
-test/test_onboarding_response_dtcc_reject.py
-test/test_onboarding_response_tradeweb_accept.py
-test/test_onboarding_response_tradeweb_reject.py
test/test_onchain_data_api.py
test/test_onchain_transaction.py
test/test_onchain_transactions_paged_response.py
@@ -3838,6 +3841,10 @@ test/test_tag_type.py
test/test_tags_api.py
test/test_tags_paged_response.py
test/test_templates_paginated_response.py
+test/test_tempo_beta_api.py
+test/test_tempo_transfer_destination.py
+test/test_tempo_transfer_destination_item.py
+test/test_tempo_transfer_source.py
test/test_third_party_routing.py
test/test_time_based_trigger.py
test/test_time_in_force.py
@@ -3997,11 +4004,7 @@ test/test_transfer_peer_type_enum.py
test/test_transfer_peer_type_enum2.py
test/test_transfer_rail.py
test/test_transfer_receipt.py
-test/test_transfer_response.py
-test/test_transfer_response_accept.py
-test/test_transfer_response_reject.py
test/test_transfer_validation_failure.py
-test/test_transfer_withdraw_payload.py
test/test_travel_rule_action_enum.py
test/test_travel_rule_address.py
test/test_travel_rule_api.py
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index d0054bc9..00000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,290 +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).
-
-## [v33.0.0](https://github.com/fireblocks/py-sdk/compare/v24.0.0...v33.0.0) - 2026-09-30
-
-### Merged
-
-- Generated SDK #2897331076 [`#162`](https://github.com/fireblocks/py-sdk/pull/162)
-
-## [v24.0.0](https://github.com/fireblocks/py-sdk/compare/v23.0.0...v24.0.0) - 2026-07-23
-
-### Merged
-
-- Generated SDK #2700459745 (major) [`#146`](https://github.com/fireblocks/py-sdk/pull/146)
-
-## [v23.0.0](https://github.com/fireblocks/py-sdk/compare/v22.0.0...v23.0.0) - 2026-07-01
-
-### Merged
-
-- Generated SDK #1180 [`#145`](https://github.com/fireblocks/py-sdk/pull/145)
-
-## [v22.0.0](https://github.com/fireblocks/py-sdk/compare/v21.0.0...v22.0.0) - 2026-06-28
-
-### Merged
-
-- Generated SDK #5347 [`#144`](https://github.com/fireblocks/py-sdk/pull/144)
-
-## [v21.0.0](https://github.com/fireblocks/py-sdk/compare/v20.0.0...v21.0.0) - 2026-06-11
-
-### Merged
-
-- Generated SDK #5364 [`#142`](https://github.com/fireblocks/py-sdk/pull/142)
-
-## [v20.0.0](https://github.com/fireblocks/py-sdk/compare/v19.1.0...v20.0.0) - 2026-06-02
-
-### Merged
-
-- Generated SDK #2839 (major) [`#141`](https://github.com/fireblocks/py-sdk/pull/141)
-
-## [v19.1.0](https://github.com/fireblocks/py-sdk/compare/v19.0.0...v19.1.0) - 2026-05-27
-
-### Merged
-
-- Generated SDK #2710 (minor) [`#140`](https://github.com/fireblocks/py-sdk/pull/140)
-
-## [v19.0.0](https://github.com/fireblocks/py-sdk/compare/v18.0.0...v19.0.0) - 2026-05-17
-
-### Merged
-
-- Generated SDK #7742 (major) [`#139`](https://github.com/fireblocks/py-sdk/pull/139)
-
-## [v18.0.0](https://github.com/fireblocks/py-sdk/compare/v17.0.0...v18.0.0) - 2026-05-07
-
-### Merged
-
-- Generated SDK #3222 (major) [`#138`](https://github.com/fireblocks/py-sdk/pull/138)
-
-## [v17.0.0](https://github.com/fireblocks/py-sdk/compare/v16.0.0...v17.0.0) - 2026-04-20
-
-### Merged
-
-- Generated SDK #9605 (major) [`#137`](https://github.com/fireblocks/py-sdk/pull/137)
-
-## [v16.0.0](https://github.com/fireblocks/py-sdk/compare/v15.0.0...v16.0.0) - 2026-04-06
-
-### Merged
-
-- Generated SDK #3331 [`#135`](https://github.com/fireblocks/py-sdk/pull/135)
-
-## [v15.0.0](https://github.com/fireblocks/py-sdk/compare/v14.1.0...v15.0.0) - 2026-03-15
-
-### Merged
-
-- Generated SDK #3733 (major) [`#129`](https://github.com/fireblocks/py-sdk/pull/129)
-
-## [v14.1.0](https://github.com/fireblocks/py-sdk/compare/v14.0.0...v14.1.0) - 2026-02-26
-
-### Merged
-
-- Generated SDK #2167 [`#127`](https://github.com/fireblocks/py-sdk/pull/127)
-
-## [v14.0.0](https://github.com/fireblocks/py-sdk/compare/v13.0.0...v14.0.0) - 2026-02-03
-
-### Merged
-
-- Generated SDK #4746 [`#123`](https://github.com/fireblocks/py-sdk/pull/123)
-
-## [v13.0.0](https://github.com/fireblocks/py-sdk/compare/v12.1.2...v13.0.0) - 2025-11-13
-
-### Merged
-
-- Generated SDK #5834 [`#121`](https://github.com/fireblocks/py-sdk/pull/121)
-
-## [v12.1.2](https://github.com/fireblocks/py-sdk/compare/v12.1.1...v12.1.2) - 2025-10-22
-
-### Merged
-
-- Generated SDK #8293 [`#120`](https://github.com/fireblocks/py-sdk/pull/120)
-
-## [v12.1.1](https://github.com/fireblocks/py-sdk/compare/v12.1.0...v12.1.1) - 2025-09-29
-
-### Merged
-
-- Generated SDK #6061 [`#119`](https://github.com/fireblocks/py-sdk/pull/119)
-
-## [v12.1.0](https://github.com/fireblocks/py-sdk/compare/v12.0.0...v12.1.0) - 2025-09-09
-
-### Merged
-
-- Generated SDK #4521 [`#118`](https://github.com/fireblocks/py-sdk/pull/118)
-
-## [v12.0.0](https://github.com/fireblocks/py-sdk/compare/v11.2.0...v12.0.0) - 2025-09-01
-
-### Merged
-
-- Generated SDK #7741 [`#117`](https://github.com/fireblocks/py-sdk/pull/117)
-
-## [v11.2.0](https://github.com/fireblocks/py-sdk/compare/v11.1.0...v11.2.0) - 2025-08-18
-
-### Merged
-
-- Generated SDK #3302 [`#116`](https://github.com/fireblocks/py-sdk/pull/116)
-
-## [v11.1.0](https://github.com/fireblocks/py-sdk/compare/v11.0.0...v11.1.0) - 2025-08-11
-
-### Merged
-
-- Generated SDK #1782 [`#115`](https://github.com/fireblocks/py-sdk/pull/115)
-
-## [v11.0.0](https://github.com/fireblocks/py-sdk/compare/v10.4.0...v11.0.0) - 2025-07-15
-
-### Merged
-
-- Generated SDK #5610 [`#114`](https://github.com/fireblocks/py-sdk/pull/114)
-
-## [v10.4.0](https://github.com/fireblocks/py-sdk/compare/v10.3.0...v10.4.0) - 2025-06-29
-
-### Merged
-
-- Generated SDK #1492 [`#113`](https://github.com/fireblocks/py-sdk/pull/113)
-
-## [v10.3.0](https://github.com/fireblocks/py-sdk/compare/v10.2.0...v10.3.0) - 2025-06-18
-
-### Merged
-
-- Generated SDK #4009 [`#112`](https://github.com/fireblocks/py-sdk/pull/112)
-
-## [v10.2.0](https://github.com/fireblocks/py-sdk/compare/v10.1.1...v10.2.0) - 2025-06-04
-
-### Merged
-
-- Generated SDK #8912 [`#111`](https://github.com/fireblocks/py-sdk/pull/111)
-
-## [v10.1.1](https://github.com/fireblocks/py-sdk/compare/v10.1.0...v10.1.1) - 2025-05-18
-
-### Merged
-
-- Generated SDK #5019 [`#110`](https://github.com/fireblocks/py-sdk/pull/110)
-
-## [v10.1.0](https://github.com/fireblocks/py-sdk/compare/v10.0.0...v10.1.0) - 2025-05-07
-
-### Merged
-
-- Generated SDK #7076 [`#107`](https://github.com/fireblocks/py-sdk/pull/107)
-
-## [v10.0.0](https://github.com/fireblocks/py-sdk/compare/v9.0.1...v10.0.0) - 2025-04-20
-
-### Merged
-
-- Generated SDK #4794 [`#105`](https://github.com/fireblocks/py-sdk/pull/105)
-
-## [v9.0.1](https://github.com/fireblocks/py-sdk/compare/v9.0.0...v9.0.1) - 2025-04-07
-
-### Merged
-
-- Generated SDK #3065 [`#104`](https://github.com/fireblocks/py-sdk/pull/104)
-
-## [v9.0.0](https://github.com/fireblocks/py-sdk/compare/v8.0.0...v9.0.0) - 2025-03-27
-
-### Merged
-
-- Generated SDK #619 [`#102`](https://github.com/fireblocks/py-sdk/pull/102)
-
-## [v8.0.0](https://github.com/fireblocks/py-sdk/compare/v7.1.0...v8.0.0) - 2025-03-17
-
-### Merged
-
-- Generated SDK #645 [`#101`](https://github.com/fireblocks/py-sdk/pull/101)
-- Generated SDK #726 [`#99`](https://github.com/fireblocks/py-sdk/pull/99)
-
-## [v7.1.0](https://github.com/fireblocks/py-sdk/compare/v7.0.1...v7.1.0) - 2025-02-25
-
-### Merged
-
-- Generated SDK #9833 [`#96`](https://github.com/fireblocks/py-sdk/pull/96)
-
-## [v7.0.1](https://github.com/fireblocks/py-sdk/compare/v7.0.0...v7.0.1) - 2025-02-12
-
-### Merged
-
-- Generated SDK #4262 [`#95`](https://github.com/fireblocks/py-sdk/pull/95)
-
-## [v7.0.0](https://github.com/fireblocks/py-sdk/compare/v6.0.0...v7.0.0) - 2025-02-02
-
-### Merged
-
-- Generated SDK #538 [`#92`](https://github.com/fireblocks/py-sdk/pull/92)
-
-## [v6.0.0](https://github.com/fireblocks/py-sdk/compare/v5.0.0...v6.0.0) - 2025-01-08
-
-### Merged
-
-- Generated SDK #8699 [`#89`](https://github.com/fireblocks/py-sdk/pull/89)
-
-## [v5.0.0](https://github.com/fireblocks/py-sdk/compare/v4.0.0...v5.0.0) - 2024-12-05
-
-### Merged
-
-- Generated SDK #1430 [`#85`](https://github.com/fireblocks/py-sdk/pull/85)
-- Update python-package.yml, deprecate macos-12 [`#86`](https://github.com/fireblocks/py-sdk/pull/86)
-
-## [v4.0.0](https://github.com/fireblocks/py-sdk/compare/v3.0.0...v4.0.0) - 2024-10-31
-
-### Merged
-
-- Generated SDK #5184 [`#82`](https://github.com/fireblocks/py-sdk/pull/82)
-
-## [v3.0.0](https://github.com/fireblocks/py-sdk/compare/v2.1.0...v3.0.0) - 2024-09-17
-
-### Merged
-
-- Generated SDK #237 [`#81`](https://github.com/fireblocks/py-sdk/pull/81)
-
-## [v2.1.0](https://github.com/fireblocks/py-sdk/compare/v2.0.0...v2.1.0) - 2024-07-25
-
-### Merged
-
-- Generated SDK #6749 [`#78`](https://github.com/fireblocks/py-sdk/pull/78)
-
-## [v2.0.0](https://github.com/fireblocks/py-sdk/compare/v1.0.4...v2.0.0) - 2024-07-17
-
-### Merged
-
-- Generated SDK #6152 [`#76`](https://github.com/fireblocks/py-sdk/pull/76)
-- Generated SDK #7647 [`#73`](https://github.com/fireblocks/py-sdk/pull/73)
-- Generated SDK #7984 [`#70`](https://github.com/fireblocks/py-sdk/pull/70)
-
-## [v1.0.4](https://github.com/fireblocks/py-sdk/compare/v1.0.3...v1.0.4) - 2024-06-26
-
-### Merged
-
-- Generated SDK #5779 [`#69`](https://github.com/fireblocks/py-sdk/pull/69)
-- Generated SDK #913 [`#68`](https://github.com/fireblocks/py-sdk/pull/68)
-- Generated SDK #1353 [`#67`](https://github.com/fireblocks/py-sdk/pull/67)
-- Generated SDK #9982 [`#66`](https://github.com/fireblocks/py-sdk/pull/66)
-- Generated SDK #1362 [`#65`](https://github.com/fireblocks/py-sdk/pull/65)
-- Generated SDK #3652 [`#64`](https://github.com/fireblocks/py-sdk/pull/64)
-
-## [v1.0.3](https://github.com/fireblocks/py-sdk/compare/v1.0.2...v1.0.3) - 2024-06-06
-
-### Merged
-
-- Generated SDK #2648 [`#30`](https://github.com/fireblocks/py-sdk/pull/30)
-
-## [v1.0.2](https://github.com/fireblocks/py-sdk/compare/v0.0.2-beta...v1.0.2) - 2024-06-04
-
-### Merged
-
-- version 1.0.2 [`#25`](https://github.com/fireblocks/py-sdk/pull/25)
-- version 1.0.0 [`#24`](https://github.com/fireblocks/py-sdk/pull/24)
-
-## v0.0.2-beta - 2024-05-30
-
-### Merged
-
-- version 0.0.2-beta [`#23`](https://github.com/fireblocks/py-sdk/pull/23)
-- Update .bumpversion.cfg [`#14`](https://github.com/fireblocks/py-sdk/pull/14)
-- Update setup.py [`#13`](https://github.com/fireblocks/py-sdk/pull/13)
-- Bug Fixes [`#12`](https://github.com/fireblocks/py-sdk/pull/12)
-- update support for beta in bumpversion [`#11`](https://github.com/fireblocks/py-sdk/pull/11)
-- Update setup.py [`#10`](https://github.com/fireblocks/py-sdk/pull/10)
-- Update setup.py [`#9`](https://github.com/fireblocks/py-sdk/pull/9)
-- Added Idempotency & NCW headers support [`#7`](https://github.com/fireblocks/py-sdk/pull/7)
-- Added Idempotency & NCW headers support [`#8`](https://github.com/fireblocks/py-sdk/pull/8)
-- Update setup.py [`#5`](https://github.com/fireblocks/py-sdk/pull/5)
-- API Support Updates [`#4`](https://github.com/fireblocks/py-sdk/pull/4)
diff --git a/README.md b/README.md
index d2cfcddc..a57a0e10 100644
--- a/README.md
+++ b/README.md
@@ -566,6 +566,7 @@ Class | Method | HTTP request | Description
*TagsApi* | [**get_tag**](docs/TagsApi.md#get_tag) | **GET** /tags/{tagId} | Get a tag
*TagsApi* | [**get_tags**](docs/TagsApi.md#get_tags) | **GET** /tags | Get list of tags
*TagsApi* | [**update_tag**](docs/TagsApi.md#update_tag) | **PATCH** /tags/{tagId} | Update a tag
+*TempoBetaApi* | [**create_tempo_transfer**](docs/TempoBetaApi.md#create_tempo_transfer) | **POST** /operations/tempo/transfer | Create a Tempo transfer transaction
*TokenizationApi* | [**burn_collection_token**](docs/TokenizationApi.md#burn_collection_token) | **POST** /tokenization/collections/{id}/tokens/burn | Burn tokens
*TokenizationApi* | [**create_new_collection**](docs/TokenizationApi.md#create_new_collection) | **POST** /tokenization/collections | Create a new collection
*TokenizationApi* | [**deactivate_and_unlink_adapters**](docs/TokenizationApi.md#deactivate_and_unlink_adapters) | **DELETE** /tokenization/multichain/bridge/layerzero | Remove LayerZero adapters
@@ -673,6 +674,7 @@ Class | Method | HTTP request | Description
*VaultsApi* | [**get_vault_balance_by_asset**](docs/VaultsApi.md#get_vault_balance_by_asset) | **GET** /vault/assets/{assetId} | Get vault balance by an asset
*VaultsApi* | [**hide_vault_account**](docs/VaultsApi.md#hide_vault_account) | **POST** /vault/accounts/{vaultAccountId}/hide | Hide a vault account in the console
*VaultsApi* | [**lookup_vault_by_address**](docs/VaultsApi.md#lookup_vault_by_address) | **GET** /vault/lookup_by_address | Look up a vault account by blockchain address
+*VaultsApi* | [**register_tempo_omnibus_wallet**](docs/VaultsApi.md#register_tempo_omnibus_wallet) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/omnibus/tempo/register | Register a Tempo omnibus wallet
*VaultsApi* | [**set_customer_ref_id_for_address**](docs/VaultsApi.md#set_customer_ref_id_for_address) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id | Assign AML customer reference ID
*VaultsApi* | [**set_usdc_gateway_deposit_automation_beta**](docs/VaultsApi.md#set_usdc_gateway_deposit_automation_beta) | **POST** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Set up a USDC Gateway deposit automation for a vault account
*VaultsApi* | [**set_vault_account_auto_fuel**](docs/VaultsApi.md#set_vault_account_auto_fuel) | **POST** /vault/accounts/{vaultAccountId}/set_auto_fuel | Set auto fueling to on or off
@@ -788,9 +790,6 @@ Class | Method | HTTP request | Description
- [AddressesFilters](docs/AddressesFilters.md)
- [AlertExposureTypeEnum](docs/AlertExposureTypeEnum.md)
- [AlertLevelEnum](docs/AlertLevelEnum.md)
- - [AllocationResponse](docs/AllocationResponse.md)
- - [AllocationResponseAccept](docs/AllocationResponseAccept.md)
- - [AllocationResponseReject](docs/AllocationResponseReject.md)
- [AllocationWithdrawPayload](docs/AllocationWithdrawPayload.md)
- [AllowListPayload](docs/AllowListPayload.md)
- [AllowlistEntry](docs/AllowlistEntry.md)
@@ -915,7 +914,6 @@ Class | Method | HTTP request | Description
- [CantonCallEndInvestorInviteCancel](docs/CantonCallEndInvestorInviteCancel.md)
- [CantonCallEndInvestorOffboard](docs/CantonCallEndInvestorOffboard.md)
- [CantonCallParticipantOnboarding](docs/CantonCallParticipantOnboarding.md)
- - [CantonCallTransferWithdraw](docs/CantonCallTransferWithdraw.md)
- [CantonDetails](docs/CantonDetails.md)
- [CantonDomainEnum](docs/CantonDomainEnum.md)
- [CantonOfferResponseDetails](docs/CantonOfferResponseDetails.md)
@@ -1057,6 +1055,8 @@ Class | Method | HTTP request | Description
- [CreateSigningKeyDto](docs/CreateSigningKeyDto.md)
- [CreateSigningKeyDtoProofOfOwnership](docs/CreateSigningKeyDtoProofOfOwnership.md)
- [CreateTagRequest](docs/CreateTagRequest.md)
+ - [CreateTempoTransferRequest](docs/CreateTempoTransferRequest.md)
+ - [CreateTempoTransferResponse](docs/CreateTempoTransferResponse.md)
- [CreateTokenRequestDto](docs/CreateTokenRequestDto.md)
- [CreateTokenRequestDtoCreateParams](docs/CreateTokenRequestDtoCreateParams.md)
- [CreateTransactionResponse](docs/CreateTransactionResponse.md)
@@ -1081,6 +1081,7 @@ Class | Method | HTTP request | Description
- [Delegation](docs/Delegation.md)
- [DelegationBlockchainPositionInfo](docs/DelegationBlockchainPositionInfo.md)
- [DelegationSummary](docs/DelegationSummary.md)
+ - [DeleteApprovalApiKeyResponse](docs/DeleteApprovalApiKeyResponse.md)
- [DeleteNetworkConnectionResponse](docs/DeleteNetworkConnectionResponse.md)
- [DeleteNetworkIdResponse](docs/DeleteNetworkIdResponse.md)
- [DeleteWebhookMtlsConfigResponse](docs/DeleteWebhookMtlsConfigResponse.md)
@@ -1123,6 +1124,7 @@ Class | Method | HTTP request | Description
- [DraftReviewAndValidationResponse](docs/DraftReviewAndValidationResponse.md)
- [DropTransactionRequest](docs/DropTransactionRequest.md)
- [DropTransactionResponse](docs/DropTransactionResponse.md)
+ - [DtccOnboardingRejectPayload](docs/DtccOnboardingRejectPayload.md)
- [DvnConfig](docs/DvnConfig.md)
- [DvnConfigWithConfirmations](docs/DvnConfigWithConfirmations.md)
- [EVMTokenCreateParamsDto](docs/EVMTokenCreateParamsDto.md)
@@ -1392,15 +1394,16 @@ Class | Method | HTTP request | Description
- [Offer](docs/Offer.md)
- [OfferResponse](docs/OfferResponse.md)
- [OfferResponseAccepted](docs/OfferResponseAccepted.md)
- - [OfferResponseAllocation](docs/OfferResponseAllocation.md)
- - [OfferResponseOnboarding](docs/OfferResponseOnboarding.md)
- - [OfferResponseTransfer](docs/OfferResponseTransfer.md)
+ - [OfferResponseAllocationAccept](docs/OfferResponseAllocationAccept.md)
+ - [OfferResponseAllocationReject](docs/OfferResponseAllocationReject.md)
+ - [OfferResponseDtccOnboardingAccept](docs/OfferResponseDtccOnboardingAccept.md)
+ - [OfferResponseDtccOnboardingReject](docs/OfferResponseDtccOnboardingReject.md)
+ - [OfferResponseTradewebAccept](docs/OfferResponseTradewebAccept.md)
+ - [OfferResponseTradewebReject](docs/OfferResponseTradewebReject.md)
+ - [OfferResponseTransferAccept](docs/OfferResponseTransferAccept.md)
+ - [OfferResponseTransferReject](docs/OfferResponseTransferReject.md)
+ - [OfferResponseTransferWithdraw](docs/OfferResponseTransferWithdraw.md)
- [OffersResponse](docs/OffersResponse.md)
- - [OnboardingResponse](docs/OnboardingResponse.md)
- - [OnboardingResponseDtccAccept](docs/OnboardingResponseDtccAccept.md)
- - [OnboardingResponseDtccReject](docs/OnboardingResponseDtccReject.md)
- - [OnboardingResponseTradewebAccept](docs/OnboardingResponseTradewebAccept.md)
- - [OnboardingResponseTradewebReject](docs/OnboardingResponseTradewebReject.md)
- [OnchainTransaction](docs/OnchainTransaction.md)
- [OnchainTransactionsPagedResponse](docs/OnchainTransactionsPagedResponse.md)
- [OnchainTransactionsPagedResponse2](docs/OnchainTransactionsPagedResponse2.md)
@@ -1821,6 +1824,9 @@ Class | Method | HTTP request | Description
- [TagType](docs/TagType.md)
- [TagsPagedResponse](docs/TagsPagedResponse.md)
- [TemplatesPaginatedResponse](docs/TemplatesPaginatedResponse.md)
+ - [TempoTransferDestination](docs/TempoTransferDestination.md)
+ - [TempoTransferDestinationItem](docs/TempoTransferDestinationItem.md)
+ - [TempoTransferSource](docs/TempoTransferSource.md)
- [ThirdPartyRouting](docs/ThirdPartyRouting.md)
- [TimeBasedTrigger](docs/TimeBasedTrigger.md)
- [TimeInForce](docs/TimeInForce.md)
@@ -1886,11 +1892,7 @@ Class | Method | HTTP request | Description
- [TransferPeerTypeEnum2](docs/TransferPeerTypeEnum2.md)
- [TransferRail](docs/TransferRail.md)
- [TransferReceipt](docs/TransferReceipt.md)
- - [TransferResponse](docs/TransferResponse.md)
- - [TransferResponseAccept](docs/TransferResponseAccept.md)
- - [TransferResponseReject](docs/TransferResponseReject.md)
- [TransferValidationFailure](docs/TransferValidationFailure.md)
- - [TransferWithdrawPayload](docs/TransferWithdrawPayload.md)
- [TravelRuleActionEnum](docs/TravelRuleActionEnum.md)
- [TravelRuleAddress](docs/TravelRuleAddress.md)
- [TravelRuleCreateTransactionRequest](docs/TravelRuleCreateTransactionRequest.md)
diff --git a/docs/AllocationResponse.md b/docs/AllocationResponse.md
deleted file mode 100644
index c7deb219..00000000
--- a/docs/AllocationResponse.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# AllocationResponse
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**response_type** | **str** | How you are answering the allocation request. |
-
-## Example
-
-```python
-from fireblocks.models.allocation_response import AllocationResponse
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of AllocationResponse from a JSON string
-allocation_response_instance = AllocationResponse.from_json(json)
-# print the JSON string representation of the object
-print(AllocationResponse.to_json())
-
-# convert the object into a dict
-allocation_response_dict = allocation_response_instance.to_dict()
-# create an instance of AllocationResponse from a dict
-allocation_response_from_dict = AllocationResponse.from_dict(allocation_response_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/AllocationResponseAccept.md b/docs/AllocationResponseAccept.md
deleted file mode 100644
index 8e68b38e..00000000
--- a/docs/AllocationResponseAccept.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# AllocationResponseAccept
-
-Accept a CIP-56 allocation request. Carries no arguments.
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**response_type** | **str** | How you are answering the allocation request. |
-
-## Example
-
-```python
-from fireblocks.models.allocation_response_accept import AllocationResponseAccept
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of AllocationResponseAccept from a JSON string
-allocation_response_accept_instance = AllocationResponseAccept.from_json(json)
-# print the JSON string representation of the object
-print(AllocationResponseAccept.to_json())
-
-# convert the object into a dict
-allocation_response_accept_dict = allocation_response_accept_instance.to_dict()
-# create an instance of AllocationResponseAccept from a dict
-allocation_response_accept_from_dict = AllocationResponseAccept.from_dict(allocation_response_accept_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/AllocationResponseReject.md b/docs/AllocationResponseReject.md
deleted file mode 100644
index ddf97c4d..00000000
--- a/docs/AllocationResponseReject.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# AllocationResponseReject
-
-Reject a CIP-56 allocation request. Carries no arguments.
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**response_type** | **str** | How you are answering the allocation request. |
-
-## Example
-
-```python
-from fireblocks.models.allocation_response_reject import AllocationResponseReject
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of AllocationResponseReject from a JSON string
-allocation_response_reject_instance = AllocationResponseReject.from_json(json)
-# print the JSON string representation of the object
-print(AllocationResponseReject.to_json())
-
-# convert the object into a dict
-allocation_response_reject_dict = allocation_response_reject_instance.to_dict()
-# create an instance of AllocationResponseReject from a dict
-allocation_response_reject_from_dict = AllocationResponseReject.from_dict(allocation_response_reject_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/AllowListPayload.md b/docs/AllowListPayload.md
index 7dbc8e66..c38d8023 100644
--- a/docs/AllowListPayload.md
+++ b/docs/AllowListPayload.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**vault_account_id** | **str** | The vault account whose Canton wallet acts here. |
-**asset** | **str** | Chain asset — `CANTON` or `CANTON_TEST`. |
+**blockchain_id** | **str** | The blockchain this party is connected to — `CANTON` or `CANTON_TEST`. |
**wallets** | **List[str]** | Canton party ids to add or remove. |
## Example
diff --git a/docs/ApprovalApiKey.md b/docs/ApprovalApiKey.md
index 644309ad..784e997f 100644
--- a/docs/ApprovalApiKey.md
+++ b/docs/ApprovalApiKey.md
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
**last_used_at** | **str** | Last time the key was used to sign, as epoch time in seconds (0 if never used). |
**approval_api_public_key** | [**ApprovalApiPublicKey**](ApprovalApiPublicKey.md) | |
**user_id** | **str** | The ID of the API user who owns this key. |
+**status** | **str** | The state of the key. `APPROVAL_API_KEY_STATUS_PENDING_REGISTRATION` - registered but waiting for approval, cannot sign yet. `APPROVAL_API_KEY_STATUS_ENABLED` - active. `APPROVAL_API_KEY_STATUS_PENDING_DELETION` - removal is waiting for approval, the key stays active until then. `APPROVAL_API_KEY_STATUS_UNSPECIFIED` - unknown. |
## Example
diff --git a/docs/ApprovalsBetaApi.md b/docs/ApprovalsBetaApi.md
index 4a3d0c83..843d7d3c 100644
--- a/docs/ApprovalsBetaApi.md
+++ b/docs/ApprovalsBetaApi.md
@@ -99,6 +99,8 @@ Register an approval public key for an API user, used to sign approval requests.
The `userId` must be the authenticated API user's own ID. Registering a key for another user is not supported and is rejected.
+Registration may require approval. In that case the response carries `ccrIdPendingRegistration`, the key reads as `APPROVAL_API_KEY_STATUS_PENDING_REGISTRATION` and cannot sign until the request is approved. A rejected request removes the key.
+
Endpoint Permission: Owner, Admin, Non-Signing Admin, Approver, Signer, Security Admin.
### Example
@@ -169,16 +171,17 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | The approval key was registered. | * X-Request-ID -
|
+**409** | Another approval key request for this API user is already pending approval. | * X-Request-ID -
|
**0** | Error Response | * X-Request-ID -
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **delete_approval_key**
-> delete_approval_key(user_id, key_id, idempotency_key=idempotency_key)
+> DeleteApprovalApiKeyResponse delete_approval_key(user_id, key_id, idempotency_key=idempotency_key)
Delete an approval key
-Delete (revoke) an approval public key for the specified API user. Revoking the last key disables the API user's ability to sign approvals.
+Delete (revoke) an approval public key for the specified API user. The deletion may require approval: it always does for the API user's last key or another user's key. In that case the response carries `ccrIdPendingDeletion`, the key reads as `APPROVAL_API_KEY_STATUS_PENDING_DELETION` and stays active until the request is approved. A rejected request leaves the key enabled.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Approver, Signer, Security Admin.
@@ -186,10 +189,12 @@ Endpoint Permission: Owner, Admin, Non-Signing Admin, Approver, Signer, Security
```python
+from fireblocks.models.delete_approval_api_key_response import DeleteApprovalApiKeyResponse
from fireblocks.client import Fireblocks
from fireblocks.client_configuration import ClientConfiguration
from fireblocks.exceptions import ApiException
from fireblocks.base_path import BasePath
+from pprint import pprint
# load the secret key content from a file
with open('your_secret_key_file_path', 'r') as file:
@@ -211,7 +216,9 @@ with Fireblocks(configuration) as fireblocks:
try:
# Delete an approval key
- fireblocks.approvals_beta.delete_approval_key(user_id, key_id, idempotency_key=idempotency_key).result()
+ api_response = fireblocks.approvals_beta.delete_approval_key(user_id, key_id, idempotency_key=idempotency_key).result()
+ print("The response of ApprovalsBetaApi->delete_approval_key:\n")
+ pprint(api_response)
except Exception as e:
print("Exception when calling ApprovalsBetaApi->delete_approval_key: %s\n" % e)
```
@@ -229,7 +236,7 @@ Name | Type | Description | Notes
### Return type
-void (empty response body)
+[**DeleteApprovalApiKeyResponse**](DeleteApprovalApiKeyResponse.md)
### Authorization
@@ -244,7 +251,8 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**204** | The approval key was deleted. | * X-Request-ID -
|
+**200** | The approval key was deleted, or its deletion is pending approval. | * X-Request-ID -
|
+**409** | Another approval key request for this API user is already pending approval. | * X-Request-ID -
|
**0** | Error Response | * X-Request-ID -
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
diff --git a/docs/CantonCall.md b/docs/CantonCall.md
index dd5c3492..8475a3d2 100644
--- a/docs/CantonCall.md
+++ b/docs/CantonCall.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**type** | **str** | Which call to make. Selects the shape of `payload`. |
-**payload** | [**TransferWithdrawPayload**](TransferWithdrawPayload.md) | |
+**payload** | [**AllocationWithdrawPayload**](AllocationWithdrawPayload.md) | |
## Example
diff --git a/docs/CantonCallTransferWithdraw.md b/docs/CantonCallTransferWithdraw.md
deleted file mode 100644
index 325d7fb1..00000000
--- a/docs/CantonCallTransferWithdraw.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# CantonCallTransferWithdraw
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**type** | **str** | Which call to make. Selects the shape of `payload`. |
-**payload** | [**TransferWithdrawPayload**](TransferWithdrawPayload.md) | |
-
-## Example
-
-```python
-from fireblocks.models.canton_call_transfer_withdraw import CantonCallTransferWithdraw
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of CantonCallTransferWithdraw from a JSON string
-canton_call_transfer_withdraw_instance = CantonCallTransferWithdraw.from_json(json)
-# print the JSON string representation of the object
-print(CantonCallTransferWithdraw.to_json())
-
-# convert the object into a dict
-canton_call_transfer_withdraw_dict = canton_call_transfer_withdraw_instance.to_dict()
-# create an instance of CantonCallTransferWithdraw from a dict
-canton_call_transfer_withdraw_from_dict = CantonCallTransferWithdraw.from_dict(canton_call_transfer_withdraw_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/ConsoleUserApi.md b/docs/ConsoleUserApi.md
index c85ea146..90869573 100644
--- a/docs/ConsoleUserApi.md
+++ b/docs/ConsoleUserApi.md
@@ -96,8 +96,8 @@ Request deletion of a console user
Requests deletion of a console user. The request is asynchronous: it goes through the workspace's configured "Delete users" approval policy (Settings > Quorums), exactly as deleting a user from the console does, and the user is removed only once that approval completes.
- Track progress by polling GET /management/users; deletion is complete when the user is disabled.
-- Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
-Endpoint Permission: Admin, Non-Signing Admin.
+- Please note that this endpoint is available only for API keys with Admin/Non Signing Admin/Security Admin permissions.
+Endpoint Permission: Admin, Non-Signing Admin, Security Admin.
**Note:** This endpoint is currently in beta and might be subject to changes.
### Example
@@ -165,9 +165,10 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**202** | Deletion request accepted. Returns the console user that will be removed once the workspace's configured approval completes. | * X-Request-ID -
|
+**400** | Bad request: invalid parameters (for example a non-boolean `force`), or TARGET_IS_API_USER - the ID belongs to an API user in this workspace; this endpoint deletes console users only. | * X-Request-ID -
|
**401** | Unauthorized. Missing / invalid JWT token in Authorization header. | * X-Request-ID -
|
**403** | Lacking permissions, or the target cannot be deleted: the user is the workspace Owner, or the caller is the target. | * X-Request-ID -
|
-**404** | Console user not found. Also returned for users in other workspaces and for API users, so the endpoint does not reveal whether an ID exists. | * X-Request-ID -
|
+**404** | Console user not found. Also returned for users in other workspaces (so the endpoint does not reveal whether an ID exists there) and for users that were already deleted. | * X-Request-ID -
|
**409** | PENDING_REQUEST_EXISTS - a deletion request for this user is already awaiting approval; USER_REFERENCED_IN_TAP - the user is referenced by the workspace transaction authorization policy (can be overridden with force=true); or USER_PENDING_ONBOARDING - the user has not completed onboarding, so there is nothing to delete yet. Revoke the invitation from the console instead. | * X-Request-ID -
|
**422** | QUORUM_INTEGRITY - the user is required to complete the workspace's admin approval quorum. Can be overridden with force=true, matching the console's acknowledgement checkbox. | * X-Request-ID -
|
**5XX** | Internal error. | * X-Request-ID -
|
diff --git a/docs/CreateTempoTransferRequest.md b/docs/CreateTempoTransferRequest.md
new file mode 100644
index 00000000..897039e4
--- /dev/null
+++ b/docs/CreateTempoTransferRequest.md
@@ -0,0 +1,52 @@
+# CreateTempoTransferRequest
+
+Request body for creating a Tempo transfer transaction.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**note** | **str** | A custom note that can be associated with the transaction. | [optional]
+**external_tx_id** | **str** | Unique ID provided by the customer, used to identify the transaction. | [optional]
+**fee_currency** | **str** | The asset ID used to pay the transaction fee, if different from assetId. Maps to FeeParams.feeCurrency. Must be a valid fee token for `assetId` (e.g. a TIP-20 gas token for the base asset); an invalid pairing surfaces as 400 INVALID_FEE_CURRENCY_PARAM. | [optional]
+**asset_id** | **str** | The ID of the asset to transfer. Must be a non-deprecated asset supported on a Tempo-eligible blockchain; an unknown, deprecated, or unsupported asset surfaces as 400 UNSUPPORTED_ASSET. |
+**source** | [**TempoTransferSource**](TempoTransferSource.md) | |
+**destination** | [**TempoTransferDestination**](TempoTransferDestination.md) | | [optional]
+**amount** | **str** | The amount to transfer, as a numeric string. Required when `destination` is set; must be omitted when `destinations` is set (each entry carries its own amount instead). | [optional]
+**treat_as_gross_amount** | **bool** | If true, the specified amount includes the fee (fee is deducted from amount). | [optional]
+**fee_level** | **str** | The fee level to use, mutually exclusive with an explicit custom fee. | [optional]
+**travel_rule_message** | **str** | Beta. An opaque travel-rule payload. | [optional]
+**travel_rule_message_id** | **str** | Beta. An identifier of a TravelRule message, already sent to the TravelRule provider. | [optional]
+**use_gasless** | **bool** | Opt in to fee-payer-sponsored (gasless) transfer. | [optional]
+**configurations** | [**TransactionConfigurations**](TransactionConfigurations.md) | | [optional]
+**max_fee_per_gas** | **str** | The maximum total fee per gas the sender is willing to pay, in wei. | [optional]
+**max_priority_fee_per_gas** | **str** | The maximum priority fee (tip) per gas the sender is willing to pay, in wei. | [optional]
+**destinations** | [**List[TempoTransferDestinationItem]**](TempoTransferDestinationItem.md) | Multiple destinations for a single transfer. Mutually exclusive with `destination`. | [optional]
+**fail_on_low_fee** | **bool** | Beta. If true, fail the transaction rather than sending it with a low fee. | [optional]
+**gas_limit** | **str** | The gas limit for the transaction. | [optional]
+**replace_tx_by_hash** | **str** | Beta. The hash of the EVM transaction to replace (RBF). | [optional]
+**fee_payer_account_id** | **str** | Vault account ID of the fee payer sponsoring this transfer. | [optional]
+**nonce_strategy** | **str** | Tempo's 2-dimensional nonce strategy: `SEQUENTIAL` runs under a single nonce lane (lane 0); `USER_DEFINED_LANE` runs in parallel under a specified lane (1–16), and requires `nonceLane`; `EXPIRING` marks the transaction with an expiry of up to 5 minutes (Tempo-defined) and does not use `nonceLane`. | [optional]
+**nonce_lane** | **int** | The nonce lane to use, 1–16. Required and only meaningful when nonceStrategy is USER_DEFINED_LANE; not used for SEQUENTIAL or EXPIRING. | [optional]
+**memo** | **str** | Beta. Tempo TIP-20 memo (max 32 bytes). | [optional]
+
+## Example
+
+```python
+from fireblocks.models.create_tempo_transfer_request import CreateTempoTransferRequest
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of CreateTempoTransferRequest from a JSON string
+create_tempo_transfer_request_instance = CreateTempoTransferRequest.from_json(json)
+# print the JSON string representation of the object
+print(CreateTempoTransferRequest.to_json())
+
+# convert the object into a dict
+create_tempo_transfer_request_dict = create_tempo_transfer_request_instance.to_dict()
+# create an instance of CreateTempoTransferRequest from a dict
+create_tempo_transfer_request_from_dict = CreateTempoTransferRequest.from_dict(create_tempo_transfer_request_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/CreateTempoTransferResponse.md b/docs/CreateTempoTransferResponse.md
new file mode 100644
index 00000000..cd07f611
--- /dev/null
+++ b/docs/CreateTempoTransferResponse.md
@@ -0,0 +1,30 @@
+# CreateTempoTransferResponse
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | The Fireblocks transaction ID. | [optional]
+**status** | **str** | The current status of the transaction. | [optional]
+
+## Example
+
+```python
+from fireblocks.models.create_tempo_transfer_response import CreateTempoTransferResponse
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of CreateTempoTransferResponse from a JSON string
+create_tempo_transfer_response_instance = CreateTempoTransferResponse.from_json(json)
+# print the JSON string representation of the object
+print(CreateTempoTransferResponse.to_json())
+
+# convert the object into a dict
+create_tempo_transfer_response_dict = create_tempo_transfer_response_instance.to_dict()
+# create an instance of CreateTempoTransferResponse from a dict
+create_tempo_transfer_response_from_dict = CreateTempoTransferResponse.from_dict(create_tempo_transfer_response_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/DeleteApprovalApiKeyResponse.md b/docs/DeleteApprovalApiKeyResponse.md
new file mode 100644
index 00000000..033e23a7
--- /dev/null
+++ b/docs/DeleteApprovalApiKeyResponse.md
@@ -0,0 +1,30 @@
+# DeleteApprovalApiKeyResponse
+
+The result of deleting an approval API key.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ccr_id_pending_deletion** | **str** | Always returned. An empty string when the key was deleted immediately. Otherwise, the ID of the approval request that must be approved before the key is removed; the key stays active until then. The request appears in `GET /v1/approvals`. |
+
+## Example
+
+```python
+from fireblocks.models.delete_approval_api_key_response import DeleteApprovalApiKeyResponse
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of DeleteApprovalApiKeyResponse from a JSON string
+delete_approval_api_key_response_instance = DeleteApprovalApiKeyResponse.from_json(json)
+# print the JSON string representation of the object
+print(DeleteApprovalApiKeyResponse.to_json())
+
+# convert the object into a dict
+delete_approval_api_key_response_dict = delete_approval_api_key_response_instance.to_dict()
+# create an instance of DeleteApprovalApiKeyResponse from a dict
+delete_approval_api_key_response_from_dict = DeleteApprovalApiKeyResponse.from_dict(delete_approval_api_key_response_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/DtccOnboardingRejectPayload.md b/docs/DtccOnboardingRejectPayload.md
new file mode 100644
index 00000000..94c5a44e
--- /dev/null
+++ b/docs/DtccOnboardingRejectPayload.md
@@ -0,0 +1,29 @@
+# DtccOnboardingRejectPayload
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**reason** | **str** | Why the offer is being rejected. Recorded on-chain, where the counterparty can read it. |
+
+## Example
+
+```python
+from fireblocks.models.dtcc_onboarding_reject_payload import DtccOnboardingRejectPayload
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of DtccOnboardingRejectPayload from a JSON string
+dtcc_onboarding_reject_payload_instance = DtccOnboardingRejectPayload.from_json(json)
+# print the JSON string representation of the object
+print(DtccOnboardingRejectPayload.to_json())
+
+# convert the object into a dict
+dtcc_onboarding_reject_payload_dict = dtcc_onboarding_reject_payload_instance.to_dict()
+# create an instance of DtccOnboardingRejectPayload from a dict
+dtcc_onboarding_reject_payload_from_dict = DtccOnboardingRejectPayload.from_dict(dtcc_onboarding_reject_payload_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/EndInvestorPayload.md b/docs/EndInvestorPayload.md
index f41516d8..6ea3b3b6 100644
--- a/docs/EndInvestorPayload.md
+++ b/docs/EndInvestorPayload.md
@@ -7,7 +7,7 @@ Shared by invite / invite-cancel / offboard — identical wire shape, different
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**vault_account_id** | **str** | The vault account whose Canton wallet acts here. |
-**asset** | **str** | Chain asset — `CANTON` or `CANTON_TEST`. |
+**blockchain_id** | **str** | The blockchain this party is connected to — `CANTON` or `CANTON_TEST`. |
**end_investor** | **str** | The end investor's Canton party id. |
## Example
diff --git a/docs/OfferResponse.md b/docs/OfferResponse.md
index a9416d3e..4a10a017 100644
--- a/docs/OfferResponse.md
+++ b/docs/OfferResponse.md
@@ -5,8 +5,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**domain** | **str** | Which offer domain this response belongs to. Selects the shape of `response`. |
-**response** | [**TransferResponse**](TransferResponse.md) | |
+**response_type** | **str** | How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. |
+**payload** | [**DtccOnboardingRejectPayload**](DtccOnboardingRejectPayload.md) | |
## Example
diff --git a/docs/OfferResponseAllocation.md b/docs/OfferResponseAllocation.md
deleted file mode 100644
index e594b1d6..00000000
--- a/docs/OfferResponseAllocation.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# OfferResponseAllocation
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**domain** | **str** | Which offer domain this response belongs to. Selects the shape of `response`. |
-**response** | [**AllocationResponse**](AllocationResponse.md) | |
-
-## Example
-
-```python
-from fireblocks.models.offer_response_allocation import OfferResponseAllocation
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of OfferResponseAllocation from a JSON string
-offer_response_allocation_instance = OfferResponseAllocation.from_json(json)
-# print the JSON string representation of the object
-print(OfferResponseAllocation.to_json())
-
-# convert the object into a dict
-offer_response_allocation_dict = offer_response_allocation_instance.to_dict()
-# create an instance of OfferResponseAllocation from a dict
-offer_response_allocation_from_dict = OfferResponseAllocation.from_dict(offer_response_allocation_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/OfferResponseAllocationAccept.md b/docs/OfferResponseAllocationAccept.md
new file mode 100644
index 00000000..274cb685
--- /dev/null
+++ b/docs/OfferResponseAllocationAccept.md
@@ -0,0 +1,30 @@
+# OfferResponseAllocationAccept
+
+Accept a CIP-56 allocation request. Carries no arguments.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**response_type** | **str** | How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. |
+
+## Example
+
+```python
+from fireblocks.models.offer_response_allocation_accept import OfferResponseAllocationAccept
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of OfferResponseAllocationAccept from a JSON string
+offer_response_allocation_accept_instance = OfferResponseAllocationAccept.from_json(json)
+# print the JSON string representation of the object
+print(OfferResponseAllocationAccept.to_json())
+
+# convert the object into a dict
+offer_response_allocation_accept_dict = offer_response_allocation_accept_instance.to_dict()
+# create an instance of OfferResponseAllocationAccept from a dict
+offer_response_allocation_accept_from_dict = OfferResponseAllocationAccept.from_dict(offer_response_allocation_accept_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/OfferResponseAllocationReject.md b/docs/OfferResponseAllocationReject.md
new file mode 100644
index 00000000..c11cce52
--- /dev/null
+++ b/docs/OfferResponseAllocationReject.md
@@ -0,0 +1,30 @@
+# OfferResponseAllocationReject
+
+Reject a CIP-56 allocation request. Carries no arguments.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**response_type** | **str** | How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. |
+
+## Example
+
+```python
+from fireblocks.models.offer_response_allocation_reject import OfferResponseAllocationReject
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of OfferResponseAllocationReject from a JSON string
+offer_response_allocation_reject_instance = OfferResponseAllocationReject.from_json(json)
+# print the JSON string representation of the object
+print(OfferResponseAllocationReject.to_json())
+
+# convert the object into a dict
+offer_response_allocation_reject_dict = offer_response_allocation_reject_instance.to_dict()
+# create an instance of OfferResponseAllocationReject from a dict
+offer_response_allocation_reject_from_dict = OfferResponseAllocationReject.from_dict(offer_response_allocation_reject_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/OnboardingResponseDtccAccept.md b/docs/OfferResponseDtccOnboardingAccept.md
similarity index 64%
rename from docs/OnboardingResponseDtccAccept.md
rename to docs/OfferResponseDtccOnboardingAccept.md
index 03dcd7fd..b1f0730d 100644
--- a/docs/OnboardingResponseDtccAccept.md
+++ b/docs/OfferResponseDtccOnboardingAccept.md
@@ -1,4 +1,4 @@
-# OnboardingResponseDtccAccept
+# OfferResponseDtccOnboardingAccept
Accept a DTCC end-investor onboarding offer. Carries no arguments.
@@ -11,19 +11,19 @@ Name | Type | Description | Notes
## Example
```python
-from fireblocks.models.onboarding_response_dtcc_accept import OnboardingResponseDtccAccept
+from fireblocks.models.offer_response_dtcc_onboarding_accept import OfferResponseDtccOnboardingAccept
# TODO update the JSON string below
json = "{}"
-# create an instance of OnboardingResponseDtccAccept from a JSON string
-onboarding_response_dtcc_accept_instance = OnboardingResponseDtccAccept.from_json(json)
+# create an instance of OfferResponseDtccOnboardingAccept from a JSON string
+offer_response_dtcc_onboarding_accept_instance = OfferResponseDtccOnboardingAccept.from_json(json)
# print the JSON string representation of the object
-print(OnboardingResponseDtccAccept.to_json())
+print(OfferResponseDtccOnboardingAccept.to_json())
# convert the object into a dict
-onboarding_response_dtcc_accept_dict = onboarding_response_dtcc_accept_instance.to_dict()
-# create an instance of OnboardingResponseDtccAccept from a dict
-onboarding_response_dtcc_accept_from_dict = OnboardingResponseDtccAccept.from_dict(onboarding_response_dtcc_accept_dict)
+offer_response_dtcc_onboarding_accept_dict = offer_response_dtcc_onboarding_accept_instance.to_dict()
+# create an instance of OfferResponseDtccOnboardingAccept from a dict
+offer_response_dtcc_onboarding_accept_from_dict = OfferResponseDtccOnboardingAccept.from_dict(offer_response_dtcc_onboarding_accept_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/OnboardingResponseDtccReject.md b/docs/OfferResponseDtccOnboardingReject.md
similarity index 61%
rename from docs/OnboardingResponseDtccReject.md
rename to docs/OfferResponseDtccOnboardingReject.md
index a6f9b343..60c134c4 100644
--- a/docs/OnboardingResponseDtccReject.md
+++ b/docs/OfferResponseDtccOnboardingReject.md
@@ -1,4 +1,4 @@
-# OnboardingResponseDtccReject
+# OfferResponseDtccOnboardingReject
Reject a DTCC end-investor onboarding offer.
@@ -7,24 +7,24 @@ Reject a DTCC end-investor onboarding offer.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**response_type** | **str** | How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. |
-**reason** | **str** | Why the offer is being rejected. Recorded on-chain, where the counterparty can read it. |
+**payload** | [**DtccOnboardingRejectPayload**](DtccOnboardingRejectPayload.md) | |
## Example
```python
-from fireblocks.models.onboarding_response_dtcc_reject import OnboardingResponseDtccReject
+from fireblocks.models.offer_response_dtcc_onboarding_reject import OfferResponseDtccOnboardingReject
# TODO update the JSON string below
json = "{}"
-# create an instance of OnboardingResponseDtccReject from a JSON string
-onboarding_response_dtcc_reject_instance = OnboardingResponseDtccReject.from_json(json)
+# create an instance of OfferResponseDtccOnboardingReject from a JSON string
+offer_response_dtcc_onboarding_reject_instance = OfferResponseDtccOnboardingReject.from_json(json)
# print the JSON string representation of the object
-print(OnboardingResponseDtccReject.to_json())
+print(OfferResponseDtccOnboardingReject.to_json())
# convert the object into a dict
-onboarding_response_dtcc_reject_dict = onboarding_response_dtcc_reject_instance.to_dict()
-# create an instance of OnboardingResponseDtccReject from a dict
-onboarding_response_dtcc_reject_from_dict = OnboardingResponseDtccReject.from_dict(onboarding_response_dtcc_reject_dict)
+offer_response_dtcc_onboarding_reject_dict = offer_response_dtcc_onboarding_reject_instance.to_dict()
+# create an instance of OfferResponseDtccOnboardingReject from a dict
+offer_response_dtcc_onboarding_reject_from_dict = OfferResponseDtccOnboardingReject.from_dict(offer_response_dtcc_onboarding_reject_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/OfferResponseOnboarding.md b/docs/OfferResponseOnboarding.md
deleted file mode 100644
index 1cb5e82a..00000000
--- a/docs/OfferResponseOnboarding.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# OfferResponseOnboarding
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**domain** | **str** | Which offer domain this response belongs to. Selects the shape of `response`. |
-**response** | [**OnboardingResponse**](OnboardingResponse.md) | |
-
-## Example
-
-```python
-from fireblocks.models.offer_response_onboarding import OfferResponseOnboarding
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of OfferResponseOnboarding from a JSON string
-offer_response_onboarding_instance = OfferResponseOnboarding.from_json(json)
-# print the JSON string representation of the object
-print(OfferResponseOnboarding.to_json())
-
-# convert the object into a dict
-offer_response_onboarding_dict = offer_response_onboarding_instance.to_dict()
-# create an instance of OfferResponseOnboarding from a dict
-offer_response_onboarding_from_dict = OfferResponseOnboarding.from_dict(offer_response_onboarding_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/OnboardingResponseTradewebAccept.md b/docs/OfferResponseTradewebAccept.md
similarity index 65%
rename from docs/OnboardingResponseTradewebAccept.md
rename to docs/OfferResponseTradewebAccept.md
index 8d03f636..238b69d6 100644
--- a/docs/OnboardingResponseTradewebAccept.md
+++ b/docs/OfferResponseTradewebAccept.md
@@ -1,4 +1,4 @@
-# OnboardingResponseTradewebAccept
+# OfferResponseTradewebAccept
Accept a Tradeweb co-signing delegation offer. Carries no arguments.
@@ -11,19 +11,19 @@ Name | Type | Description | Notes
## Example
```python
-from fireblocks.models.onboarding_response_tradeweb_accept import OnboardingResponseTradewebAccept
+from fireblocks.models.offer_response_tradeweb_accept import OfferResponseTradewebAccept
# TODO update the JSON string below
json = "{}"
-# create an instance of OnboardingResponseTradewebAccept from a JSON string
-onboarding_response_tradeweb_accept_instance = OnboardingResponseTradewebAccept.from_json(json)
+# create an instance of OfferResponseTradewebAccept from a JSON string
+offer_response_tradeweb_accept_instance = OfferResponseTradewebAccept.from_json(json)
# print the JSON string representation of the object
-print(OnboardingResponseTradewebAccept.to_json())
+print(OfferResponseTradewebAccept.to_json())
# convert the object into a dict
-onboarding_response_tradeweb_accept_dict = onboarding_response_tradeweb_accept_instance.to_dict()
-# create an instance of OnboardingResponseTradewebAccept from a dict
-onboarding_response_tradeweb_accept_from_dict = OnboardingResponseTradewebAccept.from_dict(onboarding_response_tradeweb_accept_dict)
+offer_response_tradeweb_accept_dict = offer_response_tradeweb_accept_instance.to_dict()
+# create an instance of OfferResponseTradewebAccept from a dict
+offer_response_tradeweb_accept_from_dict = OfferResponseTradewebAccept.from_dict(offer_response_tradeweb_accept_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/OnboardingResponseTradewebReject.md b/docs/OfferResponseTradewebReject.md
similarity index 66%
rename from docs/OnboardingResponseTradewebReject.md
rename to docs/OfferResponseTradewebReject.md
index 434f954a..e1b08538 100644
--- a/docs/OnboardingResponseTradewebReject.md
+++ b/docs/OfferResponseTradewebReject.md
@@ -1,4 +1,4 @@
-# OnboardingResponseTradewebReject
+# OfferResponseTradewebReject
Reject a Tradeweb co-signing delegation offer. Carries no arguments — the DAR has nowhere on-ledger to record a reason, so none is accepted.
@@ -11,19 +11,19 @@ Name | Type | Description | Notes
## Example
```python
-from fireblocks.models.onboarding_response_tradeweb_reject import OnboardingResponseTradewebReject
+from fireblocks.models.offer_response_tradeweb_reject import OfferResponseTradewebReject
# TODO update the JSON string below
json = "{}"
-# create an instance of OnboardingResponseTradewebReject from a JSON string
-onboarding_response_tradeweb_reject_instance = OnboardingResponseTradewebReject.from_json(json)
+# create an instance of OfferResponseTradewebReject from a JSON string
+offer_response_tradeweb_reject_instance = OfferResponseTradewebReject.from_json(json)
# print the JSON string representation of the object
-print(OnboardingResponseTradewebReject.to_json())
+print(OfferResponseTradewebReject.to_json())
# convert the object into a dict
-onboarding_response_tradeweb_reject_dict = onboarding_response_tradeweb_reject_instance.to_dict()
-# create an instance of OnboardingResponseTradewebReject from a dict
-onboarding_response_tradeweb_reject_from_dict = OnboardingResponseTradewebReject.from_dict(onboarding_response_tradeweb_reject_dict)
+offer_response_tradeweb_reject_dict = offer_response_tradeweb_reject_instance.to_dict()
+# create an instance of OfferResponseTradewebReject from a dict
+offer_response_tradeweb_reject_from_dict = OfferResponseTradewebReject.from_dict(offer_response_tradeweb_reject_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/OfferResponseTransfer.md b/docs/OfferResponseTransfer.md
deleted file mode 100644
index af9ab952..00000000
--- a/docs/OfferResponseTransfer.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# OfferResponseTransfer
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**domain** | **str** | Which offer domain this response belongs to. Selects the shape of `response`. |
-**response** | [**TransferResponse**](TransferResponse.md) | |
-
-## Example
-
-```python
-from fireblocks.models.offer_response_transfer import OfferResponseTransfer
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of OfferResponseTransfer from a JSON string
-offer_response_transfer_instance = OfferResponseTransfer.from_json(json)
-# print the JSON string representation of the object
-print(OfferResponseTransfer.to_json())
-
-# convert the object into a dict
-offer_response_transfer_dict = offer_response_transfer_instance.to_dict()
-# create an instance of OfferResponseTransfer from a dict
-offer_response_transfer_from_dict = OfferResponseTransfer.from_dict(offer_response_transfer_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/OnboardingResponse.md b/docs/OfferResponseTransferAccept.md
similarity index 63%
rename from docs/OnboardingResponse.md
rename to docs/OfferResponseTransferAccept.md
index 8d90fa3a..df734260 100644
--- a/docs/OnboardingResponse.md
+++ b/docs/OfferResponseTransferAccept.md
@@ -1,29 +1,29 @@
-# OnboardingResponse
+# OfferResponseTransferAccept
+Accept an inbound 2-step transfer offer. Carries no arguments.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**response_type** | **str** | How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. |
-**reason** | **str** | Why the offer is being rejected. Recorded on-chain, where the counterparty can read it. |
## Example
```python
-from fireblocks.models.onboarding_response import OnboardingResponse
+from fireblocks.models.offer_response_transfer_accept import OfferResponseTransferAccept
# TODO update the JSON string below
json = "{}"
-# create an instance of OnboardingResponse from a JSON string
-onboarding_response_instance = OnboardingResponse.from_json(json)
+# create an instance of OfferResponseTransferAccept from a JSON string
+offer_response_transfer_accept_instance = OfferResponseTransferAccept.from_json(json)
# print the JSON string representation of the object
-print(OnboardingResponse.to_json())
+print(OfferResponseTransferAccept.to_json())
# convert the object into a dict
-onboarding_response_dict = onboarding_response_instance.to_dict()
-# create an instance of OnboardingResponse from a dict
-onboarding_response_from_dict = OnboardingResponse.from_dict(onboarding_response_dict)
+offer_response_transfer_accept_dict = offer_response_transfer_accept_instance.to_dict()
+# create an instance of OfferResponseTransferAccept from a dict
+offer_response_transfer_accept_from_dict = OfferResponseTransferAccept.from_dict(offer_response_transfer_accept_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/OfferResponseTransferReject.md b/docs/OfferResponseTransferReject.md
new file mode 100644
index 00000000..97e34005
--- /dev/null
+++ b/docs/OfferResponseTransferReject.md
@@ -0,0 +1,30 @@
+# OfferResponseTransferReject
+
+Reject an inbound 2-step transfer offer. Carries no arguments.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**response_type** | **str** | How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. |
+
+## Example
+
+```python
+from fireblocks.models.offer_response_transfer_reject import OfferResponseTransferReject
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of OfferResponseTransferReject from a JSON string
+offer_response_transfer_reject_instance = OfferResponseTransferReject.from_json(json)
+# print the JSON string representation of the object
+print(OfferResponseTransferReject.to_json())
+
+# convert the object into a dict
+offer_response_transfer_reject_dict = offer_response_transfer_reject_instance.to_dict()
+# create an instance of OfferResponseTransferReject from a dict
+offer_response_transfer_reject_from_dict = OfferResponseTransferReject.from_dict(offer_response_transfer_reject_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/OfferResponseTransferWithdraw.md b/docs/OfferResponseTransferWithdraw.md
new file mode 100644
index 00000000..654ce2e5
--- /dev/null
+++ b/docs/OfferResponseTransferWithdraw.md
@@ -0,0 +1,30 @@
+# OfferResponseTransferWithdraw
+
+Withdraw your own OUTGOING transfer offer. Carries no arguments — `offerId` in the path is the offer, so the vault account and blockchain are resolved from it rather than restated. Was `CantonCallType.TRANSFER_WITHDRAW` with a 3-field payload until FA-10624.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**response_type** | **str** | How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. |
+
+## Example
+
+```python
+from fireblocks.models.offer_response_transfer_withdraw import OfferResponseTransferWithdraw
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of OfferResponseTransferWithdraw from a JSON string
+offer_response_transfer_withdraw_instance = OfferResponseTransferWithdraw.from_json(json)
+# print the JSON string representation of the object
+print(OfferResponseTransferWithdraw.to_json())
+
+# convert the object into a dict
+offer_response_transfer_withdraw_dict = offer_response_transfer_withdraw_instance.to_dict()
+# create an instance of OfferResponseTransferWithdraw from a dict
+offer_response_transfer_withdraw_from_dict = OfferResponseTransferWithdraw.from_dict(offer_response_transfer_withdraw_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ParticipantOnboardingPayload.md b/docs/ParticipantOnboardingPayload.md
index 5ff76993..f1daa2d2 100644
--- a/docs/ParticipantOnboardingPayload.md
+++ b/docs/ParticipantOnboardingPayload.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**vault_account_id** | **str** | The vault account that acts as the participant. Its Canton party is derived for you. |
-**asset** | **str** | Chain asset — CANTON or CANTON_TEST. |
+**blockchain_id** | **str** | The blockchain this party is connected to — `CANTON` or `CANTON_TEST`. |
**expires_at** | **datetime** | When the onboarding request expires if it has not been answered. RFC 3339. | [optional]
**operator** | **str** | DTCC infra operator party id. |
**compliance** | **str** | DTCC compliance party id. |
diff --git a/docs/RegisterApprovalApiKeyResponse.md b/docs/RegisterApprovalApiKeyResponse.md
index 221ad47f..f353060e 100644
--- a/docs/RegisterApprovalApiKeyResponse.md
+++ b/docs/RegisterApprovalApiKeyResponse.md
@@ -7,6 +7,7 @@ The result of registering an approval API key.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**key_id** | **str** | The server-generated ID of the registered key, used for deletion. |
+**ccr_id_pending_registration** | **str** | Always returned. An empty string when the key is active immediately. Otherwise, the ID of the approval request that must be approved before the key becomes active. The request appears in `GET /v1/approvals`. |
## Example
diff --git a/docs/TempoBetaApi.md b/docs/TempoBetaApi.md
new file mode 100644
index 00000000..487ab077
--- /dev/null
+++ b/docs/TempoBetaApi.md
@@ -0,0 +1,86 @@
+# fireblocks.TempoBetaApi
+
+All URIs are relative to *https://api.fireblocks.io/v1*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_tempo_transfer**](TempoBetaApi.md#create_tempo_transfer) | **POST** /operations/tempo/transfer | Create a Tempo transfer transaction
+
+
+# **create_tempo_transfer**
+> CreateTempoTransferResponse create_tempo_transfer(create_tempo_transfer_request, idempotency_key=idempotency_key)
+
+Create a Tempo transfer transaction
+
+Creates a new Tempo transfer transaction.
+
+### Example
+
+
+```python
+from fireblocks.models.create_tempo_transfer_request import CreateTempoTransferRequest
+from fireblocks.models.create_tempo_transfer_response import CreateTempoTransferResponse
+from fireblocks.client import Fireblocks
+from fireblocks.client_configuration import ClientConfiguration
+from fireblocks.exceptions import ApiException
+from fireblocks.base_path import BasePath
+from pprint import pprint
+
+# load the secret key content from a file
+with open('your_secret_key_file_path', 'r') as file:
+ secret_key_value = file.read()
+
+# build the configuration
+configuration = ClientConfiguration(
+ api_key="your_api_key",
+ secret_key=secret_key_value,
+ base_path=BasePath.Sandbox, # or set it directly to a string "https://sandbox-api.fireblocks.io/v1"
+)
+
+
+# Enter a context with an instance of the API client
+with Fireblocks(configuration) as fireblocks:
+ create_tempo_transfer_request = fireblocks.CreateTempoTransferRequest() # CreateTempoTransferRequest |
+ idempotency_key = 'idempotency_key_example' # str | 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)
+
+ try:
+ # Create a Tempo transfer transaction
+ api_response = fireblocks.tempo_beta.create_tempo_transfer(create_tempo_transfer_request, idempotency_key=idempotency_key).result()
+ print("The response of TempoBetaApi->create_tempo_transfer:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling TempoBetaApi->create_tempo_transfer: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **create_tempo_transfer_request** | [**CreateTempoTransferRequest**](CreateTempoTransferRequest.md)| |
+ **idempotency_key** | **str**| 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
+
+[**CreateTempoTransferResponse**](CreateTempoTransferResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Transaction created. | * X-Request-ID -
|
+**0** | Error Response | * X-Request-ID -
|
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/TempoTransferDestination.md b/docs/TempoTransferDestination.md
new file mode 100644
index 00000000..f159130a
--- /dev/null
+++ b/docs/TempoTransferDestination.md
@@ -0,0 +1,32 @@
+# TempoTransferDestination
+
+The transfer's destination. Mutually exclusive with `destinations`.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | The kind of destination. |
+**id** | **str** | Required when type is VAULT_ACCOUNT or UNMANAGED_WALLET. | [optional]
+**one_time_address** | [**OneTimeAddress**](OneTimeAddress.md) | | [optional]
+
+## Example
+
+```python
+from fireblocks.models.tempo_transfer_destination import TempoTransferDestination
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of TempoTransferDestination from a JSON string
+tempo_transfer_destination_instance = TempoTransferDestination.from_json(json)
+# print the JSON string representation of the object
+print(TempoTransferDestination.to_json())
+
+# convert the object into a dict
+tempo_transfer_destination_dict = tempo_transfer_destination_instance.to_dict()
+# create an instance of TempoTransferDestination from a dict
+tempo_transfer_destination_from_dict = TempoTransferDestination.from_dict(tempo_transfer_destination_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/TempoTransferDestinationItem.md b/docs/TempoTransferDestinationItem.md
new file mode 100644
index 00000000..4d565804
--- /dev/null
+++ b/docs/TempoTransferDestinationItem.md
@@ -0,0 +1,33 @@
+# TempoTransferDestinationItem
+
+One destination in a multi-destination transfer. `destination.type` is narrowed the same way as the top-level `destination` field.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**amount** | **str** | The amount to transfer to this destination, as a numeric string. | [optional]
+**destination** | [**TempoTransferDestination**](TempoTransferDestination.md) | | [optional]
+**travel_rule_message_id** | **str** | Beta. An identifier of a TravelRule message, already sent to the TravelRule provider. | [optional]
+**customer_ref_id** | **str** | The ID for AML providers to associate the owner of funds with transactions. | [optional]
+
+## Example
+
+```python
+from fireblocks.models.tempo_transfer_destination_item import TempoTransferDestinationItem
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of TempoTransferDestinationItem from a JSON string
+tempo_transfer_destination_item_instance = TempoTransferDestinationItem.from_json(json)
+# print the JSON string representation of the object
+print(TempoTransferDestinationItem.to_json())
+
+# convert the object into a dict
+tempo_transfer_destination_item_dict = tempo_transfer_destination_item_instance.to_dict()
+# create an instance of TempoTransferDestinationItem from a dict
+tempo_transfer_destination_item_from_dict = TempoTransferDestinationItem.from_dict(tempo_transfer_destination_item_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/TempoTransferSource.md b/docs/TempoTransferSource.md
new file mode 100644
index 00000000..24233758
--- /dev/null
+++ b/docs/TempoTransferSource.md
@@ -0,0 +1,32 @@
+# TempoTransferSource
+
+The transfer's source.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | The kind of source. |
+**id** | **str** | Required when type is VAULT_ACCOUNT — the vault account ID. | [optional]
+**wallet_id** | **str** | Required when type is EMBEDDED_WALLET. | [optional]
+
+## Example
+
+```python
+from fireblocks.models.tempo_transfer_source import TempoTransferSource
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of TempoTransferSource from a JSON string
+tempo_transfer_source_instance = TempoTransferSource.from_json(json)
+# print the JSON string representation of the object
+print(TempoTransferSource.to_json())
+
+# convert the object into a dict
+tempo_transfer_source_dict = tempo_transfer_source_instance.to_dict()
+# create an instance of TempoTransferSource from a dict
+tempo_transfer_source_from_dict = TempoTransferSource.from_dict(tempo_transfer_source_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/TransferResponse.md b/docs/TransferResponse.md
deleted file mode 100644
index ca02e2be..00000000
--- a/docs/TransferResponse.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# TransferResponse
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**response_type** | **str** | How you are answering the transfer offer. |
-
-## Example
-
-```python
-from fireblocks.models.transfer_response import TransferResponse
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of TransferResponse from a JSON string
-transfer_response_instance = TransferResponse.from_json(json)
-# print the JSON string representation of the object
-print(TransferResponse.to_json())
-
-# convert the object into a dict
-transfer_response_dict = transfer_response_instance.to_dict()
-# create an instance of TransferResponse from a dict
-transfer_response_from_dict = TransferResponse.from_dict(transfer_response_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/TransferResponseAccept.md b/docs/TransferResponseAccept.md
deleted file mode 100644
index 3173b822..00000000
--- a/docs/TransferResponseAccept.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# TransferResponseAccept
-
-Accept an inbound 2-step transfer offer. Carries no arguments.
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**response_type** | **str** | How you are answering the transfer offer. |
-
-## Example
-
-```python
-from fireblocks.models.transfer_response_accept import TransferResponseAccept
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of TransferResponseAccept from a JSON string
-transfer_response_accept_instance = TransferResponseAccept.from_json(json)
-# print the JSON string representation of the object
-print(TransferResponseAccept.to_json())
-
-# convert the object into a dict
-transfer_response_accept_dict = transfer_response_accept_instance.to_dict()
-# create an instance of TransferResponseAccept from a dict
-transfer_response_accept_from_dict = TransferResponseAccept.from_dict(transfer_response_accept_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/TransferResponseReject.md b/docs/TransferResponseReject.md
deleted file mode 100644
index 90038f7e..00000000
--- a/docs/TransferResponseReject.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# TransferResponseReject
-
-Reject an inbound 2-step transfer offer. Carries no arguments.
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**response_type** | **str** | How you are answering the transfer offer. |
-
-## Example
-
-```python
-from fireblocks.models.transfer_response_reject import TransferResponseReject
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of TransferResponseReject from a JSON string
-transfer_response_reject_instance = TransferResponseReject.from_json(json)
-# print the JSON string representation of the object
-print(TransferResponseReject.to_json())
-
-# convert the object into a dict
-transfer_response_reject_dict = transfer_response_reject_instance.to_dict()
-# create an instance of TransferResponseReject from a dict
-transfer_response_reject_from_dict = TransferResponseReject.from_dict(transfer_response_reject_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/TransferWithdrawPayload.md b/docs/TransferWithdrawPayload.md
deleted file mode 100644
index d93a10b8..00000000
--- a/docs/TransferWithdrawPayload.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# TransferWithdrawPayload
-
-
-## Properties
-
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**vault_account_id** | **str** | The vault account whose Canton wallet acts here. |
-**asset** | **str** | Chain asset — `CANTON` or `CANTON_TEST`. |
-**offer_transaction_id** | **str** | The Fireblocks transaction id of the OUTGOING transfer offer being withdrawn. |
-
-## Example
-
-```python
-from fireblocks.models.transfer_withdraw_payload import TransferWithdrawPayload
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of TransferWithdrawPayload from a JSON string
-transfer_withdraw_payload_instance = TransferWithdrawPayload.from_json(json)
-# print the JSON string representation of the object
-print(TransferWithdrawPayload.to_json())
-
-# convert the object into a dict
-transfer_withdraw_payload_dict = transfer_withdraw_payload_instance.to_dict()
-# create an instance of TransferWithdrawPayload from a dict
-transfer_withdraw_payload_from_dict = TransferWithdrawPayload.from_dict(transfer_withdraw_payload_dict)
-```
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/VaultsApi.md b/docs/VaultsApi.md
index 92b9db8c..c89d65e0 100644
--- a/docs/VaultsApi.md
+++ b/docs/VaultsApi.md
@@ -33,6 +33,7 @@ Method | HTTP request | Description
[**get_vault_balance_by_asset**](VaultsApi.md#get_vault_balance_by_asset) | **GET** /vault/assets/{assetId} | Get vault balance by an asset
[**hide_vault_account**](VaultsApi.md#hide_vault_account) | **POST** /vault/accounts/{vaultAccountId}/hide | Hide a vault account in the console
[**lookup_vault_by_address**](VaultsApi.md#lookup_vault_by_address) | **GET** /vault/lookup_by_address | Look up a vault account by blockchain address
+[**register_tempo_omnibus_wallet**](VaultsApi.md#register_tempo_omnibus_wallet) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/omnibus/tempo/register | Register a Tempo omnibus wallet
[**set_customer_ref_id_for_address**](VaultsApi.md#set_customer_ref_id_for_address) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id | Assign AML customer reference ID
[**set_usdc_gateway_deposit_automation_beta**](VaultsApi.md#set_usdc_gateway_deposit_automation_beta) | **POST** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Set up a USDC Gateway deposit automation for a vault account
[**set_vault_account_auto_fuel**](VaultsApi.md#set_vault_account_auto_fuel) | **POST** /vault/accounts/{vaultAccountId}/set_auto_fuel | Set auto fueling to on or off
@@ -2383,6 +2384,86 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **register_tempo_omnibus_wallet**
+> CreateVaultAssetResponse register_tempo_omnibus_wallet(vault_account_id, asset_id, idempotency_key=idempotency_key)
+
+Register a Tempo omnibus wallet
+
+Registers a Tempo omnibus wallet for the requested vault account.
+Triggering this flow requires the vault account to hold PATH_USD with a balance sufficient to cover the gas fee.
+Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
+
+### Example
+
+
+```python
+from fireblocks.models.create_vault_asset_response import CreateVaultAssetResponse
+from fireblocks.client import Fireblocks
+from fireblocks.client_configuration import ClientConfiguration
+from fireblocks.exceptions import ApiException
+from fireblocks.base_path import BasePath
+from pprint import pprint
+
+# load the secret key content from a file
+with open('your_secret_key_file_path', 'r') as file:
+ secret_key_value = file.read()
+
+# build the configuration
+configuration = ClientConfiguration(
+ api_key="your_api_key",
+ secret_key=secret_key_value,
+ base_path=BasePath.Sandbox, # or set it directly to a string "https://sandbox-api.fireblocks.io/v1"
+)
+
+
+# Enter a context with an instance of the API client
+with Fireblocks(configuration) as fireblocks:
+ vault_account_id = 'vault_account_id_example' # str | The ID of the vault account for which to register the Tempo wallet.
+ asset_id = 'asset_id_example' # str | The Tempo network asset to register for the vault account.
+ idempotency_key = 'idempotency_key_example' # str | 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)
+
+ try:
+ # Register a Tempo omnibus wallet
+ api_response = fireblocks.vaults.register_tempo_omnibus_wallet(vault_account_id, asset_id, idempotency_key=idempotency_key).result()
+ print("The response of VaultsApi->register_tempo_omnibus_wallet:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling VaultsApi->register_tempo_omnibus_wallet: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **vault_account_id** | **str**| The ID of the vault account for which to register the Tempo wallet. |
+ **asset_id** | **str**| The Tempo network asset to register for the vault account. |
+ **idempotency_key** | **str**| 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
+
+[**CreateVaultAssetResponse**](CreateVaultAssetResponse.md)
+
+### 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 -
|
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **set_customer_ref_id_for_address**
> VaultActionStatus set_customer_ref_id_for_address(vault_account_id, asset_id, address_id, set_customer_ref_id_for_address_request, idempotency_key=idempotency_key)
diff --git a/fireblocks/__init__.py b/fireblocks/__init__.py
index ac796308..1644c313 100644
--- a/fireblocks/__init__.py
+++ b/fireblocks/__init__.py
@@ -14,7 +14,7 @@
Do not edit the class manually.
""" # noqa: E501
-__version__ = "33.0.0"
+__version__ = "0.0.0"
# import apis into sdk package
from fireblocks.api.api_user_api import ApiUserApi
@@ -63,6 +63,7 @@
from fireblocks.api.staking_api import StakingApi
from fireblocks.api.tr_link_api import TRLinkApi
from fireblocks.api.tags_api import TagsApi
+from fireblocks.api.tempo_beta_api import TempoBetaApi
from fireblocks.api.tokenization_api import TokenizationApi
from fireblocks.api.trading_beta_api import TradingBetaApi
from fireblocks.api.transactions_api import TransactionsApi
@@ -203,9 +204,6 @@
from fireblocks.models.addresses_filters import AddressesFilters
from fireblocks.models.alert_exposure_type_enum import AlertExposureTypeEnum
from fireblocks.models.alert_level_enum import AlertLevelEnum
-from fireblocks.models.allocation_response import AllocationResponse
-from fireblocks.models.allocation_response_accept import AllocationResponseAccept
-from fireblocks.models.allocation_response_reject import AllocationResponseReject
from fireblocks.models.allocation_withdraw_payload import AllocationWithdrawPayload
from fireblocks.models.allow_list_payload import AllowListPayload
from fireblocks.models.allowlist_entry import AllowlistEntry
@@ -368,7 +366,6 @@
from fireblocks.models.canton_call_participant_onboarding import (
CantonCallParticipantOnboarding,
)
-from fireblocks.models.canton_call_transfer_withdraw import CantonCallTransferWithdraw
from fireblocks.models.canton_details import CantonDetails
from fireblocks.models.canton_domain_enum import CantonDomainEnum
from fireblocks.models.canton_offer_response_details import CantonOfferResponseDetails
@@ -594,6 +591,8 @@
CreateSigningKeyDtoProofOfOwnership,
)
from fireblocks.models.create_tag_request import CreateTagRequest
+from fireblocks.models.create_tempo_transfer_request import CreateTempoTransferRequest
+from fireblocks.models.create_tempo_transfer_response import CreateTempoTransferResponse
from fireblocks.models.create_token_request_dto import CreateTokenRequestDto
from fireblocks.models.create_token_request_dto_create_params import (
CreateTokenRequestDtoCreateParams,
@@ -632,6 +631,9 @@
DelegationBlockchainPositionInfo,
)
from fireblocks.models.delegation_summary import DelegationSummary
+from fireblocks.models.delete_approval_api_key_response import (
+ DeleteApprovalApiKeyResponse,
+)
from fireblocks.models.delete_network_connection_response import (
DeleteNetworkConnectionResponse,
)
@@ -714,6 +716,7 @@
)
from fireblocks.models.drop_transaction_request import DropTransactionRequest
from fireblocks.models.drop_transaction_response import DropTransactionResponse
+from fireblocks.models.dtcc_onboarding_reject_payload import DtccOnboardingRejectPayload
from fireblocks.models.dvn_config import DvnConfig
from fireblocks.models.dvn_config_with_confirmations import DvnConfigWithConfirmations
from fireblocks.models.evm_token_create_params_dto import EVMTokenCreateParamsDto
@@ -1121,23 +1124,26 @@
from fireblocks.models.offer import Offer
from fireblocks.models.offer_response import OfferResponse
from fireblocks.models.offer_response_accepted import OfferResponseAccepted
-from fireblocks.models.offer_response_allocation import OfferResponseAllocation
-from fireblocks.models.offer_response_onboarding import OfferResponseOnboarding
-from fireblocks.models.offer_response_transfer import OfferResponseTransfer
-from fireblocks.models.offers_response import OffersResponse
-from fireblocks.models.onboarding_response import OnboardingResponse
-from fireblocks.models.onboarding_response_dtcc_accept import (
- OnboardingResponseDtccAccept,
+from fireblocks.models.offer_response_allocation_accept import (
+ OfferResponseAllocationAccept,
+)
+from fireblocks.models.offer_response_allocation_reject import (
+ OfferResponseAllocationReject,
)
-from fireblocks.models.onboarding_response_dtcc_reject import (
- OnboardingResponseDtccReject,
+from fireblocks.models.offer_response_dtcc_onboarding_accept import (
+ OfferResponseDtccOnboardingAccept,
)
-from fireblocks.models.onboarding_response_tradeweb_accept import (
- OnboardingResponseTradewebAccept,
+from fireblocks.models.offer_response_dtcc_onboarding_reject import (
+ OfferResponseDtccOnboardingReject,
)
-from fireblocks.models.onboarding_response_tradeweb_reject import (
- OnboardingResponseTradewebReject,
+from fireblocks.models.offer_response_tradeweb_accept import OfferResponseTradewebAccept
+from fireblocks.models.offer_response_tradeweb_reject import OfferResponseTradewebReject
+from fireblocks.models.offer_response_transfer_accept import OfferResponseTransferAccept
+from fireblocks.models.offer_response_transfer_reject import OfferResponseTransferReject
+from fireblocks.models.offer_response_transfer_withdraw import (
+ OfferResponseTransferWithdraw,
)
+from fireblocks.models.offers_response import OffersResponse
from fireblocks.models.onchain_transaction import OnchainTransaction
from fireblocks.models.onchain_transactions_paged_response import (
OnchainTransactionsPagedResponse,
@@ -1762,6 +1768,11 @@
from fireblocks.models.tag_type import TagType
from fireblocks.models.tags_paged_response import TagsPagedResponse
from fireblocks.models.templates_paginated_response import TemplatesPaginatedResponse
+from fireblocks.models.tempo_transfer_destination import TempoTransferDestination
+from fireblocks.models.tempo_transfer_destination_item import (
+ TempoTransferDestinationItem,
+)
+from fireblocks.models.tempo_transfer_source import TempoTransferSource
from fireblocks.models.third_party_routing import ThirdPartyRouting
from fireblocks.models.time_based_trigger import TimeBasedTrigger
from fireblocks.models.time_in_force import TimeInForce
@@ -1861,11 +1872,7 @@
from fireblocks.models.transfer_peer_type_enum2 import TransferPeerTypeEnum2
from fireblocks.models.transfer_rail import TransferRail
from fireblocks.models.transfer_receipt import TransferReceipt
-from fireblocks.models.transfer_response import TransferResponse
-from fireblocks.models.transfer_response_accept import TransferResponseAccept
-from fireblocks.models.transfer_response_reject import TransferResponseReject
from fireblocks.models.transfer_validation_failure import TransferValidationFailure
-from fireblocks.models.transfer_withdraw_payload import TransferWithdrawPayload
from fireblocks.models.travel_rule_action_enum import TravelRuleActionEnum
from fireblocks.models.travel_rule_address import TravelRuleAddress
from fireblocks.models.travel_rule_create_transaction_request import (
diff --git a/fireblocks/api/__init__.py b/fireblocks/api/__init__.py
index b5e3e3f8..9d68c30d 100644
--- a/fireblocks/api/__init__.py
+++ b/fireblocks/api/__init__.py
@@ -43,6 +43,7 @@
from fireblocks.api.staking_api import StakingApi
from fireblocks.api.tr_link_api import TRLinkApi
from fireblocks.api.tags_api import TagsApi
+from fireblocks.api.tempo_beta_api import TempoBetaApi
from fireblocks.api.tokenization_api import TokenizationApi
from fireblocks.api.trading_beta_api import TradingBetaApi
from fireblocks.api.transactions_api import TransactionsApi
diff --git a/fireblocks/api/approvals_beta_api.py b/fireblocks/api/approvals_beta_api.py
index db761212..1381dd9b 100644
--- a/fireblocks/api/approvals_beta_api.py
+++ b/fireblocks/api/approvals_beta_api.py
@@ -23,6 +23,7 @@
from typing_extensions import Annotated
from fireblocks.models.approval_request_item import ApprovalRequestItem
from fireblocks.models.approve_approval_request import ApproveApprovalRequest
+from fireblocks.models.delete_approval_api_key_response import DeleteApprovalApiKeyResponse
from fireblocks.models.list_approval_api_keys_response import ListApprovalApiKeysResponse
from fireblocks.models.list_approvals_response import ListApprovalsResponse
from fireblocks.models.register_approval_api_key_request import RegisterApprovalApiKeyRequest
@@ -224,7 +225,7 @@ def create_approval_key(
) -> Future[ApiResponse[RegisterApprovalApiKeyResponse]]:
"""Register an approval key
- Register an approval public key for an API user, used to sign approval requests. Up to 2 active keys are supported per API user. Returns the server-generated key ID used for deletion. The `userId` must be the authenticated API user's own ID. Registering a key for another user is not supported and is rejected. Endpoint Permission: Owner, Admin, Non-Signing Admin, Approver, Signer, Security Admin.
+ Register an approval public key for an API user, used to sign approval requests. Up to 2 active keys are supported per API user. Returns the server-generated key ID used for deletion. The `userId` must be the authenticated API user's own ID. Registering a key for another user is not supported and is rejected. Registration may require approval. In that case the response carries `ccrIdPendingRegistration`, the key reads as `APPROVAL_API_KEY_STATUS_PENDING_REGISTRATION` and cannot sign until the request is approved. A rejected request removes the key. Endpoint Permission: Owner, Admin, Non-Signing Admin, Approver, Signer, Security Admin.
:param user_id: The ID of the API user to register the approval key for. (required)
:type user_id: str
@@ -268,6 +269,7 @@ def create_approval_key(
_response_types_map: Dict[str, Optional[str]] = {
'200': "RegisterApprovalApiKeyResponse",
+ '409': "ErrorSchema",
'default': "ErrorSchema",
}
@@ -377,10 +379,10 @@ def delete_approval_key(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> Future[ApiResponse[None]]:
+ ) -> Future[ApiResponse[DeleteApprovalApiKeyResponse]]:
"""Delete an approval key
- Delete (revoke) an approval public key for the specified API user. Revoking the last key disables the API user's ability to sign approvals. Endpoint Permission: Owner, Admin, Non-Signing Admin, Approver, Signer, Security Admin.
+ Delete (revoke) an approval public key for the specified API user. The deletion may require approval: it always does for the API user's last key or another user's key. In that case the response carries `ccrIdPendingDeletion`, the key reads as `APPROVAL_API_KEY_STATUS_PENDING_DELETION` and stays active until the request is approved. A rejected request leaves the key enabled. Endpoint Permission: Owner, Admin, Non-Signing Admin, Approver, Signer, Security Admin.
:param user_id: The ID of the API user whose approval key to delete. (required)
:type user_id: str
@@ -424,7 +426,8 @@ def delete_approval_key(
)
_response_types_map: Dict[str, Optional[str]] = {
- '204': None,
+ '200': "DeleteApprovalApiKeyResponse",
+ '409': "ErrorSchema",
'default': "ErrorSchema",
}
diff --git a/fireblocks/api/console_user_api.py b/fireblocks/api/console_user_api.py
index 20aad46a..efbd77e9 100644
--- a/fireblocks/api/console_user_api.py
+++ b/fireblocks/api/console_user_api.py
@@ -216,7 +216,7 @@ def delete_console_user(
) -> Future[ApiResponse[ConsoleUser]]:
"""Request deletion of a console user
- Requests deletion of a console user. The request is asynchronous: it goes through the workspace's configured \"Delete users\" approval policy (Settings > Quorums), exactly as deleting a user from the console does, and the user is removed only once that approval completes. - Track progress by polling GET /management/users; deletion is complete when the user is disabled. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes.
+ Requests deletion of a console user. The request is asynchronous: it goes through the workspace's configured \"Delete users\" approval policy (Settings > Quorums), exactly as deleting a user from the console does, and the user is removed only once that approval completes. - Track progress by polling GET /management/users; deletion is complete when the user is disabled. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin/Security Admin permissions. Endpoint Permission: Admin, Non-Signing Admin, Security Admin. **Note:** This endpoint is currently in beta and might be subject to changes.
:param id: The ID of the console user to delete (required)
:type id: str
@@ -257,6 +257,7 @@ def delete_console_user(
_response_types_map: Dict[str, Optional[str]] = {
'202': "ConsoleUser",
+ '400': "ErrorSchema",
'401': "ErrorSchema",
'403': "ErrorSchema",
'404': "ErrorSchema",
diff --git a/fireblocks/api/tempo_beta_api.py b/fireblocks/api/tempo_beta_api.py
new file mode 100644
index 00000000..e7bd7492
--- /dev/null
+++ b/fireblocks/api/tempo_beta_api.py
@@ -0,0 +1,191 @@
+# coding: utf-8
+
+"""
+ 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
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+import warnings
+from concurrent.futures import Future
+from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
+from typing import Any, Dict, List, Optional, Tuple, Union
+from typing_extensions import Annotated
+
+from pydantic import Field, StrictStr
+from typing import Optional
+from typing_extensions import Annotated
+from fireblocks.models.create_tempo_transfer_request import CreateTempoTransferRequest
+from fireblocks.models.create_tempo_transfer_response import CreateTempoTransferResponse
+
+from fireblocks.api_client import ApiClient, RequestSerialized
+from fireblocks.api_response import ApiResponse
+from fireblocks.rest import RESTResponseType
+from fireblocks.validation_utils import validate_not_empty_string
+
+
+class TempoBetaApi:
+ """NOTE: This class is auto generated by OpenAPI Generator
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+ """
+
+ def __init__(self, api_client=None) -> None:
+ if api_client is None:
+ api_client = ApiClient.get_default()
+ self.api_client = api_client
+
+
+ @validate_call
+ def create_tempo_transfer(
+ self,
+ create_tempo_transfer_request: CreateTempoTransferRequest,
+ idempotency_key: Annotated[Optional[StrictStr], Field(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.")] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> Future[ApiResponse[CreateTempoTransferResponse]]:
+ """Create a Tempo transfer transaction
+
+ Creates a new Tempo transfer transaction.
+
+ :param create_tempo_transfer_request: (required)
+ :type create_tempo_transfer_request: CreateTempoTransferRequest
+ :param idempotency_key: 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.
+ :type idempotency_key: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+
+ _param = self._create_tempo_transfer_serialize(
+ create_tempo_transfer_request=create_tempo_transfer_request,
+ idempotency_key=idempotency_key,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "CreateTempoTransferResponse",
+ 'default': "ErrorSchema",
+ }
+
+ return self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout,
+ _response_types_map=_response_types_map,
+ )
+
+ def _create_tempo_transfer_serialize(
+ self,
+ create_tempo_transfer_request,
+ idempotency_key,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ # process the query parameters
+ # process the header parameters
+ if idempotency_key is not None:
+ _header_params['Idempotency-Key'] = idempotency_key
+ # process the form parameters
+ # process the body parameter
+ if create_tempo_transfer_request is not None:
+ _body_params = create_tempo_transfer_request
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+ # set the HTTP header `Content-Type`
+ if _content_type:
+ _header_params['Content-Type'] = _content_type
+ else:
+ _default_content_type = (
+ self.api_client.select_header_content_type(
+ [
+ 'application/json'
+ ]
+ )
+ )
+ if _default_content_type is not None:
+ _header_params['Content-Type'] = _default_content_type
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ ]
+
+ return self.api_client.param_serialize(
+ method='POST',
+ resource_path='/operations/tempo/transfer',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
diff --git a/fireblocks/api/vaults_api.py b/fireblocks/api/vaults_api.py
index 73beddb1..b277352d 100644
--- a/fireblocks/api/vaults_api.py
+++ b/fireblocks/api/vaults_api.py
@@ -4388,6 +4388,150 @@ def _lookup_vault_by_address_serialize(
+ @validate_call
+ def register_tempo_omnibus_wallet(
+ self,
+ vault_account_id: Annotated[StrictStr, Field(description="The ID of the vault account for which to register the Tempo wallet.")],
+ asset_id: Annotated[StrictStr, Field(description="The Tempo network asset to register for the vault account.")],
+ idempotency_key: Annotated[Optional[StrictStr], Field(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.")] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> Future[ApiResponse[CreateVaultAssetResponse]]:
+ """Register a Tempo omnibus wallet
+
+ Registers a Tempo omnibus wallet for the requested vault account. Triggering this flow requires the vault account to hold PATH_USD with a balance sufficient to cover the gas fee. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
+
+ :param vault_account_id: The ID of the vault account for which to register the Tempo wallet. (required)
+ :type vault_account_id: str
+ :param asset_id: The Tempo network asset to register for the vault account. (required)
+ :type asset_id: str
+ :param idempotency_key: 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.
+ :type idempotency_key: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ validate_not_empty_string(function_name="register_tempo_omnibus_wallet", param_name="vault_account_id", param_value=vault_account_id)
+ validate_not_empty_string(function_name="register_tempo_omnibus_wallet", param_name="asset_id", param_value=asset_id)
+
+ _param = self._register_tempo_omnibus_wallet_serialize(
+ vault_account_id=vault_account_id,
+ asset_id=asset_id,
+ idempotency_key=idempotency_key,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "CreateVaultAssetResponse",
+ 'default': "ErrorSchema",
+ }
+
+ return self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout,
+ _response_types_map=_response_types_map,
+ )
+
+ def _register_tempo_omnibus_wallet_serialize(
+ self,
+ vault_account_id,
+ asset_id,
+ idempotency_key,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ if vault_account_id is not None:
+ _path_params['vaultAccountId'] = vault_account_id
+ if asset_id is not None:
+ _path_params['assetId'] = asset_id
+ # process the query parameters
+ # process the header parameters
+ if idempotency_key is not None:
+ _header_params['Idempotency-Key'] = idempotency_key
+ # process the form parameters
+ # process the body parameter
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ ]
+
+ return self.api_client.param_serialize(
+ method='POST',
+ resource_path='/vault/accounts/{vaultAccountId}/{assetId}/omnibus/tempo/register',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
+
+
@validate_call
def set_customer_ref_id_for_address(
self,
diff --git a/fireblocks/client.py b/fireblocks/client.py
index 245e9970..50353536 100644
--- a/fireblocks/client.py
+++ b/fireblocks/client.py
@@ -60,6 +60,7 @@
from fireblocks.api.staking_api import StakingApi
from fireblocks.api.tr_link_api import TRLinkApi
from fireblocks.api.tags_api import TagsApi
+from fireblocks.api.tempo_beta_api import TempoBetaApi
from fireblocks.api.tokenization_api import TokenizationApi
from fireblocks.api.trading_beta_api import TradingBetaApi
from fireblocks.api.transactions_api import TransactionsApi
@@ -127,6 +128,7 @@ def __init__(self, configuration: ClientConfiguration = None):
self._staking = None
self._tr_link = None
self._tags = None
+ self._tempo_beta = None
self._tokenization = None
self._trading_beta = None
self._transactions = None
@@ -409,6 +411,12 @@ def tags(self) -> TagsApi:
self._tags = TagsApi(self._api_client)
return self._tags
+ @property
+ def tempo_beta(self) -> TempoBetaApi:
+ if self._tempo_beta is None:
+ self._tempo_beta = TempoBetaApi(self._api_client)
+ return self._tempo_beta
+
@property
def tokenization(self) -> TokenizationApi:
if self._tokenization is None:
diff --git a/fireblocks/configuration.py b/fireblocks/configuration.py
index 49a2e5cc..c1a025c0 100644
--- a/fireblocks/configuration.py
+++ b/fireblocks/configuration.py
@@ -550,7 +550,7 @@ def to_debug_report(self) -> str:
"OS: {env}\n"
"Python Version: {pyversion}\n"
"Version of the API: 1.6.2\n"
- "SDK Package Version: 33.0.0".format(env=sys.platform, pyversion=sys.version)
+ "SDK Package Version: 0.0.0".format(env=sys.platform, pyversion=sys.version)
)
def get_host_settings(self) -> List[HostSetting]:
diff --git a/fireblocks/models/__init__.py b/fireblocks/models/__init__.py
index 1bb76e9f..c74f0680 100644
--- a/fireblocks/models/__init__.py
+++ b/fireblocks/models/__init__.py
@@ -82,9 +82,6 @@
from fireblocks.models.addresses_filters import AddressesFilters
from fireblocks.models.alert_exposure_type_enum import AlertExposureTypeEnum
from fireblocks.models.alert_level_enum import AlertLevelEnum
-from fireblocks.models.allocation_response import AllocationResponse
-from fireblocks.models.allocation_response_accept import AllocationResponseAccept
-from fireblocks.models.allocation_response_reject import AllocationResponseReject
from fireblocks.models.allocation_withdraw_payload import AllocationWithdrawPayload
from fireblocks.models.allow_list_payload import AllowListPayload
from fireblocks.models.allowlist_entry import AllowlistEntry
@@ -209,7 +206,6 @@
from fireblocks.models.canton_call_end_investor_invite_cancel import CantonCallEndInvestorInviteCancel
from fireblocks.models.canton_call_end_investor_offboard import CantonCallEndInvestorOffboard
from fireblocks.models.canton_call_participant_onboarding import CantonCallParticipantOnboarding
-from fireblocks.models.canton_call_transfer_withdraw import CantonCallTransferWithdraw
from fireblocks.models.canton_details import CantonDetails
from fireblocks.models.canton_domain_enum import CantonDomainEnum
from fireblocks.models.canton_offer_response_details import CantonOfferResponseDetails
@@ -351,6 +347,8 @@
from fireblocks.models.create_signing_key_dto import CreateSigningKeyDto
from fireblocks.models.create_signing_key_dto_proof_of_ownership import CreateSigningKeyDtoProofOfOwnership
from fireblocks.models.create_tag_request import CreateTagRequest
+from fireblocks.models.create_tempo_transfer_request import CreateTempoTransferRequest
+from fireblocks.models.create_tempo_transfer_response import CreateTempoTransferResponse
from fireblocks.models.create_token_request_dto import CreateTokenRequestDto
from fireblocks.models.create_token_request_dto_create_params import CreateTokenRequestDtoCreateParams
from fireblocks.models.create_transaction_response import CreateTransactionResponse
@@ -375,6 +373,7 @@
from fireblocks.models.delegation import Delegation
from fireblocks.models.delegation_blockchain_position_info import DelegationBlockchainPositionInfo
from fireblocks.models.delegation_summary import DelegationSummary
+from fireblocks.models.delete_approval_api_key_response import DeleteApprovalApiKeyResponse
from fireblocks.models.delete_network_connection_response import DeleteNetworkConnectionResponse
from fireblocks.models.delete_network_id_response import DeleteNetworkIdResponse
from fireblocks.models.delete_webhook_mtls_config_response import DeleteWebhookMtlsConfigResponse
@@ -417,6 +416,7 @@
from fireblocks.models.draft_review_and_validation_response import DraftReviewAndValidationResponse
from fireblocks.models.drop_transaction_request import DropTransactionRequest
from fireblocks.models.drop_transaction_response import DropTransactionResponse
+from fireblocks.models.dtcc_onboarding_reject_payload import DtccOnboardingRejectPayload
from fireblocks.models.dvn_config import DvnConfig
from fireblocks.models.dvn_config_with_confirmations import DvnConfigWithConfirmations
from fireblocks.models.evm_token_create_params_dto import EVMTokenCreateParamsDto
@@ -686,15 +686,16 @@
from fireblocks.models.offer import Offer
from fireblocks.models.offer_response import OfferResponse
from fireblocks.models.offer_response_accepted import OfferResponseAccepted
-from fireblocks.models.offer_response_allocation import OfferResponseAllocation
-from fireblocks.models.offer_response_onboarding import OfferResponseOnboarding
-from fireblocks.models.offer_response_transfer import OfferResponseTransfer
+from fireblocks.models.offer_response_allocation_accept import OfferResponseAllocationAccept
+from fireblocks.models.offer_response_allocation_reject import OfferResponseAllocationReject
+from fireblocks.models.offer_response_dtcc_onboarding_accept import OfferResponseDtccOnboardingAccept
+from fireblocks.models.offer_response_dtcc_onboarding_reject import OfferResponseDtccOnboardingReject
+from fireblocks.models.offer_response_tradeweb_accept import OfferResponseTradewebAccept
+from fireblocks.models.offer_response_tradeweb_reject import OfferResponseTradewebReject
+from fireblocks.models.offer_response_transfer_accept import OfferResponseTransferAccept
+from fireblocks.models.offer_response_transfer_reject import OfferResponseTransferReject
+from fireblocks.models.offer_response_transfer_withdraw import OfferResponseTransferWithdraw
from fireblocks.models.offers_response import OffersResponse
-from fireblocks.models.onboarding_response import OnboardingResponse
-from fireblocks.models.onboarding_response_dtcc_accept import OnboardingResponseDtccAccept
-from fireblocks.models.onboarding_response_dtcc_reject import OnboardingResponseDtccReject
-from fireblocks.models.onboarding_response_tradeweb_accept import OnboardingResponseTradewebAccept
-from fireblocks.models.onboarding_response_tradeweb_reject import OnboardingResponseTradewebReject
from fireblocks.models.onchain_transaction import OnchainTransaction
from fireblocks.models.onchain_transactions_paged_response import OnchainTransactionsPagedResponse
from fireblocks.models.onchain_transactions_paged_response2 import OnchainTransactionsPagedResponse2
@@ -1115,6 +1116,9 @@
from fireblocks.models.tag_type import TagType
from fireblocks.models.tags_paged_response import TagsPagedResponse
from fireblocks.models.templates_paginated_response import TemplatesPaginatedResponse
+from fireblocks.models.tempo_transfer_destination import TempoTransferDestination
+from fireblocks.models.tempo_transfer_destination_item import TempoTransferDestinationItem
+from fireblocks.models.tempo_transfer_source import TempoTransferSource
from fireblocks.models.third_party_routing import ThirdPartyRouting
from fireblocks.models.time_based_trigger import TimeBasedTrigger
from fireblocks.models.time_in_force import TimeInForce
@@ -1180,11 +1184,7 @@
from fireblocks.models.transfer_peer_type_enum2 import TransferPeerTypeEnum2
from fireblocks.models.transfer_rail import TransferRail
from fireblocks.models.transfer_receipt import TransferReceipt
-from fireblocks.models.transfer_response import TransferResponse
-from fireblocks.models.transfer_response_accept import TransferResponseAccept
-from fireblocks.models.transfer_response_reject import TransferResponseReject
from fireblocks.models.transfer_validation_failure import TransferValidationFailure
-from fireblocks.models.transfer_withdraw_payload import TransferWithdrawPayload
from fireblocks.models.travel_rule_action_enum import TravelRuleActionEnum
from fireblocks.models.travel_rule_address import TravelRuleAddress
from fireblocks.models.travel_rule_create_transaction_request import TravelRuleCreateTransactionRequest
diff --git a/fireblocks/models/allocation_response.py b/fireblocks/models/allocation_response.py
deleted file mode 100644
index b26f294d..00000000
--- a/fireblocks/models/allocation_response.py
+++ /dev/null
@@ -1,141 +0,0 @@
-# coding: utf-8
-
-"""
- 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
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import json
-import pprint
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
-from typing import Any, List, Optional
-from fireblocks.models.allocation_response_accept import AllocationResponseAccept
-from fireblocks.models.allocation_response_reject import AllocationResponseReject
-from pydantic import StrictStr, Field
-from typing import Union, List, Set, Optional, Dict
-from typing_extensions import Literal, Self
-
-ALLOCATIONRESPONSE_ONE_OF_SCHEMAS = ["AllocationResponseAccept", "AllocationResponseReject"]
-
-class AllocationResponse(BaseModel):
- """
- AllocationResponse
- """
- # data type: AllocationResponseAccept
- oneof_schema_1_validator: Optional[AllocationResponseAccept] = None
- # data type: AllocationResponseReject
- oneof_schema_2_validator: Optional[AllocationResponseReject] = None
- actual_instance: Optional[Union[AllocationResponseAccept, AllocationResponseReject]] = None
- one_of_schemas: Set[str] = { "AllocationResponseAccept", "AllocationResponseReject" }
-
- model_config = ConfigDict(
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- discriminator_value_class_map: Dict[str, str] = {
- }
-
- def __init__(self, *args, **kwargs) -> None:
- if args:
- if len(args) > 1:
- raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
- if kwargs:
- raise ValueError("If a position argument is used, keyword arguments cannot be used.")
- super().__init__(actual_instance=args[0])
- else:
- super().__init__(**kwargs)
-
- @field_validator('actual_instance')
- def actual_instance_must_validate_oneof(cls, v):
- instance = AllocationResponse.model_construct()
- error_messages = []
- match = 0
- # validate data type: AllocationResponseAccept
- if not isinstance(v, AllocationResponseAccept):
- error_messages.append(f"Error! Input type `{type(v)}` is not `AllocationResponseAccept`")
- else:
- match += 1
- # validate data type: AllocationResponseReject
- if not isinstance(v, AllocationResponseReject):
- error_messages.append(f"Error! Input type `{type(v)}` is not `AllocationResponseReject`")
- else:
- match += 1
- if match > 1:
- # more than 1 match
- raise ValueError("Multiple matches found when setting `actual_instance` in AllocationResponse with oneOf schemas: AllocationResponseAccept, AllocationResponseReject. Details: " + ", ".join(error_messages))
- elif match == 0:
- # no match
- raise ValueError("No match found when setting `actual_instance` in AllocationResponse with oneOf schemas: AllocationResponseAccept, AllocationResponseReject. Details: " + ", ".join(error_messages))
- else:
- return v
-
- @classmethod
- def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
- return cls.from_json(json.dumps(obj))
-
- @classmethod
- def from_json(cls, json_str: str) -> Self:
- """Returns the object represented by the json string"""
- instance = cls.model_construct()
- error_messages = []
- match = 0
-
- # deserialize data into AllocationResponseAccept
- try:
- instance.actual_instance = AllocationResponseAccept.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into AllocationResponseReject
- try:
- instance.actual_instance = AllocationResponseReject.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
-
- if match > 1:
- # more than 1 match
- raise ValueError("Multiple matches found when deserializing the JSON string into AllocationResponse with oneOf schemas: AllocationResponseAccept, AllocationResponseReject. Details: " + ", ".join(error_messages))
- elif match == 0:
- # no match
- raise ValueError("No match found when deserializing the JSON string into AllocationResponse with oneOf schemas: AllocationResponseAccept, AllocationResponseReject. Details: " + ", ".join(error_messages))
- else:
- return instance
-
- def to_json(self) -> str:
- """Returns the JSON representation of the actual instance"""
- if self.actual_instance is None:
- return "null"
-
- if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
- return self.actual_instance.to_json()
- else:
- return json.dumps(self.actual_instance)
-
- def to_dict(self) -> Optional[Union[Dict[str, Any], AllocationResponseAccept, AllocationResponseReject]]:
- """Returns the dict representation of the actual instance"""
- if self.actual_instance is None:
- return None
-
- if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
- return self.actual_instance.to_dict()
- else:
- # primitive type
- return self.actual_instance
-
- def to_str(self) -> str:
- """Returns the string representation of the actual instance"""
- return pprint.pformat(self.model_dump())
-
-
diff --git a/fireblocks/models/allocation_response_accept.py b/fireblocks/models/allocation_response_accept.py
deleted file mode 100644
index 20269fa0..00000000
--- a/fireblocks/models/allocation_response_accept.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# coding: utf-8
-
-"""
- 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
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List
-from typing import Optional, Set
-from typing_extensions import Self
-
-class AllocationResponseAccept(BaseModel):
- """
- Accept a CIP-56 allocation request. Carries no arguments.
- """ # noqa: E501
- response_type: StrictStr = Field(description="How you are answering the allocation request.", alias="responseType")
- __properties: ClassVar[List[str]] = ["responseType"]
-
- @field_validator('response_type')
- def response_type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['ALLOCATION_ACCEPT']):
- raise ValueError("must be one of enum values ('ALLOCATION_ACCEPT')")
- return value
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of AllocationResponseAccept from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of AllocationResponseAccept from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "responseType": obj.get("responseType")
- })
- return _obj
-
-
diff --git a/fireblocks/models/allow_list_payload.py b/fireblocks/models/allow_list_payload.py
index d86d0f41..3fc92c5e 100644
--- a/fireblocks/models/allow_list_payload.py
+++ b/fireblocks/models/allow_list_payload.py
@@ -29,12 +29,12 @@ class AllowListPayload(BaseModel):
AllowListPayload
""" # noqa: E501
vault_account_id: StrictStr = Field(description="The vault account whose Canton wallet acts here.", alias="vaultAccountId")
- asset: StrictStr = Field(description="Chain asset — `CANTON` or `CANTON_TEST`.")
+ blockchain_id: StrictStr = Field(description="The blockchain this party is connected to — `CANTON` or `CANTON_TEST`.", alias="blockchainId")
wallets: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Canton party ids to add or remove.")
- __properties: ClassVar[List[str]] = ["vaultAccountId", "asset", "wallets"]
+ __properties: ClassVar[List[str]] = ["vaultAccountId", "blockchainId", "wallets"]
- @field_validator('asset')
- def asset_validate_enum(cls, value):
+ @field_validator('blockchain_id')
+ def blockchain_id_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['CANTON', 'CANTON_TEST']):
raise ValueError("must be one of enum values ('CANTON', 'CANTON_TEST')")
@@ -92,7 +92,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
_obj = cls.model_validate({
"vaultAccountId": obj.get("vaultAccountId"),
- "asset": obj.get("asset"),
+ "blockchainId": obj.get("blockchainId"),
"wallets": obj.get("wallets")
})
return _obj
diff --git a/fireblocks/models/approval_api_key.py b/fireblocks/models/approval_api_key.py
index c6056601..a79bdd48 100644
--- a/fireblocks/models/approval_api_key.py
+++ b/fireblocks/models/approval_api_key.py
@@ -18,7 +18,7 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List
from fireblocks.models.approval_api_public_key import ApprovalApiPublicKey
from typing import Optional, Set
@@ -34,7 +34,15 @@ class ApprovalApiKey(BaseModel):
last_used_at: StrictStr = Field(description="Last time the key was used to sign, as epoch time in seconds (0 if never used).", alias="lastUsedAt")
approval_api_public_key: ApprovalApiPublicKey = Field(alias="approvalApiPublicKey")
user_id: StrictStr = Field(description="The ID of the API user who owns this key.", alias="userId")
- __properties: ClassVar[List[str]] = ["id", "name", "createdAt", "lastUsedAt", "approvalApiPublicKey", "userId"]
+ status: StrictStr = Field(description="The state of the key. `APPROVAL_API_KEY_STATUS_PENDING_REGISTRATION` - registered but waiting for approval, cannot sign yet. `APPROVAL_API_KEY_STATUS_ENABLED` - active. `APPROVAL_API_KEY_STATUS_PENDING_DELETION` - removal is waiting for approval, the key stays active until then. `APPROVAL_API_KEY_STATUS_UNSPECIFIED` - unknown.")
+ __properties: ClassVar[List[str]] = ["id", "name", "createdAt", "lastUsedAt", "approvalApiPublicKey", "userId", "status"]
+
+ @field_validator('status')
+ def status_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['APPROVAL_API_KEY_STATUS_UNSPECIFIED', 'APPROVAL_API_KEY_STATUS_PENDING_REGISTRATION', 'APPROVAL_API_KEY_STATUS_ENABLED', 'APPROVAL_API_KEY_STATUS_PENDING_DELETION']):
+ raise ValueError("must be one of enum values ('APPROVAL_API_KEY_STATUS_UNSPECIFIED', 'APPROVAL_API_KEY_STATUS_PENDING_REGISTRATION', 'APPROVAL_API_KEY_STATUS_ENABLED', 'APPROVAL_API_KEY_STATUS_PENDING_DELETION')")
+ return value
model_config = ConfigDict(
populate_by_name=True,
@@ -95,7 +103,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"createdAt": obj.get("createdAt"),
"lastUsedAt": obj.get("lastUsedAt"),
"approvalApiPublicKey": ApprovalApiPublicKey.from_dict(obj["approvalApiPublicKey"]) if obj.get("approvalApiPublicKey") is not None else None,
- "userId": obj.get("userId")
+ "userId": obj.get("userId"),
+ "status": obj.get("status")
})
return _obj
diff --git a/fireblocks/models/canton_call.py b/fireblocks/models/canton_call.py
index 9ad28b3c..4ee336e0 100644
--- a/fireblocks/models/canton_call.py
+++ b/fireblocks/models/canton_call.py
@@ -25,12 +25,11 @@
from fireblocks.models.canton_call_end_investor_invite_cancel import CantonCallEndInvestorInviteCancel
from fireblocks.models.canton_call_end_investor_offboard import CantonCallEndInvestorOffboard
from fireblocks.models.canton_call_participant_onboarding import CantonCallParticipantOnboarding
-from fireblocks.models.canton_call_transfer_withdraw import CantonCallTransferWithdraw
from pydantic import StrictStr, Field
from typing import Union, List, Set, Optional, Dict
from typing_extensions import Literal, Self
-CANTONCALL_ONE_OF_SCHEMAS = ["CantonCallAllocationWithdraw", "CantonCallAllowListAdd", "CantonCallAllowListRemove", "CantonCallEndInvestorInvite", "CantonCallEndInvestorInviteCancel", "CantonCallEndInvestorOffboard", "CantonCallParticipantOnboarding", "CantonCallTransferWithdraw"]
+CANTONCALL_ONE_OF_SCHEMAS = ["CantonCallAllocationWithdraw", "CantonCallAllowListAdd", "CantonCallAllowListRemove", "CantonCallEndInvestorInvite", "CantonCallEndInvestorInviteCancel", "CantonCallEndInvestorOffboard", "CantonCallParticipantOnboarding"]
class CantonCall(BaseModel):
"""
@@ -50,10 +49,8 @@ class CantonCall(BaseModel):
oneof_schema_6_validator: Optional[CantonCallAllowListRemove] = None
# data type: CantonCallAllocationWithdraw
oneof_schema_7_validator: Optional[CantonCallAllocationWithdraw] = None
- # data type: CantonCallTransferWithdraw
- oneof_schema_8_validator: Optional[CantonCallTransferWithdraw] = None
- actual_instance: Optional[Union[CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding, CantonCallTransferWithdraw]] = None
- one_of_schemas: Set[str] = { "CantonCallAllocationWithdraw", "CantonCallAllowListAdd", "CantonCallAllowListRemove", "CantonCallEndInvestorInvite", "CantonCallEndInvestorInviteCancel", "CantonCallEndInvestorOffboard", "CantonCallParticipantOnboarding", "CantonCallTransferWithdraw" }
+ actual_instance: Optional[Union[CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding]] = None
+ one_of_schemas: Set[str] = { "CantonCallAllocationWithdraw", "CantonCallAllowListAdd", "CantonCallAllowListRemove", "CantonCallEndInvestorInvite", "CantonCallEndInvestorInviteCancel", "CantonCallEndInvestorOffboard", "CantonCallParticipantOnboarding" }
model_config = ConfigDict(
validate_assignment=True,
@@ -114,17 +111,12 @@ def actual_instance_must_validate_oneof(cls, v):
error_messages.append(f"Error! Input type `{type(v)}` is not `CantonCallAllocationWithdraw`")
else:
match += 1
- # validate data type: CantonCallTransferWithdraw
- if not isinstance(v, CantonCallTransferWithdraw):
- error_messages.append(f"Error! Input type `{type(v)}` is not `CantonCallTransferWithdraw`")
- else:
- match += 1
if match > 1:
# more than 1 match
- raise ValueError("Multiple matches found when setting `actual_instance` in CantonCall with oneOf schemas: CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding, CantonCallTransferWithdraw. Details: " + ", ".join(error_messages))
+ raise ValueError("Multiple matches found when setting `actual_instance` in CantonCall with oneOf schemas: CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding. Details: " + ", ".join(error_messages))
elif match == 0:
# no match
- raise ValueError("No match found when setting `actual_instance` in CantonCall with oneOf schemas: CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding, CantonCallTransferWithdraw. Details: " + ", ".join(error_messages))
+ raise ValueError("No match found when setting `actual_instance` in CantonCall with oneOf schemas: CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding. Details: " + ", ".join(error_messages))
else:
return v
@@ -181,19 +173,13 @@ def from_json(cls, json_str: str) -> Self:
match += 1
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
- # deserialize data into CantonCallTransferWithdraw
- try:
- instance.actual_instance = CantonCallTransferWithdraw.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
if match > 1:
# more than 1 match
- raise ValueError("Multiple matches found when deserializing the JSON string into CantonCall with oneOf schemas: CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding, CantonCallTransferWithdraw. Details: " + ", ".join(error_messages))
+ raise ValueError("Multiple matches found when deserializing the JSON string into CantonCall with oneOf schemas: CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding. Details: " + ", ".join(error_messages))
elif match == 0:
# no match
- raise ValueError("No match found when deserializing the JSON string into CantonCall with oneOf schemas: CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding, CantonCallTransferWithdraw. Details: " + ", ".join(error_messages))
+ raise ValueError("No match found when deserializing the JSON string into CantonCall with oneOf schemas: CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding. Details: " + ", ".join(error_messages))
else:
return instance
@@ -207,7 +193,7 @@ def to_json(self) -> str:
else:
return json.dumps(self.actual_instance)
- def to_dict(self) -> Optional[Union[Dict[str, Any], CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding, CantonCallTransferWithdraw]]:
+ def to_dict(self) -> Optional[Union[Dict[str, Any], CantonCallAllocationWithdraw, CantonCallAllowListAdd, CantonCallAllowListRemove, CantonCallEndInvestorInvite, CantonCallEndInvestorInviteCancel, CantonCallEndInvestorOffboard, CantonCallParticipantOnboarding]]:
"""Returns the dict representation of the actual instance"""
if self.actual_instance is None:
return None
diff --git a/fireblocks/models/create_tempo_transfer_request.py b/fireblocks/models/create_tempo_transfer_request.py
new file mode 100644
index 00000000..dae1fade
--- /dev/null
+++ b/fireblocks/models/create_tempo_transfer_request.py
@@ -0,0 +1,173 @@
+# coding: utf-8
+
+"""
+ 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
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from fireblocks.models.tempo_transfer_destination import TempoTransferDestination
+from fireblocks.models.tempo_transfer_destination_item import TempoTransferDestinationItem
+from fireblocks.models.tempo_transfer_source import TempoTransferSource
+from fireblocks.models.transaction_configurations import TransactionConfigurations
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CreateTempoTransferRequest(BaseModel):
+ """
+ Request body for creating a Tempo transfer transaction.
+ """ # noqa: E501
+ note: Optional[StrictStr] = Field(default=None, description="A custom note that can be associated with the transaction.")
+ external_tx_id: Optional[StrictStr] = Field(default=None, description="Unique ID provided by the customer, used to identify the transaction.", alias="externalTxId")
+ fee_currency: Optional[StrictStr] = Field(default=None, description="The asset ID used to pay the transaction fee, if different from assetId. Maps to FeeParams.feeCurrency. Must be a valid fee token for `assetId` (e.g. a TIP-20 gas token for the base asset); an invalid pairing surfaces as 400 INVALID_FEE_CURRENCY_PARAM.", alias="feeCurrency")
+ asset_id: StrictStr = Field(description="The ID of the asset to transfer. Must be a non-deprecated asset supported on a Tempo-eligible blockchain; an unknown, deprecated, or unsupported asset surfaces as 400 UNSUPPORTED_ASSET.", alias="assetId")
+ source: TempoTransferSource
+ destination: Optional[TempoTransferDestination] = None
+ amount: Optional[StrictStr] = Field(default=None, description="The amount to transfer, as a numeric string. Required when `destination` is set; must be omitted when `destinations` is set (each entry carries its own amount instead).")
+ treat_as_gross_amount: Optional[StrictBool] = Field(default=None, description="If true, the specified amount includes the fee (fee is deducted from amount).", alias="treatAsGrossAmount")
+ fee_level: Optional[StrictStr] = Field(default=None, description="The fee level to use, mutually exclusive with an explicit custom fee.", alias="feeLevel")
+ travel_rule_message: Optional[StrictStr] = Field(default=None, description="Beta. An opaque travel-rule payload.", alias="travelRuleMessage")
+ travel_rule_message_id: Optional[StrictStr] = Field(default=None, description="Beta. An identifier of a TravelRule message, already sent to the TravelRule provider.", alias="travelRuleMessageId")
+ use_gasless: Optional[StrictBool] = Field(default=None, description="Opt in to fee-payer-sponsored (gasless) transfer.", alias="useGasless")
+ configurations: Optional[TransactionConfigurations] = None
+ max_fee_per_gas: Optional[StrictStr] = Field(default=None, description="The maximum total fee per gas the sender is willing to pay, in wei.", alias="maxFeePerGas")
+ max_priority_fee_per_gas: Optional[StrictStr] = Field(default=None, description="The maximum priority fee (tip) per gas the sender is willing to pay, in wei.", alias="maxPriorityFeePerGas")
+ destinations: Optional[List[TempoTransferDestinationItem]] = Field(default=None, description="Multiple destinations for a single transfer. Mutually exclusive with `destination`.")
+ fail_on_low_fee: Optional[StrictBool] = Field(default=None, description="Beta. If true, fail the transaction rather than sending it with a low fee.", alias="failOnLowFee")
+ gas_limit: Optional[StrictStr] = Field(default=None, description="The gas limit for the transaction.", alias="gasLimit")
+ replace_tx_by_hash: Optional[StrictStr] = Field(default=None, description="Beta. The hash of the EVM transaction to replace (RBF).", alias="replaceTxByHash")
+ fee_payer_account_id: Optional[StrictStr] = Field(default=None, description="Vault account ID of the fee payer sponsoring this transfer.", alias="feePayerAccountId")
+ nonce_strategy: Optional[StrictStr] = Field(default=None, description="Tempo's 2-dimensional nonce strategy: `SEQUENTIAL` runs under a single nonce lane (lane 0); `USER_DEFINED_LANE` runs in parallel under a specified lane (1–16), and requires `nonceLane`; `EXPIRING` marks the transaction with an expiry of up to 5 minutes (Tempo-defined) and does not use `nonceLane`.", alias="nonceStrategy")
+ nonce_lane: Optional[Annotated[int, Field(le=16, strict=True, ge=1)]] = Field(default=None, description="The nonce lane to use, 1–16. Required and only meaningful when nonceStrategy is USER_DEFINED_LANE; not used for SEQUENTIAL or EXPIRING.", alias="nonceLane")
+ memo: Optional[StrictStr] = Field(default=None, description="Beta. Tempo TIP-20 memo (max 32 bytes).")
+ __properties: ClassVar[List[str]] = ["note", "externalTxId", "feeCurrency", "assetId", "source", "destination", "amount", "treatAsGrossAmount", "feeLevel", "travelRuleMessage", "travelRuleMessageId", "useGasless", "configurations", "maxFeePerGas", "maxPriorityFeePerGas", "destinations", "failOnLowFee", "gasLimit", "replaceTxByHash", "feePayerAccountId", "nonceStrategy", "nonceLane", "memo"]
+
+ @field_validator('fee_level')
+ def fee_level_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['LOW', 'MEDIUM', 'HIGH']):
+ raise ValueError("must be one of enum values ('LOW', 'MEDIUM', 'HIGH')")
+ return value
+
+ @field_validator('nonce_strategy')
+ def nonce_strategy_validate_enum(cls, value):
+ """Validates the enum"""
+ if value is None:
+ return value
+
+ if value not in set(['SEQUENTIAL', 'USER_DEFINED_LANE', 'EXPIRING']):
+ raise ValueError("must be one of enum values ('SEQUENTIAL', 'USER_DEFINED_LANE', 'EXPIRING')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CreateTempoTransferRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of source
+ if self.source:
+ _dict['source'] = self.source.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of destination
+ if self.destination:
+ _dict['destination'] = self.destination.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of configurations
+ if self.configurations:
+ _dict['configurations'] = self.configurations.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in destinations (list)
+ _items = []
+ if self.destinations:
+ for _item_destinations in self.destinations:
+ if _item_destinations:
+ _items.append(_item_destinations.to_dict())
+ _dict['destinations'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CreateTempoTransferRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "note": obj.get("note"),
+ "externalTxId": obj.get("externalTxId"),
+ "feeCurrency": obj.get("feeCurrency"),
+ "assetId": obj.get("assetId"),
+ "source": TempoTransferSource.from_dict(obj["source"]) if obj.get("source") is not None else None,
+ "destination": TempoTransferDestination.from_dict(obj["destination"]) if obj.get("destination") is not None else None,
+ "amount": obj.get("amount"),
+ "treatAsGrossAmount": obj.get("treatAsGrossAmount"),
+ "feeLevel": obj.get("feeLevel"),
+ "travelRuleMessage": obj.get("travelRuleMessage"),
+ "travelRuleMessageId": obj.get("travelRuleMessageId"),
+ "useGasless": obj.get("useGasless"),
+ "configurations": TransactionConfigurations.from_dict(obj["configurations"]) if obj.get("configurations") is not None else None,
+ "maxFeePerGas": obj.get("maxFeePerGas"),
+ "maxPriorityFeePerGas": obj.get("maxPriorityFeePerGas"),
+ "destinations": [TempoTransferDestinationItem.from_dict(_item) for _item in obj["destinations"]] if obj.get("destinations") is not None else None,
+ "failOnLowFee": obj.get("failOnLowFee"),
+ "gasLimit": obj.get("gasLimit"),
+ "replaceTxByHash": obj.get("replaceTxByHash"),
+ "feePayerAccountId": obj.get("feePayerAccountId"),
+ "nonceStrategy": obj.get("nonceStrategy"),
+ "nonceLane": obj.get("nonceLane"),
+ "memo": obj.get("memo")
+ })
+ return _obj
+
+
diff --git a/fireblocks/models/allocation_response_reject.py b/fireblocks/models/create_tempo_transfer_response.py
similarity index 72%
rename from fireblocks/models/allocation_response_reject.py
rename to fireblocks/models/create_tempo_transfer_response.py
index 12cbc591..42abc6e8 100644
--- a/fireblocks/models/allocation_response_reject.py
+++ b/fireblocks/models/create_tempo_transfer_response.py
@@ -18,24 +18,18 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
-class AllocationResponseReject(BaseModel):
+class CreateTempoTransferResponse(BaseModel):
"""
- Reject a CIP-56 allocation request. Carries no arguments.
+ CreateTempoTransferResponse
""" # noqa: E501
- response_type: StrictStr = Field(description="How you are answering the allocation request.", alias="responseType")
- __properties: ClassVar[List[str]] = ["responseType"]
-
- @field_validator('response_type')
- def response_type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['ALLOCATION_REJECT']):
- raise ValueError("must be one of enum values ('ALLOCATION_REJECT')")
- return value
+ id: Optional[StrictStr] = Field(default=None, description="The Fireblocks transaction ID.")
+ status: Optional[StrictStr] = Field(default=None, description="The current status of the transaction.")
+ __properties: ClassVar[List[str]] = ["id", "status"]
model_config = ConfigDict(
populate_by_name=True,
@@ -55,7 +49,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of AllocationResponseReject from a JSON string"""
+ """Create an instance of CreateTempoTransferResponse from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -80,7 +74,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of AllocationResponseReject from a dict"""
+ """Create an instance of CreateTempoTransferResponse from a dict"""
if obj is None:
return None
@@ -88,7 +82,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
return cls.model_validate(obj)
_obj = cls.model_validate({
- "responseType": obj.get("responseType")
+ "id": obj.get("id"),
+ "status": obj.get("status")
})
return _obj
diff --git a/fireblocks/models/transfer_response_reject.py b/fireblocks/models/delete_approval_api_key_response.py
similarity index 74%
rename from fireblocks/models/transfer_response_reject.py
rename to fireblocks/models/delete_approval_api_key_response.py
index ea774b79..ee7c5570 100644
--- a/fireblocks/models/transfer_response_reject.py
+++ b/fireblocks/models/delete_approval_api_key_response.py
@@ -18,24 +18,17 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
from typing import Optional, Set
from typing_extensions import Self
-class TransferResponseReject(BaseModel):
+class DeleteApprovalApiKeyResponse(BaseModel):
"""
- Reject an inbound 2-step transfer offer. Carries no arguments.
+ The result of deleting an approval API key.
""" # noqa: E501
- response_type: StrictStr = Field(description="How you are answering the transfer offer.", alias="responseType")
- __properties: ClassVar[List[str]] = ["responseType"]
-
- @field_validator('response_type')
- def response_type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['TRANSFER_REJECT']):
- raise ValueError("must be one of enum values ('TRANSFER_REJECT')")
- return value
+ ccr_id_pending_deletion: StrictStr = Field(description="Always returned. An empty string when the key was deleted immediately. Otherwise, the ID of the approval request that must be approved before the key is removed; the key stays active until then. The request appears in `GET /v1/approvals`.", alias="ccrIdPendingDeletion")
+ __properties: ClassVar[List[str]] = ["ccrIdPendingDeletion"]
model_config = ConfigDict(
populate_by_name=True,
@@ -55,7 +48,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of TransferResponseReject from a JSON string"""
+ """Create an instance of DeleteApprovalApiKeyResponse from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -80,7 +73,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of TransferResponseReject from a dict"""
+ """Create an instance of DeleteApprovalApiKeyResponse from a dict"""
if obj is None:
return None
@@ -88,7 +81,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
return cls.model_validate(obj)
_obj = cls.model_validate({
- "responseType": obj.get("responseType")
+ "ccrIdPendingDeletion": obj.get("ccrIdPendingDeletion")
})
return _obj
diff --git a/fireblocks/models/transfer_response_accept.py b/fireblocks/models/dtcc_onboarding_reject_payload.py
similarity index 74%
rename from fireblocks/models/transfer_response_accept.py
rename to fireblocks/models/dtcc_onboarding_reject_payload.py
index 2b9e44b5..55bd1e0b 100644
--- a/fireblocks/models/transfer_response_accept.py
+++ b/fireblocks/models/dtcc_onboarding_reject_payload.py
@@ -18,24 +18,18 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List
+from typing_extensions import Annotated
from typing import Optional, Set
from typing_extensions import Self
-class TransferResponseAccept(BaseModel):
+class DtccOnboardingRejectPayload(BaseModel):
"""
- Accept an inbound 2-step transfer offer. Carries no arguments.
+ DtccOnboardingRejectPayload
""" # noqa: E501
- response_type: StrictStr = Field(description="How you are answering the transfer offer.", alias="responseType")
- __properties: ClassVar[List[str]] = ["responseType"]
-
- @field_validator('response_type')
- def response_type_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['TRANSFER_ACCEPT']):
- raise ValueError("must be one of enum values ('TRANSFER_ACCEPT')")
- return value
+ reason: Annotated[str, Field(min_length=1, strict=True, max_length=512)] = Field(description="Why the offer is being rejected. Recorded on-chain, where the counterparty can read it.")
+ __properties: ClassVar[List[str]] = ["reason"]
model_config = ConfigDict(
populate_by_name=True,
@@ -55,7 +49,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of TransferResponseAccept from a JSON string"""
+ """Create an instance of DtccOnboardingRejectPayload from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -80,7 +74,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of TransferResponseAccept from a dict"""
+ """Create an instance of DtccOnboardingRejectPayload from a dict"""
if obj is None:
return None
@@ -88,7 +82,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
return cls.model_validate(obj)
_obj = cls.model_validate({
- "responseType": obj.get("responseType")
+ "reason": obj.get("reason")
})
return _obj
diff --git a/fireblocks/models/end_investor_payload.py b/fireblocks/models/end_investor_payload.py
index 606a6f5f..baa634b4 100644
--- a/fireblocks/models/end_investor_payload.py
+++ b/fireblocks/models/end_investor_payload.py
@@ -28,12 +28,12 @@ class EndInvestorPayload(BaseModel):
Shared by invite / invite-cancel / offboard — identical wire shape, different verb.
""" # noqa: E501
vault_account_id: StrictStr = Field(description="The vault account whose Canton wallet acts here.", alias="vaultAccountId")
- asset: StrictStr = Field(description="Chain asset — `CANTON` or `CANTON_TEST`.")
+ blockchain_id: StrictStr = Field(description="The blockchain this party is connected to — `CANTON` or `CANTON_TEST`.", alias="blockchainId")
end_investor: StrictStr = Field(description="The end investor's Canton party id.", alias="endInvestor")
- __properties: ClassVar[List[str]] = ["vaultAccountId", "asset", "endInvestor"]
+ __properties: ClassVar[List[str]] = ["vaultAccountId", "blockchainId", "endInvestor"]
- @field_validator('asset')
- def asset_validate_enum(cls, value):
+ @field_validator('blockchain_id')
+ def blockchain_id_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['CANTON', 'CANTON_TEST']):
raise ValueError("must be one of enum values ('CANTON', 'CANTON_TEST')")
@@ -91,7 +91,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
_obj = cls.model_validate({
"vaultAccountId": obj.get("vaultAccountId"),
- "asset": obj.get("asset"),
+ "blockchainId": obj.get("blockchainId"),
"endInvestor": obj.get("endInvestor")
})
return _obj
diff --git a/fireblocks/models/offer_response.py b/fireblocks/models/offer_response.py
index 2c34d3fc..c9127ca9 100644
--- a/fireblocks/models/offer_response.py
+++ b/fireblocks/models/offer_response.py
@@ -18,27 +18,45 @@
import pprint
from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
from typing import Any, List, Optional
-from fireblocks.models.offer_response_allocation import OfferResponseAllocation
-from fireblocks.models.offer_response_onboarding import OfferResponseOnboarding
-from fireblocks.models.offer_response_transfer import OfferResponseTransfer
+from fireblocks.models.offer_response_allocation_accept import OfferResponseAllocationAccept
+from fireblocks.models.offer_response_allocation_reject import OfferResponseAllocationReject
+from fireblocks.models.offer_response_dtcc_onboarding_accept import OfferResponseDtccOnboardingAccept
+from fireblocks.models.offer_response_dtcc_onboarding_reject import OfferResponseDtccOnboardingReject
+from fireblocks.models.offer_response_tradeweb_accept import OfferResponseTradewebAccept
+from fireblocks.models.offer_response_tradeweb_reject import OfferResponseTradewebReject
+from fireblocks.models.offer_response_transfer_accept import OfferResponseTransferAccept
+from fireblocks.models.offer_response_transfer_reject import OfferResponseTransferReject
+from fireblocks.models.offer_response_transfer_withdraw import OfferResponseTransferWithdraw
from pydantic import StrictStr, Field
from typing import Union, List, Set, Optional, Dict
from typing_extensions import Literal, Self
-OFFERRESPONSE_ONE_OF_SCHEMAS = ["OfferResponseAllocation", "OfferResponseOnboarding", "OfferResponseTransfer"]
+OFFERRESPONSE_ONE_OF_SCHEMAS = ["OfferResponseAllocationAccept", "OfferResponseAllocationReject", "OfferResponseDtccOnboardingAccept", "OfferResponseDtccOnboardingReject", "OfferResponseTradewebAccept", "OfferResponseTradewebReject", "OfferResponseTransferAccept", "OfferResponseTransferReject", "OfferResponseTransferWithdraw"]
class OfferResponse(BaseModel):
"""
OfferResponse
"""
- # data type: OfferResponseOnboarding
- oneof_schema_1_validator: Optional[OfferResponseOnboarding] = None
- # data type: OfferResponseAllocation
- oneof_schema_2_validator: Optional[OfferResponseAllocation] = None
- # data type: OfferResponseTransfer
- oneof_schema_3_validator: Optional[OfferResponseTransfer] = None
- actual_instance: Optional[Union[OfferResponseAllocation, OfferResponseOnboarding, OfferResponseTransfer]] = None
- one_of_schemas: Set[str] = { "OfferResponseAllocation", "OfferResponseOnboarding", "OfferResponseTransfer" }
+ # data type: OfferResponseDtccOnboardingAccept
+ oneof_schema_1_validator: Optional[OfferResponseDtccOnboardingAccept] = None
+ # data type: OfferResponseDtccOnboardingReject
+ oneof_schema_2_validator: Optional[OfferResponseDtccOnboardingReject] = None
+ # data type: OfferResponseTradewebAccept
+ oneof_schema_3_validator: Optional[OfferResponseTradewebAccept] = None
+ # data type: OfferResponseTradewebReject
+ oneof_schema_4_validator: Optional[OfferResponseTradewebReject] = None
+ # data type: OfferResponseAllocationAccept
+ oneof_schema_5_validator: Optional[OfferResponseAllocationAccept] = None
+ # data type: OfferResponseAllocationReject
+ oneof_schema_6_validator: Optional[OfferResponseAllocationReject] = None
+ # data type: OfferResponseTransferAccept
+ oneof_schema_7_validator: Optional[OfferResponseTransferAccept] = None
+ # data type: OfferResponseTransferReject
+ oneof_schema_8_validator: Optional[OfferResponseTransferReject] = None
+ # data type: OfferResponseTransferWithdraw
+ oneof_schema_9_validator: Optional[OfferResponseTransferWithdraw] = None
+ actual_instance: Optional[Union[OfferResponseAllocationAccept, OfferResponseAllocationReject, OfferResponseDtccOnboardingAccept, OfferResponseDtccOnboardingReject, OfferResponseTradewebAccept, OfferResponseTradewebReject, OfferResponseTransferAccept, OfferResponseTransferReject, OfferResponseTransferWithdraw]] = None
+ one_of_schemas: Set[str] = { "OfferResponseAllocationAccept", "OfferResponseAllocationReject", "OfferResponseDtccOnboardingAccept", "OfferResponseDtccOnboardingReject", "OfferResponseTradewebAccept", "OfferResponseTradewebReject", "OfferResponseTransferAccept", "OfferResponseTransferReject", "OfferResponseTransferWithdraw" }
model_config = ConfigDict(
validate_assignment=True,
@@ -64,27 +82,57 @@ def actual_instance_must_validate_oneof(cls, v):
instance = OfferResponse.model_construct()
error_messages = []
match = 0
- # validate data type: OfferResponseOnboarding
- if not isinstance(v, OfferResponseOnboarding):
- error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseOnboarding`")
+ # validate data type: OfferResponseDtccOnboardingAccept
+ if not isinstance(v, OfferResponseDtccOnboardingAccept):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseDtccOnboardingAccept`")
else:
match += 1
- # validate data type: OfferResponseAllocation
- if not isinstance(v, OfferResponseAllocation):
- error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseAllocation`")
+ # validate data type: OfferResponseDtccOnboardingReject
+ if not isinstance(v, OfferResponseDtccOnboardingReject):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseDtccOnboardingReject`")
else:
match += 1
- # validate data type: OfferResponseTransfer
- if not isinstance(v, OfferResponseTransfer):
- error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseTransfer`")
+ # validate data type: OfferResponseTradewebAccept
+ if not isinstance(v, OfferResponseTradewebAccept):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseTradewebAccept`")
+ else:
+ match += 1
+ # validate data type: OfferResponseTradewebReject
+ if not isinstance(v, OfferResponseTradewebReject):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseTradewebReject`")
+ else:
+ match += 1
+ # validate data type: OfferResponseAllocationAccept
+ if not isinstance(v, OfferResponseAllocationAccept):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseAllocationAccept`")
+ else:
+ match += 1
+ # validate data type: OfferResponseAllocationReject
+ if not isinstance(v, OfferResponseAllocationReject):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseAllocationReject`")
+ else:
+ match += 1
+ # validate data type: OfferResponseTransferAccept
+ if not isinstance(v, OfferResponseTransferAccept):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseTransferAccept`")
+ else:
+ match += 1
+ # validate data type: OfferResponseTransferReject
+ if not isinstance(v, OfferResponseTransferReject):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseTransferReject`")
+ else:
+ match += 1
+ # validate data type: OfferResponseTransferWithdraw
+ if not isinstance(v, OfferResponseTransferWithdraw):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `OfferResponseTransferWithdraw`")
else:
match += 1
if match > 1:
# more than 1 match
- raise ValueError("Multiple matches found when setting `actual_instance` in OfferResponse with oneOf schemas: OfferResponseAllocation, OfferResponseOnboarding, OfferResponseTransfer. Details: " + ", ".join(error_messages))
+ raise ValueError("Multiple matches found when setting `actual_instance` in OfferResponse with oneOf schemas: OfferResponseAllocationAccept, OfferResponseAllocationReject, OfferResponseDtccOnboardingAccept, OfferResponseDtccOnboardingReject, OfferResponseTradewebAccept, OfferResponseTradewebReject, OfferResponseTransferAccept, OfferResponseTransferReject, OfferResponseTransferWithdraw. Details: " + ", ".join(error_messages))
elif match == 0:
# no match
- raise ValueError("No match found when setting `actual_instance` in OfferResponse with oneOf schemas: OfferResponseAllocation, OfferResponseOnboarding, OfferResponseTransfer. Details: " + ", ".join(error_messages))
+ raise ValueError("No match found when setting `actual_instance` in OfferResponse with oneOf schemas: OfferResponseAllocationAccept, OfferResponseAllocationReject, OfferResponseDtccOnboardingAccept, OfferResponseDtccOnboardingReject, OfferResponseTradewebAccept, OfferResponseTradewebReject, OfferResponseTransferAccept, OfferResponseTransferReject, OfferResponseTransferWithdraw. Details: " + ", ".join(error_messages))
else:
return v
@@ -99,31 +147,67 @@ def from_json(cls, json_str: str) -> Self:
error_messages = []
match = 0
- # deserialize data into OfferResponseOnboarding
+ # deserialize data into OfferResponseDtccOnboardingAccept
+ try:
+ instance.actual_instance = OfferResponseDtccOnboardingAccept.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into OfferResponseDtccOnboardingReject
+ try:
+ instance.actual_instance = OfferResponseDtccOnboardingReject.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into OfferResponseTradewebAccept
+ try:
+ instance.actual_instance = OfferResponseTradewebAccept.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into OfferResponseTradewebReject
+ try:
+ instance.actual_instance = OfferResponseTradewebReject.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into OfferResponseAllocationAccept
+ try:
+ instance.actual_instance = OfferResponseAllocationAccept.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into OfferResponseAllocationReject
+ try:
+ instance.actual_instance = OfferResponseAllocationReject.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into OfferResponseTransferAccept
try:
- instance.actual_instance = OfferResponseOnboarding.from_json(json_str)
+ instance.actual_instance = OfferResponseTransferAccept.from_json(json_str)
match += 1
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
- # deserialize data into OfferResponseAllocation
+ # deserialize data into OfferResponseTransferReject
try:
- instance.actual_instance = OfferResponseAllocation.from_json(json_str)
+ instance.actual_instance = OfferResponseTransferReject.from_json(json_str)
match += 1
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
- # deserialize data into OfferResponseTransfer
+ # deserialize data into OfferResponseTransferWithdraw
try:
- instance.actual_instance = OfferResponseTransfer.from_json(json_str)
+ instance.actual_instance = OfferResponseTransferWithdraw.from_json(json_str)
match += 1
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
if match > 1:
# more than 1 match
- raise ValueError("Multiple matches found when deserializing the JSON string into OfferResponse with oneOf schemas: OfferResponseAllocation, OfferResponseOnboarding, OfferResponseTransfer. Details: " + ", ".join(error_messages))
+ raise ValueError("Multiple matches found when deserializing the JSON string into OfferResponse with oneOf schemas: OfferResponseAllocationAccept, OfferResponseAllocationReject, OfferResponseDtccOnboardingAccept, OfferResponseDtccOnboardingReject, OfferResponseTradewebAccept, OfferResponseTradewebReject, OfferResponseTransferAccept, OfferResponseTransferReject, OfferResponseTransferWithdraw. Details: " + ", ".join(error_messages))
elif match == 0:
# no match
- raise ValueError("No match found when deserializing the JSON string into OfferResponse with oneOf schemas: OfferResponseAllocation, OfferResponseOnboarding, OfferResponseTransfer. Details: " + ", ".join(error_messages))
+ raise ValueError("No match found when deserializing the JSON string into OfferResponse with oneOf schemas: OfferResponseAllocationAccept, OfferResponseAllocationReject, OfferResponseDtccOnboardingAccept, OfferResponseDtccOnboardingReject, OfferResponseTradewebAccept, OfferResponseTradewebReject, OfferResponseTransferAccept, OfferResponseTransferReject, OfferResponseTransferWithdraw. Details: " + ", ".join(error_messages))
else:
return instance
@@ -137,7 +221,7 @@ def to_json(self) -> str:
else:
return json.dumps(self.actual_instance)
- def to_dict(self) -> Optional[Union[Dict[str, Any], OfferResponseAllocation, OfferResponseOnboarding, OfferResponseTransfer]]:
+ def to_dict(self) -> Optional[Union[Dict[str, Any], OfferResponseAllocationAccept, OfferResponseAllocationReject, OfferResponseDtccOnboardingAccept, OfferResponseDtccOnboardingReject, OfferResponseTradewebAccept, OfferResponseTradewebReject, OfferResponseTransferAccept, OfferResponseTransferReject, OfferResponseTransferWithdraw]]:
"""Returns the dict representation of the actual instance"""
if self.actual_instance is None:
return None
diff --git a/fireblocks/models/offer_response_allocation_accept.py b/fireblocks/models/offer_response_allocation_accept.py
new file mode 100644
index 00000000..e504e457
--- /dev/null
+++ b/fireblocks/models/offer_response_allocation_accept.py
@@ -0,0 +1,95 @@
+# coding: utf-8
+
+"""
+ 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
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class OfferResponseAllocationAccept(BaseModel):
+ """
+ Accept a CIP-56 allocation request. Carries no arguments.
+ """ # noqa: E501
+ response_type: StrictStr = Field(description="How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved.", alias="responseType")
+ __properties: ClassVar[List[str]] = ["responseType"]
+
+ @field_validator('response_type')
+ def response_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['ALLOCATION_ACCEPT']):
+ raise ValueError("must be one of enum values ('ALLOCATION_ACCEPT')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of OfferResponseAllocationAccept from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of OfferResponseAllocationAccept from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "responseType": obj.get("responseType")
+ })
+ return _obj
+
+
diff --git a/fireblocks/models/offer_response_allocation_reject.py b/fireblocks/models/offer_response_allocation_reject.py
new file mode 100644
index 00000000..d1d77a7e
--- /dev/null
+++ b/fireblocks/models/offer_response_allocation_reject.py
@@ -0,0 +1,95 @@
+# coding: utf-8
+
+"""
+ 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
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class OfferResponseAllocationReject(BaseModel):
+ """
+ Reject a CIP-56 allocation request. Carries no arguments.
+ """ # noqa: E501
+ response_type: StrictStr = Field(description="How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved.", alias="responseType")
+ __properties: ClassVar[List[str]] = ["responseType"]
+
+ @field_validator('response_type')
+ def response_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['ALLOCATION_REJECT']):
+ raise ValueError("must be one of enum values ('ALLOCATION_REJECT')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of OfferResponseAllocationReject from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of OfferResponseAllocationReject from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "responseType": obj.get("responseType")
+ })
+ return _obj
+
+
diff --git a/fireblocks/models/onboarding_response_dtcc_accept.py b/fireblocks/models/offer_response_dtcc_onboarding_accept.py
similarity index 94%
rename from fireblocks/models/onboarding_response_dtcc_accept.py
rename to fireblocks/models/offer_response_dtcc_onboarding_accept.py
index 9a06ea1d..1a6f5da1 100644
--- a/fireblocks/models/onboarding_response_dtcc_accept.py
+++ b/fireblocks/models/offer_response_dtcc_onboarding_accept.py
@@ -23,7 +23,7 @@
from typing import Optional, Set
from typing_extensions import Self
-class OnboardingResponseDtccAccept(BaseModel):
+class OfferResponseDtccOnboardingAccept(BaseModel):
"""
Accept a DTCC end-investor onboarding offer. Carries no arguments.
""" # noqa: E501
@@ -55,7 +55,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of OnboardingResponseDtccAccept from a JSON string"""
+ """Create an instance of OfferResponseDtccOnboardingAccept from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -80,7 +80,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of OnboardingResponseDtccAccept from a dict"""
+ """Create an instance of OfferResponseDtccOnboardingAccept from a dict"""
if obj is None:
return None
diff --git a/fireblocks/models/onboarding_response_dtcc_reject.py b/fireblocks/models/offer_response_dtcc_onboarding_reject.py
similarity index 83%
rename from fireblocks/models/onboarding_response_dtcc_reject.py
rename to fireblocks/models/offer_response_dtcc_onboarding_reject.py
index fda22712..7224dd13 100644
--- a/fireblocks/models/onboarding_response_dtcc_reject.py
+++ b/fireblocks/models/offer_response_dtcc_onboarding_reject.py
@@ -20,17 +20,17 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List
-from typing_extensions import Annotated
+from fireblocks.models.dtcc_onboarding_reject_payload import DtccOnboardingRejectPayload
from typing import Optional, Set
from typing_extensions import Self
-class OnboardingResponseDtccReject(BaseModel):
+class OfferResponseDtccOnboardingReject(BaseModel):
"""
Reject a DTCC end-investor onboarding offer.
""" # noqa: E501
response_type: StrictStr = Field(description="How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved.", alias="responseType")
- reason: Annotated[str, Field(min_length=1, strict=True, max_length=512)] = Field(description="Why the offer is being rejected. Recorded on-chain, where the counterparty can read it.")
- __properties: ClassVar[List[str]] = ["responseType", "reason"]
+ payload: DtccOnboardingRejectPayload
+ __properties: ClassVar[List[str]] = ["responseType", "payload"]
@field_validator('response_type')
def response_type_validate_enum(cls, value):
@@ -57,7 +57,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of OnboardingResponseDtccReject from a JSON string"""
+ """Create an instance of OfferResponseDtccOnboardingReject from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -78,11 +78,14 @@ def to_dict(self) -> Dict[str, Any]:
exclude=excluded_fields,
exclude_none=True,
)
+ # override the default output from pydantic by calling `to_dict()` of payload
+ if self.payload:
+ _dict['payload'] = self.payload.to_dict()
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of OnboardingResponseDtccReject from a dict"""
+ """Create an instance of OfferResponseDtccOnboardingReject from a dict"""
if obj is None:
return None
@@ -91,7 +94,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
_obj = cls.model_validate({
"responseType": obj.get("responseType"),
- "reason": obj.get("reason")
+ "payload": DtccOnboardingRejectPayload.from_dict(obj["payload"]) if obj.get("payload") is not None else None
})
return _obj
diff --git a/fireblocks/models/offer_response_onboarding.py b/fireblocks/models/offer_response_onboarding.py
deleted file mode 100644
index 99794531..00000000
--- a/fireblocks/models/offer_response_onboarding.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# coding: utf-8
-
-"""
- 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
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List
-from fireblocks.models.onboarding_response import OnboardingResponse
-from typing import Optional, Set
-from typing_extensions import Self
-
-class OfferResponseOnboarding(BaseModel):
- """
- OfferResponseOnboarding
- """ # noqa: E501
- domain: StrictStr = Field(description="Which offer domain this response belongs to. Selects the shape of `response`.")
- response: OnboardingResponse
- __properties: ClassVar[List[str]] = ["domain", "response"]
-
- @field_validator('domain')
- def domain_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['ONBOARDING']):
- raise ValueError("must be one of enum values ('ONBOARDING')")
- return value
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of OfferResponseOnboarding from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- # override the default output from pydantic by calling `to_dict()` of response
- if self.response:
- _dict['response'] = self.response.to_dict()
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of OfferResponseOnboarding from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "domain": obj.get("domain"),
- "response": OnboardingResponse.from_dict(obj["response"]) if obj.get("response") is not None else None
- })
- return _obj
-
-
diff --git a/fireblocks/models/onboarding_response_tradeweb_accept.py b/fireblocks/models/offer_response_tradeweb_accept.py
similarity index 94%
rename from fireblocks/models/onboarding_response_tradeweb_accept.py
rename to fireblocks/models/offer_response_tradeweb_accept.py
index c4e9daef..e289acee 100644
--- a/fireblocks/models/onboarding_response_tradeweb_accept.py
+++ b/fireblocks/models/offer_response_tradeweb_accept.py
@@ -23,7 +23,7 @@
from typing import Optional, Set
from typing_extensions import Self
-class OnboardingResponseTradewebAccept(BaseModel):
+class OfferResponseTradewebAccept(BaseModel):
"""
Accept a Tradeweb co-signing delegation offer. Carries no arguments.
""" # noqa: E501
@@ -55,7 +55,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of OnboardingResponseTradewebAccept from a JSON string"""
+ """Create an instance of OfferResponseTradewebAccept from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -80,7 +80,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of OnboardingResponseTradewebAccept from a dict"""
+ """Create an instance of OfferResponseTradewebAccept from a dict"""
if obj is None:
return None
diff --git a/fireblocks/models/onboarding_response_tradeweb_reject.py b/fireblocks/models/offer_response_tradeweb_reject.py
similarity index 94%
rename from fireblocks/models/onboarding_response_tradeweb_reject.py
rename to fireblocks/models/offer_response_tradeweb_reject.py
index a96ea2c0..9e122497 100644
--- a/fireblocks/models/onboarding_response_tradeweb_reject.py
+++ b/fireblocks/models/offer_response_tradeweb_reject.py
@@ -23,7 +23,7 @@
from typing import Optional, Set
from typing_extensions import Self
-class OnboardingResponseTradewebReject(BaseModel):
+class OfferResponseTradewebReject(BaseModel):
"""
Reject a Tradeweb co-signing delegation offer. Carries no arguments — the DAR has nowhere on-ledger to record a reason, so none is accepted.
""" # noqa: E501
@@ -55,7 +55,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of OnboardingResponseTradewebReject from a JSON string"""
+ """Create an instance of OfferResponseTradewebReject from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -80,7 +80,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of OnboardingResponseTradewebReject from a dict"""
+ """Create an instance of OfferResponseTradewebReject from a dict"""
if obj is None:
return None
diff --git a/fireblocks/models/offer_response_transfer_accept.py b/fireblocks/models/offer_response_transfer_accept.py
new file mode 100644
index 00000000..cfc81424
--- /dev/null
+++ b/fireblocks/models/offer_response_transfer_accept.py
@@ -0,0 +1,95 @@
+# coding: utf-8
+
+"""
+ 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
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class OfferResponseTransferAccept(BaseModel):
+ """
+ Accept an inbound 2-step transfer offer. Carries no arguments.
+ """ # noqa: E501
+ response_type: StrictStr = Field(description="How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved.", alias="responseType")
+ __properties: ClassVar[List[str]] = ["responseType"]
+
+ @field_validator('response_type')
+ def response_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['TRANSFER_ACCEPT']):
+ raise ValueError("must be one of enum values ('TRANSFER_ACCEPT')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of OfferResponseTransferAccept from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of OfferResponseTransferAccept from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "responseType": obj.get("responseType")
+ })
+ return _obj
+
+
diff --git a/fireblocks/models/offer_response_transfer_reject.py b/fireblocks/models/offer_response_transfer_reject.py
new file mode 100644
index 00000000..efc0c655
--- /dev/null
+++ b/fireblocks/models/offer_response_transfer_reject.py
@@ -0,0 +1,95 @@
+# coding: utf-8
+
+"""
+ 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
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class OfferResponseTransferReject(BaseModel):
+ """
+ Reject an inbound 2-step transfer offer. Carries no arguments.
+ """ # noqa: E501
+ response_type: StrictStr = Field(description="How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved.", alias="responseType")
+ __properties: ClassVar[List[str]] = ["responseType"]
+
+ @field_validator('response_type')
+ def response_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['TRANSFER_REJECT']):
+ raise ValueError("must be one of enum values ('TRANSFER_REJECT')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of OfferResponseTransferReject from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of OfferResponseTransferReject from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "responseType": obj.get("responseType")
+ })
+ return _obj
+
+
diff --git a/fireblocks/models/offer_response_transfer_withdraw.py b/fireblocks/models/offer_response_transfer_withdraw.py
new file mode 100644
index 00000000..db74242e
--- /dev/null
+++ b/fireblocks/models/offer_response_transfer_withdraw.py
@@ -0,0 +1,95 @@
+# coding: utf-8
+
+"""
+ 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
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class OfferResponseTransferWithdraw(BaseModel):
+ """
+ Withdraw your own OUTGOING transfer offer. Carries no arguments — `offerId` in the path is the offer, so the vault account and blockchain are resolved from it rather than restated. Was `CantonCallType.TRANSFER_WITHDRAW` with a 3-field payload until FA-10624.
+ """ # noqa: E501
+ response_type: StrictStr = Field(description="How you are answering the offer. Must be one of the values listed in the transaction's `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction's status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved.", alias="responseType")
+ __properties: ClassVar[List[str]] = ["responseType"]
+
+ @field_validator('response_type')
+ def response_type_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['TRANSFER_WITHDRAW']):
+ raise ValueError("must be one of enum values ('TRANSFER_WITHDRAW')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of OfferResponseTransferWithdraw from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of OfferResponseTransferWithdraw from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "responseType": obj.get("responseType")
+ })
+ return _obj
+
+
diff --git a/fireblocks/models/onboarding_response.py b/fireblocks/models/onboarding_response.py
deleted file mode 100644
index 4eb58c87..00000000
--- a/fireblocks/models/onboarding_response.py
+++ /dev/null
@@ -1,169 +0,0 @@
-# coding: utf-8
-
-"""
- 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
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import json
-import pprint
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
-from typing import Any, List, Optional
-from fireblocks.models.onboarding_response_dtcc_accept import OnboardingResponseDtccAccept
-from fireblocks.models.onboarding_response_dtcc_reject import OnboardingResponseDtccReject
-from fireblocks.models.onboarding_response_tradeweb_accept import OnboardingResponseTradewebAccept
-from fireblocks.models.onboarding_response_tradeweb_reject import OnboardingResponseTradewebReject
-from pydantic import StrictStr, Field
-from typing import Union, List, Set, Optional, Dict
-from typing_extensions import Literal, Self
-
-ONBOARDINGRESPONSE_ONE_OF_SCHEMAS = ["OnboardingResponseDtccAccept", "OnboardingResponseDtccReject", "OnboardingResponseTradewebAccept", "OnboardingResponseTradewebReject"]
-
-class OnboardingResponse(BaseModel):
- """
- OnboardingResponse
- """
- # data type: OnboardingResponseDtccAccept
- oneof_schema_1_validator: Optional[OnboardingResponseDtccAccept] = None
- # data type: OnboardingResponseDtccReject
- oneof_schema_2_validator: Optional[OnboardingResponseDtccReject] = None
- # data type: OnboardingResponseTradewebAccept
- oneof_schema_3_validator: Optional[OnboardingResponseTradewebAccept] = None
- # data type: OnboardingResponseTradewebReject
- oneof_schema_4_validator: Optional[OnboardingResponseTradewebReject] = None
- actual_instance: Optional[Union[OnboardingResponseDtccAccept, OnboardingResponseDtccReject, OnboardingResponseTradewebAccept, OnboardingResponseTradewebReject]] = None
- one_of_schemas: Set[str] = { "OnboardingResponseDtccAccept", "OnboardingResponseDtccReject", "OnboardingResponseTradewebAccept", "OnboardingResponseTradewebReject" }
-
- model_config = ConfigDict(
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- discriminator_value_class_map: Dict[str, str] = {
- }
-
- def __init__(self, *args, **kwargs) -> None:
- if args:
- if len(args) > 1:
- raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
- if kwargs:
- raise ValueError("If a position argument is used, keyword arguments cannot be used.")
- super().__init__(actual_instance=args[0])
- else:
- super().__init__(**kwargs)
-
- @field_validator('actual_instance')
- def actual_instance_must_validate_oneof(cls, v):
- instance = OnboardingResponse.model_construct()
- error_messages = []
- match = 0
- # validate data type: OnboardingResponseDtccAccept
- if not isinstance(v, OnboardingResponseDtccAccept):
- error_messages.append(f"Error! Input type `{type(v)}` is not `OnboardingResponseDtccAccept`")
- else:
- match += 1
- # validate data type: OnboardingResponseDtccReject
- if not isinstance(v, OnboardingResponseDtccReject):
- error_messages.append(f"Error! Input type `{type(v)}` is not `OnboardingResponseDtccReject`")
- else:
- match += 1
- # validate data type: OnboardingResponseTradewebAccept
- if not isinstance(v, OnboardingResponseTradewebAccept):
- error_messages.append(f"Error! Input type `{type(v)}` is not `OnboardingResponseTradewebAccept`")
- else:
- match += 1
- # validate data type: OnboardingResponseTradewebReject
- if not isinstance(v, OnboardingResponseTradewebReject):
- error_messages.append(f"Error! Input type `{type(v)}` is not `OnboardingResponseTradewebReject`")
- else:
- match += 1
- if match > 1:
- # more than 1 match
- raise ValueError("Multiple matches found when setting `actual_instance` in OnboardingResponse with oneOf schemas: OnboardingResponseDtccAccept, OnboardingResponseDtccReject, OnboardingResponseTradewebAccept, OnboardingResponseTradewebReject. Details: " + ", ".join(error_messages))
- elif match == 0:
- # no match
- raise ValueError("No match found when setting `actual_instance` in OnboardingResponse with oneOf schemas: OnboardingResponseDtccAccept, OnboardingResponseDtccReject, OnboardingResponseTradewebAccept, OnboardingResponseTradewebReject. Details: " + ", ".join(error_messages))
- else:
- return v
-
- @classmethod
- def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
- return cls.from_json(json.dumps(obj))
-
- @classmethod
- def from_json(cls, json_str: str) -> Self:
- """Returns the object represented by the json string"""
- instance = cls.model_construct()
- error_messages = []
- match = 0
-
- # deserialize data into OnboardingResponseDtccAccept
- try:
- instance.actual_instance = OnboardingResponseDtccAccept.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into OnboardingResponseDtccReject
- try:
- instance.actual_instance = OnboardingResponseDtccReject.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into OnboardingResponseTradewebAccept
- try:
- instance.actual_instance = OnboardingResponseTradewebAccept.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into OnboardingResponseTradewebReject
- try:
- instance.actual_instance = OnboardingResponseTradewebReject.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
-
- if match > 1:
- # more than 1 match
- raise ValueError("Multiple matches found when deserializing the JSON string into OnboardingResponse with oneOf schemas: OnboardingResponseDtccAccept, OnboardingResponseDtccReject, OnboardingResponseTradewebAccept, OnboardingResponseTradewebReject. Details: " + ", ".join(error_messages))
- elif match == 0:
- # no match
- raise ValueError("No match found when deserializing the JSON string into OnboardingResponse with oneOf schemas: OnboardingResponseDtccAccept, OnboardingResponseDtccReject, OnboardingResponseTradewebAccept, OnboardingResponseTradewebReject. Details: " + ", ".join(error_messages))
- else:
- return instance
-
- def to_json(self) -> str:
- """Returns the JSON representation of the actual instance"""
- if self.actual_instance is None:
- return "null"
-
- if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
- return self.actual_instance.to_json()
- else:
- return json.dumps(self.actual_instance)
-
- def to_dict(self) -> Optional[Union[Dict[str, Any], OnboardingResponseDtccAccept, OnboardingResponseDtccReject, OnboardingResponseTradewebAccept, OnboardingResponseTradewebReject]]:
- """Returns the dict representation of the actual instance"""
- if self.actual_instance is None:
- return None
-
- if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
- return self.actual_instance.to_dict()
- else:
- # primitive type
- return self.actual_instance
-
- def to_str(self) -> str:
- """Returns the string representation of the actual instance"""
- return pprint.pformat(self.model_dump())
-
-
diff --git a/fireblocks/models/participant_onboarding_payload.py b/fireblocks/models/participant_onboarding_payload.py
index 0fb29392..fd175456 100644
--- a/fireblocks/models/participant_onboarding_payload.py
+++ b/fireblocks/models/participant_onboarding_payload.py
@@ -29,17 +29,17 @@ class ParticipantOnboardingPayload(BaseModel):
ParticipantOnboardingPayload
""" # noqa: E501
vault_account_id: StrictStr = Field(description="The vault account that acts as the participant. Its Canton party is derived for you.", alias="vaultAccountId")
- asset: StrictStr = Field(description="Chain asset — CANTON or CANTON_TEST.")
+ blockchain_id: StrictStr = Field(description="The blockchain this party is connected to — `CANTON` or `CANTON_TEST`.", alias="blockchainId")
expires_at: Optional[datetime] = Field(default=None, description="When the onboarding request expires if it has not been answered. RFC 3339.", alias="expiresAt")
operator: StrictStr = Field(description="DTCC infra operator party id.")
compliance: StrictStr = Field(description="DTCC compliance party id.")
registrar: StrictStr = Field(description="DTCC registrar party id — co-signs the accept.")
client_onboarder: StrictStr = Field(description="DTCC client onboarder party id — co-signs the accept.", alias="clientOnboarder")
upgrader: StrictStr = Field(description="DTCC upgrader party id — the Model Upgrade Tool authority. Supplied by DTCC during the off-chain registration, alongside the other party ids.")
- __properties: ClassVar[List[str]] = ["vaultAccountId", "asset", "expiresAt", "operator", "compliance", "registrar", "clientOnboarder", "upgrader"]
+ __properties: ClassVar[List[str]] = ["vaultAccountId", "blockchainId", "expiresAt", "operator", "compliance", "registrar", "clientOnboarder", "upgrader"]
- @field_validator('asset')
- def asset_validate_enum(cls, value):
+ @field_validator('blockchain_id')
+ def blockchain_id_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['CANTON', 'CANTON_TEST']):
raise ValueError("must be one of enum values ('CANTON', 'CANTON_TEST')")
@@ -97,7 +97,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
_obj = cls.model_validate({
"vaultAccountId": obj.get("vaultAccountId"),
- "asset": obj.get("asset"),
+ "blockchainId": obj.get("blockchainId"),
"expiresAt": obj.get("expiresAt"),
"operator": obj.get("operator"),
"compliance": obj.get("compliance"),
diff --git a/fireblocks/models/register_approval_api_key_response.py b/fireblocks/models/register_approval_api_key_response.py
index 612cedde..661b09f4 100644
--- a/fireblocks/models/register_approval_api_key_response.py
+++ b/fireblocks/models/register_approval_api_key_response.py
@@ -28,7 +28,8 @@ class RegisterApprovalApiKeyResponse(BaseModel):
The result of registering an approval API key.
""" # noqa: E501
key_id: StrictStr = Field(description="The server-generated ID of the registered key, used for deletion.", alias="keyId")
- __properties: ClassVar[List[str]] = ["keyId"]
+ ccr_id_pending_registration: StrictStr = Field(description="Always returned. An empty string when the key is active immediately. Otherwise, the ID of the approval request that must be approved before the key becomes active. The request appears in `GET /v1/approvals`.", alias="ccrIdPendingRegistration")
+ __properties: ClassVar[List[str]] = ["keyId", "ccrIdPendingRegistration"]
model_config = ConfigDict(
populate_by_name=True,
@@ -81,7 +82,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
return cls.model_validate(obj)
_obj = cls.model_validate({
- "keyId": obj.get("keyId")
+ "keyId": obj.get("keyId"),
+ "ccrIdPendingRegistration": obj.get("ccrIdPendingRegistration")
})
return _obj
diff --git a/fireblocks/models/offer_response_transfer.py b/fireblocks/models/tempo_transfer_destination.py
similarity index 65%
rename from fireblocks/models/offer_response_transfer.py
rename to fireblocks/models/tempo_transfer_destination.py
index 1efbfd9d..7642ecee 100644
--- a/fireblocks/models/offer_response_transfer.py
+++ b/fireblocks/models/tempo_transfer_destination.py
@@ -19,24 +19,25 @@
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List
-from fireblocks.models.transfer_response import TransferResponse
+from typing import Any, ClassVar, Dict, List, Optional
+from fireblocks.models.one_time_address import OneTimeAddress
from typing import Optional, Set
from typing_extensions import Self
-class OfferResponseTransfer(BaseModel):
+class TempoTransferDestination(BaseModel):
"""
- OfferResponseTransfer
+ The transfer's destination. Mutually exclusive with `destinations`.
""" # noqa: E501
- domain: StrictStr = Field(description="Which offer domain this response belongs to. Selects the shape of `response`.")
- response: TransferResponse
- __properties: ClassVar[List[str]] = ["domain", "response"]
+ type: StrictStr = Field(description="The kind of destination.")
+ id: Optional[StrictStr] = Field(default=None, description="Required when type is VAULT_ACCOUNT or UNMANAGED_WALLET.")
+ one_time_address: Optional[OneTimeAddress] = Field(default=None, alias="oneTimeAddress")
+ __properties: ClassVar[List[str]] = ["type", "id", "oneTimeAddress"]
- @field_validator('domain')
- def domain_validate_enum(cls, value):
+ @field_validator('type')
+ def type_validate_enum(cls, value):
"""Validates the enum"""
- if value not in set(['TRANSFER']):
- raise ValueError("must be one of enum values ('TRANSFER')")
+ if value not in set(['VAULT_ACCOUNT', 'ONE_TIME_ADDRESS', 'UNMANAGED_WALLET']):
+ raise ValueError("must be one of enum values ('VAULT_ACCOUNT', 'ONE_TIME_ADDRESS', 'UNMANAGED_WALLET')")
return value
model_config = ConfigDict(
@@ -57,7 +58,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of OfferResponseTransfer from a JSON string"""
+ """Create an instance of TempoTransferDestination from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -78,14 +79,14 @@ def to_dict(self) -> Dict[str, Any]:
exclude=excluded_fields,
exclude_none=True,
)
- # override the default output from pydantic by calling `to_dict()` of response
- if self.response:
- _dict['response'] = self.response.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of one_time_address
+ if self.one_time_address:
+ _dict['oneTimeAddress'] = self.one_time_address.to_dict()
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of OfferResponseTransfer from a dict"""
+ """Create an instance of TempoTransferDestination from a dict"""
if obj is None:
return None
@@ -93,8 +94,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
return cls.model_validate(obj)
_obj = cls.model_validate({
- "domain": obj.get("domain"),
- "response": TransferResponse.from_dict(obj["response"]) if obj.get("response") is not None else None
+ "type": obj.get("type"),
+ "id": obj.get("id"),
+ "oneTimeAddress": OneTimeAddress.from_dict(obj["oneTimeAddress"]) if obj.get("oneTimeAddress") is not None else None
})
return _obj
diff --git a/fireblocks/models/offer_response_allocation.py b/fireblocks/models/tempo_transfer_destination_item.py
similarity index 59%
rename from fireblocks/models/offer_response_allocation.py
rename to fireblocks/models/tempo_transfer_destination_item.py
index 082561e1..6837e891 100644
--- a/fireblocks/models/offer_response_allocation.py
+++ b/fireblocks/models/tempo_transfer_destination_item.py
@@ -18,26 +18,21 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List
-from fireblocks.models.allocation_response import AllocationResponse
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from fireblocks.models.tempo_transfer_destination import TempoTransferDestination
from typing import Optional, Set
from typing_extensions import Self
-class OfferResponseAllocation(BaseModel):
+class TempoTransferDestinationItem(BaseModel):
"""
- OfferResponseAllocation
+ One destination in a multi-destination transfer. `destination.type` is narrowed the same way as the top-level `destination` field.
""" # noqa: E501
- domain: StrictStr = Field(description="Which offer domain this response belongs to. Selects the shape of `response`.")
- response: AllocationResponse
- __properties: ClassVar[List[str]] = ["domain", "response"]
-
- @field_validator('domain')
- def domain_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['ALLOCATION']):
- raise ValueError("must be one of enum values ('ALLOCATION')")
- return value
+ amount: Optional[StrictStr] = Field(default=None, description="The amount to transfer to this destination, as a numeric string.")
+ destination: Optional[TempoTransferDestination] = None
+ travel_rule_message_id: Optional[StrictStr] = Field(default=None, description="Beta. An identifier of a TravelRule message, already sent to the TravelRule provider.", alias="travelRuleMessageId")
+ customer_ref_id: Optional[StrictStr] = Field(default=None, description="The ID for AML providers to associate the owner of funds with transactions.", alias="customerRefId")
+ __properties: ClassVar[List[str]] = ["amount", "destination", "travelRuleMessageId", "customerRefId"]
model_config = ConfigDict(
populate_by_name=True,
@@ -57,7 +52,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of OfferResponseAllocation from a JSON string"""
+ """Create an instance of TempoTransferDestinationItem from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -78,14 +73,14 @@ def to_dict(self) -> Dict[str, Any]:
exclude=excluded_fields,
exclude_none=True,
)
- # override the default output from pydantic by calling `to_dict()` of response
- if self.response:
- _dict['response'] = self.response.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of destination
+ if self.destination:
+ _dict['destination'] = self.destination.to_dict()
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of OfferResponseAllocation from a dict"""
+ """Create an instance of TempoTransferDestinationItem from a dict"""
if obj is None:
return None
@@ -93,8 +88,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
return cls.model_validate(obj)
_obj = cls.model_validate({
- "domain": obj.get("domain"),
- "response": AllocationResponse.from_dict(obj["response"]) if obj.get("response") is not None else None
+ "amount": obj.get("amount"),
+ "destination": TempoTransferDestination.from_dict(obj["destination"]) if obj.get("destination") is not None else None,
+ "travelRuleMessageId": obj.get("travelRuleMessageId"),
+ "customerRefId": obj.get("customerRefId")
})
return _obj
diff --git a/fireblocks/models/canton_call_transfer_withdraw.py b/fireblocks/models/tempo_transfer_source.py
similarity index 72%
rename from fireblocks/models/canton_call_transfer_withdraw.py
rename to fireblocks/models/tempo_transfer_source.py
index 44f0ccdc..14b6f14d 100644
--- a/fireblocks/models/canton_call_transfer_withdraw.py
+++ b/fireblocks/models/tempo_transfer_source.py
@@ -19,24 +19,24 @@
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List
-from fireblocks.models.transfer_withdraw_payload import TransferWithdrawPayload
+from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
-class CantonCallTransferWithdraw(BaseModel):
+class TempoTransferSource(BaseModel):
"""
- CantonCallTransferWithdraw
+ The transfer's source.
""" # noqa: E501
- type: StrictStr = Field(description="Which call to make. Selects the shape of `payload`.")
- payload: TransferWithdrawPayload
- __properties: ClassVar[List[str]] = ["type", "payload"]
+ type: StrictStr = Field(description="The kind of source.")
+ id: Optional[StrictStr] = Field(default=None, description="Required when type is VAULT_ACCOUNT — the vault account ID.")
+ wallet_id: Optional[StrictStr] = Field(default=None, description="Required when type is EMBEDDED_WALLET.", alias="walletId")
+ __properties: ClassVar[List[str]] = ["type", "id", "walletId"]
@field_validator('type')
def type_validate_enum(cls, value):
"""Validates the enum"""
- if value not in set(['TRANSFER_WITHDRAW']):
- raise ValueError("must be one of enum values ('TRANSFER_WITHDRAW')")
+ if value not in set(['VAULT_ACCOUNT', 'EMBEDDED_WALLET']):
+ raise ValueError("must be one of enum values ('VAULT_ACCOUNT', 'EMBEDDED_WALLET')")
return value
model_config = ConfigDict(
@@ -57,7 +57,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of CantonCallTransferWithdraw from a JSON string"""
+ """Create an instance of TempoTransferSource from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -78,14 +78,11 @@ def to_dict(self) -> Dict[str, Any]:
exclude=excluded_fields,
exclude_none=True,
)
- # override the default output from pydantic by calling `to_dict()` of payload
- if self.payload:
- _dict['payload'] = self.payload.to_dict()
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of CantonCallTransferWithdraw from a dict"""
+ """Create an instance of TempoTransferSource from a dict"""
if obj is None:
return None
@@ -94,7 +91,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
_obj = cls.model_validate({
"type": obj.get("type"),
- "payload": TransferWithdrawPayload.from_dict(obj["payload"]) if obj.get("payload") is not None else None
+ "id": obj.get("id"),
+ "walletId": obj.get("walletId")
})
return _obj
diff --git a/fireblocks/models/transfer_response.py b/fireblocks/models/transfer_response.py
deleted file mode 100644
index 9a5aa0f7..00000000
--- a/fireblocks/models/transfer_response.py
+++ /dev/null
@@ -1,141 +0,0 @@
-# coding: utf-8
-
-"""
- 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
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import json
-import pprint
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
-from typing import Any, List, Optional
-from fireblocks.models.transfer_response_accept import TransferResponseAccept
-from fireblocks.models.transfer_response_reject import TransferResponseReject
-from pydantic import StrictStr, Field
-from typing import Union, List, Set, Optional, Dict
-from typing_extensions import Literal, Self
-
-TRANSFERRESPONSE_ONE_OF_SCHEMAS = ["TransferResponseAccept", "TransferResponseReject"]
-
-class TransferResponse(BaseModel):
- """
- TransferResponse
- """
- # data type: TransferResponseAccept
- oneof_schema_1_validator: Optional[TransferResponseAccept] = None
- # data type: TransferResponseReject
- oneof_schema_2_validator: Optional[TransferResponseReject] = None
- actual_instance: Optional[Union[TransferResponseAccept, TransferResponseReject]] = None
- one_of_schemas: Set[str] = { "TransferResponseAccept", "TransferResponseReject" }
-
- model_config = ConfigDict(
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- discriminator_value_class_map: Dict[str, str] = {
- }
-
- def __init__(self, *args, **kwargs) -> None:
- if args:
- if len(args) > 1:
- raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
- if kwargs:
- raise ValueError("If a position argument is used, keyword arguments cannot be used.")
- super().__init__(actual_instance=args[0])
- else:
- super().__init__(**kwargs)
-
- @field_validator('actual_instance')
- def actual_instance_must_validate_oneof(cls, v):
- instance = TransferResponse.model_construct()
- error_messages = []
- match = 0
- # validate data type: TransferResponseAccept
- if not isinstance(v, TransferResponseAccept):
- error_messages.append(f"Error! Input type `{type(v)}` is not `TransferResponseAccept`")
- else:
- match += 1
- # validate data type: TransferResponseReject
- if not isinstance(v, TransferResponseReject):
- error_messages.append(f"Error! Input type `{type(v)}` is not `TransferResponseReject`")
- else:
- match += 1
- if match > 1:
- # more than 1 match
- raise ValueError("Multiple matches found when setting `actual_instance` in TransferResponse with oneOf schemas: TransferResponseAccept, TransferResponseReject. Details: " + ", ".join(error_messages))
- elif match == 0:
- # no match
- raise ValueError("No match found when setting `actual_instance` in TransferResponse with oneOf schemas: TransferResponseAccept, TransferResponseReject. Details: " + ", ".join(error_messages))
- else:
- return v
-
- @classmethod
- def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
- return cls.from_json(json.dumps(obj))
-
- @classmethod
- def from_json(cls, json_str: str) -> Self:
- """Returns the object represented by the json string"""
- instance = cls.model_construct()
- error_messages = []
- match = 0
-
- # deserialize data into TransferResponseAccept
- try:
- instance.actual_instance = TransferResponseAccept.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
- # deserialize data into TransferResponseReject
- try:
- instance.actual_instance = TransferResponseReject.from_json(json_str)
- match += 1
- except (ValidationError, ValueError) as e:
- error_messages.append(str(e))
-
- if match > 1:
- # more than 1 match
- raise ValueError("Multiple matches found when deserializing the JSON string into TransferResponse with oneOf schemas: TransferResponseAccept, TransferResponseReject. Details: " + ", ".join(error_messages))
- elif match == 0:
- # no match
- raise ValueError("No match found when deserializing the JSON string into TransferResponse with oneOf schemas: TransferResponseAccept, TransferResponseReject. Details: " + ", ".join(error_messages))
- else:
- return instance
-
- def to_json(self) -> str:
- """Returns the JSON representation of the actual instance"""
- if self.actual_instance is None:
- return "null"
-
- if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
- return self.actual_instance.to_json()
- else:
- return json.dumps(self.actual_instance)
-
- def to_dict(self) -> Optional[Union[Dict[str, Any], TransferResponseAccept, TransferResponseReject]]:
- """Returns the dict representation of the actual instance"""
- if self.actual_instance is None:
- return None
-
- if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
- return self.actual_instance.to_dict()
- else:
- # primitive type
- return self.actual_instance
-
- def to_str(self) -> str:
- """Returns the string representation of the actual instance"""
- return pprint.pformat(self.model_dump())
-
-
diff --git a/fireblocks/models/transfer_withdraw_payload.py b/fireblocks/models/transfer_withdraw_payload.py
deleted file mode 100644
index 4b51b221..00000000
--- a/fireblocks/models/transfer_withdraw_payload.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# coding: utf-8
-
-"""
- 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
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
-from typing import Any, ClassVar, Dict, List
-from typing import Optional, Set
-from typing_extensions import Self
-
-class TransferWithdrawPayload(BaseModel):
- """
- TransferWithdrawPayload
- """ # noqa: E501
- vault_account_id: StrictStr = Field(description="The vault account whose Canton wallet acts here.", alias="vaultAccountId")
- asset: StrictStr = Field(description="Chain asset — `CANTON` or `CANTON_TEST`.")
- offer_transaction_id: StrictStr = Field(description="The Fireblocks transaction id of the OUTGOING transfer offer being withdrawn.", alias="offerTransactionId")
- __properties: ClassVar[List[str]] = ["vaultAccountId", "asset", "offerTransactionId"]
-
- @field_validator('asset')
- def asset_validate_enum(cls, value):
- """Validates the enum"""
- if value not in set(['CANTON', 'CANTON_TEST']):
- raise ValueError("must be one of enum values ('CANTON', 'CANTON_TEST')")
- return value
-
- model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- )
-
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.model_dump(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> Optional[Self]:
- """Create an instance of TransferWithdrawPayload from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self) -> Dict[str, Any]:
- """Return the dictionary representation of the model using alias.
-
- This has the following differences from calling pydantic's
- `self.model_dump(by_alias=True)`:
-
- * `None` is only added to the output dict for nullable fields that
- were set at model initialization. Other fields with value `None`
- are ignored.
- """
- excluded_fields: Set[str] = set([
- ])
-
- _dict = self.model_dump(
- by_alias=True,
- exclude=excluded_fields,
- exclude_none=True,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
- """Create an instance of TransferWithdrawPayload from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return cls.model_validate(obj)
-
- _obj = cls.model_validate({
- "vaultAccountId": obj.get("vaultAccountId"),
- "asset": obj.get("asset"),
- "offerTransactionId": obj.get("offerTransactionId")
- })
- return _obj
-
-
diff --git a/pyproject.toml b/pyproject.toml
index b281ae1c..08a27f53 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "fireblocks"
-version = "33.0.0"
+version = "0.0.0"
description = "Fireblocks API"
authors = ["Fireblocks "]
license = "MIT License"
diff --git a/setup.py b/setup.py
index 807a350b..8e55f57b 100644
--- a/setup.py
+++ b/setup.py
@@ -23,7 +23,7 @@
# prerequisite: setuptools
# http://pypi.python.org/pypi/setuptools
NAME = "fireblocks"
-VERSION = "33.0.0"
+VERSION = "0.0.0"
PYTHON_REQUIRES = ">= 3.8"
REQUIRES = [
"urllib3 >= 2.1.0, < 3.0.0",
diff --git a/test/fireblocks/test_client.py b/test/fireblocks/test_client.py
index 34ba266b..613d9b84 100644
--- a/test/fireblocks/test_client.py
+++ b/test/fireblocks/test_client.py
@@ -58,6 +58,7 @@
from fireblocks.api.staking_api import StakingApi
from fireblocks.api.tr_link_api import TRLinkApi
from fireblocks.api.tags_api import TagsApi
+from fireblocks.api.tempo_beta_api import TempoBetaApi
from fireblocks.api.tokenization_api import TokenizationApi
from fireblocks.api.trading_beta_api import TradingBetaApi
from fireblocks.api.transactions_api import TransactionsApi
@@ -212,6 +213,9 @@ def test_get_tr_link(fireblocks_instance):
def test_get_tags(fireblocks_instance):
assert isinstance(fireblocks_instance.tags, TagsApi)
+def test_get_tempo_beta(fireblocks_instance):
+ assert isinstance(fireblocks_instance.tempo_beta, TempoBetaApi)
+
def test_get_tokenization(fireblocks_instance):
assert isinstance(fireblocks_instance.tokenization, TokenizationApi)
diff --git a/test/test_add_connected_account_request.py b/test/test_add_connected_account_request.py
index 00cfd649..70bdb92a 100644
--- a/test/test_add_connected_account_request.py
+++ b/test/test_add_connected_account_request.py
@@ -38,7 +38,7 @@ def make_instance(self, include_optional) -> AddConnectedAccountRequest:
return AddConnectedAccountRequest(
provider_id = 'BINANCE',
display_name = 'My Binance Account',
- creds = '[B@6aca4933',
+ creds = '[B@601a6ba5',
api_key = 'api_key_abc123',
main_account_id = 'acc-parent-001',
account_id = 'provider-acc-001',
@@ -47,7 +47,7 @@ def make_instance(self, include_optional) -> AddConnectedAccountRequest:
else:
return AddConnectedAccountRequest(
provider_id = 'BINANCE',
- creds = '[B@6aca4933',
+ creds = '[B@601a6ba5',
api_key = 'api_key_abc123',
)
"""
diff --git a/test/test_address_registry_create_proof_of_ownership_response.py b/test/test_address_registry_create_proof_of_ownership_response.py
index 9ecc8f8d..749de083 100644
--- a/test/test_address_registry_create_proof_of_ownership_response.py
+++ b/test/test_address_registry_create_proof_of_ownership_response.py
@@ -40,14 +40,14 @@ def make_instance(
model = AddressRegistryCreateProofOfOwnershipResponse()
if include_optional:
return AddressRegistryCreateProofOfOwnershipResponse(
- pdf = '[B@442bdf69',
+ pdf = '[B@21554e81',
export_id = '3fa85f64-5717-4562-b3fc-2c963f66afa6',
verification_hash = 'BHS2QaqGyYegvLBy5qrGhrES3A2n5JPD7ubpgJozRgeA',
expires_at = '2027-08-17'
)
else:
return AddressRegistryCreateProofOfOwnershipResponse(
- pdf = '[B@442bdf69',
+ pdf = '[B@21554e81',
export_id = '3fa85f64-5717-4562-b3fc-2c963f66afa6',
verification_hash = 'BHS2QaqGyYegvLBy5qrGhrES3A2n5JPD7ubpgJozRgeA',
expires_at = '2027-08-17',
diff --git a/test/test_allow_list_payload.py b/test/test_allow_list_payload.py
index 8371823f..811e65c6 100644
--- a/test/test_allow_list_payload.py
+++ b/test/test_allow_list_payload.py
@@ -37,13 +37,13 @@ def make_instance(self, include_optional) -> AllowListPayload:
if include_optional:
return AllowListPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
wallets = ["investor-party::1220abc…"]
)
else:
return AllowListPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
wallets = ["investor-party::1220abc…"],
)
"""
diff --git a/test/test_approval_api_key.py b/test/test_approval_api_key.py
index 591ac12f..e80bc426 100644
--- a/test/test_approval_api_key.py
+++ b/test/test_approval_api_key.py
@@ -45,7 +45,8 @@ def make_instance(self, include_optional) -> ApprovalApiKey:
public_key_pem = '-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQ...
-----END PUBLIC KEY-----', ),
- user_id = '8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94'
+ user_id = '8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94',
+ status = 'APPROVAL_API_KEY_STATUS_ENABLED'
)
else:
return ApprovalApiKey(
@@ -59,6 +60,7 @@ def make_instance(self, include_optional) -> ApprovalApiKey:
MFkwEwYHKoZIzj0CAQ...
-----END PUBLIC KEY-----', ),
user_id = '8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94',
+ status = 'APPROVAL_API_KEY_STATUS_ENABLED',
)
"""
diff --git a/test/test_audit_log_entry.py b/test/test_audit_log_entry.py
index 85df6e6c..8339e9f3 100644
--- a/test/test_audit_log_entry.py
+++ b/test/test_audit_log_entry.py
@@ -38,13 +38,13 @@ def make_instance(self, include_optional) -> AuditLogEntry:
return AuditLogEntry(
timestamp = '1700000000',
event_type = 'STATUS_TRANSITION',
- data = '[B@7f8712c'
+ data = '[B@676e6003'
)
else:
return AuditLogEntry(
timestamp = '1700000000',
event_type = 'STATUS_TRANSITION',
- data = '[B@7f8712c',
+ data = '[B@676e6003',
)
"""
diff --git a/test/test_canton_call.py b/test/test_canton_call.py
index 6f90c95f..0f99dced 100644
--- a/test/test_canton_call.py
+++ b/test/test_canton_call.py
@@ -37,18 +37,14 @@ def make_instance(self, include_optional) -> CantonCall:
if include_optional:
return CantonCall(
type = 'DTCC_PARTICIPANT_ONBOARDING',
- payload = fireblocks.models.transfer_withdraw_payload.TransferWithdrawPayload(
- vault_account_id = '12',
- asset = 'CANTON',
- offer_transaction_id = '2d47ae90-31bb-4f6c-8a17-7e0c5b9f2d63', )
+ payload = fireblocks.models.allocation_withdraw_payload.AllocationWithdrawPayload(
+ allocation_transaction_id = '5a1d8b0f-2c31-4c7e-9d0a-118e7b6c4a21', )
)
else:
return CantonCall(
type = 'DTCC_PARTICIPANT_ONBOARDING',
- payload = fireblocks.models.transfer_withdraw_payload.TransferWithdrawPayload(
- vault_account_id = '12',
- asset = 'CANTON',
- offer_transaction_id = '2d47ae90-31bb-4f6c-8a17-7e0c5b9f2d63', ),
+ payload = fireblocks.models.allocation_withdraw_payload.AllocationWithdrawPayload(
+ allocation_transaction_id = '5a1d8b0f-2c31-4c7e-9d0a-118e7b6c4a21', ),
)
"""
diff --git a/test/test_canton_call_allow_list_add.py b/test/test_canton_call_allow_list_add.py
index 05aa6812..ff60bbd0 100644
--- a/test/test_canton_call_allow_list_add.py
+++ b/test/test_canton_call_allow_list_add.py
@@ -39,7 +39,7 @@ def make_instance(self, include_optional) -> CantonCallAllowListAdd:
type = 'DTCC_ALLOW_LIST_ADD',
payload = fireblocks.models.allow_list_payload.AllowListPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
wallets = ["investor-party::1220abc…"], )
)
else:
@@ -47,7 +47,7 @@ def make_instance(self, include_optional) -> CantonCallAllowListAdd:
type = 'DTCC_ALLOW_LIST_ADD',
payload = fireblocks.models.allow_list_payload.AllowListPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
wallets = ["investor-party::1220abc…"], ),
)
"""
diff --git a/test/test_canton_call_allow_list_remove.py b/test/test_canton_call_allow_list_remove.py
index 7dbcdb7a..c3d1dd2e 100644
--- a/test/test_canton_call_allow_list_remove.py
+++ b/test/test_canton_call_allow_list_remove.py
@@ -39,7 +39,7 @@ def make_instance(self, include_optional) -> CantonCallAllowListRemove:
type = 'DTCC_ALLOW_LIST_REMOVE',
payload = fireblocks.models.allow_list_payload.AllowListPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
wallets = ["investor-party::1220abc…"], )
)
else:
@@ -47,7 +47,7 @@ def make_instance(self, include_optional) -> CantonCallAllowListRemove:
type = 'DTCC_ALLOW_LIST_REMOVE',
payload = fireblocks.models.allow_list_payload.AllowListPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
wallets = ["investor-party::1220abc…"], ),
)
"""
diff --git a/test/test_canton_call_end_investor_invite.py b/test/test_canton_call_end_investor_invite.py
index 4e05076e..96f3bbbd 100644
--- a/test/test_canton_call_end_investor_invite.py
+++ b/test/test_canton_call_end_investor_invite.py
@@ -41,7 +41,7 @@ def make_instance(self, include_optional) -> CantonCallEndInvestorInvite:
type = 'DTCC_END_INVESTOR_INVITE',
payload = fireblocks.models.end_investor_payload.EndInvestorPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
end_investor = 'investor-party::1220abc…', )
)
else:
@@ -49,7 +49,7 @@ def make_instance(self, include_optional) -> CantonCallEndInvestorInvite:
type = 'DTCC_END_INVESTOR_INVITE',
payload = fireblocks.models.end_investor_payload.EndInvestorPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
end_investor = 'investor-party::1220abc…', ),
)
"""
diff --git a/test/test_canton_call_end_investor_invite_cancel.py b/test/test_canton_call_end_investor_invite_cancel.py
index bbef7913..690024ff 100644
--- a/test/test_canton_call_end_investor_invite_cancel.py
+++ b/test/test_canton_call_end_investor_invite_cancel.py
@@ -41,7 +41,7 @@ def make_instance(self, include_optional) -> CantonCallEndInvestorInviteCancel:
type = 'DTCC_END_INVESTOR_INVITE_CANCEL',
payload = fireblocks.models.end_investor_payload.EndInvestorPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
end_investor = 'investor-party::1220abc…', )
)
else:
@@ -49,7 +49,7 @@ def make_instance(self, include_optional) -> CantonCallEndInvestorInviteCancel:
type = 'DTCC_END_INVESTOR_INVITE_CANCEL',
payload = fireblocks.models.end_investor_payload.EndInvestorPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
end_investor = 'investor-party::1220abc…', ),
)
"""
diff --git a/test/test_canton_call_end_investor_offboard.py b/test/test_canton_call_end_investor_offboard.py
index ffbc0547..1008038d 100644
--- a/test/test_canton_call_end_investor_offboard.py
+++ b/test/test_canton_call_end_investor_offboard.py
@@ -41,7 +41,7 @@ def make_instance(self, include_optional) -> CantonCallEndInvestorOffboard:
type = 'DTCC_END_INVESTOR_OFFBOARD',
payload = fireblocks.models.end_investor_payload.EndInvestorPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
end_investor = 'investor-party::1220abc…', )
)
else:
@@ -49,7 +49,7 @@ def make_instance(self, include_optional) -> CantonCallEndInvestorOffboard:
type = 'DTCC_END_INVESTOR_OFFBOARD',
payload = fireblocks.models.end_investor_payload.EndInvestorPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
end_investor = 'investor-party::1220abc…', ),
)
"""
diff --git a/test/test_canton_call_participant_onboarding.py b/test/test_canton_call_participant_onboarding.py
index 1de4bf27..db5db794 100644
--- a/test/test_canton_call_participant_onboarding.py
+++ b/test/test_canton_call_participant_onboarding.py
@@ -41,7 +41,7 @@ def make_instance(self, include_optional) -> CantonCallParticipantOnboarding:
type = 'DTCC_PARTICIPANT_ONBOARDING',
payload = fireblocks.models.participant_onboarding_payload.ParticipantOnboardingPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
expires_at = '2026-12-31T23:59:59Z',
operator = 'dtcc-operator::1220abc…',
compliance = 'dtcc-compliance::1220abc…',
@@ -54,7 +54,7 @@ def make_instance(self, include_optional) -> CantonCallParticipantOnboarding:
type = 'DTCC_PARTICIPANT_ONBOARDING',
payload = fireblocks.models.participant_onboarding_payload.ParticipantOnboardingPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
expires_at = '2026-12-31T23:59:59Z',
operator = 'dtcc-operator::1220abc…',
compliance = 'dtcc-compliance::1220abc…',
diff --git a/test/test_canton_call_transfer_withdraw.py b/test/test_canton_call_transfer_withdraw.py
deleted file mode 100644
index 4604078a..00000000
--- a/test/test_canton_call_transfer_withdraw.py
+++ /dev/null
@@ -1,62 +0,0 @@
-# coding: utf-8
-
-"""
-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
-Generated by OpenAPI Generator (https://openapi-generator.tech)
-
-Do not edit the class manually.
-""" # noqa: E501
-
-import unittest
-
-from fireblocks.models.canton_call_transfer_withdraw import CantonCallTransferWithdraw
-
-
-class TestCantonCallTransferWithdraw(unittest.TestCase):
- """CantonCallTransferWithdraw unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> CantonCallTransferWithdraw:
- """Test CantonCallTransferWithdraw
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included"""
- # uncomment below to create an instance of `CantonCallTransferWithdraw`
- """
- model = CantonCallTransferWithdraw()
- if include_optional:
- return CantonCallTransferWithdraw(
- type = 'TRANSFER_WITHDRAW',
- payload = fireblocks.models.transfer_withdraw_payload.TransferWithdrawPayload(
- vault_account_id = '12',
- asset = 'CANTON',
- offer_transaction_id = '2d47ae90-31bb-4f6c-8a17-7e0c5b9f2d63', )
- )
- else:
- return CantonCallTransferWithdraw(
- type = 'TRANSFER_WITHDRAW',
- payload = fireblocks.models.transfer_withdraw_payload.TransferWithdrawPayload(
- vault_account_id = '12',
- asset = 'CANTON',
- offer_transaction_id = '2d47ae90-31bb-4f6c-8a17-7e0c5b9f2d63', ),
- )
- """
-
- def testCantonCallTransferWithdraw(self):
- """Test CantonCallTransferWithdraw"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/test/test_create_tempo_transfer_request.py b/test/test_create_tempo_transfer_request.py
new file mode 100644
index 00000000..d26845e3
--- /dev/null
+++ b/test/test_create_tempo_transfer_request.py
@@ -0,0 +1,78 @@
+# coding: utf-8
+
+"""
+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
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+""" # noqa: E501
+
+import unittest
+
+from fireblocks.models.create_tempo_transfer_request import CreateTempoTransferRequest
+
+
+class TestCreateTempoTransferRequest(unittest.TestCase):
+ """CreateTempoTransferRequest unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> CreateTempoTransferRequest:
+ """Test CreateTempoTransferRequest
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included"""
+ # uncomment below to create an instance of `CreateTempoTransferRequest`
+ """
+ model = CreateTempoTransferRequest()
+ if include_optional:
+ return CreateTempoTransferRequest(
+ note = 'Created via API',
+ external_tx_id = 'unique-id-123',
+ fee_currency = 'PATHUSD_TEMPO_54V8',
+ asset_id = 'PATHUSD_TEMPO_54V8',
+ source = {"type":"VAULT_ACCOUNT","id":"0"},
+ destination = {"type":"VAULT_ACCOUNT","id":"1"},
+ amount = '0.01',
+ treat_as_gross_amount = False,
+ fee_level = 'MEDIUM',
+ travel_rule_message = '{}',
+ travel_rule_message_id = 'trm_12345678-1234-1234-1234-123456789012',
+ use_gasless = True,
+ configurations = fireblocks.models.transaction_configurations.TransactionConfigurations(
+ expires_after_seconds = 3600, ),
+ max_fee_per_gas = '50',
+ max_priority_fee_per_gas = '2',
+ destinations = [{"destination":{"type":"VAULT_ACCOUNT","id":"2"},"amount":"0.01"}],
+ fail_on_low_fee = False,
+ gas_limit = '21000',
+ replace_tx_by_hash = '0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8',
+ fee_payer_account_id = '3',
+ nonce_strategy = 'SEQUENTIAL',
+ nonce_lane = 1,
+ memo = 'invoice-1234'
+ )
+ else:
+ return CreateTempoTransferRequest(
+ asset_id = 'PATHUSD_TEMPO_54V8',
+ source = {"type":"VAULT_ACCOUNT","id":"0"},
+ )
+ """
+
+ def testCreateTempoTransferRequest(self):
+ """Test CreateTempoTransferRequest"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/test/test_allocation_response_reject.py b/test/test_create_tempo_transfer_response.py
similarity index 59%
rename from test/test_allocation_response_reject.py
rename to test/test_create_tempo_transfer_response.py
index 5de975d1..f9cb16ad 100644
--- a/test/test_allocation_response_reject.py
+++ b/test/test_create_tempo_transfer_response.py
@@ -14,11 +14,11 @@
import unittest
-from fireblocks.models.allocation_response_reject import AllocationResponseReject
+from fireblocks.models.create_tempo_transfer_response import CreateTempoTransferResponse
-class TestAllocationResponseReject(unittest.TestCase):
- """AllocationResponseReject unit test stubs"""
+class TestCreateTempoTransferResponse(unittest.TestCase):
+ """CreateTempoTransferResponse unit test stubs"""
def setUp(self):
pass
@@ -26,26 +26,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> AllocationResponseReject:
- """Test AllocationResponseReject
+ def make_instance(self, include_optional) -> CreateTempoTransferResponse:
+ """Test CreateTempoTransferResponse
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `AllocationResponseReject`
+ # uncomment below to create an instance of `CreateTempoTransferResponse`
"""
- model = AllocationResponseReject()
+ model = CreateTempoTransferResponse()
if include_optional:
- return AllocationResponseReject(
- response_type = 'ALLOCATION_REJECT'
+ return CreateTempoTransferResponse(
+ id = 'd5c9a1b2-3e4f-4a5b-8c6d-7e8f9a0b1c2d',
+ status = 'SUBMITTED'
)
else:
- return AllocationResponseReject(
- response_type = 'ALLOCATION_REJECT',
+ return CreateTempoTransferResponse(
)
"""
- def testAllocationResponseReject(self):
- """Test AllocationResponseReject"""
+ def testCreateTempoTransferResponse(self):
+ """Test CreateTempoTransferResponse"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_delete_approval_api_key_response.py b/test/test_delete_approval_api_key_response.py
new file mode 100644
index 00000000..377e9cce
--- /dev/null
+++ b/test/test_delete_approval_api_key_response.py
@@ -0,0 +1,56 @@
+# coding: utf-8
+
+"""
+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
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+""" # noqa: E501
+
+import unittest
+
+from fireblocks.models.delete_approval_api_key_response import (
+ DeleteApprovalApiKeyResponse,
+)
+
+
+class TestDeleteApprovalApiKeyResponse(unittest.TestCase):
+ """DeleteApprovalApiKeyResponse unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> DeleteApprovalApiKeyResponse:
+ """Test DeleteApprovalApiKeyResponse
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included"""
+ # uncomment below to create an instance of `DeleteApprovalApiKeyResponse`
+ """
+ model = DeleteApprovalApiKeyResponse()
+ if include_optional:
+ return DeleteApprovalApiKeyResponse(
+ ccr_id_pending_deletion = '19332'
+ )
+ else:
+ return DeleteApprovalApiKeyResponse(
+ ccr_id_pending_deletion = '19332',
+ )
+ """
+
+ def testDeleteApprovalApiKeyResponse(self):
+ """Test DeleteApprovalApiKeyResponse"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/test/test_allocation_response_accept.py b/test/test_dtcc_onboarding_reject_payload.py
similarity index 60%
rename from test/test_allocation_response_accept.py
rename to test/test_dtcc_onboarding_reject_payload.py
index 709bb30b..5c1f9ec1 100644
--- a/test/test_allocation_response_accept.py
+++ b/test/test_dtcc_onboarding_reject_payload.py
@@ -14,11 +14,11 @@
import unittest
-from fireblocks.models.allocation_response_accept import AllocationResponseAccept
+from fireblocks.models.dtcc_onboarding_reject_payload import DtccOnboardingRejectPayload
-class TestAllocationResponseAccept(unittest.TestCase):
- """AllocationResponseAccept unit test stubs"""
+class TestDtccOnboardingRejectPayload(unittest.TestCase):
+ """DtccOnboardingRejectPayload unit test stubs"""
def setUp(self):
pass
@@ -26,26 +26,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> AllocationResponseAccept:
- """Test AllocationResponseAccept
+ def make_instance(self, include_optional) -> DtccOnboardingRejectPayload:
+ """Test DtccOnboardingRejectPayload
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `AllocationResponseAccept`
+ # uncomment below to create an instance of `DtccOnboardingRejectPayload`
"""
- model = AllocationResponseAccept()
+ model = DtccOnboardingRejectPayload()
if include_optional:
- return AllocationResponseAccept(
- response_type = 'ALLOCATION_ACCEPT'
+ return DtccOnboardingRejectPayload(
+ reason = 'KYC not completed'
)
else:
- return AllocationResponseAccept(
- response_type = 'ALLOCATION_ACCEPT',
+ return DtccOnboardingRejectPayload(
+ reason = 'KYC not completed',
)
"""
- def testAllocationResponseAccept(self):
- """Test AllocationResponseAccept"""
+ def testDtccOnboardingRejectPayload(self):
+ """Test DtccOnboardingRejectPayload"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_end_investor_payload.py b/test/test_end_investor_payload.py
index 38473d5d..0b390255 100644
--- a/test/test_end_investor_payload.py
+++ b/test/test_end_investor_payload.py
@@ -37,13 +37,13 @@ def make_instance(self, include_optional) -> EndInvestorPayload:
if include_optional:
return EndInvestorPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
end_investor = 'investor-party::1220abc…'
)
else:
return EndInvestorPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
end_investor = 'investor-party::1220abc…',
)
"""
diff --git a/test/test_list_approval_api_keys_response.py b/test/test_list_approval_api_keys_response.py
index 7b2099ee..55d0ee60 100644
--- a/test/test_list_approval_api_keys_response.py
+++ b/test/test_list_approval_api_keys_response.py
@@ -38,12 +38,12 @@ def make_instance(self, include_optional) -> ListApprovalApiKeysResponse:
model = ListApprovalApiKeysResponse()
if include_optional:
return ListApprovalApiKeysResponse(
- data = [{"id":"fab543c0-d6be-414c-aa05-5c6c84269d7a","name":"primary signing key","createdAt":"1750000000","lastUsedAt":"1750600000","approvalApiPublicKey":{"algorithm":"ECDSA_SECP256R1","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQ...\n-----END PUBLIC KEY-----"},"userId":"8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94"}],
+ data = [{"id":"fab543c0-d6be-414c-aa05-5c6c84269d7a","name":"primary signing key","createdAt":"1750000000","lastUsedAt":"1750600000","approvalApiPublicKey":{"algorithm":"ECDSA_SECP256R1","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQ...\n-----END PUBLIC KEY-----"},"userId":"8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94","status":"APPROVAL_API_KEY_STATUS_ENABLED"}],
next = 'cursor for the next page'
)
else:
return ListApprovalApiKeysResponse(
- data = [{"id":"fab543c0-d6be-414c-aa05-5c6c84269d7a","name":"primary signing key","createdAt":"1750000000","lastUsedAt":"1750600000","approvalApiPublicKey":{"algorithm":"ECDSA_SECP256R1","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQ...\n-----END PUBLIC KEY-----"},"userId":"8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94"}],
+ data = [{"id":"fab543c0-d6be-414c-aa05-5c6c84269d7a","name":"primary signing key","createdAt":"1750000000","lastUsedAt":"1750600000","approvalApiPublicKey":{"algorithm":"ECDSA_SECP256R1","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQ...\n-----END PUBLIC KEY-----"},"userId":"8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94","status":"APPROVAL_API_KEY_STATUS_ENABLED"}],
)
"""
diff --git a/test/test_offer_response.py b/test/test_offer_response.py
index 110b81f4..b3dfa393 100644
--- a/test/test_offer_response.py
+++ b/test/test_offer_response.py
@@ -36,13 +36,15 @@ def make_instance(self, include_optional) -> OfferResponse:
model = OfferResponse()
if include_optional:
return OfferResponse(
- domain = 'TRANSFER',
- response = None
+ response_type = 'TRANSFER_WITHDRAW',
+ payload = fireblocks.models.dtcc_onboarding_reject_payload.DtccOnboardingRejectPayload(
+ reason = 'KYC not completed', )
)
else:
return OfferResponse(
- domain = 'TRANSFER',
- response = None,
+ response_type = 'TRANSFER_WITHDRAW',
+ payload = fireblocks.models.dtcc_onboarding_reject_payload.DtccOnboardingRejectPayload(
+ reason = 'KYC not completed', ),
)
"""
diff --git a/test/test_offer_response_allocation.py b/test/test_offer_response_allocation_accept.py
similarity index 65%
rename from test/test_offer_response_allocation.py
rename to test/test_offer_response_allocation_accept.py
index d93975e4..61e28669 100644
--- a/test/test_offer_response_allocation.py
+++ b/test/test_offer_response_allocation_accept.py
@@ -14,11 +14,13 @@
import unittest
-from fireblocks.models.offer_response_allocation import OfferResponseAllocation
+from fireblocks.models.offer_response_allocation_accept import (
+ OfferResponseAllocationAccept,
+)
-class TestOfferResponseAllocation(unittest.TestCase):
- """OfferResponseAllocation unit test stubs"""
+class TestOfferResponseAllocationAccept(unittest.TestCase):
+ """OfferResponseAllocationAccept unit test stubs"""
def setUp(self):
pass
@@ -26,28 +28,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OfferResponseAllocation:
- """Test OfferResponseAllocation
+ def make_instance(self, include_optional) -> OfferResponseAllocationAccept:
+ """Test OfferResponseAllocationAccept
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `OfferResponseAllocation`
+ # uncomment below to create an instance of `OfferResponseAllocationAccept`
"""
- model = OfferResponseAllocation()
+ model = OfferResponseAllocationAccept()
if include_optional:
- return OfferResponseAllocation(
- domain = 'ALLOCATION',
- response = None
+ return OfferResponseAllocationAccept(
+ response_type = 'ALLOCATION_ACCEPT'
)
else:
- return OfferResponseAllocation(
- domain = 'ALLOCATION',
- response = None,
+ return OfferResponseAllocationAccept(
+ response_type = 'ALLOCATION_ACCEPT',
)
"""
- def testOfferResponseAllocation(self):
- """Test OfferResponseAllocation"""
+ def testOfferResponseAllocationAccept(self):
+ """Test OfferResponseAllocationAccept"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_allocation_response.py b/test/test_offer_response_allocation_reject.py
similarity index 64%
rename from test/test_allocation_response.py
rename to test/test_offer_response_allocation_reject.py
index 2547bde5..99df044d 100644
--- a/test/test_allocation_response.py
+++ b/test/test_offer_response_allocation_reject.py
@@ -14,11 +14,13 @@
import unittest
-from fireblocks.models.allocation_response import AllocationResponse
+from fireblocks.models.offer_response_allocation_reject import (
+ OfferResponseAllocationReject,
+)
-class TestAllocationResponse(unittest.TestCase):
- """AllocationResponse unit test stubs"""
+class TestOfferResponseAllocationReject(unittest.TestCase):
+ """OfferResponseAllocationReject unit test stubs"""
def setUp(self):
pass
@@ -26,26 +28,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> AllocationResponse:
- """Test AllocationResponse
+ def make_instance(self, include_optional) -> OfferResponseAllocationReject:
+ """Test OfferResponseAllocationReject
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `AllocationResponse`
+ # uncomment below to create an instance of `OfferResponseAllocationReject`
"""
- model = AllocationResponse()
+ model = OfferResponseAllocationReject()
if include_optional:
- return AllocationResponse(
+ return OfferResponseAllocationReject(
response_type = 'ALLOCATION_REJECT'
)
else:
- return AllocationResponse(
+ return OfferResponseAllocationReject(
response_type = 'ALLOCATION_REJECT',
)
"""
- def testAllocationResponse(self):
- """Test AllocationResponse"""
+ def testOfferResponseAllocationReject(self):
+ """Test OfferResponseAllocationReject"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_onboarding_response_dtcc_accept.py b/test/test_offer_response_dtcc_onboarding_accept.py
similarity index 63%
rename from test/test_onboarding_response_dtcc_accept.py
rename to test/test_offer_response_dtcc_onboarding_accept.py
index 49924e9f..97566e30 100644
--- a/test/test_onboarding_response_dtcc_accept.py
+++ b/test/test_offer_response_dtcc_onboarding_accept.py
@@ -14,13 +14,13 @@
import unittest
-from fireblocks.models.onboarding_response_dtcc_accept import (
- OnboardingResponseDtccAccept,
+from fireblocks.models.offer_response_dtcc_onboarding_accept import (
+ OfferResponseDtccOnboardingAccept,
)
-class TestOnboardingResponseDtccAccept(unittest.TestCase):
- """OnboardingResponseDtccAccept unit test stubs"""
+class TestOfferResponseDtccOnboardingAccept(unittest.TestCase):
+ """OfferResponseDtccOnboardingAccept unit test stubs"""
def setUp(self):
pass
@@ -28,26 +28,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OnboardingResponseDtccAccept:
- """Test OnboardingResponseDtccAccept
+ def make_instance(self, include_optional) -> OfferResponseDtccOnboardingAccept:
+ """Test OfferResponseDtccOnboardingAccept
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `OnboardingResponseDtccAccept`
+ # uncomment below to create an instance of `OfferResponseDtccOnboardingAccept`
"""
- model = OnboardingResponseDtccAccept()
+ model = OfferResponseDtccOnboardingAccept()
if include_optional:
- return OnboardingResponseDtccAccept(
+ return OfferResponseDtccOnboardingAccept(
response_type = 'DTCC_END_INVESTOR_ONBOARDING_ACCEPT'
)
else:
- return OnboardingResponseDtccAccept(
+ return OfferResponseDtccOnboardingAccept(
response_type = 'DTCC_END_INVESTOR_ONBOARDING_ACCEPT',
)
"""
- def testOnboardingResponseDtccAccept(self):
- """Test OnboardingResponseDtccAccept"""
+ def testOfferResponseDtccOnboardingAccept(self):
+ """Test OfferResponseDtccOnboardingAccept"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_onboarding_response_dtcc_reject.py b/test/test_offer_response_dtcc_onboarding_reject.py
similarity index 54%
rename from test/test_onboarding_response_dtcc_reject.py
rename to test/test_offer_response_dtcc_onboarding_reject.py
index e75d2be3..67eed107 100644
--- a/test/test_onboarding_response_dtcc_reject.py
+++ b/test/test_offer_response_dtcc_onboarding_reject.py
@@ -14,13 +14,13 @@
import unittest
-from fireblocks.models.onboarding_response_dtcc_reject import (
- OnboardingResponseDtccReject,
+from fireblocks.models.offer_response_dtcc_onboarding_reject import (
+ OfferResponseDtccOnboardingReject,
)
-class TestOnboardingResponseDtccReject(unittest.TestCase):
- """OnboardingResponseDtccReject unit test stubs"""
+class TestOfferResponseDtccOnboardingReject(unittest.TestCase):
+ """OfferResponseDtccOnboardingReject unit test stubs"""
def setUp(self):
pass
@@ -28,28 +28,30 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OnboardingResponseDtccReject:
- """Test OnboardingResponseDtccReject
+ def make_instance(self, include_optional) -> OfferResponseDtccOnboardingReject:
+ """Test OfferResponseDtccOnboardingReject
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `OnboardingResponseDtccReject`
+ # uncomment below to create an instance of `OfferResponseDtccOnboardingReject`
"""
- model = OnboardingResponseDtccReject()
+ model = OfferResponseDtccOnboardingReject()
if include_optional:
- return OnboardingResponseDtccReject(
+ return OfferResponseDtccOnboardingReject(
response_type = 'DTCC_END_INVESTOR_ONBOARDING_REJECT',
- reason = 'KYC not completed'
+ payload = fireblocks.models.dtcc_onboarding_reject_payload.DtccOnboardingRejectPayload(
+ reason = 'KYC not completed', )
)
else:
- return OnboardingResponseDtccReject(
+ return OfferResponseDtccOnboardingReject(
response_type = 'DTCC_END_INVESTOR_ONBOARDING_REJECT',
- reason = 'KYC not completed',
+ payload = fireblocks.models.dtcc_onboarding_reject_payload.DtccOnboardingRejectPayload(
+ reason = 'KYC not completed', ),
)
"""
- def testOnboardingResponseDtccReject(self):
- """Test OnboardingResponseDtccReject"""
+ def testOfferResponseDtccOnboardingReject(self):
+ """Test OfferResponseDtccOnboardingReject"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_onboarding_response_tradeweb_accept.py b/test/test_offer_response_tradeweb_accept.py
similarity index 63%
rename from test/test_onboarding_response_tradeweb_accept.py
rename to test/test_offer_response_tradeweb_accept.py
index 32b75b94..c0881ad9 100644
--- a/test/test_onboarding_response_tradeweb_accept.py
+++ b/test/test_offer_response_tradeweb_accept.py
@@ -14,13 +14,11 @@
import unittest
-from fireblocks.models.onboarding_response_tradeweb_accept import (
- OnboardingResponseTradewebAccept,
-)
+from fireblocks.models.offer_response_tradeweb_accept import OfferResponseTradewebAccept
-class TestOnboardingResponseTradewebAccept(unittest.TestCase):
- """OnboardingResponseTradewebAccept unit test stubs"""
+class TestOfferResponseTradewebAccept(unittest.TestCase):
+ """OfferResponseTradewebAccept unit test stubs"""
def setUp(self):
pass
@@ -28,26 +26,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OnboardingResponseTradewebAccept:
- """Test OnboardingResponseTradewebAccept
+ def make_instance(self, include_optional) -> OfferResponseTradewebAccept:
+ """Test OfferResponseTradewebAccept
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `OnboardingResponseTradewebAccept`
+ # uncomment below to create an instance of `OfferResponseTradewebAccept`
"""
- model = OnboardingResponseTradewebAccept()
+ model = OfferResponseTradewebAccept()
if include_optional:
- return OnboardingResponseTradewebAccept(
+ return OfferResponseTradewebAccept(
response_type = 'TRADEWEB_COSIGNING_DELEGATION_ACCEPT'
)
else:
- return OnboardingResponseTradewebAccept(
+ return OfferResponseTradewebAccept(
response_type = 'TRADEWEB_COSIGNING_DELEGATION_ACCEPT',
)
"""
- def testOnboardingResponseTradewebAccept(self):
- """Test OnboardingResponseTradewebAccept"""
+ def testOfferResponseTradewebAccept(self):
+ """Test OfferResponseTradewebAccept"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_onboarding_response.py b/test/test_offer_response_tradeweb_reject.py
similarity index 65%
rename from test/test_onboarding_response.py
rename to test/test_offer_response_tradeweb_reject.py
index 4a0ecd0f..3d36334f 100644
--- a/test/test_onboarding_response.py
+++ b/test/test_offer_response_tradeweb_reject.py
@@ -14,11 +14,11 @@
import unittest
-from fireblocks.models.onboarding_response import OnboardingResponse
+from fireblocks.models.offer_response_tradeweb_reject import OfferResponseTradewebReject
-class TestOnboardingResponse(unittest.TestCase):
- """OnboardingResponse unit test stubs"""
+class TestOfferResponseTradewebReject(unittest.TestCase):
+ """OfferResponseTradewebReject unit test stubs"""
def setUp(self):
pass
@@ -26,28 +26,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OnboardingResponse:
- """Test OnboardingResponse
+ def make_instance(self, include_optional) -> OfferResponseTradewebReject:
+ """Test OfferResponseTradewebReject
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `OnboardingResponse`
+ # uncomment below to create an instance of `OfferResponseTradewebReject`
"""
- model = OnboardingResponse()
+ model = OfferResponseTradewebReject()
if include_optional:
- return OnboardingResponse(
- response_type = 'TRADEWEB_COSIGNING_DELEGATION_REJECT',
- reason = 'KYC not completed'
+ return OfferResponseTradewebReject(
+ response_type = 'TRADEWEB_COSIGNING_DELEGATION_REJECT'
)
else:
- return OnboardingResponse(
+ return OfferResponseTradewebReject(
response_type = 'TRADEWEB_COSIGNING_DELEGATION_REJECT',
- reason = 'KYC not completed',
)
"""
- def testOnboardingResponse(self):
- """Test OnboardingResponse"""
+ def testOfferResponseTradewebReject(self):
+ """Test OfferResponseTradewebReject"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_offer_response_transfer.py b/test/test_offer_response_transfer_accept.py
similarity index 70%
rename from test/test_offer_response_transfer.py
rename to test/test_offer_response_transfer_accept.py
index 44be1919..38673fc1 100644
--- a/test/test_offer_response_transfer.py
+++ b/test/test_offer_response_transfer_accept.py
@@ -14,11 +14,11 @@
import unittest
-from fireblocks.models.offer_response_transfer import OfferResponseTransfer
+from fireblocks.models.offer_response_transfer_accept import OfferResponseTransferAccept
-class TestOfferResponseTransfer(unittest.TestCase):
- """OfferResponseTransfer unit test stubs"""
+class TestOfferResponseTransferAccept(unittest.TestCase):
+ """OfferResponseTransferAccept unit test stubs"""
def setUp(self):
pass
@@ -26,28 +26,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OfferResponseTransfer:
- """Test OfferResponseTransfer
+ def make_instance(self, include_optional) -> OfferResponseTransferAccept:
+ """Test OfferResponseTransferAccept
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `OfferResponseTransfer`
+ # uncomment below to create an instance of `OfferResponseTransferAccept`
"""
- model = OfferResponseTransfer()
+ model = OfferResponseTransferAccept()
if include_optional:
- return OfferResponseTransfer(
- domain = 'TRANSFER',
- response = None
+ return OfferResponseTransferAccept(
+ response_type = 'TRANSFER_ACCEPT'
)
else:
- return OfferResponseTransfer(
- domain = 'TRANSFER',
- response = None,
+ return OfferResponseTransferAccept(
+ response_type = 'TRANSFER_ACCEPT',
)
"""
- def testOfferResponseTransfer(self):
- """Test OfferResponseTransfer"""
+ def testOfferResponseTransferAccept(self):
+ """Test OfferResponseTransferAccept"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_transfer_response_reject.py b/test/test_offer_response_transfer_reject.py
similarity index 65%
rename from test/test_transfer_response_reject.py
rename to test/test_offer_response_transfer_reject.py
index 7800112a..23198178 100644
--- a/test/test_transfer_response_reject.py
+++ b/test/test_offer_response_transfer_reject.py
@@ -14,11 +14,11 @@
import unittest
-from fireblocks.models.transfer_response_reject import TransferResponseReject
+from fireblocks.models.offer_response_transfer_reject import OfferResponseTransferReject
-class TestTransferResponseReject(unittest.TestCase):
- """TransferResponseReject unit test stubs"""
+class TestOfferResponseTransferReject(unittest.TestCase):
+ """OfferResponseTransferReject unit test stubs"""
def setUp(self):
pass
@@ -26,26 +26,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> TransferResponseReject:
- """Test TransferResponseReject
+ def make_instance(self, include_optional) -> OfferResponseTransferReject:
+ """Test OfferResponseTransferReject
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `TransferResponseReject`
+ # uncomment below to create an instance of `OfferResponseTransferReject`
"""
- model = TransferResponseReject()
+ model = OfferResponseTransferReject()
if include_optional:
- return TransferResponseReject(
+ return OfferResponseTransferReject(
response_type = 'TRANSFER_REJECT'
)
else:
- return TransferResponseReject(
+ return OfferResponseTransferReject(
response_type = 'TRANSFER_REJECT',
)
"""
- def testTransferResponseReject(self):
- """Test TransferResponseReject"""
+ def testOfferResponseTransferReject(self):
+ """Test OfferResponseTransferReject"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_offer_response_onboarding.py b/test/test_offer_response_transfer_withdraw.py
similarity index 62%
rename from test/test_offer_response_onboarding.py
rename to test/test_offer_response_transfer_withdraw.py
index f6f0ebb7..2cb9b803 100644
--- a/test/test_offer_response_onboarding.py
+++ b/test/test_offer_response_transfer_withdraw.py
@@ -14,11 +14,13 @@
import unittest
-from fireblocks.models.offer_response_onboarding import OfferResponseOnboarding
+from fireblocks.models.offer_response_transfer_withdraw import (
+ OfferResponseTransferWithdraw,
+)
-class TestOfferResponseOnboarding(unittest.TestCase):
- """OfferResponseOnboarding unit test stubs"""
+class TestOfferResponseTransferWithdraw(unittest.TestCase):
+ """OfferResponseTransferWithdraw unit test stubs"""
def setUp(self):
pass
@@ -26,28 +28,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OfferResponseOnboarding:
- """Test OfferResponseOnboarding
+ def make_instance(self, include_optional) -> OfferResponseTransferWithdraw:
+ """Test OfferResponseTransferWithdraw
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `OfferResponseOnboarding`
+ # uncomment below to create an instance of `OfferResponseTransferWithdraw`
"""
- model = OfferResponseOnboarding()
+ model = OfferResponseTransferWithdraw()
if include_optional:
- return OfferResponseOnboarding(
- domain = 'ONBOARDING',
- response = None
+ return OfferResponseTransferWithdraw(
+ response_type = 'TRANSFER_WITHDRAW'
)
else:
- return OfferResponseOnboarding(
- domain = 'ONBOARDING',
- response = None,
+ return OfferResponseTransferWithdraw(
+ response_type = 'TRANSFER_WITHDRAW',
)
"""
- def testOfferResponseOnboarding(self):
- """Test OfferResponseOnboarding"""
+ def testOfferResponseTransferWithdraw(self):
+ """Test OfferResponseTransferWithdraw"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_participant_onboarding_payload.py b/test/test_participant_onboarding_payload.py
index e6032038..e1b047fc 100644
--- a/test/test_participant_onboarding_payload.py
+++ b/test/test_participant_onboarding_payload.py
@@ -39,7 +39,7 @@ def make_instance(self, include_optional) -> ParticipantOnboardingPayload:
if include_optional:
return ParticipantOnboardingPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
expires_at = '2026-12-31T23:59:59Z',
operator = 'dtcc-operator::1220abc…',
compliance = 'dtcc-compliance::1220abc…',
@@ -50,7 +50,7 @@ def make_instance(self, include_optional) -> ParticipantOnboardingPayload:
else:
return ParticipantOnboardingPayload(
vault_account_id = '12',
- asset = 'CANTON',
+ blockchain_id = 'CANTON',
operator = 'dtcc-operator::1220abc…',
compliance = 'dtcc-compliance::1220abc…',
registrar = 'dtcc-registrar::1220abc…',
diff --git a/test/test_register_approval_api_key_response.py b/test/test_register_approval_api_key_response.py
index 4fd5679c..2eb28003 100644
--- a/test/test_register_approval_api_key_response.py
+++ b/test/test_register_approval_api_key_response.py
@@ -38,11 +38,13 @@ def make_instance(self, include_optional) -> RegisterApprovalApiKeyResponse:
model = RegisterApprovalApiKeyResponse()
if include_optional:
return RegisterApprovalApiKeyResponse(
- key_id = 'fab543c0-d6be-414c-aa05-5c6c84269d7a'
+ key_id = 'fab543c0-d6be-414c-aa05-5c6c84269d7a',
+ ccr_id_pending_registration = '19331'
)
else:
return RegisterApprovalApiKeyResponse(
key_id = 'fab543c0-d6be-414c-aa05-5c6c84269d7a',
+ ccr_id_pending_registration = '19331',
)
"""
diff --git a/test/test_tempo_beta_api.py b/test/test_tempo_beta_api.py
new file mode 100644
index 00000000..b5c0f9aa
--- /dev/null
+++ b/test/test_tempo_beta_api.py
@@ -0,0 +1,38 @@
+# coding: utf-8
+
+"""
+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
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+""" # noqa: E501
+
+import unittest
+
+from fireblocks.api.tempo_beta_api import TempoBetaApi
+
+
+class TestTempoBetaApi(unittest.TestCase):
+ """TempoBetaApi unit test stubs"""
+
+ def setUp(self) -> None:
+ self.api = TempoBetaApi()
+
+ def tearDown(self) -> None:
+ pass
+
+ def test_create_tempo_transfer(self) -> None:
+ """Test case for create_tempo_transfer
+
+ Create a Tempo transfer transaction
+ """
+ pass
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/test/test_tempo_transfer_destination.py b/test/test_tempo_transfer_destination.py
new file mode 100644
index 00000000..18a08d09
--- /dev/null
+++ b/test/test_tempo_transfer_destination.py
@@ -0,0 +1,58 @@
+# coding: utf-8
+
+"""
+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
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+""" # noqa: E501
+
+import unittest
+
+from fireblocks.models.tempo_transfer_destination import TempoTransferDestination
+
+
+class TestTempoTransferDestination(unittest.TestCase):
+ """TempoTransferDestination unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> TempoTransferDestination:
+ """Test TempoTransferDestination
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included"""
+ # uncomment below to create an instance of `TempoTransferDestination`
+ """
+ model = TempoTransferDestination()
+ if include_optional:
+ return TempoTransferDestination(
+ type = 'VAULT_ACCOUNT',
+ id = '1',
+ one_time_address = fireblocks.models.one_time_address.OneTimeAddress(
+ address = '',
+ tag = '', )
+ )
+ else:
+ return TempoTransferDestination(
+ type = 'VAULT_ACCOUNT',
+ )
+ """
+
+ def testTempoTransferDestination(self):
+ """Test TempoTransferDestination"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/test/test_onboarding_response_tradeweb_reject.py b/test/test_tempo_transfer_destination_item.py
similarity index 55%
rename from test/test_onboarding_response_tradeweb_reject.py
rename to test/test_tempo_transfer_destination_item.py
index 564802c1..454d17eb 100644
--- a/test/test_onboarding_response_tradeweb_reject.py
+++ b/test/test_tempo_transfer_destination_item.py
@@ -14,13 +14,13 @@
import unittest
-from fireblocks.models.onboarding_response_tradeweb_reject import (
- OnboardingResponseTradewebReject,
+from fireblocks.models.tempo_transfer_destination_item import (
+ TempoTransferDestinationItem,
)
-class TestOnboardingResponseTradewebReject(unittest.TestCase):
- """OnboardingResponseTradewebReject unit test stubs"""
+class TestTempoTransferDestinationItem(unittest.TestCase):
+ """TempoTransferDestinationItem unit test stubs"""
def setUp(self):
pass
@@ -28,26 +28,28 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OnboardingResponseTradewebReject:
- """Test OnboardingResponseTradewebReject
+ def make_instance(self, include_optional) -> TempoTransferDestinationItem:
+ """Test TempoTransferDestinationItem
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `OnboardingResponseTradewebReject`
+ # uncomment below to create an instance of `TempoTransferDestinationItem`
"""
- model = OnboardingResponseTradewebReject()
+ model = TempoTransferDestinationItem()
if include_optional:
- return OnboardingResponseTradewebReject(
- response_type = 'TRADEWEB_COSIGNING_DELEGATION_REJECT'
+ return TempoTransferDestinationItem(
+ amount = '0.01',
+ destination = {"type":"VAULT_ACCOUNT","id":"1"},
+ travel_rule_message_id = 'trm_12345678-1234-1234-1234-123456789012',
+ customer_ref_id = 'abcdef'
)
else:
- return OnboardingResponseTradewebReject(
- response_type = 'TRADEWEB_COSIGNING_DELEGATION_REJECT',
+ return TempoTransferDestinationItem(
)
"""
- def testOnboardingResponseTradewebReject(self):
- """Test OnboardingResponseTradewebReject"""
+ def testTempoTransferDestinationItem(self):
+ """Test TempoTransferDestinationItem"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_transfer_response.py b/test/test_tempo_transfer_source.py
similarity index 61%
rename from test/test_transfer_response.py
rename to test/test_tempo_transfer_source.py
index 9c48ad0a..79dbe6c9 100644
--- a/test/test_transfer_response.py
+++ b/test/test_tempo_transfer_source.py
@@ -14,11 +14,11 @@
import unittest
-from fireblocks.models.transfer_response import TransferResponse
+from fireblocks.models.tempo_transfer_source import TempoTransferSource
-class TestTransferResponse(unittest.TestCase):
- """TransferResponse unit test stubs"""
+class TestTempoTransferSource(unittest.TestCase):
+ """TempoTransferSource unit test stubs"""
def setUp(self):
pass
@@ -26,26 +26,28 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> TransferResponse:
- """Test TransferResponse
+ def make_instance(self, include_optional) -> TempoTransferSource:
+ """Test TempoTransferSource
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included"""
- # uncomment below to create an instance of `TransferResponse`
+ # uncomment below to create an instance of `TempoTransferSource`
"""
- model = TransferResponse()
+ model = TempoTransferSource()
if include_optional:
- return TransferResponse(
- response_type = 'TRANSFER_REJECT'
+ return TempoTransferSource(
+ type = 'VAULT_ACCOUNT',
+ id = '0',
+ wallet_id = 'wallet-1'
)
else:
- return TransferResponse(
- response_type = 'TRANSFER_REJECT',
+ return TempoTransferSource(
+ type = 'VAULT_ACCOUNT',
)
"""
- def testTransferResponse(self):
- """Test TransferResponse"""
+ def testTempoTransferSource(self):
+ """Test TempoTransferSource"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/test/test_transfer_response_accept.py b/test/test_transfer_response_accept.py
deleted file mode 100644
index 71d30a7d..00000000
--- a/test/test_transfer_response_accept.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# coding: utf-8
-
-"""
-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
-Generated by OpenAPI Generator (https://openapi-generator.tech)
-
-Do not edit the class manually.
-""" # noqa: E501
-
-import unittest
-
-from fireblocks.models.transfer_response_accept import TransferResponseAccept
-
-
-class TestTransferResponseAccept(unittest.TestCase):
- """TransferResponseAccept unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> TransferResponseAccept:
- """Test TransferResponseAccept
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included"""
- # uncomment below to create an instance of `TransferResponseAccept`
- """
- model = TransferResponseAccept()
- if include_optional:
- return TransferResponseAccept(
- response_type = 'TRANSFER_ACCEPT'
- )
- else:
- return TransferResponseAccept(
- response_type = 'TRANSFER_ACCEPT',
- )
- """
-
- def testTransferResponseAccept(self):
- """Test TransferResponseAccept"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/test/test_transfer_withdraw_payload.py b/test/test_transfer_withdraw_payload.py
deleted file mode 100644
index 0741c556..00000000
--- a/test/test_transfer_withdraw_payload.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# coding: utf-8
-
-"""
-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
-Generated by OpenAPI Generator (https://openapi-generator.tech)
-
-Do not edit the class manually.
-""" # noqa: E501
-
-import unittest
-
-from fireblocks.models.transfer_withdraw_payload import TransferWithdrawPayload
-
-
-class TestTransferWithdrawPayload(unittest.TestCase):
- """TransferWithdrawPayload unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> TransferWithdrawPayload:
- """Test TransferWithdrawPayload
- include_optional is a boolean, when False only required
- params are included, when True both required and
- optional params are included"""
- # uncomment below to create an instance of `TransferWithdrawPayload`
- """
- model = TransferWithdrawPayload()
- if include_optional:
- return TransferWithdrawPayload(
- vault_account_id = '12',
- asset = 'CANTON',
- offer_transaction_id = '2d47ae90-31bb-4f6c-8a17-7e0c5b9f2d63'
- )
- else:
- return TransferWithdrawPayload(
- vault_account_id = '12',
- asset = 'CANTON',
- offer_transaction_id = '2d47ae90-31bb-4f6c-8a17-7e0c5b9f2d63',
- )
- """
-
- def testTransferWithdrawPayload(self):
- """Test TransferWithdrawPayload"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/test/test_update_connected_account_credentials_request.py b/test/test_update_connected_account_credentials_request.py
index 51c36125..7161c399 100644
--- a/test/test_update_connected_account_credentials_request.py
+++ b/test/test_update_connected_account_credentials_request.py
@@ -40,12 +40,12 @@ def make_instance(
model = UpdateConnectedAccountCredentialsRequest()
if include_optional:
return UpdateConnectedAccountCredentialsRequest(
- creds = '[B@490c96c1',
+ creds = '[B@7fdb0e8e',
api_key = 'api_key_new_abc123'
)
else:
return UpdateConnectedAccountCredentialsRequest(
- creds = '[B@490c96c1',
+ creds = '[B@7fdb0e8e',
api_key = 'api_key_new_abc123',
)
"""
diff --git a/test/test_vaults_api.py b/test/test_vaults_api.py
index 0c92e303..c41e4d65 100644
--- a/test/test_vaults_api.py
+++ b/test/test_vaults_api.py
@@ -229,6 +229,13 @@ def test_lookup_vault_by_address(self) -> None:
"""
pass
+ def test_register_tempo_omnibus_wallet(self) -> None:
+ """Test case for register_tempo_omnibus_wallet
+
+ Register a Tempo omnibus wallet
+ """
+ pass
+
def test_set_customer_ref_id_for_address(self) -> None:
"""Test case for set_customer_ref_id_for_address