From df8340b7d78e359b34def98e7764e6add12e493e Mon Sep 17 00:00:00 2001 From: fireblocks_dx_team Date: Mon, 18 Aug 2025 13:55:07 +0000 Subject: [PATCH] Generated SDK #3302 --- .openapi-generator/FILES | 63 + README.md | 29 + docs/AdapterProcessingResult.md | 30 + docs/ChannelDvnConfigWithConfirmations.md | 30 + ...DvnConfigWithConfirmationsReceiveConfig.md | 32 + ...nelDvnConfigWithConfirmationsSendConfig.md | 32 + docs/DeployLayerZeroAdaptersRequest.md | 35 + docs/DvnConfig.md | 31 + docs/DvnConfigWithConfirmations.md | 32 + docs/FeeInfo.md | 1 + docs/GetLayerZeroDvnConfigResponse.md | 30 + docs/GetLayerZeroPeersResponse.md | 31 + docs/LayerZeroAdapterCreateParams.md | 32 + docs/PeerAdapterInfo.md | 31 + docs/RemoveLayerZeroAdapterFailedResult.md | 29 + docs/RemoveLayerZeroAdaptersRequest.md | 30 + docs/RemoveLayerZeroAdaptersResponse.md | 30 + docs/RemoveLayerZeroPeersRequest.md | 32 + docs/RemoveLayerZeroPeersResponse.md | 29 + docs/SetLayerZeroDvnConfigRequest.md | 33 + docs/SetLayerZeroDvnConfigResponse.md | 29 + docs/SetLayerZeroPeersRequest.md | 32 + docs/SetLayerZeroPeersResponse.md | 29 + docs/TokenizationApi.md | 644 ++++++ docs/ValidateLayerZeroChannelResponse.md | 30 + fireblocks/__init__.py | 51 +- fireblocks/api/tokenization_api.py | 1770 ++++++++++++++--- fireblocks/configuration.py | 2 +- fireblocks/models/__init__.py | 21 + .../models/adapter_processing_result.py | 90 + .../channel_dvn_config_with_confirmations.py | 98 + ...onfig_with_confirmations_receive_config.py | 95 + ...n_config_with_confirmations_send_config.py | 95 + .../deploy_layer_zero_adapters_request.py | 119 ++ fireblocks/models/dvn_config.py | 93 + .../models/dvn_config_with_confirmations.py | 95 + fireblocks/models/fee_info.py | 6 +- .../get_layer_zero_dvn_config_response.py | 99 + .../models/get_layer_zero_peers_response.py | 100 + .../layer_zero_adapter_create_params.py | 94 + fireblocks/models/peer_adapter_info.py | 92 + ...remove_layer_zero_adapter_failed_result.py | 88 + .../remove_layer_zero_adapters_request.py | 91 + .../remove_layer_zero_adapters_response.py | 98 + .../models/remove_layer_zero_peers_request.py | 95 + .../remove_layer_zero_peers_response.py | 89 + .../set_layer_zero_dvn_config_request.py | 103 + .../set_layer_zero_dvn_config_response.py | 88 + .../models/set_layer_zero_peers_request.py | 95 + .../models/set_layer_zero_peers_response.py | 89 + .../validate_layer_zero_channel_response.py | 90 + pyproject.toml | 2 +- setup.py | 2 +- test/test_adapter_processing_result.py | 57 + ...t_channel_dvn_config_with_confirmations.py | 57 + ...onfig_with_confirmations_receive_config.py | 64 + ...n_config_with_confirmations_send_config.py | 64 + ...test_deploy_layer_zero_adapters_request.py | 76 + test/test_dvn_config.py | 58 + test/test_dvn_config_with_confirmations.py | 60 + test/test_fee_info.py | 3 +- ...test_get_layer_zero_dvn_config_response.py | 67 + test/test_get_layer_zero_peers_response.py | 59 + test/test_layer_zero_adapter_create_params.py | 63 + test/test_peer_adapter_info.py | 59 + ...remove_layer_zero_adapter_failed_result.py | 57 + ...test_remove_layer_zero_adapters_request.py | 59 + ...est_remove_layer_zero_adapters_response.py | 69 + test/test_remove_layer_zero_peers_request.py | 63 + test/test_remove_layer_zero_peers_response.py | 57 + .../test_set_layer_zero_dvn_config_request.py | 77 + ...test_set_layer_zero_dvn_config_response.py | 61 + test/test_set_layer_zero_peers_request.py | 61 + test/test_set_layer_zero_peers_response.py | 55 + test/test_tokenization_api.py | 56 + test/test_transaction_response.py | 3 +- ...st_validate_layer_zero_channel_response.py | 59 + 77 files changed, 6300 insertions(+), 300 deletions(-) create mode 100644 docs/AdapterProcessingResult.md create mode 100644 docs/ChannelDvnConfigWithConfirmations.md create mode 100644 docs/ChannelDvnConfigWithConfirmationsReceiveConfig.md create mode 100644 docs/ChannelDvnConfigWithConfirmationsSendConfig.md create mode 100644 docs/DeployLayerZeroAdaptersRequest.md create mode 100644 docs/DvnConfig.md create mode 100644 docs/DvnConfigWithConfirmations.md create mode 100644 docs/GetLayerZeroDvnConfigResponse.md create mode 100644 docs/GetLayerZeroPeersResponse.md create mode 100644 docs/LayerZeroAdapterCreateParams.md create mode 100644 docs/PeerAdapterInfo.md create mode 100644 docs/RemoveLayerZeroAdapterFailedResult.md create mode 100644 docs/RemoveLayerZeroAdaptersRequest.md create mode 100644 docs/RemoveLayerZeroAdaptersResponse.md create mode 100644 docs/RemoveLayerZeroPeersRequest.md create mode 100644 docs/RemoveLayerZeroPeersResponse.md create mode 100644 docs/SetLayerZeroDvnConfigRequest.md create mode 100644 docs/SetLayerZeroDvnConfigResponse.md create mode 100644 docs/SetLayerZeroPeersRequest.md create mode 100644 docs/SetLayerZeroPeersResponse.md create mode 100644 docs/ValidateLayerZeroChannelResponse.md create mode 100644 fireblocks/models/adapter_processing_result.py create mode 100644 fireblocks/models/channel_dvn_config_with_confirmations.py create mode 100644 fireblocks/models/channel_dvn_config_with_confirmations_receive_config.py create mode 100644 fireblocks/models/channel_dvn_config_with_confirmations_send_config.py create mode 100644 fireblocks/models/deploy_layer_zero_adapters_request.py create mode 100644 fireblocks/models/dvn_config.py create mode 100644 fireblocks/models/dvn_config_with_confirmations.py create mode 100644 fireblocks/models/get_layer_zero_dvn_config_response.py create mode 100644 fireblocks/models/get_layer_zero_peers_response.py create mode 100644 fireblocks/models/layer_zero_adapter_create_params.py create mode 100644 fireblocks/models/peer_adapter_info.py create mode 100644 fireblocks/models/remove_layer_zero_adapter_failed_result.py create mode 100644 fireblocks/models/remove_layer_zero_adapters_request.py create mode 100644 fireblocks/models/remove_layer_zero_adapters_response.py create mode 100644 fireblocks/models/remove_layer_zero_peers_request.py create mode 100644 fireblocks/models/remove_layer_zero_peers_response.py create mode 100644 fireblocks/models/set_layer_zero_dvn_config_request.py create mode 100644 fireblocks/models/set_layer_zero_dvn_config_response.py create mode 100644 fireblocks/models/set_layer_zero_peers_request.py create mode 100644 fireblocks/models/set_layer_zero_peers_response.py create mode 100644 fireblocks/models/validate_layer_zero_channel_response.py create mode 100644 test/test_adapter_processing_result.py create mode 100644 test/test_channel_dvn_config_with_confirmations.py create mode 100644 test/test_channel_dvn_config_with_confirmations_receive_config.py create mode 100644 test/test_channel_dvn_config_with_confirmations_send_config.py create mode 100644 test/test_deploy_layer_zero_adapters_request.py create mode 100644 test/test_dvn_config.py create mode 100644 test/test_dvn_config_with_confirmations.py create mode 100644 test/test_get_layer_zero_dvn_config_response.py create mode 100644 test/test_get_layer_zero_peers_response.py create mode 100644 test/test_layer_zero_adapter_create_params.py create mode 100644 test/test_peer_adapter_info.py create mode 100644 test/test_remove_layer_zero_adapter_failed_result.py create mode 100644 test/test_remove_layer_zero_adapters_request.py create mode 100644 test/test_remove_layer_zero_adapters_response.py create mode 100644 test/test_remove_layer_zero_peers_request.py create mode 100644 test/test_remove_layer_zero_peers_response.py create mode 100644 test/test_set_layer_zero_dvn_config_request.py create mode 100644 test/test_set_layer_zero_dvn_config_response.py create mode 100644 test/test_set_layer_zero_peers_request.py create mode 100644 test/test_set_layer_zero_peers_response.py create mode 100644 test/test_validate_layer_zero_channel_response.py diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 01947ed6..684b042d 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -6,6 +6,7 @@ docs/APIUser.md docs/AbiFunction.md docs/Account.md docs/AccountType.md +docs/AdapterProcessingResult.md docs/AddAbiRequestDto.md docs/AddAssetToExternalWalletRequest.md docs/AddAssetToExternalWalletRequestOneOf.md @@ -76,6 +77,9 @@ docs/CallbackHandlerRequest.md docs/CancelTransactionResponse.md docs/ChainDescriptor.md docs/ChainInfoResponse.md +docs/ChannelDvnConfigWithConfirmations.md +docs/ChannelDvnConfigWithConfirmationsReceiveConfig.md +docs/ChannelDvnConfigWithConfirmationsSendConfig.md docs/ClaimRewardsRequest.md docs/CollectionBurnRequestDto.md docs/CollectionBurnResponseDto.md @@ -185,6 +189,7 @@ docs/Delegation.md docs/DelegationSummary.md docs/DeleteNetworkConnectionResponse.md docs/DeleteNetworkIdResponse.md +docs/DeployLayerZeroAdaptersRequest.md docs/DeployableAddressResponse.md docs/DeployedContractNotFoundError.md docs/DeployedContractResponseDto.md @@ -215,6 +220,8 @@ docs/DraftResponse.md docs/DraftReviewAndValidationResponse.md docs/DropTransactionRequest.md docs/DropTransactionResponse.md +docs/DvnConfig.md +docs/DvnConfigWithConfirmations.md docs/EVMTokenCreateParamsDto.md docs/EditGasStationConfigurationResponse.md docs/EmbeddedWallet.md @@ -281,6 +288,8 @@ docs/GetConsoleUsersResponse.md docs/GetDeployableAddressRequest.md docs/GetExchangeAccountsCredentialsPublicKeyResponse.md docs/GetFilterParameter.md +docs/GetLayerZeroDvnConfigResponse.md +docs/GetLayerZeroPeersResponse.md docs/GetLinkedCollectionsPaginatedResponse.md docs/GetMaxSpendableAmountResponse.md docs/GetMpcKeysResponse.md @@ -303,6 +312,7 @@ docs/JobCreated.md docs/JobManagementApi.md docs/KeyLinkBetaApi.md docs/KeysBetaApi.md +docs/LayerZeroAdapterCreateParams.md docs/LeanAbiFunction.md docs/LeanContractDto.md docs/LeanDeployedContractResponseDto.md @@ -370,6 +380,7 @@ docs/PayoutInstructionState.md docs/PayoutResponse.md docs/PayoutState.md docs/PayoutStatus.md +docs/PeerAdapterInfo.md docs/Players.md docs/PolicyAndValidationResponse.md docs/PolicyCheckResult.md @@ -413,6 +424,11 @@ docs/ReissueMultichainTokenRequest.md docs/RelatedRequest.md docs/RelatedTransaction.md docs/RemoveCollateralRequestBody.md +docs/RemoveLayerZeroAdapterFailedResult.md +docs/RemoveLayerZeroAdaptersRequest.md +docs/RemoveLayerZeroAdaptersResponse.md +docs/RemoveLayerZeroPeersRequest.md +docs/RemoveLayerZeroPeersResponse.md docs/RenameCosigner.md docs/RenameVaultAccountResponse.md docs/RescanTransaction.md @@ -451,6 +467,10 @@ docs/SetConfirmationsThresholdRequest.md docs/SetConfirmationsThresholdResponse.md docs/SetCustomerRefIdForAddressRequest.md docs/SetCustomerRefIdRequest.md +docs/SetLayerZeroDvnConfigRequest.md +docs/SetLayerZeroDvnConfigResponse.md +docs/SetLayerZeroPeersRequest.md +docs/SetLayerZeroPeersResponse.md docs/SetNetworkIdDiscoverabilityRequest.md docs/SetNetworkIdNameRequest.md docs/SetNetworkIdResponse.md @@ -635,6 +655,7 @@ docs/UserStatus.md docs/UserType.md docs/UsersApi.md docs/ValidateAddressResponse.md +docs/ValidateLayerZeroChannelResponse.md docs/ValidatedTransactionsForRescan.md docs/ValidationKeyDto.md docs/Validator.md @@ -725,6 +746,7 @@ fireblocks/models/__init__.py fireblocks/models/abi_function.py fireblocks/models/account.py fireblocks/models/account_type.py +fireblocks/models/adapter_processing_result.py fireblocks/models/add_abi_request_dto.py fireblocks/models/add_asset_to_external_wallet_request.py fireblocks/models/add_asset_to_external_wallet_request_one_of.py @@ -792,6 +814,9 @@ fireblocks/models/callback_handler_request.py fireblocks/models/cancel_transaction_response.py fireblocks/models/chain_descriptor.py fireblocks/models/chain_info_response.py +fireblocks/models/channel_dvn_config_with_confirmations.py +fireblocks/models/channel_dvn_config_with_confirmations_receive_config.py +fireblocks/models/channel_dvn_config_with_confirmations_send_config.py fireblocks/models/claim_rewards_request.py fireblocks/models/collection_burn_request_dto.py fireblocks/models/collection_burn_response_dto.py @@ -894,6 +919,7 @@ fireblocks/models/delegation.py fireblocks/models/delegation_summary.py fireblocks/models/delete_network_connection_response.py fireblocks/models/delete_network_id_response.py +fireblocks/models/deploy_layer_zero_adapters_request.py fireblocks/models/deployable_address_response.py fireblocks/models/deployed_contract_not_found_error.py fireblocks/models/deployed_contract_response_dto.py @@ -923,6 +949,8 @@ 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/dvn_config.py +fireblocks/models/dvn_config_with_confirmations.py fireblocks/models/edit_gas_station_configuration_response.py fireblocks/models/embedded_wallet.py fireblocks/models/embedded_wallet_account.py @@ -984,6 +1012,8 @@ fireblocks/models/get_console_users_response.py fireblocks/models/get_deployable_address_request.py fireblocks/models/get_exchange_accounts_credentials_public_key_response.py fireblocks/models/get_filter_parameter.py +fireblocks/models/get_layer_zero_dvn_config_response.py +fireblocks/models/get_layer_zero_peers_response.py fireblocks/models/get_linked_collections_paginated_response.py fireblocks/models/get_max_spendable_amount_response.py fireblocks/models/get_mpc_keys_response.py @@ -1002,6 +1032,7 @@ fireblocks/models/internal_transfer_response.py fireblocks/models/invalid_paramater_value_error.py fireblocks/models/job.py fireblocks/models/job_created.py +fireblocks/models/layer_zero_adapter_create_params.py fireblocks/models/lean_abi_function.py fireblocks/models/lean_contract_dto.py fireblocks/models/lean_deployed_contract_response_dto.py @@ -1064,6 +1095,7 @@ fireblocks/models/payout_instruction_state.py fireblocks/models/payout_response.py fireblocks/models/payout_state.py fireblocks/models/payout_status.py +fireblocks/models/peer_adapter_info.py fireblocks/models/players.py fireblocks/models/policy_and_validation_response.py fireblocks/models/policy_check_result.py @@ -1106,6 +1138,11 @@ fireblocks/models/reissue_multichain_token_request.py fireblocks/models/related_request.py fireblocks/models/related_transaction.py fireblocks/models/remove_collateral_request_body.py +fireblocks/models/remove_layer_zero_adapter_failed_result.py +fireblocks/models/remove_layer_zero_adapters_request.py +fireblocks/models/remove_layer_zero_adapters_response.py +fireblocks/models/remove_layer_zero_peers_request.py +fireblocks/models/remove_layer_zero_peers_response.py fireblocks/models/rename_cosigner.py fireblocks/models/rename_vault_account_response.py fireblocks/models/rescan_transaction.py @@ -1141,6 +1178,10 @@ fireblocks/models/set_confirmations_threshold_request.py fireblocks/models/set_confirmations_threshold_response.py fireblocks/models/set_customer_ref_id_for_address_request.py fireblocks/models/set_customer_ref_id_request.py +fireblocks/models/set_layer_zero_dvn_config_request.py +fireblocks/models/set_layer_zero_dvn_config_response.py +fireblocks/models/set_layer_zero_peers_request.py +fireblocks/models/set_layer_zero_peers_response.py fireblocks/models/set_network_id_discoverability_request.py fireblocks/models/set_network_id_name_request.py fireblocks/models/set_network_id_response.py @@ -1318,6 +1359,7 @@ fireblocks/models/user_role.py fireblocks/models/user_status.py fireblocks/models/user_type.py fireblocks/models/validate_address_response.py +fireblocks/models/validate_layer_zero_channel_response.py fireblocks/models/validated_transactions_for_rescan.py fireblocks/models/validation_key_dto.py fireblocks/models/validator.py @@ -1370,6 +1412,7 @@ test/fireblocks/test_validation_utils.py test/test_abi_function.py test/test_account.py test/test_account_type.py +test/test_adapter_processing_result.py test/test_add_abi_request_dto.py test/test_add_asset_to_external_wallet_request.py test/test_add_asset_to_external_wallet_request_one_of.py @@ -1441,6 +1484,9 @@ test/test_callback_handler_request.py test/test_cancel_transaction_response.py test/test_chain_descriptor.py test/test_chain_info_response.py +test/test_channel_dvn_config_with_confirmations.py +test/test_channel_dvn_config_with_confirmations_receive_config.py +test/test_channel_dvn_config_with_confirmations_send_config.py test/test_claim_rewards_request.py test/test_collection_burn_request_dto.py test/test_collection_burn_response_dto.py @@ -1550,6 +1596,7 @@ test/test_delegation.py test/test_delegation_summary.py test/test_delete_network_connection_response.py test/test_delete_network_id_response.py +test/test_deploy_layer_zero_adapters_request.py test/test_deployable_address_response.py test/test_deployed_contract_not_found_error.py test/test_deployed_contract_response_dto.py @@ -1580,6 +1627,8 @@ 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_dvn_config.py +test/test_dvn_config_with_confirmations.py test/test_edit_gas_station_configuration_response.py test/test_embedded_wallet.py test/test_embedded_wallet_account.py @@ -1646,6 +1695,8 @@ test/test_get_console_users_response.py test/test_get_deployable_address_request.py test/test_get_exchange_accounts_credentials_public_key_response.py test/test_get_filter_parameter.py +test/test_get_layer_zero_dvn_config_response.py +test/test_get_layer_zero_peers_response.py test/test_get_linked_collections_paginated_response.py test/test_get_max_spendable_amount_response.py test/test_get_mpc_keys_response.py @@ -1668,6 +1719,7 @@ test/test_job_created.py test/test_job_management_api.py test/test_key_link_beta_api.py test/test_keys_beta_api.py +test/test_layer_zero_adapter_create_params.py test/test_lean_abi_function.py test/test_lean_contract_dto.py test/test_lean_deployed_contract_response_dto.py @@ -1735,6 +1787,7 @@ test/test_payout_instruction_state.py test/test_payout_response.py test/test_payout_state.py test/test_payout_status.py +test/test_peer_adapter_info.py test/test_players.py test/test_policy_and_validation_response.py test/test_policy_check_result.py @@ -1778,6 +1831,11 @@ test/test_reissue_multichain_token_request.py test/test_related_request.py test/test_related_transaction.py test/test_remove_collateral_request_body.py +test/test_remove_layer_zero_adapter_failed_result.py +test/test_remove_layer_zero_adapters_request.py +test/test_remove_layer_zero_adapters_response.py +test/test_remove_layer_zero_peers_request.py +test/test_remove_layer_zero_peers_response.py test/test_rename_cosigner.py test/test_rename_vault_account_response.py test/test_rescan_transaction.py @@ -1814,6 +1872,10 @@ test/test_set_confirmations_threshold_request.py test/test_set_confirmations_threshold_response.py test/test_set_customer_ref_id_for_address_request.py test/test_set_customer_ref_id_request.py +test/test_set_layer_zero_dvn_config_request.py +test/test_set_layer_zero_dvn_config_response.py +test/test_set_layer_zero_peers_request.py +test/test_set_layer_zero_peers_response.py test/test_set_network_id_discoverability_request.py test/test_set_network_id_name_request.py test/test_set_network_id_response.py @@ -2000,6 +2062,7 @@ test/test_user_status.py test/test_user_type.py test/test_users_api.py test/test_validate_address_response.py +test/test_validate_layer_zero_channel_response.py test/test_validated_transactions_for_rescan.py test/test_validation_key_dto.py test/test_validator.py diff --git a/README.md b/README.md index f2dc092b..b0d4e140 100644 --- a/README.md +++ b/README.md @@ -444,9 +444,13 @@ Class | Method | HTTP request | Description *TagsApi* | [**update_tag**](docs/TagsApi.md#update_tag) | **PATCH** /tags/{tagId} | Update a tag *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 +*TokenizationApi* | [**deploy_and_link_adapters**](docs/TokenizationApi.md#deploy_and_link_adapters) | **POST** /tokenization/multichain/bridge/layerzero | Deploy LayerZero adapters *TokenizationApi* | [**fetch_collection_token_details**](docs/TokenizationApi.md#fetch_collection_token_details) | **GET** /tokenization/collections/{id}/tokens/{tokenId} | Get collection token details *TokenizationApi* | [**get_collection_by_id**](docs/TokenizationApi.md#get_collection_by_id) | **GET** /tokenization/collections/{id} | Get a collection by id *TokenizationApi* | [**get_deployable_address**](docs/TokenizationApi.md#get_deployable_address) | **POST** /tokenization/multichain/deterministic_address | Get deterministic address for contract deployment +*TokenizationApi* | [**get_layer_zero_dvn_config**](docs/TokenizationApi.md#get_layer_zero_dvn_config) | **GET** /tokenization/multichain/bridge/layerzero/config/{adapterTokenLinkId}/dvns | Get LayerZero DVN configuration +*TokenizationApi* | [**get_layer_zero_peers**](docs/TokenizationApi.md#get_layer_zero_peers) | **GET** /tokenization/multichain/bridge/layerzero/config/{adapterTokenLinkId}/peers | Get LayerZero peers *TokenizationApi* | [**get_linked_collections**](docs/TokenizationApi.md#get_linked_collections) | **GET** /tokenization/collections | Get collections *TokenizationApi* | [**get_linked_token**](docs/TokenizationApi.md#get_linked_token) | **GET** /tokenization/tokens/{id} | Return a linked token *TokenizationApi* | [**get_linked_tokens**](docs/TokenizationApi.md#get_linked_tokens) | **GET** /tokenization/tokens | List all linked tokens @@ -455,8 +459,12 @@ Class | Method | HTTP request | Description *TokenizationApi* | [**link**](docs/TokenizationApi.md#link) | **POST** /tokenization/tokens/link | Link a contract *TokenizationApi* | [**mint_collection_token**](docs/TokenizationApi.md#mint_collection_token) | **POST** /tokenization/collections/{id}/tokens/mint | Mint tokens *TokenizationApi* | [**re_issue_token_multi_chain**](docs/TokenizationApi.md#re_issue_token_multi_chain) | **POST** /tokenization/multichain/reissue/token/{tokenLinkId} | Reissue a multichain token +*TokenizationApi* | [**remove_layer_zero_peers**](docs/TokenizationApi.md#remove_layer_zero_peers) | **DELETE** /tokenization/multichain/bridge/layerzero/config/peers | Remove LayerZero peers +*TokenizationApi* | [**set_layer_zero_dvn_config**](docs/TokenizationApi.md#set_layer_zero_dvn_config) | **POST** /tokenization/multichain/bridge/layerzero/config/dvns | Set LayerZero DVN configuration +*TokenizationApi* | [**set_layer_zero_peers**](docs/TokenizationApi.md#set_layer_zero_peers) | **POST** /tokenization/multichain/bridge/layerzero/config/peers | Set LayerZero peers *TokenizationApi* | [**unlink**](docs/TokenizationApi.md#unlink) | **DELETE** /tokenization/tokens/{id} | Unlink a token *TokenizationApi* | [**unlink_collection**](docs/TokenizationApi.md#unlink_collection) | **DELETE** /tokenization/collections/{id} | Delete a collection link +*TokenizationApi* | [**validate_layer_zero_channel_config**](docs/TokenizationApi.md#validate_layer_zero_channel_config) | **GET** /tokenization/multichain/bridge/layerzero/validate | Validate LayerZero channel configuration *TransactionsApi* | [**cancel_transaction**](docs/TransactionsApi.md#cancel_transaction) | **POST** /transactions/{txId}/cancel | Cancel a transaction *TransactionsApi* | [**create_transaction**](docs/TransactionsApi.md#create_transaction) | **POST** /transactions | Create a new transaction *TransactionsApi* | [**drop_transaction**](docs/TransactionsApi.md#drop_transaction) | **POST** /transactions/{txId}/drop | Drop ETH transaction by ID @@ -541,6 +549,7 @@ Class | Method | HTTP request | Description - [AbiFunction](docs/AbiFunction.md) - [Account](docs/Account.md) - [AccountType](docs/AccountType.md) + - [AdapterProcessingResult](docs/AdapterProcessingResult.md) - [AddAbiRequestDto](docs/AddAbiRequestDto.md) - [AddAssetToExternalWalletRequest](docs/AddAssetToExternalWalletRequest.md) - [AddAssetToExternalWalletRequestOneOf](docs/AddAssetToExternalWalletRequestOneOf.md) @@ -607,6 +616,9 @@ Class | Method | HTTP request | Description - [CancelTransactionResponse](docs/CancelTransactionResponse.md) - [ChainDescriptor](docs/ChainDescriptor.md) - [ChainInfoResponse](docs/ChainInfoResponse.md) + - [ChannelDvnConfigWithConfirmations](docs/ChannelDvnConfigWithConfirmations.md) + - [ChannelDvnConfigWithConfirmationsReceiveConfig](docs/ChannelDvnConfigWithConfirmationsReceiveConfig.md) + - [ChannelDvnConfigWithConfirmationsSendConfig](docs/ChannelDvnConfigWithConfirmationsSendConfig.md) - [ClaimRewardsRequest](docs/ClaimRewardsRequest.md) - [CollectionBurnRequestDto](docs/CollectionBurnRequestDto.md) - [CollectionBurnResponseDto](docs/CollectionBurnResponseDto.md) @@ -709,6 +721,7 @@ Class | Method | HTTP request | Description - [DelegationSummary](docs/DelegationSummary.md) - [DeleteNetworkConnectionResponse](docs/DeleteNetworkConnectionResponse.md) - [DeleteNetworkIdResponse](docs/DeleteNetworkIdResponse.md) + - [DeployLayerZeroAdaptersRequest](docs/DeployLayerZeroAdaptersRequest.md) - [DeployableAddressResponse](docs/DeployableAddressResponse.md) - [DeployedContractNotFoundError](docs/DeployedContractNotFoundError.md) - [DeployedContractResponseDto](docs/DeployedContractResponseDto.md) @@ -738,6 +751,8 @@ Class | Method | HTTP request | Description - [DraftReviewAndValidationResponse](docs/DraftReviewAndValidationResponse.md) - [DropTransactionRequest](docs/DropTransactionRequest.md) - [DropTransactionResponse](docs/DropTransactionResponse.md) + - [DvnConfig](docs/DvnConfig.md) + - [DvnConfigWithConfirmations](docs/DvnConfigWithConfirmations.md) - [EVMTokenCreateParamsDto](docs/EVMTokenCreateParamsDto.md) - [EditGasStationConfigurationResponse](docs/EditGasStationConfigurationResponse.md) - [EmbeddedWallet](docs/EmbeddedWallet.md) @@ -799,6 +814,8 @@ Class | Method | HTTP request | Description - [GetDeployableAddressRequest](docs/GetDeployableAddressRequest.md) - [GetExchangeAccountsCredentialsPublicKeyResponse](docs/GetExchangeAccountsCredentialsPublicKeyResponse.md) - [GetFilterParameter](docs/GetFilterParameter.md) + - [GetLayerZeroDvnConfigResponse](docs/GetLayerZeroDvnConfigResponse.md) + - [GetLayerZeroPeersResponse](docs/GetLayerZeroPeersResponse.md) - [GetLinkedCollectionsPaginatedResponse](docs/GetLinkedCollectionsPaginatedResponse.md) - [GetMaxSpendableAmountResponse](docs/GetMaxSpendableAmountResponse.md) - [GetMpcKeysResponse](docs/GetMpcKeysResponse.md) @@ -817,6 +834,7 @@ Class | Method | HTTP request | Description - [InvalidParamaterValueError](docs/InvalidParamaterValueError.md) - [Job](docs/Job.md) - [JobCreated](docs/JobCreated.md) + - [LayerZeroAdapterCreateParams](docs/LayerZeroAdapterCreateParams.md) - [LeanAbiFunction](docs/LeanAbiFunction.md) - [LeanContractDto](docs/LeanContractDto.md) - [LeanDeployedContractResponseDto](docs/LeanDeployedContractResponseDto.md) @@ -879,6 +897,7 @@ Class | Method | HTTP request | Description - [PayoutResponse](docs/PayoutResponse.md) - [PayoutState](docs/PayoutState.md) - [PayoutStatus](docs/PayoutStatus.md) + - [PeerAdapterInfo](docs/PeerAdapterInfo.md) - [Players](docs/Players.md) - [PolicyAndValidationResponse](docs/PolicyAndValidationResponse.md) - [PolicyCheckResult](docs/PolicyCheckResult.md) @@ -921,6 +940,11 @@ Class | Method | HTTP request | Description - [RelatedRequest](docs/RelatedRequest.md) - [RelatedTransaction](docs/RelatedTransaction.md) - [RemoveCollateralRequestBody](docs/RemoveCollateralRequestBody.md) + - [RemoveLayerZeroAdapterFailedResult](docs/RemoveLayerZeroAdapterFailedResult.md) + - [RemoveLayerZeroAdaptersRequest](docs/RemoveLayerZeroAdaptersRequest.md) + - [RemoveLayerZeroAdaptersResponse](docs/RemoveLayerZeroAdaptersResponse.md) + - [RemoveLayerZeroPeersRequest](docs/RemoveLayerZeroPeersRequest.md) + - [RemoveLayerZeroPeersResponse](docs/RemoveLayerZeroPeersResponse.md) - [RenameCosigner](docs/RenameCosigner.md) - [RenameVaultAccountResponse](docs/RenameVaultAccountResponse.md) - [RescanTransaction](docs/RescanTransaction.md) @@ -958,6 +982,10 @@ Class | Method | HTTP request | Description - [SetConfirmationsThresholdResponse](docs/SetConfirmationsThresholdResponse.md) - [SetCustomerRefIdForAddressRequest](docs/SetCustomerRefIdForAddressRequest.md) - [SetCustomerRefIdRequest](docs/SetCustomerRefIdRequest.md) + - [SetLayerZeroDvnConfigRequest](docs/SetLayerZeroDvnConfigRequest.md) + - [SetLayerZeroDvnConfigResponse](docs/SetLayerZeroDvnConfigResponse.md) + - [SetLayerZeroPeersRequest](docs/SetLayerZeroPeersRequest.md) + - [SetLayerZeroPeersResponse](docs/SetLayerZeroPeersResponse.md) - [SetNetworkIdDiscoverabilityRequest](docs/SetNetworkIdDiscoverabilityRequest.md) - [SetNetworkIdNameRequest](docs/SetNetworkIdNameRequest.md) - [SetNetworkIdResponse](docs/SetNetworkIdResponse.md) @@ -1133,6 +1161,7 @@ Class | Method | HTTP request | Description - [UserStatus](docs/UserStatus.md) - [UserType](docs/UserType.md) - [ValidateAddressResponse](docs/ValidateAddressResponse.md) + - [ValidateLayerZeroChannelResponse](docs/ValidateLayerZeroChannelResponse.md) - [ValidatedTransactionsForRescan](docs/ValidatedTransactionsForRescan.md) - [ValidationKeyDto](docs/ValidationKeyDto.md) - [Validator](docs/Validator.md) diff --git a/docs/AdapterProcessingResult.md b/docs/AdapterProcessingResult.md new file mode 100644 index 00000000..0cce0607 --- /dev/null +++ b/docs/AdapterProcessingResult.md @@ -0,0 +1,30 @@ +# AdapterProcessingResult + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**input_token_link_id** | **str** | The input token link ID | +**adapter_link_id** | **str** | The adapter link ID | + +## Example + +```python +from fireblocks.models.adapter_processing_result import AdapterProcessingResult + +# TODO update the JSON string below +json = "{}" +# create an instance of AdapterProcessingResult from a JSON string +adapter_processing_result_instance = AdapterProcessingResult.from_json(json) +# print the JSON string representation of the object +print(AdapterProcessingResult.to_json()) + +# convert the object into a dict +adapter_processing_result_dict = adapter_processing_result_instance.to_dict() +# create an instance of AdapterProcessingResult from a dict +adapter_processing_result_from_dict = AdapterProcessingResult.from_dict(adapter_processing_result_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/ChannelDvnConfigWithConfirmations.md b/docs/ChannelDvnConfigWithConfirmations.md new file mode 100644 index 00000000..4d27a785 --- /dev/null +++ b/docs/ChannelDvnConfigWithConfirmations.md @@ -0,0 +1,30 @@ +# ChannelDvnConfigWithConfirmations + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**send_config** | [**ChannelDvnConfigWithConfirmationsSendConfig**](ChannelDvnConfigWithConfirmationsSendConfig.md) | | [optional] +**receive_config** | [**ChannelDvnConfigWithConfirmationsReceiveConfig**](ChannelDvnConfigWithConfirmationsReceiveConfig.md) | | [optional] + +## Example + +```python +from fireblocks.models.channel_dvn_config_with_confirmations import ChannelDvnConfigWithConfirmations + +# TODO update the JSON string below +json = "{}" +# create an instance of ChannelDvnConfigWithConfirmations from a JSON string +channel_dvn_config_with_confirmations_instance = ChannelDvnConfigWithConfirmations.from_json(json) +# print the JSON string representation of the object +print(ChannelDvnConfigWithConfirmations.to_json()) + +# convert the object into a dict +channel_dvn_config_with_confirmations_dict = channel_dvn_config_with_confirmations_instance.to_dict() +# create an instance of ChannelDvnConfigWithConfirmations from a dict +channel_dvn_config_with_confirmations_from_dict = ChannelDvnConfigWithConfirmations.from_dict(channel_dvn_config_with_confirmations_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/ChannelDvnConfigWithConfirmationsReceiveConfig.md b/docs/ChannelDvnConfigWithConfirmationsReceiveConfig.md new file mode 100644 index 00000000..55e8c687 --- /dev/null +++ b/docs/ChannelDvnConfigWithConfirmationsReceiveConfig.md @@ -0,0 +1,32 @@ +# ChannelDvnConfigWithConfirmationsReceiveConfig + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dvn_addresses** | **List[str]** | Array of required DVN Ethereum addresses that sign ULN messages. | +**optional_dvn_addresses** | **List[str]** | Array of optional DVN Ethereum addresses that sign ULN messages. | [optional] +**optional_threshold** | **float** | Minimum number of DVN signatures required (M-of-N). | +**confirmations** | **float** | Number of block confirmations required | + +## Example + +```python +from fireblocks.models.channel_dvn_config_with_confirmations_receive_config import ChannelDvnConfigWithConfirmationsReceiveConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of ChannelDvnConfigWithConfirmationsReceiveConfig from a JSON string +channel_dvn_config_with_confirmations_receive_config_instance = ChannelDvnConfigWithConfirmationsReceiveConfig.from_json(json) +# print the JSON string representation of the object +print(ChannelDvnConfigWithConfirmationsReceiveConfig.to_json()) + +# convert the object into a dict +channel_dvn_config_with_confirmations_receive_config_dict = channel_dvn_config_with_confirmations_receive_config_instance.to_dict() +# create an instance of ChannelDvnConfigWithConfirmationsReceiveConfig from a dict +channel_dvn_config_with_confirmations_receive_config_from_dict = ChannelDvnConfigWithConfirmationsReceiveConfig.from_dict(channel_dvn_config_with_confirmations_receive_config_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/ChannelDvnConfigWithConfirmationsSendConfig.md b/docs/ChannelDvnConfigWithConfirmationsSendConfig.md new file mode 100644 index 00000000..1df2a0d8 --- /dev/null +++ b/docs/ChannelDvnConfigWithConfirmationsSendConfig.md @@ -0,0 +1,32 @@ +# ChannelDvnConfigWithConfirmationsSendConfig + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dvn_addresses** | **List[str]** | Array of required DVN Ethereum addresses that sign ULN messages. | +**optional_dvn_addresses** | **List[str]** | Array of optional DVN Ethereum addresses that sign ULN messages. | [optional] +**optional_threshold** | **float** | Minimum number of DVN signatures required (M-of-N). | +**confirmations** | **float** | Number of block confirmations required | + +## Example + +```python +from fireblocks.models.channel_dvn_config_with_confirmations_send_config import ChannelDvnConfigWithConfirmationsSendConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of ChannelDvnConfigWithConfirmationsSendConfig from a JSON string +channel_dvn_config_with_confirmations_send_config_instance = ChannelDvnConfigWithConfirmationsSendConfig.from_json(json) +# print the JSON string representation of the object +print(ChannelDvnConfigWithConfirmationsSendConfig.to_json()) + +# convert the object into a dict +channel_dvn_config_with_confirmations_send_config_dict = channel_dvn_config_with_confirmations_send_config_instance.to_dict() +# create an instance of ChannelDvnConfigWithConfirmationsSendConfig from a dict +channel_dvn_config_with_confirmations_send_config_from_dict = ChannelDvnConfigWithConfirmationsSendConfig.from_dict(channel_dvn_config_with_confirmations_send_config_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/DeployLayerZeroAdaptersRequest.md b/docs/DeployLayerZeroAdaptersRequest.md new file mode 100644 index 00000000..76701c93 --- /dev/null +++ b/docs/DeployLayerZeroAdaptersRequest.md @@ -0,0 +1,35 @@ +# DeployLayerZeroAdaptersRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**vault_account_id** | **str** | The id of the vault account that initiated the request to deploy adapter for the token | +**create_params** | [**List[LayerZeroAdapterCreateParams]**](LayerZeroAdapterCreateParams.md) | Array of creation parameters for LayerZero adapters, one per tokenLink. | +**display_name** | **str** | The display name of the contract | [optional] +**use_gasless** | **bool** | Whether to use gasless deployment or not | [optional] +**fee_level** | **str** | Fee level for the write function transaction. interchangeable with the 'fee' field | [optional] +**fee** | **str** | Max fee amount for the write function transaction. interchangeable with the 'feeLevel' field | [optional] +**salt** | **str** | The salt to calculate the deterministic address. Must be a number between 0 and 2^256 -1, for it to fit in the bytes32 parameter | [optional] + +## Example + +```python +from fireblocks.models.deploy_layer_zero_adapters_request import DeployLayerZeroAdaptersRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of DeployLayerZeroAdaptersRequest from a JSON string +deploy_layer_zero_adapters_request_instance = DeployLayerZeroAdaptersRequest.from_json(json) +# print the JSON string representation of the object +print(DeployLayerZeroAdaptersRequest.to_json()) + +# convert the object into a dict +deploy_layer_zero_adapters_request_dict = deploy_layer_zero_adapters_request_instance.to_dict() +# create an instance of DeployLayerZeroAdaptersRequest from a dict +deploy_layer_zero_adapters_request_from_dict = DeployLayerZeroAdaptersRequest.from_dict(deploy_layer_zero_adapters_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/DvnConfig.md b/docs/DvnConfig.md new file mode 100644 index 00000000..7eb04228 --- /dev/null +++ b/docs/DvnConfig.md @@ -0,0 +1,31 @@ +# DvnConfig + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dvn_addresses** | **List[str]** | Array of required DVN Ethereum addresses that sign ULN messages. | +**optional_dvn_addresses** | **List[str]** | Array of optional DVN Ethereum addresses that sign ULN messages. | [optional] +**optional_threshold** | **float** | Minimum number of DVN signatures required (M-of-N). | + +## Example + +```python +from fireblocks.models.dvn_config import DvnConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of DvnConfig from a JSON string +dvn_config_instance = DvnConfig.from_json(json) +# print the JSON string representation of the object +print(DvnConfig.to_json()) + +# convert the object into a dict +dvn_config_dict = dvn_config_instance.to_dict() +# create an instance of DvnConfig from a dict +dvn_config_from_dict = DvnConfig.from_dict(dvn_config_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/DvnConfigWithConfirmations.md b/docs/DvnConfigWithConfirmations.md new file mode 100644 index 00000000..b03f0778 --- /dev/null +++ b/docs/DvnConfigWithConfirmations.md @@ -0,0 +1,32 @@ +# DvnConfigWithConfirmations + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dvn_addresses** | **List[str]** | Array of required DVN Ethereum addresses that sign ULN messages. | +**optional_dvn_addresses** | **List[str]** | Array of optional DVN Ethereum addresses that sign ULN messages. | [optional] +**optional_threshold** | **float** | Minimum number of DVN signatures required (M-of-N). | +**confirmations** | **float** | Number of block confirmations required | + +## Example + +```python +from fireblocks.models.dvn_config_with_confirmations import DvnConfigWithConfirmations + +# TODO update the JSON string below +json = "{}" +# create an instance of DvnConfigWithConfirmations from a JSON string +dvn_config_with_confirmations_instance = DvnConfigWithConfirmations.from_json(json) +# print the JSON string representation of the object +print(DvnConfigWithConfirmations.to_json()) + +# convert the object into a dict +dvn_config_with_confirmations_dict = dvn_config_with_confirmations_instance.to_dict() +# create an instance of DvnConfigWithConfirmations from a dict +dvn_config_with_confirmations_from_dict = DvnConfigWithConfirmations.from_dict(dvn_config_with_confirmations_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/FeeInfo.md b/docs/FeeInfo.md index bfef361d..cdad9b10 100644 --- a/docs/FeeInfo.md +++ b/docs/FeeInfo.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **relay_type** | **str** | Wether the relay is the same tenant (LOCAL) or another tenant (THIRD_PARTY) | [optional] **relay_id** | **str** | The vault account ID of the relay | [optional] **relay_name** | **str** | The name of the tenant, only for THIRD_PARTY relays | [optional] +**fee_usd** | **str** | The USD value of the fee | [optional] ## Example diff --git a/docs/GetLayerZeroDvnConfigResponse.md b/docs/GetLayerZeroDvnConfigResponse.md new file mode 100644 index 00000000..b47ccffd --- /dev/null +++ b/docs/GetLayerZeroDvnConfigResponse.md @@ -0,0 +1,30 @@ +# GetLayerZeroDvnConfigResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**source_adapter_token_link_id** | **str** | Token-link ID of the adapter for which DVN configuration was queried. | +**channel_configs** | [**List[ChannelDvnConfigWithConfirmations]**](ChannelDvnConfigWithConfirmations.md) | DVN configurations for each discovered (or explicitly requested) channel between the source adapter and its peers. | + +## Example + +```python +from fireblocks.models.get_layer_zero_dvn_config_response import GetLayerZeroDvnConfigResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetLayerZeroDvnConfigResponse from a JSON string +get_layer_zero_dvn_config_response_instance = GetLayerZeroDvnConfigResponse.from_json(json) +# print the JSON string representation of the object +print(GetLayerZeroDvnConfigResponse.to_json()) + +# convert the object into a dict +get_layer_zero_dvn_config_response_dict = get_layer_zero_dvn_config_response_instance.to_dict() +# create an instance of GetLayerZeroDvnConfigResponse from a dict +get_layer_zero_dvn_config_response_from_dict = GetLayerZeroDvnConfigResponse.from_dict(get_layer_zero_dvn_config_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/GetLayerZeroPeersResponse.md b/docs/GetLayerZeroPeersResponse.md new file mode 100644 index 00000000..16411f7f --- /dev/null +++ b/docs/GetLayerZeroPeersResponse.md @@ -0,0 +1,31 @@ +# GetLayerZeroPeersResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adapter_token_link_id** | **str** | The token link id of the adapter | +**adapter_address** | **str** | The adapter address | +**peers** | [**List[PeerAdapterInfo]**](PeerAdapterInfo.md) | The peers for the adapter | + +## Example + +```python +from fireblocks.models.get_layer_zero_peers_response import GetLayerZeroPeersResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetLayerZeroPeersResponse from a JSON string +get_layer_zero_peers_response_instance = GetLayerZeroPeersResponse.from_json(json) +# print the JSON string representation of the object +print(GetLayerZeroPeersResponse.to_json()) + +# convert the object into a dict +get_layer_zero_peers_response_dict = get_layer_zero_peers_response_instance.to_dict() +# create an instance of GetLayerZeroPeersResponse from a dict +get_layer_zero_peers_response_from_dict = GetLayerZeroPeersResponse.from_dict(get_layer_zero_peers_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/LayerZeroAdapterCreateParams.md b/docs/LayerZeroAdapterCreateParams.md new file mode 100644 index 00000000..865732a7 --- /dev/null +++ b/docs/LayerZeroAdapterCreateParams.md @@ -0,0 +1,32 @@ +# LayerZeroAdapterCreateParams + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token_link_id** | **str** | The token link id of the base token to deploy the adapters for | +**delegate_address** | **str** | Address that will receive `CONTRACT_ADMIN_ROLE`. | +**default_admin_address** | **str** | Address that will receive `DEFAULT_ADMIN_ROLE` on the adapter contract. | +**pauser_address** | **str** | Address that will receive `PAUSER_ROLE`. | + +## Example + +```python +from fireblocks.models.layer_zero_adapter_create_params import LayerZeroAdapterCreateParams + +# TODO update the JSON string below +json = "{}" +# create an instance of LayerZeroAdapterCreateParams from a JSON string +layer_zero_adapter_create_params_instance = LayerZeroAdapterCreateParams.from_json(json) +# print the JSON string representation of the object +print(LayerZeroAdapterCreateParams.to_json()) + +# convert the object into a dict +layer_zero_adapter_create_params_dict = layer_zero_adapter_create_params_instance.to_dict() +# create an instance of LayerZeroAdapterCreateParams from a dict +layer_zero_adapter_create_params_from_dict = LayerZeroAdapterCreateParams.from_dict(layer_zero_adapter_create_params_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/PeerAdapterInfo.md b/docs/PeerAdapterInfo.md new file mode 100644 index 00000000..485e4b8a --- /dev/null +++ b/docs/PeerAdapterInfo.md @@ -0,0 +1,31 @@ +# PeerAdapterInfo + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adapter_token_link_id** | **str** | The token link id of the adapter | +**adapter_address** | **str** | The adapter address | +**base_asset_id** | **str** | The base asset id for the base asset that the adapter is deployed on | + +## Example + +```python +from fireblocks.models.peer_adapter_info import PeerAdapterInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of PeerAdapterInfo from a JSON string +peer_adapter_info_instance = PeerAdapterInfo.from_json(json) +# print the JSON string representation of the object +print(PeerAdapterInfo.to_json()) + +# convert the object into a dict +peer_adapter_info_dict = peer_adapter_info_instance.to_dict() +# create an instance of PeerAdapterInfo from a dict +peer_adapter_info_from_dict = PeerAdapterInfo.from_dict(peer_adapter_info_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/RemoveLayerZeroAdapterFailedResult.md b/docs/RemoveLayerZeroAdapterFailedResult.md new file mode 100644 index 00000000..9a0ef68b --- /dev/null +++ b/docs/RemoveLayerZeroAdapterFailedResult.md @@ -0,0 +1,29 @@ +# RemoveLayerZeroAdapterFailedResult + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adapter_token_link_id** | **str** | The adapter token link ID that failed to be removed | + +## Example + +```python +from fireblocks.models.remove_layer_zero_adapter_failed_result import RemoveLayerZeroAdapterFailedResult + +# TODO update the JSON string below +json = "{}" +# create an instance of RemoveLayerZeroAdapterFailedResult from a JSON string +remove_layer_zero_adapter_failed_result_instance = RemoveLayerZeroAdapterFailedResult.from_json(json) +# print the JSON string representation of the object +print(RemoveLayerZeroAdapterFailedResult.to_json()) + +# convert the object into a dict +remove_layer_zero_adapter_failed_result_dict = remove_layer_zero_adapter_failed_result_instance.to_dict() +# create an instance of RemoveLayerZeroAdapterFailedResult from a dict +remove_layer_zero_adapter_failed_result_from_dict = RemoveLayerZeroAdapterFailedResult.from_dict(remove_layer_zero_adapter_failed_result_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/RemoveLayerZeroAdaptersRequest.md b/docs/RemoveLayerZeroAdaptersRequest.md new file mode 100644 index 00000000..c2411349 --- /dev/null +++ b/docs/RemoveLayerZeroAdaptersRequest.md @@ -0,0 +1,30 @@ +# RemoveLayerZeroAdaptersRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**vault_account_id** | **str** | The vault account ID to use for signing the role revocation transactions. | +**adapter_token_link_ids** | **List[str]** | A list of adapter token link IDs to be deactivated and unlinked. | + +## Example + +```python +from fireblocks.models.remove_layer_zero_adapters_request import RemoveLayerZeroAdaptersRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of RemoveLayerZeroAdaptersRequest from a JSON string +remove_layer_zero_adapters_request_instance = RemoveLayerZeroAdaptersRequest.from_json(json) +# print the JSON string representation of the object +print(RemoveLayerZeroAdaptersRequest.to_json()) + +# convert the object into a dict +remove_layer_zero_adapters_request_dict = remove_layer_zero_adapters_request_instance.to_dict() +# create an instance of RemoveLayerZeroAdaptersRequest from a dict +remove_layer_zero_adapters_request_from_dict = RemoveLayerZeroAdaptersRequest.from_dict(remove_layer_zero_adapters_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/RemoveLayerZeroAdaptersResponse.md b/docs/RemoveLayerZeroAdaptersResponse.md new file mode 100644 index 00000000..5fde3a01 --- /dev/null +++ b/docs/RemoveLayerZeroAdaptersResponse.md @@ -0,0 +1,30 @@ +# RemoveLayerZeroAdaptersResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deactivated** | **List[str]** | List of successfully deactivated adapter token link IDs | +**failed** | [**List[RemoveLayerZeroAdapterFailedResult]**](RemoveLayerZeroAdapterFailedResult.md) | List of adapter token link IDs that failed to be removed | + +## Example + +```python +from fireblocks.models.remove_layer_zero_adapters_response import RemoveLayerZeroAdaptersResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of RemoveLayerZeroAdaptersResponse from a JSON string +remove_layer_zero_adapters_response_instance = RemoveLayerZeroAdaptersResponse.from_json(json) +# print the JSON string representation of the object +print(RemoveLayerZeroAdaptersResponse.to_json()) + +# convert the object into a dict +remove_layer_zero_adapters_response_dict = remove_layer_zero_adapters_response_instance.to_dict() +# create an instance of RemoveLayerZeroAdaptersResponse from a dict +remove_layer_zero_adapters_response_from_dict = RemoveLayerZeroAdaptersResponse.from_dict(remove_layer_zero_adapters_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/RemoveLayerZeroPeersRequest.md b/docs/RemoveLayerZeroPeersRequest.md new file mode 100644 index 00000000..967e462d --- /dev/null +++ b/docs/RemoveLayerZeroPeersRequest.md @@ -0,0 +1,32 @@ +# RemoveLayerZeroPeersRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**vault_account_id** | **str** | The id of the vault account that will be used to inititate transactions ot set peers | +**source_adapter_token_link_id** | **str** | `token_link` ID of the source adapter contract | +**destination_adapter_token_link_ids** | **List[str]** | Array of `token_link` IDs for destination adapter contracts | +**bidirectional** | **bool** | If true, also sets peers from destination(s) back to source | + +## Example + +```python +from fireblocks.models.remove_layer_zero_peers_request import RemoveLayerZeroPeersRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of RemoveLayerZeroPeersRequest from a JSON string +remove_layer_zero_peers_request_instance = RemoveLayerZeroPeersRequest.from_json(json) +# print the JSON string representation of the object +print(RemoveLayerZeroPeersRequest.to_json()) + +# convert the object into a dict +remove_layer_zero_peers_request_dict = remove_layer_zero_peers_request_instance.to_dict() +# create an instance of RemoveLayerZeroPeersRequest from a dict +remove_layer_zero_peers_request_from_dict = RemoveLayerZeroPeersRequest.from_dict(remove_layer_zero_peers_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/RemoveLayerZeroPeersResponse.md b/docs/RemoveLayerZeroPeersResponse.md new file mode 100644 index 00000000..43404e28 --- /dev/null +++ b/docs/RemoveLayerZeroPeersResponse.md @@ -0,0 +1,29 @@ +# RemoveLayerZeroPeersResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**txn_ids** | **List[str]** | Array of fireblocks transaction IDs, each corresponding to an on-chain transaction to set peers | + +## Example + +```python +from fireblocks.models.remove_layer_zero_peers_response import RemoveLayerZeroPeersResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of RemoveLayerZeroPeersResponse from a JSON string +remove_layer_zero_peers_response_instance = RemoveLayerZeroPeersResponse.from_json(json) +# print the JSON string representation of the object +print(RemoveLayerZeroPeersResponse.to_json()) + +# convert the object into a dict +remove_layer_zero_peers_response_dict = remove_layer_zero_peers_response_instance.to_dict() +# create an instance of RemoveLayerZeroPeersResponse from a dict +remove_layer_zero_peers_response_from_dict = RemoveLayerZeroPeersResponse.from_dict(remove_layer_zero_peers_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/SetLayerZeroDvnConfigRequest.md b/docs/SetLayerZeroDvnConfigRequest.md new file mode 100644 index 00000000..23fb7120 --- /dev/null +++ b/docs/SetLayerZeroDvnConfigRequest.md @@ -0,0 +1,33 @@ +# SetLayerZeroDvnConfigRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**vault_account_id** | **str** | Vault account that pays gas | +**source_adapter_token_link_id** | **str** | Source adapter TokenLink ID | +**destination_adapter_token_link_id** | **str** | Destination adapter TokenLink ID | +**send_config** | [**DvnConfig**](DvnConfig.md) | | +**receive_config** | [**DvnConfig**](DvnConfig.md) | | + +## Example + +```python +from fireblocks.models.set_layer_zero_dvn_config_request import SetLayerZeroDvnConfigRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of SetLayerZeroDvnConfigRequest from a JSON string +set_layer_zero_dvn_config_request_instance = SetLayerZeroDvnConfigRequest.from_json(json) +# print the JSON string representation of the object +print(SetLayerZeroDvnConfigRequest.to_json()) + +# convert the object into a dict +set_layer_zero_dvn_config_request_dict = set_layer_zero_dvn_config_request_instance.to_dict() +# create an instance of SetLayerZeroDvnConfigRequest from a dict +set_layer_zero_dvn_config_request_from_dict = SetLayerZeroDvnConfigRequest.from_dict(set_layer_zero_dvn_config_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/SetLayerZeroDvnConfigResponse.md b/docs/SetLayerZeroDvnConfigResponse.md new file mode 100644 index 00000000..166b70ee --- /dev/null +++ b/docs/SetLayerZeroDvnConfigResponse.md @@ -0,0 +1,29 @@ +# SetLayerZeroDvnConfigResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**txn_ids** | **List[str]** | Transaction IDs submitted to the network | + +## Example + +```python +from fireblocks.models.set_layer_zero_dvn_config_response import SetLayerZeroDvnConfigResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of SetLayerZeroDvnConfigResponse from a JSON string +set_layer_zero_dvn_config_response_instance = SetLayerZeroDvnConfigResponse.from_json(json) +# print the JSON string representation of the object +print(SetLayerZeroDvnConfigResponse.to_json()) + +# convert the object into a dict +set_layer_zero_dvn_config_response_dict = set_layer_zero_dvn_config_response_instance.to_dict() +# create an instance of SetLayerZeroDvnConfigResponse from a dict +set_layer_zero_dvn_config_response_from_dict = SetLayerZeroDvnConfigResponse.from_dict(set_layer_zero_dvn_config_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/SetLayerZeroPeersRequest.md b/docs/SetLayerZeroPeersRequest.md new file mode 100644 index 00000000..5e869117 --- /dev/null +++ b/docs/SetLayerZeroPeersRequest.md @@ -0,0 +1,32 @@ +# SetLayerZeroPeersRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**vault_account_id** | **str** | The id of the vault account that will be used to inititate transactions ot set peers | +**source_adapter_token_link_id** | **str** | `token_link` ID of the source adapter contract | +**destination_adapter_token_link_ids** | **List[str]** | Array of `token_link` IDs for destination adapter contracts | +**bidirectional** | **bool** | If true, also sets peers from destination(s) back to source | + +## Example + +```python +from fireblocks.models.set_layer_zero_peers_request import SetLayerZeroPeersRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of SetLayerZeroPeersRequest from a JSON string +set_layer_zero_peers_request_instance = SetLayerZeroPeersRequest.from_json(json) +# print the JSON string representation of the object +print(SetLayerZeroPeersRequest.to_json()) + +# convert the object into a dict +set_layer_zero_peers_request_dict = set_layer_zero_peers_request_instance.to_dict() +# create an instance of SetLayerZeroPeersRequest from a dict +set_layer_zero_peers_request_from_dict = SetLayerZeroPeersRequest.from_dict(set_layer_zero_peers_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/SetLayerZeroPeersResponse.md b/docs/SetLayerZeroPeersResponse.md new file mode 100644 index 00000000..a3a87d57 --- /dev/null +++ b/docs/SetLayerZeroPeersResponse.md @@ -0,0 +1,29 @@ +# SetLayerZeroPeersResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**txn_ids** | **List[str]** | Array of fireblocks transaction IDs, each corresponding to an on-chain transaction to set peers | + +## Example + +```python +from fireblocks.models.set_layer_zero_peers_response import SetLayerZeroPeersResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of SetLayerZeroPeersResponse from a JSON string +set_layer_zero_peers_response_instance = SetLayerZeroPeersResponse.from_json(json) +# print the JSON string representation of the object +print(SetLayerZeroPeersResponse.to_json()) + +# convert the object into a dict +set_layer_zero_peers_response_dict = set_layer_zero_peers_response_instance.to_dict() +# create an instance of SetLayerZeroPeersResponse from a dict +set_layer_zero_peers_response_from_dict = SetLayerZeroPeersResponse.from_dict(set_layer_zero_peers_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/TokenizationApi.md b/docs/TokenizationApi.md index 97adaba4..5dc70f4f 100644 --- a/docs/TokenizationApi.md +++ b/docs/TokenizationApi.md @@ -6,9 +6,13 @@ Method | HTTP request | Description ------------- | ------------- | ------------- [**burn_collection_token**](TokenizationApi.md#burn_collection_token) | **POST** /tokenization/collections/{id}/tokens/burn | Burn tokens [**create_new_collection**](TokenizationApi.md#create_new_collection) | **POST** /tokenization/collections | Create a new collection +[**deactivate_and_unlink_adapters**](TokenizationApi.md#deactivate_and_unlink_adapters) | **DELETE** /tokenization/multichain/bridge/layerzero | Remove LayerZero adapters +[**deploy_and_link_adapters**](TokenizationApi.md#deploy_and_link_adapters) | **POST** /tokenization/multichain/bridge/layerzero | Deploy LayerZero adapters [**fetch_collection_token_details**](TokenizationApi.md#fetch_collection_token_details) | **GET** /tokenization/collections/{id}/tokens/{tokenId} | Get collection token details [**get_collection_by_id**](TokenizationApi.md#get_collection_by_id) | **GET** /tokenization/collections/{id} | Get a collection by id [**get_deployable_address**](TokenizationApi.md#get_deployable_address) | **POST** /tokenization/multichain/deterministic_address | Get deterministic address for contract deployment +[**get_layer_zero_dvn_config**](TokenizationApi.md#get_layer_zero_dvn_config) | **GET** /tokenization/multichain/bridge/layerzero/config/{adapterTokenLinkId}/dvns | Get LayerZero DVN configuration +[**get_layer_zero_peers**](TokenizationApi.md#get_layer_zero_peers) | **GET** /tokenization/multichain/bridge/layerzero/config/{adapterTokenLinkId}/peers | Get LayerZero peers [**get_linked_collections**](TokenizationApi.md#get_linked_collections) | **GET** /tokenization/collections | Get collections [**get_linked_token**](TokenizationApi.md#get_linked_token) | **GET** /tokenization/tokens/{id} | Return a linked token [**get_linked_tokens**](TokenizationApi.md#get_linked_tokens) | **GET** /tokenization/tokens | List all linked tokens @@ -17,8 +21,12 @@ Method | HTTP request | Description [**link**](TokenizationApi.md#link) | **POST** /tokenization/tokens/link | Link a contract [**mint_collection_token**](TokenizationApi.md#mint_collection_token) | **POST** /tokenization/collections/{id}/tokens/mint | Mint tokens [**re_issue_token_multi_chain**](TokenizationApi.md#re_issue_token_multi_chain) | **POST** /tokenization/multichain/reissue/token/{tokenLinkId} | Reissue a multichain token +[**remove_layer_zero_peers**](TokenizationApi.md#remove_layer_zero_peers) | **DELETE** /tokenization/multichain/bridge/layerzero/config/peers | Remove LayerZero peers +[**set_layer_zero_dvn_config**](TokenizationApi.md#set_layer_zero_dvn_config) | **POST** /tokenization/multichain/bridge/layerzero/config/dvns | Set LayerZero DVN configuration +[**set_layer_zero_peers**](TokenizationApi.md#set_layer_zero_peers) | **POST** /tokenization/multichain/bridge/layerzero/config/peers | Set LayerZero peers [**unlink**](TokenizationApi.md#unlink) | **DELETE** /tokenization/tokens/{id} | Unlink a token [**unlink_collection**](TokenizationApi.md#unlink_collection) | **DELETE** /tokenization/collections/{id} | Delete a collection link +[**validate_layer_zero_channel_config**](TokenizationApi.md#validate_layer_zero_channel_config) | **GET** /tokenization/multichain/bridge/layerzero/validate | Validate LayerZero channel configuration # **burn_collection_token** @@ -177,6 +185,167 @@ 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) +# **deactivate_and_unlink_adapters** +> RemoveLayerZeroAdaptersResponse deactivate_and_unlink_adapters(remove_layer_zero_adapters_request, idempotency_key=idempotency_key) + +Remove LayerZero adapters + +Remove LayerZero adapters by deactivating and unlinking them. This endpoint revokes roles and deactivates the specified adapter contracts. + +### Example + + +```python +from fireblocks.models.remove_layer_zero_adapters_request import RemoveLayerZeroAdaptersRequest +from fireblocks.models.remove_layer_zero_adapters_response import RemoveLayerZeroAdaptersResponse +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: + remove_layer_zero_adapters_request = fireblocks.RemoveLayerZeroAdaptersRequest() # RemoveLayerZeroAdaptersRequest | + 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: + # Remove LayerZero adapters + api_response = fireblocks.tokenization.deactivate_and_unlink_adapters(remove_layer_zero_adapters_request, idempotency_key=idempotency_key).result() + print("The response of TokenizationApi->deactivate_and_unlink_adapters:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TokenizationApi->deactivate_and_unlink_adapters: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **remove_layer_zero_adapters_request** | [**RemoveLayerZeroAdaptersRequest**](RemoveLayerZeroAdaptersRequest.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 + +[**RemoveLayerZeroAdaptersResponse**](RemoveLayerZeroAdaptersResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | LayerZero adapters removal process completed | - | +**400** | Bad request, invalid input data or parameters | - | +**404** | Token link not found | - | +**409** | Token link processing error | - | +**500** | Internal server error | - | + +[[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) + +# **deploy_and_link_adapters** +> List[AdapterProcessingResult] deploy_and_link_adapters(deploy_layer_zero_adapters_request, idempotency_key=idempotency_key) + +Deploy LayerZero adapters + +Deploy LayerZero adapters for multichain token bridging functionality. This endpoint creates adapter contracts that enable cross-chain token transfers. + +### Example + + +```python +from fireblocks.models.adapter_processing_result import AdapterProcessingResult +from fireblocks.models.deploy_layer_zero_adapters_request import DeployLayerZeroAdaptersRequest +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: + deploy_layer_zero_adapters_request = fireblocks.DeployLayerZeroAdaptersRequest() # DeployLayerZeroAdaptersRequest | + 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: + # Deploy LayerZero adapters + api_response = fireblocks.tokenization.deploy_and_link_adapters(deploy_layer_zero_adapters_request, idempotency_key=idempotency_key).result() + print("The response of TokenizationApi->deploy_and_link_adapters:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TokenizationApi->deploy_and_link_adapters: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deploy_layer_zero_adapters_request** | [**DeployLayerZeroAdaptersRequest**](DeployLayerZeroAdaptersRequest.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 + +[**List[AdapterProcessingResult]**](AdapterProcessingResult.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | LayerZero adapters deployed successfully | - | +**400** | Bad request, invalid input data or parameters | - | +**404** | Token link not found | - | +**409** | Token link preparation error | - | +**422** | Token link is not fungible | - | +**500** | Internal server error | - | + +[[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) + # **fetch_collection_token_details** > CollectionLinkDto fetch_collection_token_details(id, token_id) @@ -406,6 +575,160 @@ 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) +# **get_layer_zero_dvn_config** +> GetLayerZeroDvnConfigResponse get_layer_zero_dvn_config(adapter_token_link_id, peer_adapter_token_link_id=peer_adapter_token_link_id) + +Get LayerZero DVN configuration + +Retrieve the DVN (Data Verification Network) configuration for a specific adapter. Returns DVN configurations for channels between the source adapter and its peers. + +### Example + + +```python +from fireblocks.models.get_layer_zero_dvn_config_response import GetLayerZeroDvnConfigResponse +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: + adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d' # str | The token link id of the adapter token link + peer_adapter_token_link_id = '6add4f2a-b206-4114-8f94-2882618ffbb4' # str | Optional peer adapter token link ID to filter results (optional) + + try: + # Get LayerZero DVN configuration + api_response = fireblocks.tokenization.get_layer_zero_dvn_config(adapter_token_link_id, peer_adapter_token_link_id=peer_adapter_token_link_id).result() + print("The response of TokenizationApi->get_layer_zero_dvn_config:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TokenizationApi->get_layer_zero_dvn_config: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **adapter_token_link_id** | **str**| The token link id of the adapter token link | + **peer_adapter_token_link_id** | **str**| Optional peer adapter token link ID to filter results | [optional] + +### Return type + +[**GetLayerZeroDvnConfigResponse**](GetLayerZeroDvnConfigResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | LayerZero DVN configuration retrieved successfully | - | +**400** | Bad request, invalid input data or parameters | - | +**404** | Token link not found | - | +**500** | Internal server error | - | + +[[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) + +# **get_layer_zero_peers** +> GetLayerZeroPeersResponse get_layer_zero_peers(adapter_token_link_id) + +Get LayerZero peers + +Retrieve the LayerZero peers configured for a specific adapter. Returns information about peer relationships for cross-chain communication. + +### Example + + +```python +from fireblocks.models.get_layer_zero_peers_response import GetLayerZeroPeersResponse +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: + adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d' # str | The token link id of the adapter token link + + try: + # Get LayerZero peers + api_response = fireblocks.tokenization.get_layer_zero_peers(adapter_token_link_id).result() + print("The response of TokenizationApi->get_layer_zero_peers:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TokenizationApi->get_layer_zero_peers: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **adapter_token_link_id** | **str**| The token link id of the adapter token link | + +### Return type + +[**GetLayerZeroPeersResponse**](GetLayerZeroPeersResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | LayerZero peers retrieved successfully | - | +**400** | Bad request, invalid input data or parameters | - | +**404** | Token link not found | - | +**500** | Internal server error | - | + +[[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) + # **get_linked_collections** > GetLinkedCollectionsPaginatedResponse get_linked_collections(page_cursor=page_cursor, page_size=page_size, status=status) @@ -1032,6 +1355,248 @@ 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) +# **remove_layer_zero_peers** +> RemoveLayerZeroPeersResponse remove_layer_zero_peers(remove_layer_zero_peers_request, idempotency_key=idempotency_key) + +Remove LayerZero peers + +Remove LayerZero peers to disconnect adapter contracts. This endpoint removes peer relationships between LayerZero adapters. + +### Example + + +```python +from fireblocks.models.remove_layer_zero_peers_request import RemoveLayerZeroPeersRequest +from fireblocks.models.remove_layer_zero_peers_response import RemoveLayerZeroPeersResponse +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: + remove_layer_zero_peers_request = fireblocks.RemoveLayerZeroPeersRequest() # RemoveLayerZeroPeersRequest | + 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: + # Remove LayerZero peers + api_response = fireblocks.tokenization.remove_layer_zero_peers(remove_layer_zero_peers_request, idempotency_key=idempotency_key).result() + print("The response of TokenizationApi->remove_layer_zero_peers:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TokenizationApi->remove_layer_zero_peers: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **remove_layer_zero_peers_request** | [**RemoveLayerZeroPeersRequest**](RemoveLayerZeroPeersRequest.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 + +[**RemoveLayerZeroPeersResponse**](RemoveLayerZeroPeersResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | LayerZero peers removal process completed | - | +**400** | Bad request, invalid input data or parameters | - | +**404** | Token link not found | - | +**409** | Token link processing error | - | +**500** | Internal server error | - | + +[[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_layer_zero_dvn_config** +> SetLayerZeroDvnConfigResponse set_layer_zero_dvn_config(set_layer_zero_dvn_config_request, idempotency_key=idempotency_key) + +Set LayerZero DVN configuration + +Configure DVN settings for LayerZero adapters. This endpoint sets up the DVN configuration for message verification between source and destination adapters. + +### Example + + +```python +from fireblocks.models.set_layer_zero_dvn_config_request import SetLayerZeroDvnConfigRequest +from fireblocks.models.set_layer_zero_dvn_config_response import SetLayerZeroDvnConfigResponse +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: + set_layer_zero_dvn_config_request = fireblocks.SetLayerZeroDvnConfigRequest() # SetLayerZeroDvnConfigRequest | + 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: + # Set LayerZero DVN configuration + api_response = fireblocks.tokenization.set_layer_zero_dvn_config(set_layer_zero_dvn_config_request, idempotency_key=idempotency_key).result() + print("The response of TokenizationApi->set_layer_zero_dvn_config:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TokenizationApi->set_layer_zero_dvn_config: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **set_layer_zero_dvn_config_request** | [**SetLayerZeroDvnConfigRequest**](SetLayerZeroDvnConfigRequest.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 + +[**SetLayerZeroDvnConfigResponse**](SetLayerZeroDvnConfigResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | LayerZero DVN configuration set successfully | - | +**400** | Bad request, invalid input data or parameters | - | +**404** | Token link not found | - | +**409** | Token link preparation error | - | +**422** | Bridging protocol blockchain metadata not found | - | +**500** | Internal server error | - | + +[[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_layer_zero_peers** +> SetLayerZeroPeersResponse set_layer_zero_peers(set_layer_zero_peers_request, idempotency_key=idempotency_key) + +Set LayerZero peers + +Set LayerZero peers to establish connections between adapter contracts. This endpoint creates peer relationships that enable cross-chain communication. It sets the destination adapter as a peer of the source adapter. If `bidirectional` is true, it also sets the source adapter as a peer of the destination adapter(s). + +### Example + + +```python +from fireblocks.models.set_layer_zero_peers_request import SetLayerZeroPeersRequest +from fireblocks.models.set_layer_zero_peers_response import SetLayerZeroPeersResponse +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: + set_layer_zero_peers_request = fireblocks.SetLayerZeroPeersRequest() # SetLayerZeroPeersRequest | + 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: + # Set LayerZero peers + api_response = fireblocks.tokenization.set_layer_zero_peers(set_layer_zero_peers_request, idempotency_key=idempotency_key).result() + print("The response of TokenizationApi->set_layer_zero_peers:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TokenizationApi->set_layer_zero_peers: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **set_layer_zero_peers_request** | [**SetLayerZeroPeersRequest**](SetLayerZeroPeersRequest.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 + +[**SetLayerZeroPeersResponse**](SetLayerZeroPeersResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | LayerZero peers set successfully | - | +**400** | Bad request, invalid input data or parameters | - | +**404** | Token link not found | - | +**409** | Token link preparation error | - | +**422** | Token link is not fungible | - | +**500** | Internal server error | - | + +[[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) + # **unlink** > unlink(id) @@ -1175,3 +1740,82 @@ 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) +# **validate_layer_zero_channel_config** +> ValidateLayerZeroChannelResponse validate_layer_zero_channel_config(adapter_token_link_id, peer_adapter_token_link_id) + +Validate LayerZero channel configuration + +Validate the LayerZero channel configuration between adapters. This endpoint checks if the channel configuration is correct and returns any validation errors. + +### Example + + +```python +from fireblocks.models.validate_layer_zero_channel_response import ValidateLayerZeroChannelResponse +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: + adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d' # str | The token link ID of the adapter + peer_adapter_token_link_id = '6add4f2a-b206-4114-8f94-2882618ffbb4' # str | Peer adapter token link ID to validate against + + try: + # Validate LayerZero channel configuration + api_response = fireblocks.tokenization.validate_layer_zero_channel_config(adapter_token_link_id, peer_adapter_token_link_id).result() + print("The response of TokenizationApi->validate_layer_zero_channel_config:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TokenizationApi->validate_layer_zero_channel_config: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **adapter_token_link_id** | **str**| The token link ID of the adapter | + **peer_adapter_token_link_id** | **str**| Peer adapter token link ID to validate against | + +### Return type + +[**ValidateLayerZeroChannelResponse**](ValidateLayerZeroChannelResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | LayerZero channel configuration validation completed | - | +**400** | Bad request, invalid input data or parameters | - | +**404** | Token link not found | - | +**422** | Bridging protocol blockchain metadata not found | - | +**500** | Internal server error | - | + +[[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/ValidateLayerZeroChannelResponse.md b/docs/ValidateLayerZeroChannelResponse.md new file mode 100644 index 00000000..784a69aa --- /dev/null +++ b/docs/ValidateLayerZeroChannelResponse.md @@ -0,0 +1,30 @@ +# ValidateLayerZeroChannelResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**correct** | **bool** | Indicates whether the LayerZero channel configuration is valid. | +**errors** | **List[str]** | List of errors found during validation. An empty array indicates no errors. | + +## Example + +```python +from fireblocks.models.validate_layer_zero_channel_response import ValidateLayerZeroChannelResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ValidateLayerZeroChannelResponse from a JSON string +validate_layer_zero_channel_response_instance = ValidateLayerZeroChannelResponse.from_json(json) +# print the JSON string representation of the object +print(ValidateLayerZeroChannelResponse.to_json()) + +# convert the object into a dict +validate_layer_zero_channel_response_dict = validate_layer_zero_channel_response_instance.to_dict() +# create an instance of ValidateLayerZeroChannelResponse from a dict +validate_layer_zero_channel_response_from_dict = ValidateLayerZeroChannelResponse.from_dict(validate_layer_zero_channel_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/fireblocks/__init__.py b/fireblocks/__init__.py index 6a1b54da..20b698c5 100644 --- a/fireblocks/__init__.py +++ b/fireblocks/__init__.py @@ -15,7 +15,7 @@ """ # noqa: E501 -__version__ = "11.1.0" +__version__ = "0.0.0" # import apis into sdk package from fireblocks.api.api_user_api import ApiUserApi @@ -82,6 +82,7 @@ from fireblocks.models.abi_function import AbiFunction from fireblocks.models.account import Account from fireblocks.models.account_type import AccountType +from fireblocks.models.adapter_processing_result import AdapterProcessingResult from fireblocks.models.add_abi_request_dto import AddAbiRequestDto from fireblocks.models.add_asset_to_external_wallet_request import ( AddAssetToExternalWalletRequest, @@ -176,6 +177,15 @@ from fireblocks.models.cancel_transaction_response import CancelTransactionResponse from fireblocks.models.chain_descriptor import ChainDescriptor from fireblocks.models.chain_info_response import ChainInfoResponse +from fireblocks.models.channel_dvn_config_with_confirmations import ( + ChannelDvnConfigWithConfirmations, +) +from fireblocks.models.channel_dvn_config_with_confirmations_receive_config import ( + ChannelDvnConfigWithConfirmationsReceiveConfig, +) +from fireblocks.models.channel_dvn_config_with_confirmations_send_config import ( + ChannelDvnConfigWithConfirmationsSendConfig, +) from fireblocks.models.claim_rewards_request import ClaimRewardsRequest from fireblocks.models.collection_burn_request_dto import CollectionBurnRequestDto from fireblocks.models.collection_burn_response_dto import CollectionBurnResponseDto @@ -344,6 +354,9 @@ DeleteNetworkConnectionResponse, ) from fireblocks.models.delete_network_id_response import DeleteNetworkIdResponse +from fireblocks.models.deploy_layer_zero_adapters_request import ( + DeployLayerZeroAdaptersRequest, +) from fireblocks.models.deployable_address_response import DeployableAddressResponse from fireblocks.models.deployed_contract_not_found_error import ( DeployedContractNotFoundError, @@ -407,6 +420,8 @@ ) from fireblocks.models.drop_transaction_request import DropTransactionRequest from fireblocks.models.drop_transaction_response import DropTransactionResponse +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 from fireblocks.models.edit_gas_station_configuration_response import ( EditGasStationConfigurationResponse, @@ -506,6 +521,10 @@ GetExchangeAccountsCredentialsPublicKeyResponse, ) from fireblocks.models.get_filter_parameter import GetFilterParameter +from fireblocks.models.get_layer_zero_dvn_config_response import ( + GetLayerZeroDvnConfigResponse, +) +from fireblocks.models.get_layer_zero_peers_response import GetLayerZeroPeersResponse from fireblocks.models.get_linked_collections_paginated_response import ( GetLinkedCollectionsPaginatedResponse, ) @@ -534,6 +553,9 @@ from fireblocks.models.invalid_paramater_value_error import InvalidParamaterValueError from fireblocks.models.job import Job from fireblocks.models.job_created import JobCreated +from fireblocks.models.layer_zero_adapter_create_params import ( + LayerZeroAdapterCreateParams, +) from fireblocks.models.lean_abi_function import LeanAbiFunction from fireblocks.models.lean_contract_dto import LeanContractDto from fireblocks.models.lean_deployed_contract_response_dto import ( @@ -616,6 +638,7 @@ from fireblocks.models.payout_response import PayoutResponse from fireblocks.models.payout_state import PayoutState from fireblocks.models.payout_status import PayoutStatus +from fireblocks.models.peer_adapter_info import PeerAdapterInfo from fireblocks.models.players import Players from fireblocks.models.policy_and_validation_response import PolicyAndValidationResponse from fireblocks.models.policy_check_result import PolicyCheckResult @@ -672,6 +695,21 @@ from fireblocks.models.related_request import RelatedRequest from fireblocks.models.related_transaction import RelatedTransaction from fireblocks.models.remove_collateral_request_body import RemoveCollateralRequestBody +from fireblocks.models.remove_layer_zero_adapter_failed_result import ( + RemoveLayerZeroAdapterFailedResult, +) +from fireblocks.models.remove_layer_zero_adapters_request import ( + RemoveLayerZeroAdaptersRequest, +) +from fireblocks.models.remove_layer_zero_adapters_response import ( + RemoveLayerZeroAdaptersResponse, +) +from fireblocks.models.remove_layer_zero_peers_request import ( + RemoveLayerZeroPeersRequest, +) +from fireblocks.models.remove_layer_zero_peers_response import ( + RemoveLayerZeroPeersResponse, +) from fireblocks.models.rename_cosigner import RenameCosigner from fireblocks.models.rename_vault_account_response import RenameVaultAccountResponse from fireblocks.models.rescan_transaction import RescanTransaction @@ -739,6 +777,14 @@ SetCustomerRefIdForAddressRequest, ) from fireblocks.models.set_customer_ref_id_request import SetCustomerRefIdRequest +from fireblocks.models.set_layer_zero_dvn_config_request import ( + SetLayerZeroDvnConfigRequest, +) +from fireblocks.models.set_layer_zero_dvn_config_response import ( + SetLayerZeroDvnConfigResponse, +) +from fireblocks.models.set_layer_zero_peers_request import SetLayerZeroPeersRequest +from fireblocks.models.set_layer_zero_peers_response import SetLayerZeroPeersResponse from fireblocks.models.set_network_id_discoverability_request import ( SetNetworkIdDiscoverabilityRequest, ) @@ -1036,6 +1082,9 @@ from fireblocks.models.user_status import UserStatus from fireblocks.models.user_type import UserType from fireblocks.models.validate_address_response import ValidateAddressResponse +from fireblocks.models.validate_layer_zero_channel_response import ( + ValidateLayerZeroChannelResponse, +) from fireblocks.models.validated_transactions_for_rescan import ( ValidatedTransactionsForRescan, ) diff --git a/fireblocks/api/tokenization_api.py b/fireblocks/api/tokenization_api.py index 2f4b3705..889b8930 100644 --- a/fireblocks/api/tokenization_api.py +++ b/fireblocks/api/tokenization_api.py @@ -21,6 +21,7 @@ from pydantic import Field, StrictStr from typing import Any, List, Optional, Union from typing_extensions import Annotated +from fireblocks.models.adapter_processing_result import AdapterProcessingResult from fireblocks.models.collection_burn_request_dto import CollectionBurnRequestDto from fireblocks.models.collection_burn_response_dto import CollectionBurnResponseDto from fireblocks.models.collection_deploy_request_dto import CollectionDeployRequestDto @@ -29,13 +30,25 @@ from fireblocks.models.collection_mint_response_dto import CollectionMintResponseDto from fireblocks.models.create_multichain_token_request import CreateMultichainTokenRequest from fireblocks.models.create_token_request_dto import CreateTokenRequestDto +from fireblocks.models.deploy_layer_zero_adapters_request import DeployLayerZeroAdaptersRequest from fireblocks.models.deployable_address_response import DeployableAddressResponse from fireblocks.models.get_deployable_address_request import GetDeployableAddressRequest +from fireblocks.models.get_layer_zero_dvn_config_response import GetLayerZeroDvnConfigResponse +from fireblocks.models.get_layer_zero_peers_response import GetLayerZeroPeersResponse from fireblocks.models.get_linked_collections_paginated_response import GetLinkedCollectionsPaginatedResponse from fireblocks.models.reissue_multichain_token_request import ReissueMultichainTokenRequest +from fireblocks.models.remove_layer_zero_adapters_request import RemoveLayerZeroAdaptersRequest +from fireblocks.models.remove_layer_zero_adapters_response import RemoveLayerZeroAdaptersResponse +from fireblocks.models.remove_layer_zero_peers_request import RemoveLayerZeroPeersRequest +from fireblocks.models.remove_layer_zero_peers_response import RemoveLayerZeroPeersResponse +from fireblocks.models.set_layer_zero_dvn_config_request import SetLayerZeroDvnConfigRequest +from fireblocks.models.set_layer_zero_dvn_config_response import SetLayerZeroDvnConfigResponse +from fireblocks.models.set_layer_zero_peers_request import SetLayerZeroPeersRequest +from fireblocks.models.set_layer_zero_peers_response import SetLayerZeroPeersResponse from fireblocks.models.token_link_dto import TokenLinkDto from fireblocks.models.token_link_request_dto import TokenLinkRequestDto from fireblocks.models.tokens_paginated_response import TokensPaginatedResponse +from fireblocks.models.validate_layer_zero_channel_response import ValidateLayerZeroChannelResponse from fireblocks.api_client import ApiClient, RequestSerialized from fireblocks.api_response import ApiResponse @@ -360,11 +373,1002 @@ def _create_new_collection_serialize( + @validate_call + def deactivate_and_unlink_adapters( + self, + remove_layer_zero_adapters_request: RemoveLayerZeroAdaptersRequest, + 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[RemoveLayerZeroAdaptersResponse]]: + """Remove LayerZero adapters + + Remove LayerZero adapters by deactivating and unlinking them. This endpoint revokes roles and deactivates the specified adapter contracts. + + :param remove_layer_zero_adapters_request: (required) + :type remove_layer_zero_adapters_request: RemoveLayerZeroAdaptersRequest + :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._deactivate_and_unlink_adapters_serialize( + remove_layer_zero_adapters_request=remove_layer_zero_adapters_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': "RemoveLayerZeroAdaptersResponse", + '400': "ErrorResponse", + '404': "ErrorResponse", + '409': "ErrorResponse", + '500': "ErrorResponse", + } + + return self.api_client.call_api( + *_param, + _request_timeout=_request_timeout, + _response_types_map=_response_types_map, + ) + + def _deactivate_and_unlink_adapters_serialize( + self, + remove_layer_zero_adapters_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 remove_layer_zero_adapters_request is not None: + _body_params = remove_layer_zero_adapters_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='DELETE', + resource_path='/tokenization/multichain/bridge/layerzero', + 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 deploy_and_link_adapters( + self, + deploy_layer_zero_adapters_request: DeployLayerZeroAdaptersRequest, + 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[List[AdapterProcessingResult]]]: + """Deploy LayerZero adapters + + Deploy LayerZero adapters for multichain token bridging functionality. This endpoint creates adapter contracts that enable cross-chain token transfers. + + :param deploy_layer_zero_adapters_request: (required) + :type deploy_layer_zero_adapters_request: DeployLayerZeroAdaptersRequest + :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._deploy_and_link_adapters_serialize( + deploy_layer_zero_adapters_request=deploy_layer_zero_adapters_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': "List[AdapterProcessingResult]", + '400': "ErrorResponse", + '404': "ErrorResponse", + '409': "ErrorResponse", + '422': "ErrorResponse", + '500': "ErrorResponse", + } + + return self.api_client.call_api( + *_param, + _request_timeout=_request_timeout, + _response_types_map=_response_types_map, + ) + + def _deploy_and_link_adapters_serialize( + self, + deploy_layer_zero_adapters_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 deploy_layer_zero_adapters_request is not None: + _body_params = deploy_layer_zero_adapters_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='/tokenization/multichain/bridge/layerzero', + 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 fetch_collection_token_details( self, - id: Annotated[StrictStr, Field(description="The collection link id")], - token_id: Annotated[StrictStr, Field(description="The tokenId as it appears on the blockchain")], + id: Annotated[StrictStr, Field(description="The collection link id")], + token_id: Annotated[StrictStr, Field(description="The tokenId as it appears on the blockchain")], + _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[CollectionLinkDto]]: + """Get collection token details + + Get collection token details by id + + :param id: The collection link id (required) + :type id: str + :param token_id: The tokenId as it appears on the blockchain (required) + :type token_id: 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="fetch_collection_token_details", param_name="id", param_value=id) + validate_not_empty_string(function_name="fetch_collection_token_details", param_name="token_id", param_value=token_id) + + _param = self._fetch_collection_token_details_serialize( + id=id, + token_id=token_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CollectionLinkDto", + 'default': "ErrorSchema", + } + + return self.api_client.call_api( + *_param, + _request_timeout=_request_timeout, + _response_types_map=_response_types_map, + ) + + def _fetch_collection_token_details_serialize( + self, + id, + token_id, + _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 id is not None: + _path_params['id'] = id + if token_id is not None: + _path_params['tokenId'] = token_id + # process the query parameters + # process the header parameters + # 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='GET', + resource_path='/tokenization/collections/{id}/tokens/{tokenId}', + 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 get_collection_by_id( + self, + id: Annotated[StrictStr, Field(description="The token link id")], + _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[CollectionLinkDto]]: + """Get a collection by id + + Get a collection by id + + :param id: The token link id (required) + :type id: 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="get_collection_by_id", param_name="id", param_value=id) + + _param = self._get_collection_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CollectionLinkDto", + 'default': "ErrorSchema", + } + + return self.api_client.call_api( + *_param, + _request_timeout=_request_timeout, + _response_types_map=_response_types_map, + ) + + def _get_collection_by_id_serialize( + self, + id, + _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 id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # 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='GET', + resource_path='/tokenization/collections/{id}', + 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 get_deployable_address( + self, + get_deployable_address_request: GetDeployableAddressRequest, + 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[DeployableAddressResponse]]: + """Get deterministic address for contract deployment + + Get a deterministic address for contract deployment. The address is derived from the contract's bytecode and provided salt. This endpoint is used to get the address of a contract that will be deployed in the future. + + :param get_deployable_address_request: (required) + :type get_deployable_address_request: GetDeployableAddressRequest + :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._get_deployable_address_serialize( + get_deployable_address_request=get_deployable_address_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': "DeployableAddressResponse", + '400': "InvalidParamaterValueError", + '409': "AddressNotAvailableError", + 'default': "ErrorSchema", + } + + return self.api_client.call_api( + *_param, + _request_timeout=_request_timeout, + _response_types_map=_response_types_map, + ) + + def _get_deployable_address_serialize( + self, + get_deployable_address_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 get_deployable_address_request is not None: + _body_params = get_deployable_address_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='/tokenization/multichain/deterministic_address', + 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 get_layer_zero_dvn_config( + self, + adapter_token_link_id: Annotated[StrictStr, Field(description="The token link id of the adapter token link")], + peer_adapter_token_link_id: Annotated[Optional[StrictStr], Field(description="Optional peer adapter token link ID to filter results")] = 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[GetLayerZeroDvnConfigResponse]]: + """Get LayerZero DVN configuration + + Retrieve the DVN (Data Verification Network) configuration for a specific adapter. Returns DVN configurations for channels between the source adapter and its peers. + + :param adapter_token_link_id: The token link id of the adapter token link (required) + :type adapter_token_link_id: str + :param peer_adapter_token_link_id: Optional peer adapter token link ID to filter results + :type peer_adapter_token_link_id: 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="get_layer_zero_dvn_config", param_name="adapter_token_link_id", param_value=adapter_token_link_id) + + _param = self._get_layer_zero_dvn_config_serialize( + adapter_token_link_id=adapter_token_link_id, + peer_adapter_token_link_id=peer_adapter_token_link_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetLayerZeroDvnConfigResponse", + '400': "ErrorResponse", + '404': "ErrorResponse", + '500': "ErrorResponse", + } + + return self.api_client.call_api( + *_param, + _request_timeout=_request_timeout, + _response_types_map=_response_types_map, + ) + + def _get_layer_zero_dvn_config_serialize( + self, + adapter_token_link_id, + peer_adapter_token_link_id, + _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 adapter_token_link_id is not None: + _path_params['adapterTokenLinkId'] = adapter_token_link_id + # process the query parameters + if peer_adapter_token_link_id is not None: + + _query_params.append(('peerAdapterTokenLinkId', peer_adapter_token_link_id)) + + # process the header parameters + # 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='GET', + resource_path='/tokenization/multichain/bridge/layerzero/config/{adapterTokenLinkId}/dvns', + 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 get_layer_zero_peers( + self, + adapter_token_link_id: Annotated[StrictStr, Field(description="The token link id of the adapter token link")], + _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[GetLayerZeroPeersResponse]]: + """Get LayerZero peers + + Retrieve the LayerZero peers configured for a specific adapter. Returns information about peer relationships for cross-chain communication. + + :param adapter_token_link_id: The token link id of the adapter token link (required) + :type adapter_token_link_id: 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="get_layer_zero_peers", param_name="adapter_token_link_id", param_value=adapter_token_link_id) + + _param = self._get_layer_zero_peers_serialize( + adapter_token_link_id=adapter_token_link_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetLayerZeroPeersResponse", + '400': "ErrorResponse", + '404': "ErrorResponse", + '500': "ErrorResponse", + } + + return self.api_client.call_api( + *_param, + _request_timeout=_request_timeout, + _response_types_map=_response_types_map, + ) + + def _get_layer_zero_peers_serialize( + self, + adapter_token_link_id, + _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 adapter_token_link_id is not None: + _path_params['adapterTokenLinkId'] = adapter_token_link_id + # process the query parameters + # process the header parameters + # 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='GET', + resource_path='/tokenization/multichain/bridge/layerzero/config/{adapterTokenLinkId}/peers', + 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 get_linked_collections( + self, + page_cursor: Annotated[Optional[StrictStr], Field(description="Page cursor to get the next page, for example - \"MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==\"")] = None, + page_size: Annotated[Optional[Union[Annotated[float, Field(le=100, strict=True, ge=1)], Annotated[int, Field(le=100, strict=True, ge=1)]]], Field(description="Number of items per page (max 100), requesting more then 100 will return 100 items")] = None, + status: Annotated[Optional[Any], Field(description="A comma separated list of statuses to filter. Default is \"COMPLETED\"")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -377,15 +1381,159 @@ def fetch_collection_token_details( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[CollectionLinkDto]]: - """Get collection token details + ) -> Future[ApiResponse[GetLinkedCollectionsPaginatedResponse]]: + """Get collections - Get collection token details by id + Get collections (paginated) - :param id: The collection link id (required) + :param page_cursor: Page cursor to get the next page, for example - \"MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==\" + :type page_cursor: str + :param page_size: Number of items per page (max 100), requesting more then 100 will return 100 items + :type page_size: float + :param status: A comma separated list of statuses to filter. Default is \"COMPLETED\" + :type status: object + :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._get_linked_collections_serialize( + page_cursor=page_cursor, + page_size=page_size, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetLinkedCollectionsPaginatedResponse", + 'default': "ErrorSchema", + } + + return self.api_client.call_api( + *_param, + _request_timeout=_request_timeout, + _response_types_map=_response_types_map, + ) + + def _get_linked_collections_serialize( + self, + page_cursor, + page_size, + status, + _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 + if page_cursor is not None: + + _query_params.append(('pageCursor', page_cursor)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + if status is not None: + + _query_params.append(('status', status)) + + # process the header parameters + # 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='GET', + resource_path='/tokenization/collections', + 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 get_linked_token( + self, + id: Annotated[StrictStr, Field(description="The token link id")], + _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[TokenLinkDto]]: + """Return a linked token + + Return a linked token, with its status and metadata. + + :param id: The token link id (required) :type id: str - :param token_id: The tokenId as it appears on the blockchain (required) - :type token_id: 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 @@ -408,12 +1556,10 @@ def fetch_collection_token_details( :return: Returns the result object. """ # noqa: E501 - validate_not_empty_string(function_name="fetch_collection_token_details", param_name="id", param_value=id) - validate_not_empty_string(function_name="fetch_collection_token_details", param_name="token_id", param_value=token_id) + validate_not_empty_string(function_name="get_linked_token", param_name="id", param_value=id) - _param = self._fetch_collection_token_details_serialize( + _param = self._get_linked_token_serialize( id=id, - token_id=token_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -421,7 +1567,7 @@ def fetch_collection_token_details( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CollectionLinkDto", + '200': "TokenLinkDto", 'default': "ErrorSchema", } @@ -431,10 +1577,9 @@ def fetch_collection_token_details( _response_types_map=_response_types_map, ) - def _fetch_collection_token_details_serialize( + def _get_linked_token_serialize( self, id, - token_id, _request_auth, _content_type, _headers, @@ -458,8 +1603,6 @@ def _fetch_collection_token_details_serialize( # process the path parameters if id is not None: _path_params['id'] = id - if token_id is not None: - _path_params['tokenId'] = token_id # process the query parameters # process the header parameters # process the form parameters @@ -481,7 +1624,7 @@ def _fetch_collection_token_details_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/tokenization/collections/{id}/tokens/{tokenId}', + resource_path='/tokenization/tokens/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -498,9 +1641,11 @@ def _fetch_collection_token_details_serialize( @validate_call - def get_collection_by_id( + def get_linked_tokens( self, - id: Annotated[StrictStr, Field(description="The token link id")], + page_cursor: Annotated[Optional[StrictStr], Field(description="Page cursor to get the next page")] = None, + page_size: Annotated[Optional[Union[Annotated[float, Field(le=100, strict=True, ge=1)], Annotated[int, Field(le=100, strict=True, ge=1)]]], Field(description="Number of items per page, requesting more then max will return max items")] = None, + status: Annotated[Optional[Any], Field(description="A comma separated list of statuses to filter. Default is \"COMPLETED\"")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -513,13 +1658,17 @@ def get_collection_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[CollectionLinkDto]]: - """Get a collection by id + ) -> Future[ApiResponse[TokensPaginatedResponse]]: + """List all linked tokens - Get a collection by id + Return all linked tokens (paginated) - :param id: The token link id (required) - :type id: str + :param page_cursor: Page cursor to get the next page + :type page_cursor: str + :param page_size: Number of items per page, requesting more then max will return max items + :type page_size: float + :param status: A comma separated list of statuses to filter. Default is \"COMPLETED\" + :type status: object :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 @@ -542,10 +1691,11 @@ def get_collection_by_id( :return: Returns the result object. """ # noqa: E501 - validate_not_empty_string(function_name="get_collection_by_id", param_name="id", param_value=id) - _param = self._get_collection_by_id_serialize( - id=id, + _param = self._get_linked_tokens_serialize( + page_cursor=page_cursor, + page_size=page_size, + status=status, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -553,7 +1703,7 @@ def get_collection_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CollectionLinkDto", + '200': "TokensPaginatedResponse", 'default': "ErrorSchema", } @@ -563,9 +1713,11 @@ def get_collection_by_id( _response_types_map=_response_types_map, ) - def _get_collection_by_id_serialize( + def _get_linked_tokens_serialize( self, - id, + page_cursor, + page_size, + status, _request_auth, _content_type, _headers, @@ -587,9 +1739,19 @@ def _get_collection_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if id is not None: - _path_params['id'] = id # process the query parameters + if page_cursor is not None: + + _query_params.append(('pageCursor', page_cursor)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + if status is not None: + + _query_params.append(('status', status)) + # process the header parameters # process the form parameters # process the body parameter @@ -610,7 +1772,7 @@ def _get_collection_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/tokenization/collections/{id}', + resource_path='/tokenization/tokens', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -627,9 +1789,9 @@ def _get_collection_by_id_serialize( @validate_call - def get_deployable_address( + def issue_new_token( self, - get_deployable_address_request: GetDeployableAddressRequest, + create_token_request_dto: CreateTokenRequestDto, 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, @@ -643,13 +1805,13 @@ def get_deployable_address( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[DeployableAddressResponse]]: - """Get deterministic address for contract deployment + ) -> Future[ApiResponse[TokenLinkDto]]: + """Issue a new token - Get a deterministic address for contract deployment. The address is derived from the contract's bytecode and provided salt. This endpoint is used to get the address of a contract that will be deployed in the future. + Facilitates the creation of a new token, supporting both EVM-based and Stellar/Ripple platforms. For EVM, it deploys the corresponding contract template to the blockchain and links the token to the workspace. For Stellar/Ripple, it links a newly created token directly to the workspace without deploying a contract. Returns the token link with status \"PENDING\" until the token is deployed or \"SUCCESS\" if no deployment is needed. - :param get_deployable_address_request: (required) - :type get_deployable_address_request: GetDeployableAddressRequest + :param create_token_request_dto: (required) + :type create_token_request_dto: CreateTokenRequestDto :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 @@ -675,8 +1837,8 @@ def get_deployable_address( """ # noqa: E501 - _param = self._get_deployable_address_serialize( - get_deployable_address_request=get_deployable_address_request, + _param = self._issue_new_token_serialize( + create_token_request_dto=create_token_request_dto, idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, @@ -685,10 +1847,8 @@ def get_deployable_address( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DeployableAddressResponse", - '400': "InvalidParamaterValueError", - '409': "AddressNotAvailableError", - 'default': "ErrorSchema", + '201': "TokenLinkDto", + '409': "AssetAlreadyExistHttpError", } return self.api_client.call_api( @@ -697,9 +1857,9 @@ def get_deployable_address( _response_types_map=_response_types_map, ) - def _get_deployable_address_serialize( + def _issue_new_token_serialize( self, - get_deployable_address_request, + create_token_request_dto, idempotency_key, _request_auth, _content_type, @@ -728,8 +1888,8 @@ def _get_deployable_address_serialize( _header_params['Idempotency-Key'] = idempotency_key # process the form parameters # process the body parameter - if get_deployable_address_request is not None: - _body_params = get_deployable_address_request + if create_token_request_dto is not None: + _body_params = create_token_request_dto # set the HTTP header `Accept` @@ -760,7 +1920,7 @@ def _get_deployable_address_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/tokenization/multichain/deterministic_address', + resource_path='/tokenization/tokens', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -777,11 +1937,10 @@ def _get_deployable_address_serialize( @validate_call - def get_linked_collections( + def issue_token_multi_chain( self, - page_cursor: Annotated[Optional[StrictStr], Field(description="Page cursor to get the next page, for example - \"MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==\"")] = None, - page_size: Annotated[Optional[Union[Annotated[float, Field(le=100, strict=True, ge=1)], Annotated[int, Field(le=100, strict=True, ge=1)]]], Field(description="Number of items per page (max 100), requesting more then 100 will return 100 items")] = None, - status: Annotated[Optional[Any], Field(description="A comma separated list of statuses to filter. Default is \"COMPLETED\"")] = None, + create_multichain_token_request: CreateMultichainTokenRequest, + 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)], @@ -794,17 +1953,15 @@ def get_linked_collections( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[GetLinkedCollectionsPaginatedResponse]]: - """Get collections + ) -> Future[ApiResponse[List[TokenLinkDto]]]: + """Issue a token on one or more blockchains - Get collections (paginated) + Facilitates the creation of a new token on one or more blockchains. - :param page_cursor: Page cursor to get the next page, for example - \"MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==\" - :type page_cursor: str - :param page_size: Number of items per page (max 100), requesting more then 100 will return 100 items - :type page_size: float - :param status: A comma separated list of statuses to filter. Default is \"COMPLETED\" - :type status: object + :param create_multichain_token_request: (required) + :type create_multichain_token_request: CreateMultichainTokenRequest + :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 @@ -828,10 +1985,9 @@ def get_linked_collections( """ # noqa: E501 - _param = self._get_linked_collections_serialize( - page_cursor=page_cursor, - page_size=page_size, - status=status, + _param = self._issue_token_multi_chain_serialize( + create_multichain_token_request=create_multichain_token_request, + idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -839,8 +1995,9 @@ def get_linked_collections( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetLinkedCollectionsPaginatedResponse", - 'default': "ErrorSchema", + '201': "List[TokenLinkDto]", + '400': "InvalidParamaterValueError", + '409': "AddressNotAvailableError", } return self.api_client.call_api( @@ -849,11 +2006,10 @@ def get_linked_collections( _response_types_map=_response_types_map, ) - def _get_linked_collections_serialize( + def _issue_token_multi_chain_serialize( self, - page_cursor, - page_size, - status, + create_multichain_token_request, + idempotency_key, _request_auth, _content_type, _headers, @@ -876,21 +2032,13 @@ def _get_linked_collections_serialize( # process the path parameters # process the query parameters - if page_cursor is not None: - - _query_params.append(('pageCursor', page_cursor)) - - if page_size is not None: - - _query_params.append(('pageSize', page_size)) - - if status is not None: - - _query_params.append(('status', status)) - # 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_multichain_token_request is not None: + _body_params = create_multichain_token_request # set the HTTP header `Accept` @@ -901,14 +2049,27 @@ def _get_linked_collections_serialize( ] ) + # 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='GET', - resource_path='/tokenization/collections', + method='POST', + resource_path='/tokenization/multichain/tokens', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -925,9 +2086,10 @@ def _get_linked_collections_serialize( @validate_call - def get_linked_token( + def link( self, - id: Annotated[StrictStr, Field(description="The token link id")], + token_link_request_dto: TokenLinkRequestDto, + 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)], @@ -941,12 +2103,14 @@ def get_linked_token( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> Future[ApiResponse[TokenLinkDto]]: - """Return a linked token + """Link a contract - Return a linked token, with its status and metadata. + Link an a contract - :param id: The token link id (required) - :type id: str + :param token_link_request_dto: (required) + :type token_link_request_dto: TokenLinkRequestDto + :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 @@ -969,10 +2133,10 @@ def get_linked_token( :return: Returns the result object. """ # noqa: E501 - validate_not_empty_string(function_name="get_linked_token", param_name="id", param_value=id) - _param = self._get_linked_token_serialize( - id=id, + _param = self._link_serialize( + token_link_request_dto=token_link_request_dto, + idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -981,6 +2145,9 @@ def get_linked_token( _response_types_map: Dict[str, Optional[str]] = { '200': "TokenLinkDto", + '201': "TokenLinkDto", + '404': None, + '409': "TokenLinkExistsHttpError", 'default': "ErrorSchema", } @@ -990,9 +2157,10 @@ def get_linked_token( _response_types_map=_response_types_map, ) - def _get_linked_token_serialize( + def _link_serialize( self, - id, + token_link_request_dto, + idempotency_key, _request_auth, _content_type, _headers, @@ -1014,12 +2182,14 @@ def _get_linked_token_serialize( _body_params: Optional[bytes] = None # process the path parameters - if id is not None: - _path_params['id'] = 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 + if token_link_request_dto is not None: + _body_params = token_link_request_dto # set the HTTP header `Accept` @@ -1030,14 +2200,27 @@ def _get_linked_token_serialize( ] ) + # 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='GET', - resource_path='/tokenization/tokens/{id}', + method='POST', + resource_path='/tokenization/tokens/link', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1054,11 +2237,11 @@ def _get_linked_token_serialize( @validate_call - def get_linked_tokens( + def mint_collection_token( self, - page_cursor: Annotated[Optional[StrictStr], Field(description="Page cursor to get the next page")] = None, - page_size: Annotated[Optional[Union[Annotated[float, Field(le=100, strict=True, ge=1)], Annotated[int, Field(le=100, strict=True, ge=1)]]], Field(description="Number of items per page, requesting more then max will return max items")] = None, - status: Annotated[Optional[Any], Field(description="A comma separated list of statuses to filter. Default is \"COMPLETED\"")] = None, + id: Annotated[StrictStr, Field(description="The collection link id")], + collection_mint_request_dto: CollectionMintRequestDto, + 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)], @@ -1071,17 +2254,17 @@ def get_linked_tokens( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[TokensPaginatedResponse]]: - """List all linked tokens + ) -> Future[ApiResponse[CollectionMintResponseDto]]: + """Mint tokens - Return all linked tokens (paginated) + Mint tokens and upload metadata - :param page_cursor: Page cursor to get the next page - :type page_cursor: str - :param page_size: Number of items per page, requesting more then max will return max items - :type page_size: float - :param status: A comma separated list of statuses to filter. Default is \"COMPLETED\" - :type status: object + :param id: The collection link id (required) + :type id: str + :param collection_mint_request_dto: (required) + :type collection_mint_request_dto: CollectionMintRequestDto + :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 @@ -1104,11 +2287,12 @@ def get_linked_tokens( :return: Returns the result object. """ # noqa: E501 + validate_not_empty_string(function_name="mint_collection_token", param_name="id", param_value=id) - _param = self._get_linked_tokens_serialize( - page_cursor=page_cursor, - page_size=page_size, - status=status, + _param = self._mint_collection_token_serialize( + id=id, + collection_mint_request_dto=collection_mint_request_dto, + idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1116,7 +2300,7 @@ def get_linked_tokens( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TokensPaginatedResponse", + '202': "CollectionMintResponseDto", 'default': "ErrorSchema", } @@ -1126,11 +2310,11 @@ def get_linked_tokens( _response_types_map=_response_types_map, ) - def _get_linked_tokens_serialize( + def _mint_collection_token_serialize( self, - page_cursor, - page_size, - status, + id, + collection_mint_request_dto, + idempotency_key, _request_auth, _content_type, _headers, @@ -1152,22 +2336,16 @@ def _get_linked_tokens_serialize( _body_params: Optional[bytes] = None # process the path parameters + if id is not None: + _path_params['id'] = id # process the query parameters - if page_cursor is not None: - - _query_params.append(('pageCursor', page_cursor)) - - if page_size is not None: - - _query_params.append(('pageSize', page_size)) - - if status is not None: - - _query_params.append(('status', status)) - # 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 collection_mint_request_dto is not None: + _body_params = collection_mint_request_dto # set the HTTP header `Accept` @@ -1178,14 +2356,27 @@ def _get_linked_tokens_serialize( ] ) + # 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='GET', - resource_path='/tokenization/tokens', + method='POST', + resource_path='/tokenization/collections/{id}/tokens/mint', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1202,9 +2393,10 @@ def _get_linked_tokens_serialize( @validate_call - def issue_new_token( + def re_issue_token_multi_chain( self, - create_token_request_dto: CreateTokenRequestDto, + token_link_id: Annotated[StrictStr, Field(description="The ID of the token link")], + reissue_multichain_token_request: ReissueMultichainTokenRequest, 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, @@ -1218,13 +2410,15 @@ def issue_new_token( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[TokenLinkDto]]: - """Issue a new token + ) -> Future[ApiResponse[List[TokenLinkDto]]]: + """Reissue a multichain token - Facilitates the creation of a new token, supporting both EVM-based and Stellar/Ripple platforms. For EVM, it deploys the corresponding contract template to the blockchain and links the token to the workspace. For Stellar/Ripple, it links a newly created token directly to the workspace without deploying a contract. Returns the token link with status \"PENDING\" until the token is deployed or \"SUCCESS\" if no deployment is needed. + Reissue a multichain token. This endpoint allows you to reissue a token on one or more blockchains. The token must be initially issued using the issueTokenMultiChain endpoint. - :param create_token_request_dto: (required) - :type create_token_request_dto: CreateTokenRequestDto + :param token_link_id: The ID of the token link (required) + :type token_link_id: str + :param reissue_multichain_token_request: (required) + :type reissue_multichain_token_request: ReissueMultichainTokenRequest :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 @@ -1249,9 +2443,11 @@ def issue_new_token( :return: Returns the result object. """ # noqa: E501 + validate_not_empty_string(function_name="re_issue_token_multi_chain", param_name="token_link_id", param_value=token_link_id) - _param = self._issue_new_token_serialize( - create_token_request_dto=create_token_request_dto, + _param = self._re_issue_token_multi_chain_serialize( + token_link_id=token_link_id, + reissue_multichain_token_request=reissue_multichain_token_request, idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, @@ -1260,8 +2456,11 @@ def issue_new_token( ) _response_types_map: Dict[str, Optional[str]] = { - '201': "TokenLinkDto", - '409': "AssetAlreadyExistHttpError", + '201': "List[TokenLinkDto]", + '400': "TokenLinkNotMultichainCompatibleHttpError", + '404': "DeployedContractNotFoundError", + '409': "AddressNotAvailableError", + 'default': "ErrorSchema", } return self.api_client.call_api( @@ -1270,9 +2469,10 @@ def issue_new_token( _response_types_map=_response_types_map, ) - def _issue_new_token_serialize( + def _re_issue_token_multi_chain_serialize( self, - create_token_request_dto, + token_link_id, + reissue_multichain_token_request, idempotency_key, _request_auth, _content_type, @@ -1295,14 +2495,16 @@ def _issue_new_token_serialize( _body_params: Optional[bytes] = None # process the path parameters + if token_link_id is not None: + _path_params['tokenLinkId'] = token_link_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 - if create_token_request_dto is not None: - _body_params = create_token_request_dto + if reissue_multichain_token_request is not None: + _body_params = reissue_multichain_token_request # set the HTTP header `Accept` @@ -1333,7 +2535,7 @@ def _issue_new_token_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/tokenization/tokens', + resource_path='/tokenization/multichain/reissue/token/{tokenLinkId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1350,9 +2552,9 @@ def _issue_new_token_serialize( @validate_call - def issue_token_multi_chain( + def remove_layer_zero_peers( self, - create_multichain_token_request: CreateMultichainTokenRequest, + remove_layer_zero_peers_request: RemoveLayerZeroPeersRequest, 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, @@ -1366,13 +2568,13 @@ def issue_token_multi_chain( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[List[TokenLinkDto]]]: - """Issue a token on one or more blockchains + ) -> Future[ApiResponse[RemoveLayerZeroPeersResponse]]: + """Remove LayerZero peers - Facilitates the creation of a new token on one or more blockchains. + Remove LayerZero peers to disconnect adapter contracts. This endpoint removes peer relationships between LayerZero adapters. - :param create_multichain_token_request: (required) - :type create_multichain_token_request: CreateMultichainTokenRequest + :param remove_layer_zero_peers_request: (required) + :type remove_layer_zero_peers_request: RemoveLayerZeroPeersRequest :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 @@ -1398,8 +2600,8 @@ def issue_token_multi_chain( """ # noqa: E501 - _param = self._issue_token_multi_chain_serialize( - create_multichain_token_request=create_multichain_token_request, + _param = self._remove_layer_zero_peers_serialize( + remove_layer_zero_peers_request=remove_layer_zero_peers_request, idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, @@ -1408,9 +2610,11 @@ def issue_token_multi_chain( ) _response_types_map: Dict[str, Optional[str]] = { - '201': "List[TokenLinkDto]", - '400': "InvalidParamaterValueError", - '409': "AddressNotAvailableError", + '200': "RemoveLayerZeroPeersResponse", + '400': "ErrorResponse", + '404': "ErrorResponse", + '409': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( @@ -1419,9 +2623,9 @@ def issue_token_multi_chain( _response_types_map=_response_types_map, ) - def _issue_token_multi_chain_serialize( + def _remove_layer_zero_peers_serialize( self, - create_multichain_token_request, + remove_layer_zero_peers_request, idempotency_key, _request_auth, _content_type, @@ -1450,8 +2654,8 @@ def _issue_token_multi_chain_serialize( _header_params['Idempotency-Key'] = idempotency_key # process the form parameters # process the body parameter - if create_multichain_token_request is not None: - _body_params = create_multichain_token_request + if remove_layer_zero_peers_request is not None: + _body_params = remove_layer_zero_peers_request # set the HTTP header `Accept` @@ -1481,8 +2685,8 @@ def _issue_token_multi_chain_serialize( ] return self.api_client.param_serialize( - method='POST', - resource_path='/tokenization/multichain/tokens', + method='DELETE', + resource_path='/tokenization/multichain/bridge/layerzero/config/peers', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1499,9 +2703,9 @@ def _issue_token_multi_chain_serialize( @validate_call - def link( + def set_layer_zero_dvn_config( self, - token_link_request_dto: TokenLinkRequestDto, + set_layer_zero_dvn_config_request: SetLayerZeroDvnConfigRequest, 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, @@ -1515,13 +2719,13 @@ def link( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[TokenLinkDto]]: - """Link a contract + ) -> Future[ApiResponse[SetLayerZeroDvnConfigResponse]]: + """Set LayerZero DVN configuration - Link an a contract + Configure DVN settings for LayerZero adapters. This endpoint sets up the DVN configuration for message verification between source and destination adapters. - :param token_link_request_dto: (required) - :type token_link_request_dto: TokenLinkRequestDto + :param set_layer_zero_dvn_config_request: (required) + :type set_layer_zero_dvn_config_request: SetLayerZeroDvnConfigRequest :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 @@ -1547,8 +2751,8 @@ def link( """ # noqa: E501 - _param = self._link_serialize( - token_link_request_dto=token_link_request_dto, + _param = self._set_layer_zero_dvn_config_serialize( + set_layer_zero_dvn_config_request=set_layer_zero_dvn_config_request, idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, @@ -1557,11 +2761,12 @@ def link( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TokenLinkDto", - '201': "TokenLinkDto", - '404': None, - '409': "TokenLinkExistsHttpError", - 'default': "ErrorSchema", + '200': "SetLayerZeroDvnConfigResponse", + '400': "ErrorResponse", + '404': "ErrorResponse", + '409': "ErrorResponse", + '422': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( @@ -1570,9 +2775,9 @@ def link( _response_types_map=_response_types_map, ) - def _link_serialize( + def _set_layer_zero_dvn_config_serialize( self, - token_link_request_dto, + set_layer_zero_dvn_config_request, idempotency_key, _request_auth, _content_type, @@ -1601,8 +2806,8 @@ def _link_serialize( _header_params['Idempotency-Key'] = idempotency_key # process the form parameters # process the body parameter - if token_link_request_dto is not None: - _body_params = token_link_request_dto + if set_layer_zero_dvn_config_request is not None: + _body_params = set_layer_zero_dvn_config_request # set the HTTP header `Accept` @@ -1633,7 +2838,7 @@ def _link_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/tokenization/tokens/link', + resource_path='/tokenization/multichain/bridge/layerzero/config/dvns', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1650,10 +2855,9 @@ def _link_serialize( @validate_call - def mint_collection_token( + def set_layer_zero_peers( self, - id: Annotated[StrictStr, Field(description="The collection link id")], - collection_mint_request_dto: CollectionMintRequestDto, + set_layer_zero_peers_request: SetLayerZeroPeersRequest, 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, @@ -1667,15 +2871,13 @@ def mint_collection_token( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[CollectionMintResponseDto]]: - """Mint tokens + ) -> Future[ApiResponse[SetLayerZeroPeersResponse]]: + """Set LayerZero peers - Mint tokens and upload metadata + Set LayerZero peers to establish connections between adapter contracts. This endpoint creates peer relationships that enable cross-chain communication. It sets the destination adapter as a peer of the source adapter. If `bidirectional` is true, it also sets the source adapter as a peer of the destination adapter(s). - :param id: The collection link id (required) - :type id: str - :param collection_mint_request_dto: (required) - :type collection_mint_request_dto: CollectionMintRequestDto + :param set_layer_zero_peers_request: (required) + :type set_layer_zero_peers_request: SetLayerZeroPeersRequest :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 @@ -1700,11 +2902,9 @@ def mint_collection_token( :return: Returns the result object. """ # noqa: E501 - validate_not_empty_string(function_name="mint_collection_token", param_name="id", param_value=id) - _param = self._mint_collection_token_serialize( - id=id, - collection_mint_request_dto=collection_mint_request_dto, + _param = self._set_layer_zero_peers_serialize( + set_layer_zero_peers_request=set_layer_zero_peers_request, idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, @@ -1713,8 +2913,12 @@ def mint_collection_token( ) _response_types_map: Dict[str, Optional[str]] = { - '202': "CollectionMintResponseDto", - 'default': "ErrorSchema", + '200': "SetLayerZeroPeersResponse", + '400': "ErrorResponse", + '404': "ErrorResponse", + '409': "ErrorResponse", + '422': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( @@ -1723,10 +2927,9 @@ def mint_collection_token( _response_types_map=_response_types_map, ) - def _mint_collection_token_serialize( + def _set_layer_zero_peers_serialize( self, - id, - collection_mint_request_dto, + set_layer_zero_peers_request, idempotency_key, _request_auth, _content_type, @@ -1749,16 +2952,14 @@ def _mint_collection_token_serialize( _body_params: Optional[bytes] = None # process the path parameters - if id is not None: - _path_params['id'] = 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 - if collection_mint_request_dto is not None: - _body_params = collection_mint_request_dto + if set_layer_zero_peers_request is not None: + _body_params = set_layer_zero_peers_request # set the HTTP header `Accept` @@ -1789,7 +2990,7 @@ def _mint_collection_token_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/tokenization/collections/{id}/tokens/mint', + resource_path='/tokenization/multichain/bridge/layerzero/config/peers', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1806,11 +3007,9 @@ def _mint_collection_token_serialize( @validate_call - def re_issue_token_multi_chain( + def unlink( self, - token_link_id: Annotated[StrictStr, Field(description="The ID of the token link")], - reissue_multichain_token_request: ReissueMultichainTokenRequest, - 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, + id: Annotated[StrictStr, Field(description="The token link id")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1823,17 +3022,13 @@ def re_issue_token_multi_chain( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[List[TokenLinkDto]]]: - """Reissue a multichain token + ) -> Future[ApiResponse[None]]: + """Unlink a token - Reissue a multichain token. This endpoint allows you to reissue a token on one or more blockchains. The token must be initially issued using the issueTokenMultiChain endpoint. + Unlink a token. The token will be unlinked from the workspace. The token will not be deleted on chain nor the refId, only the link to the workspace will be removed. - :param token_link_id: The ID of the token link (required) - :type token_link_id: str - :param reissue_multichain_token_request: (required) - :type reissue_multichain_token_request: ReissueMultichainTokenRequest - :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 id: The token link id (required) + :type id: 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 @@ -1856,12 +3051,10 @@ def re_issue_token_multi_chain( :return: Returns the result object. """ # noqa: E501 - validate_not_empty_string(function_name="re_issue_token_multi_chain", param_name="token_link_id", param_value=token_link_id) + validate_not_empty_string(function_name="unlink", param_name="id", param_value=id) - _param = self._re_issue_token_multi_chain_serialize( - token_link_id=token_link_id, - reissue_multichain_token_request=reissue_multichain_token_request, - idempotency_key=idempotency_key, + _param = self._unlink_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1869,10 +3062,9 @@ def re_issue_token_multi_chain( ) _response_types_map: Dict[str, Optional[str]] = { - '201': "List[TokenLinkDto]", - '400': "TokenLinkNotMultichainCompatibleHttpError", - '404': "DeployedContractNotFoundError", - '409': "AddressNotAvailableError", + '200': None, + '204': None, + '404': "NotFoundException", 'default': "ErrorSchema", } @@ -1882,11 +3074,9 @@ def re_issue_token_multi_chain( _response_types_map=_response_types_map, ) - def _re_issue_token_multi_chain_serialize( + def _unlink_serialize( self, - token_link_id, - reissue_multichain_token_request, - idempotency_key, + id, _request_auth, _content_type, _headers, @@ -1908,16 +3098,12 @@ def _re_issue_token_multi_chain_serialize( _body_params: Optional[bytes] = None # process the path parameters - if token_link_id is not None: - _path_params['tokenLinkId'] = token_link_id + if id is not None: + _path_params['id'] = 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 - if reissue_multichain_token_request is not None: - _body_params = reissue_multichain_token_request # set the HTTP header `Accept` @@ -1928,27 +3114,14 @@ def _re_issue_token_multi_chain_serialize( ] ) - # 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='/tokenization/multichain/reissue/token/{tokenLinkId}', + method='DELETE', + resource_path='/tokenization/tokens/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1965,7 +3138,7 @@ def _re_issue_token_multi_chain_serialize( @validate_call - def unlink( + def unlink_collection( self, id: Annotated[StrictStr, Field(description="The token link id")], _request_timeout: Union[ @@ -1981,9 +3154,9 @@ def unlink( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> Future[ApiResponse[None]]: - """Unlink a token + """Delete a collection link - Unlink a token. The token will be unlinked from the workspace. The token will not be deleted on chain nor the refId, only the link to the workspace will be removed. + Delete a collection link :param id: The token link id (required) :type id: str @@ -2009,9 +3182,9 @@ def unlink( :return: Returns the result object. """ # noqa: E501 - validate_not_empty_string(function_name="unlink", param_name="id", param_value=id) + validate_not_empty_string(function_name="unlink_collection", param_name="id", param_value=id) - _param = self._unlink_serialize( + _param = self._unlink_collection_serialize( id=id, _request_auth=_request_auth, _content_type=_content_type, @@ -2020,9 +3193,8 @@ def unlink( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, '204': None, - '404': "NotFoundException", + '404': None, 'default': "ErrorSchema", } @@ -2032,7 +3204,7 @@ def unlink( _response_types_map=_response_types_map, ) - def _unlink_serialize( + def _unlink_collection_serialize( self, id, _request_auth, @@ -2079,7 +3251,7 @@ def _unlink_serialize( return self.api_client.param_serialize( method='DELETE', - resource_path='/tokenization/tokens/{id}', + resource_path='/tokenization/collections/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2096,9 +3268,10 @@ def _unlink_serialize( @validate_call - def unlink_collection( + def validate_layer_zero_channel_config( self, - id: Annotated[StrictStr, Field(description="The token link id")], + adapter_token_link_id: Annotated[StrictStr, Field(description="The token link ID of the adapter")], + peer_adapter_token_link_id: Annotated[StrictStr, Field(description="Peer adapter token link ID to validate against")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2111,13 +3284,15 @@ def unlink_collection( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[None]]: - """Delete a collection link + ) -> Future[ApiResponse[ValidateLayerZeroChannelResponse]]: + """Validate LayerZero channel configuration - Delete a collection link + Validate the LayerZero channel configuration between adapters. This endpoint checks if the channel configuration is correct and returns any validation errors. - :param id: The token link id (required) - :type id: str + :param adapter_token_link_id: The token link ID of the adapter (required) + :type adapter_token_link_id: str + :param peer_adapter_token_link_id: Peer adapter token link ID to validate against (required) + :type peer_adapter_token_link_id: 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 @@ -2140,10 +3315,12 @@ def unlink_collection( :return: Returns the result object. """ # noqa: E501 - validate_not_empty_string(function_name="unlink_collection", param_name="id", param_value=id) + validate_not_empty_string(function_name="validate_layer_zero_channel_config", param_name="adapter_token_link_id", param_value=adapter_token_link_id) + validate_not_empty_string(function_name="validate_layer_zero_channel_config", param_name="peer_adapter_token_link_id", param_value=peer_adapter_token_link_id) - _param = self._unlink_collection_serialize( - id=id, + _param = self._validate_layer_zero_channel_config_serialize( + adapter_token_link_id=adapter_token_link_id, + peer_adapter_token_link_id=peer_adapter_token_link_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2151,9 +3328,11 @@ def unlink_collection( ) _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '404': None, - 'default': "ErrorSchema", + '200': "ValidateLayerZeroChannelResponse", + '400': "ErrorResponse", + '404': "ErrorResponse", + '422': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( @@ -2162,9 +3341,10 @@ def unlink_collection( _response_types_map=_response_types_map, ) - def _unlink_collection_serialize( + def _validate_layer_zero_channel_config_serialize( self, - id, + adapter_token_link_id, + peer_adapter_token_link_id, _request_auth, _content_type, _headers, @@ -2186,9 +3366,15 @@ def _unlink_collection_serialize( _body_params: Optional[bytes] = None # process the path parameters - if id is not None: - _path_params['id'] = id # process the query parameters + if adapter_token_link_id is not None: + + _query_params.append(('adapterTokenLinkId', adapter_token_link_id)) + + if peer_adapter_token_link_id is not None: + + _query_params.append(('peerAdapterTokenLinkId', peer_adapter_token_link_id)) + # process the header parameters # process the form parameters # process the body parameter @@ -2208,8 +3394,8 @@ def _unlink_collection_serialize( ] return self.api_client.param_serialize( - method='DELETE', - resource_path='/tokenization/collections/{id}', + method='GET', + resource_path='/tokenization/multichain/bridge/layerzero/validate', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/fireblocks/configuration.py b/fireblocks/configuration.py index dd3affbc..c8b5be4f 100644 --- a/fireblocks/configuration.py +++ b/fireblocks/configuration.py @@ -552,7 +552,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: 11.1.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 ffe4cb90..1060036a 100644 --- a/fireblocks/models/__init__.py +++ b/fireblocks/models/__init__.py @@ -19,6 +19,7 @@ from fireblocks.models.abi_function import AbiFunction from fireblocks.models.account import Account from fireblocks.models.account_type import AccountType +from fireblocks.models.adapter_processing_result import AdapterProcessingResult from fireblocks.models.add_abi_request_dto import AddAbiRequestDto from fireblocks.models.add_asset_to_external_wallet_request import AddAssetToExternalWalletRequest from fireblocks.models.add_asset_to_external_wallet_request_one_of import AddAssetToExternalWalletRequestOneOf @@ -85,6 +86,9 @@ from fireblocks.models.cancel_transaction_response import CancelTransactionResponse from fireblocks.models.chain_descriptor import ChainDescriptor from fireblocks.models.chain_info_response import ChainInfoResponse +from fireblocks.models.channel_dvn_config_with_confirmations import ChannelDvnConfigWithConfirmations +from fireblocks.models.channel_dvn_config_with_confirmations_receive_config import ChannelDvnConfigWithConfirmationsReceiveConfig +from fireblocks.models.channel_dvn_config_with_confirmations_send_config import ChannelDvnConfigWithConfirmationsSendConfig from fireblocks.models.claim_rewards_request import ClaimRewardsRequest from fireblocks.models.collection_burn_request_dto import CollectionBurnRequestDto from fireblocks.models.collection_burn_response_dto import CollectionBurnResponseDto @@ -187,6 +191,7 @@ from fireblocks.models.delegation_summary import DelegationSummary from fireblocks.models.delete_network_connection_response import DeleteNetworkConnectionResponse from fireblocks.models.delete_network_id_response import DeleteNetworkIdResponse +from fireblocks.models.deploy_layer_zero_adapters_request import DeployLayerZeroAdaptersRequest from fireblocks.models.deployable_address_response import DeployableAddressResponse from fireblocks.models.deployed_contract_not_found_error import DeployedContractNotFoundError from fireblocks.models.deployed_contract_response_dto import DeployedContractResponseDto @@ -216,6 +221,8 @@ 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.dvn_config import DvnConfig +from fireblocks.models.dvn_config_with_confirmations import DvnConfigWithConfirmations from fireblocks.models.evm_token_create_params_dto import EVMTokenCreateParamsDto from fireblocks.models.edit_gas_station_configuration_response import EditGasStationConfigurationResponse from fireblocks.models.embedded_wallet import EmbeddedWallet @@ -277,6 +284,8 @@ from fireblocks.models.get_deployable_address_request import GetDeployableAddressRequest from fireblocks.models.get_exchange_accounts_credentials_public_key_response import GetExchangeAccountsCredentialsPublicKeyResponse from fireblocks.models.get_filter_parameter import GetFilterParameter +from fireblocks.models.get_layer_zero_dvn_config_response import GetLayerZeroDvnConfigResponse +from fireblocks.models.get_layer_zero_peers_response import GetLayerZeroPeersResponse from fireblocks.models.get_linked_collections_paginated_response import GetLinkedCollectionsPaginatedResponse from fireblocks.models.get_max_spendable_amount_response import GetMaxSpendableAmountResponse from fireblocks.models.get_mpc_keys_response import GetMpcKeysResponse @@ -295,6 +304,7 @@ from fireblocks.models.invalid_paramater_value_error import InvalidParamaterValueError from fireblocks.models.job import Job from fireblocks.models.job_created import JobCreated +from fireblocks.models.layer_zero_adapter_create_params import LayerZeroAdapterCreateParams from fireblocks.models.lean_abi_function import LeanAbiFunction from fireblocks.models.lean_contract_dto import LeanContractDto from fireblocks.models.lean_deployed_contract_response_dto import LeanDeployedContractResponseDto @@ -357,6 +367,7 @@ from fireblocks.models.payout_response import PayoutResponse from fireblocks.models.payout_state import PayoutState from fireblocks.models.payout_status import PayoutStatus +from fireblocks.models.peer_adapter_info import PeerAdapterInfo from fireblocks.models.players import Players from fireblocks.models.policy_and_validation_response import PolicyAndValidationResponse from fireblocks.models.policy_check_result import PolicyCheckResult @@ -399,6 +410,11 @@ from fireblocks.models.related_request import RelatedRequest from fireblocks.models.related_transaction import RelatedTransaction from fireblocks.models.remove_collateral_request_body import RemoveCollateralRequestBody +from fireblocks.models.remove_layer_zero_adapter_failed_result import RemoveLayerZeroAdapterFailedResult +from fireblocks.models.remove_layer_zero_adapters_request import RemoveLayerZeroAdaptersRequest +from fireblocks.models.remove_layer_zero_adapters_response import RemoveLayerZeroAdaptersResponse +from fireblocks.models.remove_layer_zero_peers_request import RemoveLayerZeroPeersRequest +from fireblocks.models.remove_layer_zero_peers_response import RemoveLayerZeroPeersResponse from fireblocks.models.rename_cosigner import RenameCosigner from fireblocks.models.rename_vault_account_response import RenameVaultAccountResponse from fireblocks.models.rescan_transaction import RescanTransaction @@ -436,6 +452,10 @@ from fireblocks.models.set_confirmations_threshold_response import SetConfirmationsThresholdResponse from fireblocks.models.set_customer_ref_id_for_address_request import SetCustomerRefIdForAddressRequest from fireblocks.models.set_customer_ref_id_request import SetCustomerRefIdRequest +from fireblocks.models.set_layer_zero_dvn_config_request import SetLayerZeroDvnConfigRequest +from fireblocks.models.set_layer_zero_dvn_config_response import SetLayerZeroDvnConfigResponse +from fireblocks.models.set_layer_zero_peers_request import SetLayerZeroPeersRequest +from fireblocks.models.set_layer_zero_peers_response import SetLayerZeroPeersResponse from fireblocks.models.set_network_id_discoverability_request import SetNetworkIdDiscoverabilityRequest from fireblocks.models.set_network_id_name_request import SetNetworkIdNameRequest from fireblocks.models.set_network_id_response import SetNetworkIdResponse @@ -611,6 +631,7 @@ from fireblocks.models.user_status import UserStatus from fireblocks.models.user_type import UserType from fireblocks.models.validate_address_response import ValidateAddressResponse +from fireblocks.models.validate_layer_zero_channel_response import ValidateLayerZeroChannelResponse from fireblocks.models.validated_transactions_for_rescan import ValidatedTransactionsForRescan from fireblocks.models.validation_key_dto import ValidationKeyDto from fireblocks.models.validator import Validator diff --git a/fireblocks/models/adapter_processing_result.py b/fireblocks/models/adapter_processing_result.py new file mode 100644 index 00000000..c7ff8f5b --- /dev/null +++ b/fireblocks/models/adapter_processing_result.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class AdapterProcessingResult(BaseModel): + """ + AdapterProcessingResult + """ # noqa: E501 + input_token_link_id: StrictStr = Field(description="The input token link ID", alias="inputTokenLinkId") + adapter_link_id: StrictStr = Field(description="The adapter link ID", alias="adapterLinkId") + __properties: ClassVar[List[str]] = ["inputTokenLinkId", "adapterLinkId"] + + 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 AdapterProcessingResult 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 AdapterProcessingResult from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "inputTokenLinkId": obj.get("inputTokenLinkId"), + "adapterLinkId": obj.get("adapterLinkId") + }) + return _obj + + diff --git a/fireblocks/models/channel_dvn_config_with_confirmations.py b/fireblocks/models/channel_dvn_config_with_confirmations.py new file mode 100644 index 00000000..a46af01f --- /dev/null +++ b/fireblocks/models/channel_dvn_config_with_confirmations.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.channel_dvn_config_with_confirmations_receive_config import ChannelDvnConfigWithConfirmationsReceiveConfig +from fireblocks.models.channel_dvn_config_with_confirmations_send_config import ChannelDvnConfigWithConfirmationsSendConfig +from typing import Optional, Set +from typing_extensions import Self + +class ChannelDvnConfigWithConfirmations(BaseModel): + """ + ChannelDvnConfigWithConfirmations + """ # noqa: E501 + send_config: Optional[ChannelDvnConfigWithConfirmationsSendConfig] = Field(default=None, alias="sendConfig") + receive_config: Optional[ChannelDvnConfigWithConfirmationsReceiveConfig] = Field(default=None, alias="receiveConfig") + __properties: ClassVar[List[str]] = ["sendConfig", "receiveConfig"] + + 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 ChannelDvnConfigWithConfirmations 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 send_config + if self.send_config: + _dict['sendConfig'] = self.send_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of receive_config + if self.receive_config: + _dict['receiveConfig'] = self.receive_config.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ChannelDvnConfigWithConfirmations from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sendConfig": ChannelDvnConfigWithConfirmationsSendConfig.from_dict(obj["sendConfig"]) if obj.get("sendConfig") is not None else None, + "receiveConfig": ChannelDvnConfigWithConfirmationsReceiveConfig.from_dict(obj["receiveConfig"]) if obj.get("receiveConfig") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/channel_dvn_config_with_confirmations_receive_config.py b/fireblocks/models/channel_dvn_config_with_confirmations_receive_config.py new file mode 100644 index 00000000..bf0b24f7 --- /dev/null +++ b/fireblocks/models/channel_dvn_config_with_confirmations_receive_config.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class ChannelDvnConfigWithConfirmationsReceiveConfig(BaseModel): + """ + ChannelDvnConfigWithConfirmationsReceiveConfig + """ # noqa: E501 + dvn_addresses: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Array of required DVN Ethereum addresses that sign ULN messages.", alias="dvnAddresses") + optional_dvn_addresses: Optional[List[StrictStr]] = Field(default=None, description="Array of optional DVN Ethereum addresses that sign ULN messages.", alias="optionalDVNAddresses") + optional_threshold: Union[StrictFloat, StrictInt] = Field(description="Minimum number of DVN signatures required (M-of-N).", alias="optionalThreshold") + confirmations: Union[StrictFloat, StrictInt] = Field(description="Number of block confirmations required") + __properties: ClassVar[List[str]] = ["dvnAddresses", "optionalDVNAddresses", "optionalThreshold", "confirmations"] + + 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 ChannelDvnConfigWithConfirmationsReceiveConfig 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 ChannelDvnConfigWithConfirmationsReceiveConfig from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dvnAddresses": obj.get("dvnAddresses"), + "optionalDVNAddresses": obj.get("optionalDVNAddresses"), + "optionalThreshold": obj.get("optionalThreshold"), + "confirmations": obj.get("confirmations") + }) + return _obj + + diff --git a/fireblocks/models/channel_dvn_config_with_confirmations_send_config.py b/fireblocks/models/channel_dvn_config_with_confirmations_send_config.py new file mode 100644 index 00000000..c588dac0 --- /dev/null +++ b/fireblocks/models/channel_dvn_config_with_confirmations_send_config.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class ChannelDvnConfigWithConfirmationsSendConfig(BaseModel): + """ + ChannelDvnConfigWithConfirmationsSendConfig + """ # noqa: E501 + dvn_addresses: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Array of required DVN Ethereum addresses that sign ULN messages.", alias="dvnAddresses") + optional_dvn_addresses: Optional[List[StrictStr]] = Field(default=None, description="Array of optional DVN Ethereum addresses that sign ULN messages.", alias="optionalDVNAddresses") + optional_threshold: Union[StrictFloat, StrictInt] = Field(description="Minimum number of DVN signatures required (M-of-N).", alias="optionalThreshold") + confirmations: Union[StrictFloat, StrictInt] = Field(description="Number of block confirmations required") + __properties: ClassVar[List[str]] = ["dvnAddresses", "optionalDVNAddresses", "optionalThreshold", "confirmations"] + + 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 ChannelDvnConfigWithConfirmationsSendConfig 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 ChannelDvnConfigWithConfirmationsSendConfig from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dvnAddresses": obj.get("dvnAddresses"), + "optionalDVNAddresses": obj.get("optionalDVNAddresses"), + "optionalThreshold": obj.get("optionalThreshold"), + "confirmations": obj.get("confirmations") + }) + return _obj + + diff --git a/fireblocks/models/deploy_layer_zero_adapters_request.py b/fireblocks/models/deploy_layer_zero_adapters_request.py new file mode 100644 index 00000000..ad7c7e12 --- /dev/null +++ b/fireblocks/models/deploy_layer_zero_adapters_request.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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.layer_zero_adapter_create_params import LayerZeroAdapterCreateParams +from typing import Optional, Set +from typing_extensions import Self + +class DeployLayerZeroAdaptersRequest(BaseModel): + """ + DeployLayerZeroAdaptersRequest + """ # noqa: E501 + vault_account_id: StrictStr = Field(description="The id of the vault account that initiated the request to deploy adapter for the token", alias="vaultAccountId") + create_params: Annotated[List[LayerZeroAdapterCreateParams], Field(min_length=1)] = Field(description="Array of creation parameters for LayerZero adapters, one per tokenLink.", alias="createParams") + display_name: Optional[StrictStr] = Field(default=None, description="The display name of the contract", alias="displayName") + use_gasless: Optional[StrictBool] = Field(default=None, description="Whether to use gasless deployment or not", alias="useGasless") + fee_level: Optional[StrictStr] = Field(default=None, description="Fee level for the write function transaction. interchangeable with the 'fee' field", alias="feeLevel") + fee: Optional[StrictStr] = Field(default=None, description="Max fee amount for the write function transaction. interchangeable with the 'feeLevel' field") + salt: Optional[StrictStr] = Field(default=None, description="The salt to calculate the deterministic address. Must be a number between 0 and 2^256 -1, for it to fit in the bytes32 parameter") + __properties: ClassVar[List[str]] = ["vaultAccountId", "createParams", "displayName", "useGasless", "feeLevel", "fee", "salt"] + + @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 + + 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 DeployLayerZeroAdaptersRequest 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 each item in create_params (list) + _items = [] + if self.create_params: + for _item_create_params in self.create_params: + if _item_create_params: + _items.append(_item_create_params.to_dict()) + _dict['createParams'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeployLayerZeroAdaptersRequest 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"), + "createParams": [LayerZeroAdapterCreateParams.from_dict(_item) for _item in obj["createParams"]] if obj.get("createParams") is not None else None, + "displayName": obj.get("displayName"), + "useGasless": obj.get("useGasless"), + "feeLevel": obj.get("feeLevel"), + "fee": obj.get("fee"), + "salt": obj.get("salt") + }) + return _obj + + diff --git a/fireblocks/models/dvn_config.py b/fireblocks/models/dvn_config.py new file mode 100644 index 00000000..b92c8aeb --- /dev/null +++ b/fireblocks/models/dvn_config.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class DvnConfig(BaseModel): + """ + DvnConfig + """ # noqa: E501 + dvn_addresses: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Array of required DVN Ethereum addresses that sign ULN messages.", alias="dvnAddresses") + optional_dvn_addresses: Optional[List[StrictStr]] = Field(default=None, description="Array of optional DVN Ethereum addresses that sign ULN messages.", alias="optionalDVNAddresses") + optional_threshold: Union[StrictFloat, StrictInt] = Field(description="Minimum number of DVN signatures required (M-of-N).", alias="optionalThreshold") + __properties: ClassVar[List[str]] = ["dvnAddresses", "optionalDVNAddresses", "optionalThreshold"] + + 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 DvnConfig 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 DvnConfig from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dvnAddresses": obj.get("dvnAddresses"), + "optionalDVNAddresses": obj.get("optionalDVNAddresses"), + "optionalThreshold": obj.get("optionalThreshold") + }) + return _obj + + diff --git a/fireblocks/models/dvn_config_with_confirmations.py b/fireblocks/models/dvn_config_with_confirmations.py new file mode 100644 index 00000000..f7817f37 --- /dev/null +++ b/fireblocks/models/dvn_config_with_confirmations.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class DvnConfigWithConfirmations(BaseModel): + """ + DvnConfigWithConfirmations + """ # noqa: E501 + dvn_addresses: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Array of required DVN Ethereum addresses that sign ULN messages.", alias="dvnAddresses") + optional_dvn_addresses: Optional[List[StrictStr]] = Field(default=None, description="Array of optional DVN Ethereum addresses that sign ULN messages.", alias="optionalDVNAddresses") + optional_threshold: Union[StrictFloat, StrictInt] = Field(description="Minimum number of DVN signatures required (M-of-N).", alias="optionalThreshold") + confirmations: Union[StrictFloat, StrictInt] = Field(description="Number of block confirmations required") + __properties: ClassVar[List[str]] = ["dvnAddresses", "optionalDVNAddresses", "optionalThreshold", "confirmations"] + + 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 DvnConfigWithConfirmations 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 DvnConfigWithConfirmations from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dvnAddresses": obj.get("dvnAddresses"), + "optionalDVNAddresses": obj.get("optionalDVNAddresses"), + "optionalThreshold": obj.get("optionalThreshold"), + "confirmations": obj.get("confirmations") + }) + return _obj + + diff --git a/fireblocks/models/fee_info.py b/fireblocks/models/fee_info.py index 3b248587..ed14fc55 100644 --- a/fireblocks/models/fee_info.py +++ b/fireblocks/models/fee_info.py @@ -34,7 +34,8 @@ class FeeInfo(BaseModel): relay_type: Optional[StrictStr] = Field(default=None, description="Wether the relay is the same tenant (LOCAL) or another tenant (THIRD_PARTY)", alias="relayType") relay_id: Optional[StrictStr] = Field(default=None, description="The vault account ID of the relay", alias="relayId") relay_name: Optional[StrictStr] = Field(default=None, description="The name of the tenant, only for THIRD_PARTY relays", alias="relayName") - __properties: ClassVar[List[str]] = ["networkFee", "serviceFee", "gasPrice", "paidByRelay", "relayType", "relayId", "relayName"] + fee_usd: Optional[StrictStr] = Field(default=None, description="The USD value of the fee", alias="feeUSD") + __properties: ClassVar[List[str]] = ["networkFee", "serviceFee", "gasPrice", "paidByRelay", "relayType", "relayId", "relayName", "feeUSD"] @field_validator('relay_type') def relay_type_validate_enum(cls, value): @@ -103,7 +104,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "paidByRelay": obj.get("paidByRelay"), "relayType": obj.get("relayType"), "relayId": obj.get("relayId"), - "relayName": obj.get("relayName") + "relayName": obj.get("relayName"), + "feeUSD": obj.get("feeUSD") }) return _obj diff --git a/fireblocks/models/get_layer_zero_dvn_config_response.py b/fireblocks/models/get_layer_zero_dvn_config_response.py new file mode 100644 index 00000000..441da97a --- /dev/null +++ b/fireblocks/models/get_layer_zero_dvn_config_response.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from fireblocks.models.channel_dvn_config_with_confirmations import ChannelDvnConfigWithConfirmations +from typing import Optional, Set +from typing_extensions import Self + +class GetLayerZeroDvnConfigResponse(BaseModel): + """ + GetLayerZeroDvnConfigResponse + """ # noqa: E501 + source_adapter_token_link_id: StrictStr = Field(description="Token-link ID of the adapter for which DVN configuration was queried.", alias="sourceAdapterTokenLinkId") + channel_configs: Annotated[List[ChannelDvnConfigWithConfirmations], Field(min_length=1)] = Field(description="DVN configurations for each discovered (or explicitly requested) channel between the source adapter and its peers.", alias="channelConfigs") + __properties: ClassVar[List[str]] = ["sourceAdapterTokenLinkId", "channelConfigs"] + + 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 GetLayerZeroDvnConfigResponse 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 each item in channel_configs (list) + _items = [] + if self.channel_configs: + for _item_channel_configs in self.channel_configs: + if _item_channel_configs: + _items.append(_item_channel_configs.to_dict()) + _dict['channelConfigs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetLayerZeroDvnConfigResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sourceAdapterTokenLinkId": obj.get("sourceAdapterTokenLinkId"), + "channelConfigs": [ChannelDvnConfigWithConfirmations.from_dict(_item) for _item in obj["channelConfigs"]] if obj.get("channelConfigs") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/get_layer_zero_peers_response.py b/fireblocks/models/get_layer_zero_peers_response.py new file mode 100644 index 00000000..7ee8a228 --- /dev/null +++ b/fireblocks/models/get_layer_zero_peers_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from fireblocks.models.peer_adapter_info import PeerAdapterInfo +from typing import Optional, Set +from typing_extensions import Self + +class GetLayerZeroPeersResponse(BaseModel): + """ + GetLayerZeroPeersResponse + """ # noqa: E501 + adapter_token_link_id: StrictStr = Field(description="The token link id of the adapter", alias="adapterTokenLinkId") + adapter_address: StrictStr = Field(description="The adapter address", alias="adapterAddress") + peers: List[PeerAdapterInfo] = Field(description="The peers for the adapter") + __properties: ClassVar[List[str]] = ["adapterTokenLinkId", "adapterAddress", "peers"] + + 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 GetLayerZeroPeersResponse 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 each item in peers (list) + _items = [] + if self.peers: + for _item_peers in self.peers: + if _item_peers: + _items.append(_item_peers.to_dict()) + _dict['peers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetLayerZeroPeersResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adapterTokenLinkId": obj.get("adapterTokenLinkId"), + "adapterAddress": obj.get("adapterAddress"), + "peers": [PeerAdapterInfo.from_dict(_item) for _item in obj["peers"]] if obj.get("peers") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/layer_zero_adapter_create_params.py b/fireblocks/models/layer_zero_adapter_create_params.py new file mode 100644 index 00000000..666d62a5 --- /dev/null +++ b/fireblocks/models/layer_zero_adapter_create_params.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class LayerZeroAdapterCreateParams(BaseModel): + """ + LayerZeroAdapterCreateParams + """ # noqa: E501 + token_link_id: StrictStr = Field(description="The token link id of the base token to deploy the adapters for", alias="tokenLinkId") + delegate_address: StrictStr = Field(description="Address that will receive `CONTRACT_ADMIN_ROLE`.", alias="delegateAddress") + default_admin_address: StrictStr = Field(description="Address that will receive `DEFAULT_ADMIN_ROLE` on the adapter contract.", alias="defaultAdminAddress") + pauser_address: StrictStr = Field(description="Address that will receive `PAUSER_ROLE`.", alias="pauserAddress") + __properties: ClassVar[List[str]] = ["tokenLinkId", "delegateAddress", "defaultAdminAddress", "pauserAddress"] + + 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 LayerZeroAdapterCreateParams 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 LayerZeroAdapterCreateParams from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tokenLinkId": obj.get("tokenLinkId"), + "delegateAddress": obj.get("delegateAddress"), + "defaultAdminAddress": obj.get("defaultAdminAddress"), + "pauserAddress": obj.get("pauserAddress") + }) + return _obj + + diff --git a/fireblocks/models/peer_adapter_info.py b/fireblocks/models/peer_adapter_info.py new file mode 100644 index 00000000..63d1ee0e --- /dev/null +++ b/fireblocks/models/peer_adapter_info.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class PeerAdapterInfo(BaseModel): + """ + PeerAdapterInfo + """ # noqa: E501 + adapter_token_link_id: StrictStr = Field(description="The token link id of the adapter", alias="adapterTokenLinkId") + adapter_address: StrictStr = Field(description="The adapter address", alias="adapterAddress") + base_asset_id: StrictStr = Field(description="The base asset id for the base asset that the adapter is deployed on", alias="baseAssetId") + __properties: ClassVar[List[str]] = ["adapterTokenLinkId", "adapterAddress", "baseAssetId"] + + 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 PeerAdapterInfo 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 PeerAdapterInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adapterTokenLinkId": obj.get("adapterTokenLinkId"), + "adapterAddress": obj.get("adapterAddress"), + "baseAssetId": obj.get("baseAssetId") + }) + return _obj + + diff --git a/fireblocks/models/remove_layer_zero_adapter_failed_result.py b/fireblocks/models/remove_layer_zero_adapter_failed_result.py new file mode 100644 index 00000000..721ad7af --- /dev/null +++ b/fireblocks/models/remove_layer_zero_adapter_failed_result.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class RemoveLayerZeroAdapterFailedResult(BaseModel): + """ + RemoveLayerZeroAdapterFailedResult + """ # noqa: E501 + adapter_token_link_id: StrictStr = Field(description="The adapter token link ID that failed to be removed", alias="adapterTokenLinkId") + __properties: ClassVar[List[str]] = ["adapterTokenLinkId"] + + 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 RemoveLayerZeroAdapterFailedResult 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 RemoveLayerZeroAdapterFailedResult from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adapterTokenLinkId": obj.get("adapterTokenLinkId") + }) + return _obj + + diff --git a/fireblocks/models/remove_layer_zero_adapters_request.py b/fireblocks/models/remove_layer_zero_adapters_request.py new file mode 100644 index 00000000..cbfa1c92 --- /dev/null +++ b/fireblocks/models/remove_layer_zero_adapters_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class RemoveLayerZeroAdaptersRequest(BaseModel): + """ + RemoveLayerZeroAdaptersRequest + """ # noqa: E501 + vault_account_id: StrictStr = Field(description="The vault account ID to use for signing the role revocation transactions.", alias="vaultAccountId") + adapter_token_link_ids: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="A list of adapter token link IDs to be deactivated and unlinked.", alias="adapterTokenLinkIds") + __properties: ClassVar[List[str]] = ["vaultAccountId", "adapterTokenLinkIds"] + + 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 RemoveLayerZeroAdaptersRequest 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 RemoveLayerZeroAdaptersRequest 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"), + "adapterTokenLinkIds": obj.get("adapterTokenLinkIds") + }) + return _obj + + diff --git a/fireblocks/models/remove_layer_zero_adapters_response.py b/fireblocks/models/remove_layer_zero_adapters_response.py new file mode 100644 index 00000000..c04c6228 --- /dev/null +++ b/fireblocks/models/remove_layer_zero_adapters_response.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from fireblocks.models.remove_layer_zero_adapter_failed_result import RemoveLayerZeroAdapterFailedResult +from typing import Optional, Set +from typing_extensions import Self + +class RemoveLayerZeroAdaptersResponse(BaseModel): + """ + RemoveLayerZeroAdaptersResponse + """ # noqa: E501 + deactivated: List[StrictStr] = Field(description="List of successfully deactivated adapter token link IDs") + failed: List[RemoveLayerZeroAdapterFailedResult] = Field(description="List of adapter token link IDs that failed to be removed") + __properties: ClassVar[List[str]] = ["deactivated", "failed"] + + 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 RemoveLayerZeroAdaptersResponse 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 each item in failed (list) + _items = [] + if self.failed: + for _item_failed in self.failed: + if _item_failed: + _items.append(_item_failed.to_dict()) + _dict['failed'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RemoveLayerZeroAdaptersResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "deactivated": obj.get("deactivated"), + "failed": [RemoveLayerZeroAdapterFailedResult.from_dict(_item) for _item in obj["failed"]] if obj.get("failed") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/remove_layer_zero_peers_request.py b/fireblocks/models/remove_layer_zero_peers_request.py new file mode 100644 index 00000000..a82d6515 --- /dev/null +++ b/fireblocks/models/remove_layer_zero_peers_request.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class RemoveLayerZeroPeersRequest(BaseModel): + """ + RemoveLayerZeroPeersRequest + """ # noqa: E501 + vault_account_id: StrictStr = Field(description="The id of the vault account that will be used to inititate transactions ot set peers", alias="vaultAccountId") + source_adapter_token_link_id: StrictStr = Field(description="`token_link` ID of the source adapter contract", alias="sourceAdapterTokenLinkId") + destination_adapter_token_link_ids: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Array of `token_link` IDs for destination adapter contracts", alias="destinationAdapterTokenLinkIds") + bidirectional: StrictBool = Field(description="If true, also sets peers from destination(s) back to source") + __properties: ClassVar[List[str]] = ["vaultAccountId", "sourceAdapterTokenLinkId", "destinationAdapterTokenLinkIds", "bidirectional"] + + 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 RemoveLayerZeroPeersRequest 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 RemoveLayerZeroPeersRequest 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"), + "sourceAdapterTokenLinkId": obj.get("sourceAdapterTokenLinkId"), + "destinationAdapterTokenLinkIds": obj.get("destinationAdapterTokenLinkIds"), + "bidirectional": obj.get("bidirectional") + }) + return _obj + + diff --git a/fireblocks/models/remove_layer_zero_peers_response.py b/fireblocks/models/remove_layer_zero_peers_response.py new file mode 100644 index 00000000..33517c13 --- /dev/null +++ b/fireblocks/models/remove_layer_zero_peers_response.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class RemoveLayerZeroPeersResponse(BaseModel): + """ + RemoveLayerZeroPeersResponse + """ # noqa: E501 + txn_ids: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Array of fireblocks transaction IDs, each corresponding to an on-chain transaction to set peers", alias="txnIds") + __properties: ClassVar[List[str]] = ["txnIds"] + + 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 RemoveLayerZeroPeersResponse 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 RemoveLayerZeroPeersResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "txnIds": obj.get("txnIds") + }) + return _obj + + diff --git a/fireblocks/models/set_layer_zero_dvn_config_request.py b/fireblocks/models/set_layer_zero_dvn_config_request.py new file mode 100644 index 00000000..f32104dd --- /dev/null +++ b/fireblocks/models/set_layer_zero_dvn_config_request.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from fireblocks.models.dvn_config import DvnConfig +from typing import Optional, Set +from typing_extensions import Self + +class SetLayerZeroDvnConfigRequest(BaseModel): + """ + SetLayerZeroDvnConfigRequest + """ # noqa: E501 + vault_account_id: StrictStr = Field(description="Vault account that pays gas", alias="vaultAccountId") + source_adapter_token_link_id: StrictStr = Field(description="Source adapter TokenLink ID", alias="sourceAdapterTokenLinkId") + destination_adapter_token_link_id: StrictStr = Field(description="Destination adapter TokenLink ID", alias="destinationAdapterTokenLinkId") + send_config: DvnConfig = Field(alias="sendConfig") + receive_config: DvnConfig = Field(alias="receiveConfig") + __properties: ClassVar[List[str]] = ["vaultAccountId", "sourceAdapterTokenLinkId", "destinationAdapterTokenLinkId", "sendConfig", "receiveConfig"] + + 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 SetLayerZeroDvnConfigRequest 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 send_config + if self.send_config: + _dict['sendConfig'] = self.send_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of receive_config + if self.receive_config: + _dict['receiveConfig'] = self.receive_config.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SetLayerZeroDvnConfigRequest 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"), + "sourceAdapterTokenLinkId": obj.get("sourceAdapterTokenLinkId"), + "destinationAdapterTokenLinkId": obj.get("destinationAdapterTokenLinkId"), + "sendConfig": DvnConfig.from_dict(obj["sendConfig"]) if obj.get("sendConfig") is not None else None, + "receiveConfig": DvnConfig.from_dict(obj["receiveConfig"]) if obj.get("receiveConfig") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/set_layer_zero_dvn_config_response.py b/fireblocks/models/set_layer_zero_dvn_config_response.py new file mode 100644 index 00000000..cc7ab150 --- /dev/null +++ b/fireblocks/models/set_layer_zero_dvn_config_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class SetLayerZeroDvnConfigResponse(BaseModel): + """ + SetLayerZeroDvnConfigResponse + """ # noqa: E501 + txn_ids: List[StrictStr] = Field(description="Transaction IDs submitted to the network", alias="txnIds") + __properties: ClassVar[List[str]] = ["txnIds"] + + 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 SetLayerZeroDvnConfigResponse 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 SetLayerZeroDvnConfigResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "txnIds": obj.get("txnIds") + }) + return _obj + + diff --git a/fireblocks/models/set_layer_zero_peers_request.py b/fireblocks/models/set_layer_zero_peers_request.py new file mode 100644 index 00000000..8cbd5cd6 --- /dev/null +++ b/fireblocks/models/set_layer_zero_peers_request.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class SetLayerZeroPeersRequest(BaseModel): + """ + SetLayerZeroPeersRequest + """ # noqa: E501 + vault_account_id: StrictStr = Field(description="The id of the vault account that will be used to inititate transactions ot set peers", alias="vaultAccountId") + source_adapter_token_link_id: StrictStr = Field(description="`token_link` ID of the source adapter contract", alias="sourceAdapterTokenLinkId") + destination_adapter_token_link_ids: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Array of `token_link` IDs for destination adapter contracts", alias="destinationAdapterTokenLinkIds") + bidirectional: StrictBool = Field(description="If true, also sets peers from destination(s) back to source") + __properties: ClassVar[List[str]] = ["vaultAccountId", "sourceAdapterTokenLinkId", "destinationAdapterTokenLinkIds", "bidirectional"] + + 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 SetLayerZeroPeersRequest 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 SetLayerZeroPeersRequest 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"), + "sourceAdapterTokenLinkId": obj.get("sourceAdapterTokenLinkId"), + "destinationAdapterTokenLinkIds": obj.get("destinationAdapterTokenLinkIds"), + "bidirectional": obj.get("bidirectional") + }) + return _obj + + diff --git a/fireblocks/models/set_layer_zero_peers_response.py b/fireblocks/models/set_layer_zero_peers_response.py new file mode 100644 index 00000000..9287fd8a --- /dev/null +++ b/fireblocks/models/set_layer_zero_peers_response.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class SetLayerZeroPeersResponse(BaseModel): + """ + SetLayerZeroPeersResponse + """ # noqa: E501 + txn_ids: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="Array of fireblocks transaction IDs, each corresponding to an on-chain transaction to set peers", alias="txnIds") + __properties: ClassVar[List[str]] = ["txnIds"] + + 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 SetLayerZeroPeersResponse 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 SetLayerZeroPeersResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "txnIds": obj.get("txnIds") + }) + return _obj + + diff --git a/fireblocks/models/validate_layer_zero_channel_response.py b/fireblocks/models/validate_layer_zero_channel_response.py new file mode 100644 index 00000000..14ec7159 --- /dev/null +++ b/fireblocks/models/validate_layer_zero_channel_response.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + 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 +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ValidateLayerZeroChannelResponse(BaseModel): + """ + ValidateLayerZeroChannelResponse + """ # noqa: E501 + correct: StrictBool = Field(description="Indicates whether the LayerZero channel configuration is valid.") + errors: List[StrictStr] = Field(description="List of errors found during validation. An empty array indicates no errors.") + __properties: ClassVar[List[str]] = ["correct", "errors"] + + 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 ValidateLayerZeroChannelResponse 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 ValidateLayerZeroChannelResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "correct": obj.get("correct"), + "errors": obj.get("errors") + }) + return _obj + + diff --git a/pyproject.toml b/pyproject.toml index 22dff12c..05cad60c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "fireblocks" -version = "11.1.0" +version = "0.0.0" description = "Fireblocks API" authors = ["Fireblocks "] license = "MIT License" diff --git a/setup.py b/setup.py index b75a1945..79def177 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "fireblocks" -VERSION = "11.1.0" +VERSION = "0.0.0" PYTHON_REQUIRES = ">= 3.8" REQUIRES = [ "urllib3 >= 2.1.0, < 3.0.0", diff --git a/test/test_adapter_processing_result.py b/test/test_adapter_processing_result.py new file mode 100644 index 00000000..023fdcc4 --- /dev/null +++ b/test/test_adapter_processing_result.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.adapter_processing_result import AdapterProcessingResult + + +class TestAdapterProcessingResult(unittest.TestCase): + """AdapterProcessingResult unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdapterProcessingResult: + """Test AdapterProcessingResult + 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 `AdapterProcessingResult` + """ + model = AdapterProcessingResult() + if include_optional: + return AdapterProcessingResult( + input_token_link_id = '', + adapter_link_id = '' + ) + else: + return AdapterProcessingResult( + input_token_link_id = '', + adapter_link_id = '', + ) + """ + + def testAdapterProcessingResult(self): + """Test AdapterProcessingResult""" + # 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_channel_dvn_config_with_confirmations.py b/test/test_channel_dvn_config_with_confirmations.py new file mode 100644 index 00000000..3f90fc96 --- /dev/null +++ b/test/test_channel_dvn_config_with_confirmations.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.channel_dvn_config_with_confirmations import ( + ChannelDvnConfigWithConfirmations, +) + + +class TestChannelDvnConfigWithConfirmations(unittest.TestCase): + """ChannelDvnConfigWithConfirmations unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ChannelDvnConfigWithConfirmations: + """Test ChannelDvnConfigWithConfirmations + 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 `ChannelDvnConfigWithConfirmations` + """ + model = ChannelDvnConfigWithConfirmations() + if include_optional: + return ChannelDvnConfigWithConfirmations( + send_config = None, + receive_config = None + ) + else: + return ChannelDvnConfigWithConfirmations( + ) + """ + + def testChannelDvnConfigWithConfirmations(self): + """Test ChannelDvnConfigWithConfirmations""" + # 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_channel_dvn_config_with_confirmations_receive_config.py b/test/test_channel_dvn_config_with_confirmations_receive_config.py new file mode 100644 index 00000000..75d122d7 --- /dev/null +++ b/test/test_channel_dvn_config_with_confirmations_receive_config.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.channel_dvn_config_with_confirmations_receive_config import ( + ChannelDvnConfigWithConfirmationsReceiveConfig, +) + + +class TestChannelDvnConfigWithConfirmationsReceiveConfig(unittest.TestCase): + """ChannelDvnConfigWithConfirmationsReceiveConfig unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance( + self, include_optional + ) -> ChannelDvnConfigWithConfirmationsReceiveConfig: + """Test ChannelDvnConfigWithConfirmationsReceiveConfig + 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 `ChannelDvnConfigWithConfirmationsReceiveConfig` + """ + model = ChannelDvnConfigWithConfirmationsReceiveConfig() + if include_optional: + return ChannelDvnConfigWithConfirmationsReceiveConfig( + dvn_addresses = [1.0284746938594775E54, 2.5101940177441514E50], + optional_dvn_addresses = [1.334824162533763E54], + optional_threshold = 2, + confirmations = 12 + ) + else: + return ChannelDvnConfigWithConfirmationsReceiveConfig( + dvn_addresses = [1.0284746938594775E54, 2.5101940177441514E50], + optional_threshold = 2, + confirmations = 12, + ) + """ + + def testChannelDvnConfigWithConfirmationsReceiveConfig(self): + """Test ChannelDvnConfigWithConfirmationsReceiveConfig""" + # 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_channel_dvn_config_with_confirmations_send_config.py b/test/test_channel_dvn_config_with_confirmations_send_config.py new file mode 100644 index 00000000..cb8c4a47 --- /dev/null +++ b/test/test_channel_dvn_config_with_confirmations_send_config.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.channel_dvn_config_with_confirmations_send_config import ( + ChannelDvnConfigWithConfirmationsSendConfig, +) + + +class TestChannelDvnConfigWithConfirmationsSendConfig(unittest.TestCase): + """ChannelDvnConfigWithConfirmationsSendConfig unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance( + self, include_optional + ) -> ChannelDvnConfigWithConfirmationsSendConfig: + """Test ChannelDvnConfigWithConfirmationsSendConfig + 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 `ChannelDvnConfigWithConfirmationsSendConfig` + """ + model = ChannelDvnConfigWithConfirmationsSendConfig() + if include_optional: + return ChannelDvnConfigWithConfirmationsSendConfig( + dvn_addresses = [1.0284746938594775E54, 2.5101940177441514E50], + optional_dvn_addresses = [1.334824162533763E54], + optional_threshold = 2, + confirmations = 12 + ) + else: + return ChannelDvnConfigWithConfirmationsSendConfig( + dvn_addresses = [1.0284746938594775E54, 2.5101940177441514E50], + optional_threshold = 2, + confirmations = 12, + ) + """ + + def testChannelDvnConfigWithConfirmationsSendConfig(self): + """Test ChannelDvnConfigWithConfirmationsSendConfig""" + # 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_deploy_layer_zero_adapters_request.py b/test/test_deploy_layer_zero_adapters_request.py new file mode 100644 index 00000000..cdd84c94 --- /dev/null +++ b/test/test_deploy_layer_zero_adapters_request.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.deploy_layer_zero_adapters_request import ( + DeployLayerZeroAdaptersRequest, +) + + +class TestDeployLayerZeroAdaptersRequest(unittest.TestCase): + """DeployLayerZeroAdaptersRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeployLayerZeroAdaptersRequest: + """Test DeployLayerZeroAdaptersRequest + 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 `DeployLayerZeroAdaptersRequest` + """ + model = DeployLayerZeroAdaptersRequest() + if include_optional: + return DeployLayerZeroAdaptersRequest( + vault_account_id = '0', + create_params = [ + fireblocks.models.layer_zero_adapter_create_params.LayerZeroAdapterCreateParams( + token_link_id = '123-432-1234-1234-123456789012', + delegate_address = '0xABCDEF123456789abcdef1234567890abcdef12345678', + default_admin_address = '0xABC123456789abcdef1234567890abcdef12345678', + pauser_address = '0xDEFABC123456789abcdef1234567890abcdef12345678', ) + ], + display_name = 'LayerZero Adapter', + use_gasless = False, + fee_level = 'MEDIUM', + fee = '2000', + salt = '123456789' + ) + else: + return DeployLayerZeroAdaptersRequest( + vault_account_id = '0', + create_params = [ + fireblocks.models.layer_zero_adapter_create_params.LayerZeroAdapterCreateParams( + token_link_id = '123-432-1234-1234-123456789012', + delegate_address = '0xABCDEF123456789abcdef1234567890abcdef12345678', + default_admin_address = '0xABC123456789abcdef1234567890abcdef12345678', + pauser_address = '0xDEFABC123456789abcdef1234567890abcdef12345678', ) + ], + ) + """ + + def testDeployLayerZeroAdaptersRequest(self): + """Test DeployLayerZeroAdaptersRequest""" + # 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_dvn_config.py b/test/test_dvn_config.py new file mode 100644 index 00000000..00c3d03b --- /dev/null +++ b/test/test_dvn_config.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.dvn_config import DvnConfig + + +class TestDvnConfig(unittest.TestCase): + """DvnConfig unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DvnConfig: + """Test DvnConfig + 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 `DvnConfig` + """ + model = DvnConfig() + if include_optional: + return DvnConfig( + dvn_addresses = [1.0284746938594775E54,2.5101940177441514E50], + optional_dvn_addresses = [1.334824162533763E54], + optional_threshold = 2 + ) + else: + return DvnConfig( + dvn_addresses = [1.0284746938594775E54,2.5101940177441514E50], + optional_threshold = 2, + ) + """ + + def testDvnConfig(self): + """Test DvnConfig""" + # 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_dvn_config_with_confirmations.py b/test/test_dvn_config_with_confirmations.py new file mode 100644 index 00000000..f8028472 --- /dev/null +++ b/test/test_dvn_config_with_confirmations.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.dvn_config_with_confirmations import DvnConfigWithConfirmations + + +class TestDvnConfigWithConfirmations(unittest.TestCase): + """DvnConfigWithConfirmations unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DvnConfigWithConfirmations: + """Test DvnConfigWithConfirmations + 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 `DvnConfigWithConfirmations` + """ + model = DvnConfigWithConfirmations() + if include_optional: + return DvnConfigWithConfirmations( + dvn_addresses = [1.0284746938594775E54,2.5101940177441514E50], + optional_dvn_addresses = [1.334824162533763E54], + optional_threshold = 2, + confirmations = 12 + ) + else: + return DvnConfigWithConfirmations( + dvn_addresses = [1.0284746938594775E54,2.5101940177441514E50], + optional_threshold = 2, + confirmations = 12, + ) + """ + + def testDvnConfigWithConfirmations(self): + """Test DvnConfigWithConfirmations""" + # 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_fee_info.py b/test/test_fee_info.py index b0c1a1b5..b8023db7 100644 --- a/test/test_fee_info.py +++ b/test/test_fee_info.py @@ -43,7 +43,8 @@ def make_instance(self, include_optional) -> FeeInfo: paid_by_relay = True, relay_type = 'LOCAL', relay_id = '1', - relay_name = 'Tenant Name' + relay_name = 'Tenant Name', + fee_usd = '0.0013' ) else: return FeeInfo( diff --git a/test/test_get_layer_zero_dvn_config_response.py b/test/test_get_layer_zero_dvn_config_response.py new file mode 100644 index 00000000..3a1076cb --- /dev/null +++ b/test/test_get_layer_zero_dvn_config_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.get_layer_zero_dvn_config_response import ( + GetLayerZeroDvnConfigResponse, +) + + +class TestGetLayerZeroDvnConfigResponse(unittest.TestCase): + """GetLayerZeroDvnConfigResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetLayerZeroDvnConfigResponse: + """Test GetLayerZeroDvnConfigResponse + 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 `GetLayerZeroDvnConfigResponse` + """ + model = GetLayerZeroDvnConfigResponse() + if include_optional: + return GetLayerZeroDvnConfigResponse( + source_adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d', + channel_configs = [ + fireblocks.models.channel_dvn_config_with_confirmations.ChannelDvnConfigWithConfirmations( + send_config = null, + receive_config = null, ) + ] + ) + else: + return GetLayerZeroDvnConfigResponse( + source_adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d', + channel_configs = [ + fireblocks.models.channel_dvn_config_with_confirmations.ChannelDvnConfigWithConfirmations( + send_config = null, + receive_config = null, ) + ], + ) + """ + + def testGetLayerZeroDvnConfigResponse(self): + """Test GetLayerZeroDvnConfigResponse""" + # 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_get_layer_zero_peers_response.py b/test/test_get_layer_zero_peers_response.py new file mode 100644 index 00000000..7b75465e --- /dev/null +++ b/test/test_get_layer_zero_peers_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.get_layer_zero_peers_response import GetLayerZeroPeersResponse + + +class TestGetLayerZeroPeersResponse(unittest.TestCase): + """GetLayerZeroPeersResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetLayerZeroPeersResponse: + """Test GetLayerZeroPeersResponse + 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 `GetLayerZeroPeersResponse` + """ + model = GetLayerZeroPeersResponse() + if include_optional: + return GetLayerZeroPeersResponse( + adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d', + adapter_address = '0x1234567890abcdef1234567890abcdef12345678', + peers = [{"adapterTokenLinkId":"b70701f4-d7b1-4795-a8ee-b09cdb5b850d","adapterAddress":"0x1234567890abcdef1234567890abcdef12345678","baseAssetId":"ETH_TEST6"},{"adapterTokenLinkId":"b70701f4-d7b1-4795-a8ee-b09cdb5b850d","adapterAddress":"0x1234567890abcdef1234567890abcdef12345678","baseAssetId":"ETH_TEST5"}] + ) + else: + return GetLayerZeroPeersResponse( + adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d', + adapter_address = '0x1234567890abcdef1234567890abcdef12345678', + peers = [{"adapterTokenLinkId":"b70701f4-d7b1-4795-a8ee-b09cdb5b850d","adapterAddress":"0x1234567890abcdef1234567890abcdef12345678","baseAssetId":"ETH_TEST6"},{"adapterTokenLinkId":"b70701f4-d7b1-4795-a8ee-b09cdb5b850d","adapterAddress":"0x1234567890abcdef1234567890abcdef12345678","baseAssetId":"ETH_TEST5"}], + ) + """ + + def testGetLayerZeroPeersResponse(self): + """Test GetLayerZeroPeersResponse""" + # 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_layer_zero_adapter_create_params.py b/test/test_layer_zero_adapter_create_params.py new file mode 100644 index 00000000..ca3ea191 --- /dev/null +++ b/test/test_layer_zero_adapter_create_params.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.layer_zero_adapter_create_params import ( + LayerZeroAdapterCreateParams, +) + + +class TestLayerZeroAdapterCreateParams(unittest.TestCase): + """LayerZeroAdapterCreateParams unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LayerZeroAdapterCreateParams: + """Test LayerZeroAdapterCreateParams + 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 `LayerZeroAdapterCreateParams` + """ + model = LayerZeroAdapterCreateParams() + if include_optional: + return LayerZeroAdapterCreateParams( + token_link_id = '123-432-1234-1234-123456789012', + delegate_address = '0xABCDEF123456789abcdef1234567890abcdef12345678', + default_admin_address = '0xABC123456789abcdef1234567890abcdef12345678', + pauser_address = '0xDEFABC123456789abcdef1234567890abcdef12345678' + ) + else: + return LayerZeroAdapterCreateParams( + token_link_id = '123-432-1234-1234-123456789012', + delegate_address = '0xABCDEF123456789abcdef1234567890abcdef12345678', + default_admin_address = '0xABC123456789abcdef1234567890abcdef12345678', + pauser_address = '0xDEFABC123456789abcdef1234567890abcdef12345678', + ) + """ + + def testLayerZeroAdapterCreateParams(self): + """Test LayerZeroAdapterCreateParams""" + # 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_peer_adapter_info.py b/test/test_peer_adapter_info.py new file mode 100644 index 00000000..34c75895 --- /dev/null +++ b/test/test_peer_adapter_info.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.peer_adapter_info import PeerAdapterInfo + + +class TestPeerAdapterInfo(unittest.TestCase): + """PeerAdapterInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PeerAdapterInfo: + """Test PeerAdapterInfo + 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 `PeerAdapterInfo` + """ + model = PeerAdapterInfo() + if include_optional: + return PeerAdapterInfo( + adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d', + adapter_address = '0x1234567890abcdef1234567890abcdef12345678', + base_asset_id = 'ETH_TEST6' + ) + else: + return PeerAdapterInfo( + adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d', + adapter_address = '0x1234567890abcdef1234567890abcdef12345678', + base_asset_id = 'ETH_TEST6', + ) + """ + + def testPeerAdapterInfo(self): + """Test PeerAdapterInfo""" + # 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_remove_layer_zero_adapter_failed_result.py b/test/test_remove_layer_zero_adapter_failed_result.py new file mode 100644 index 00000000..e73f9e57 --- /dev/null +++ b/test/test_remove_layer_zero_adapter_failed_result.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.remove_layer_zero_adapter_failed_result import ( + RemoveLayerZeroAdapterFailedResult, +) + + +class TestRemoveLayerZeroAdapterFailedResult(unittest.TestCase): + """RemoveLayerZeroAdapterFailedResult unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RemoveLayerZeroAdapterFailedResult: + """Test RemoveLayerZeroAdapterFailedResult + 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 `RemoveLayerZeroAdapterFailedResult` + """ + model = RemoveLayerZeroAdapterFailedResult() + if include_optional: + return RemoveLayerZeroAdapterFailedResult( + adapter_token_link_id = '' + ) + else: + return RemoveLayerZeroAdapterFailedResult( + adapter_token_link_id = '', + ) + """ + + def testRemoveLayerZeroAdapterFailedResult(self): + """Test RemoveLayerZeroAdapterFailedResult""" + # 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_remove_layer_zero_adapters_request.py b/test/test_remove_layer_zero_adapters_request.py new file mode 100644 index 00000000..ea10c999 --- /dev/null +++ b/test/test_remove_layer_zero_adapters_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.remove_layer_zero_adapters_request import ( + RemoveLayerZeroAdaptersRequest, +) + + +class TestRemoveLayerZeroAdaptersRequest(unittest.TestCase): + """RemoveLayerZeroAdaptersRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RemoveLayerZeroAdaptersRequest: + """Test RemoveLayerZeroAdaptersRequest + 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 `RemoveLayerZeroAdaptersRequest` + """ + model = RemoveLayerZeroAdaptersRequest() + if include_optional: + return RemoveLayerZeroAdaptersRequest( + vault_account_id = '1', + adapter_token_link_ids = ["d290f1ee-6c54-4b01-90e6-d701748f0851","e290f1ee-6c54-4b01-90e6-d701748f0852"] + ) + else: + return RemoveLayerZeroAdaptersRequest( + vault_account_id = '1', + adapter_token_link_ids = ["d290f1ee-6c54-4b01-90e6-d701748f0851","e290f1ee-6c54-4b01-90e6-d701748f0852"], + ) + """ + + def testRemoveLayerZeroAdaptersRequest(self): + """Test RemoveLayerZeroAdaptersRequest""" + # 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_remove_layer_zero_adapters_response.py b/test/test_remove_layer_zero_adapters_response.py new file mode 100644 index 00000000..91be7635 --- /dev/null +++ b/test/test_remove_layer_zero_adapters_response.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.remove_layer_zero_adapters_response import ( + RemoveLayerZeroAdaptersResponse, +) + + +class TestRemoveLayerZeroAdaptersResponse(unittest.TestCase): + """RemoveLayerZeroAdaptersResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RemoveLayerZeroAdaptersResponse: + """Test RemoveLayerZeroAdaptersResponse + 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 `RemoveLayerZeroAdaptersResponse` + """ + model = RemoveLayerZeroAdaptersResponse() + if include_optional: + return RemoveLayerZeroAdaptersResponse( + deactivated = [ + '' + ], + failed = [ + fireblocks.models.remove_layer_zero_adapter_failed_result.RemoveLayerZeroAdapterFailedResult( + adapter_token_link_id = '', ) + ] + ) + else: + return RemoveLayerZeroAdaptersResponse( + deactivated = [ + '' + ], + failed = [ + fireblocks.models.remove_layer_zero_adapter_failed_result.RemoveLayerZeroAdapterFailedResult( + adapter_token_link_id = '', ) + ], + ) + """ + + def testRemoveLayerZeroAdaptersResponse(self): + """Test RemoveLayerZeroAdaptersResponse""" + # 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_remove_layer_zero_peers_request.py b/test/test_remove_layer_zero_peers_request.py new file mode 100644 index 00000000..6373f70b --- /dev/null +++ b/test/test_remove_layer_zero_peers_request.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.remove_layer_zero_peers_request import ( + RemoveLayerZeroPeersRequest, +) + + +class TestRemoveLayerZeroPeersRequest(unittest.TestCase): + """RemoveLayerZeroPeersRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RemoveLayerZeroPeersRequest: + """Test RemoveLayerZeroPeersRequest + 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 `RemoveLayerZeroPeersRequest` + """ + model = RemoveLayerZeroPeersRequest() + if include_optional: + return RemoveLayerZeroPeersRequest( + vault_account_id = '0', + source_adapter_token_link_id = '00000123-0432-1234-1234-123456789012', + destination_adapter_token_link_ids = [123-432-1234-1234-123456789012, 123-432-1234-1234-123456789012], + bidirectional = True + ) + else: + return RemoveLayerZeroPeersRequest( + vault_account_id = '0', + source_adapter_token_link_id = '00000123-0432-1234-1234-123456789012', + destination_adapter_token_link_ids = [123-432-1234-1234-123456789012, 123-432-1234-1234-123456789012], + bidirectional = True, + ) + """ + + def testRemoveLayerZeroPeersRequest(self): + """Test RemoveLayerZeroPeersRequest""" + # 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_remove_layer_zero_peers_response.py b/test/test_remove_layer_zero_peers_response.py new file mode 100644 index 00000000..6f46fac5 --- /dev/null +++ b/test/test_remove_layer_zero_peers_response.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.remove_layer_zero_peers_response import ( + RemoveLayerZeroPeersResponse, +) + + +class TestRemoveLayerZeroPeersResponse(unittest.TestCase): + """RemoveLayerZeroPeersResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RemoveLayerZeroPeersResponse: + """Test RemoveLayerZeroPeersResponse + 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 `RemoveLayerZeroPeersResponse` + """ + model = RemoveLayerZeroPeersResponse() + if include_optional: + return RemoveLayerZeroPeersResponse( + txn_ids = [123-432-1234-1234-123456789012, 123-432-1234-1234-123456789012] + ) + else: + return RemoveLayerZeroPeersResponse( + txn_ids = [123-432-1234-1234-123456789012, 123-432-1234-1234-123456789012], + ) + """ + + def testRemoveLayerZeroPeersResponse(self): + """Test RemoveLayerZeroPeersResponse""" + # 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_set_layer_zero_dvn_config_request.py b/test/test_set_layer_zero_dvn_config_request.py new file mode 100644 index 00000000..4f686845 --- /dev/null +++ b/test/test_set_layer_zero_dvn_config_request.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.set_layer_zero_dvn_config_request import ( + SetLayerZeroDvnConfigRequest, +) + + +class TestSetLayerZeroDvnConfigRequest(unittest.TestCase): + """SetLayerZeroDvnConfigRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SetLayerZeroDvnConfigRequest: + """Test SetLayerZeroDvnConfigRequest + 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 `SetLayerZeroDvnConfigRequest` + """ + model = SetLayerZeroDvnConfigRequest() + if include_optional: + return SetLayerZeroDvnConfigRequest( + vault_account_id = '0', + source_adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d', + destination_adapter_token_link_id = '6add4f2a-b206-4114-8f94-2882618ffbb4', + send_config = fireblocks.models.dvn_config.DvnConfig( + dvn_addresses = [1.0284746938594775E54,2.5101940177441514E50], + optional_dvn_addresses = [1.334824162533763E54], + optional_threshold = 2, ), + receive_config = fireblocks.models.dvn_config.DvnConfig( + dvn_addresses = [1.0284746938594775E54,2.5101940177441514E50], + optional_dvn_addresses = [1.334824162533763E54], + optional_threshold = 2, ) + ) + else: + return SetLayerZeroDvnConfigRequest( + vault_account_id = '0', + source_adapter_token_link_id = 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d', + destination_adapter_token_link_id = '6add4f2a-b206-4114-8f94-2882618ffbb4', + send_config = fireblocks.models.dvn_config.DvnConfig( + dvn_addresses = [1.0284746938594775E54,2.5101940177441514E50], + optional_dvn_addresses = [1.334824162533763E54], + optional_threshold = 2, ), + receive_config = fireblocks.models.dvn_config.DvnConfig( + dvn_addresses = [1.0284746938594775E54,2.5101940177441514E50], + optional_dvn_addresses = [1.334824162533763E54], + optional_threshold = 2, ), + ) + """ + + def testSetLayerZeroDvnConfigRequest(self): + """Test SetLayerZeroDvnConfigRequest""" + # 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_set_layer_zero_dvn_config_response.py b/test/test_set_layer_zero_dvn_config_response.py new file mode 100644 index 00000000..67e7e725 --- /dev/null +++ b/test/test_set_layer_zero_dvn_config_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.set_layer_zero_dvn_config_response import ( + SetLayerZeroDvnConfigResponse, +) + + +class TestSetLayerZeroDvnConfigResponse(unittest.TestCase): + """SetLayerZeroDvnConfigResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SetLayerZeroDvnConfigResponse: + """Test SetLayerZeroDvnConfigResponse + 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 `SetLayerZeroDvnConfigResponse` + """ + model = SetLayerZeroDvnConfigResponse() + if include_optional: + return SetLayerZeroDvnConfigResponse( + txn_ids = [ + '' + ] + ) + else: + return SetLayerZeroDvnConfigResponse( + txn_ids = [ + '' + ], + ) + """ + + def testSetLayerZeroDvnConfigResponse(self): + """Test SetLayerZeroDvnConfigResponse""" + # 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_set_layer_zero_peers_request.py b/test/test_set_layer_zero_peers_request.py new file mode 100644 index 00000000..81da47a5 --- /dev/null +++ b/test/test_set_layer_zero_peers_request.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.set_layer_zero_peers_request import SetLayerZeroPeersRequest + + +class TestSetLayerZeroPeersRequest(unittest.TestCase): + """SetLayerZeroPeersRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SetLayerZeroPeersRequest: + """Test SetLayerZeroPeersRequest + 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 `SetLayerZeroPeersRequest` + """ + model = SetLayerZeroPeersRequest() + if include_optional: + return SetLayerZeroPeersRequest( + vault_account_id = '0', + source_adapter_token_link_id = '00000123-0432-1234-1234-123456789012', + destination_adapter_token_link_ids = ["123-432-1234-1234-123456789012","123-432-1234-1234-123456789012"], + bidirectional = True + ) + else: + return SetLayerZeroPeersRequest( + vault_account_id = '0', + source_adapter_token_link_id = '00000123-0432-1234-1234-123456789012', + destination_adapter_token_link_ids = ["123-432-1234-1234-123456789012","123-432-1234-1234-123456789012"], + bidirectional = True, + ) + """ + + def testSetLayerZeroPeersRequest(self): + """Test SetLayerZeroPeersRequest""" + # 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_set_layer_zero_peers_response.py b/test/test_set_layer_zero_peers_response.py new file mode 100644 index 00000000..c5f6a5be --- /dev/null +++ b/test/test_set_layer_zero_peers_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.set_layer_zero_peers_response import SetLayerZeroPeersResponse + + +class TestSetLayerZeroPeersResponse(unittest.TestCase): + """SetLayerZeroPeersResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SetLayerZeroPeersResponse: + """Test SetLayerZeroPeersResponse + 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 `SetLayerZeroPeersResponse` + """ + model = SetLayerZeroPeersResponse() + if include_optional: + return SetLayerZeroPeersResponse( + txn_ids = ["123-432-1234-1234-123456789012","123-432-1234-1234-123456789012"] + ) + else: + return SetLayerZeroPeersResponse( + txn_ids = ["123-432-1234-1234-123456789012","123-432-1234-1234-123456789012"], + ) + """ + + def testSetLayerZeroPeersResponse(self): + """Test SetLayerZeroPeersResponse""" + # 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_tokenization_api.py b/test/test_tokenization_api.py index 0d79ad72..09f9258d 100644 --- a/test/test_tokenization_api.py +++ b/test/test_tokenization_api.py @@ -41,6 +41,20 @@ def test_create_new_collection(self) -> None: """ pass + def test_deactivate_and_unlink_adapters(self) -> None: + """Test case for deactivate_and_unlink_adapters + + Remove LayerZero adapters + """ + pass + + def test_deploy_and_link_adapters(self) -> None: + """Test case for deploy_and_link_adapters + + Deploy LayerZero adapters + """ + pass + def test_fetch_collection_token_details(self) -> None: """Test case for fetch_collection_token_details @@ -62,6 +76,20 @@ def test_get_deployable_address(self) -> None: """ pass + def test_get_layer_zero_dvn_config(self) -> None: + """Test case for get_layer_zero_dvn_config + + Get LayerZero DVN configuration + """ + pass + + def test_get_layer_zero_peers(self) -> None: + """Test case for get_layer_zero_peers + + Get LayerZero peers + """ + pass + def test_get_linked_collections(self) -> None: """Test case for get_linked_collections @@ -118,6 +146,27 @@ def test_re_issue_token_multi_chain(self) -> None: """ pass + def test_remove_layer_zero_peers(self) -> None: + """Test case for remove_layer_zero_peers + + Remove LayerZero peers + """ + pass + + def test_set_layer_zero_dvn_config(self) -> None: + """Test case for set_layer_zero_dvn_config + + Set LayerZero DVN configuration + """ + pass + + def test_set_layer_zero_peers(self) -> None: + """Test case for set_layer_zero_peers + + Set LayerZero peers + """ + pass + def test_unlink(self) -> None: """Test case for unlink @@ -132,6 +181,13 @@ def test_unlink_collection(self) -> None: """ pass + def test_validate_layer_zero_channel_config(self) -> None: + """Test case for validate_layer_zero_channel_config + + Validate LayerZero channel configuration + """ + pass + if __name__ == "__main__": unittest.main() diff --git a/test/test_transaction_response.py b/test/test_transaction_response.py index aa091bf9..16f763f2 100644 --- a/test/test_transaction_response.py +++ b/test/test_transaction_response.py @@ -109,7 +109,8 @@ def make_instance(self, include_optional) -> TransactionResponse: paid_by_relay = True, relay_type = 'LOCAL', relay_id = '1', - relay_name = 'Tenant Name', ), + relay_name = 'Tenant Name', + fee_usd = '0.0013', ), fee_currency = '', network_records = [ fireblocks.models.network_record.NetworkRecord( diff --git a/test/test_validate_layer_zero_channel_response.py b/test/test_validate_layer_zero_channel_response.py new file mode 100644 index 00000000..8a62d83e --- /dev/null +++ b/test/test_validate_layer_zero_channel_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" +Fireblocks API + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.6.2 +Contact: support@fireblocks.com +Generated by OpenAPI Generator (https://openapi-generator.tech) + +Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.validate_layer_zero_channel_response import ( + ValidateLayerZeroChannelResponse, +) + + +class TestValidateLayerZeroChannelResponse(unittest.TestCase): + """ValidateLayerZeroChannelResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ValidateLayerZeroChannelResponse: + """Test ValidateLayerZeroChannelResponse + 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 `ValidateLayerZeroChannelResponse` + """ + model = ValidateLayerZeroChannelResponse() + if include_optional: + return ValidateLayerZeroChannelResponse( + correct = True, + errors = ["Adapter not found","Adapter missing role","Adapter is not a peer"] + ) + else: + return ValidateLayerZeroChannelResponse( + correct = True, + errors = ["Adapter not found","Adapter missing role","Adapter is not a peer"], + ) + """ + + def testValidateLayerZeroChannelResponse(self): + """Test ValidateLayerZeroChannelResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main()