diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 5b4c846b..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,248 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [v19.1.0](https://github.com/fireblocks/py-sdk/compare/v18.0.0...v19.1.0) - 2026-05-27 - -### Merged - -- Generated SDK #2710 (minor) [`#140`](https://github.com/fireblocks/py-sdk/pull/140) - -## [v18.0.0](https://github.com/fireblocks/py-sdk/compare/v17.0.0...v18.0.0) - 2026-05-07 - -### Merged - -- Generated SDK #3222 (major) [`#138`](https://github.com/fireblocks/py-sdk/pull/138) - -## [v17.0.0](https://github.com/fireblocks/py-sdk/compare/v16.0.0...v17.0.0) - 2026-04-20 - -### Merged - -- Generated SDK #9605 (major) [`#137`](https://github.com/fireblocks/py-sdk/pull/137) - -## [v16.0.0](https://github.com/fireblocks/py-sdk/compare/v15.0.0...v16.0.0) - 2026-04-06 - -### Merged - -- Generated SDK #3331 [`#135`](https://github.com/fireblocks/py-sdk/pull/135) - -## [v15.0.0](https://github.com/fireblocks/py-sdk/compare/v14.1.0...v15.0.0) - 2026-03-15 - -### Merged - -- Generated SDK #3733 (major) [`#129`](https://github.com/fireblocks/py-sdk/pull/129) - -## [v14.1.0](https://github.com/fireblocks/py-sdk/compare/v14.0.0...v14.1.0) - 2026-02-26 - -### Merged - -- Generated SDK #2167 [`#127`](https://github.com/fireblocks/py-sdk/pull/127) - -## [v14.0.0](https://github.com/fireblocks/py-sdk/compare/v13.0.0...v14.0.0) - 2026-02-03 - -### Merged - -- Generated SDK #4746 [`#123`](https://github.com/fireblocks/py-sdk/pull/123) - -## [v13.0.0](https://github.com/fireblocks/py-sdk/compare/v12.1.2...v13.0.0) - 2025-11-13 - -### Merged - -- Generated SDK #5834 [`#121`](https://github.com/fireblocks/py-sdk/pull/121) - -## [v12.1.2](https://github.com/fireblocks/py-sdk/compare/v12.1.1...v12.1.2) - 2025-10-22 - -### Merged - -- Generated SDK #8293 [`#120`](https://github.com/fireblocks/py-sdk/pull/120) - -## [v12.1.1](https://github.com/fireblocks/py-sdk/compare/v12.1.0...v12.1.1) - 2025-09-29 - -### Merged - -- Generated SDK #6061 [`#119`](https://github.com/fireblocks/py-sdk/pull/119) - -## [v12.1.0](https://github.com/fireblocks/py-sdk/compare/v12.0.0...v12.1.0) - 2025-09-09 - -### Merged - -- Generated SDK #4521 [`#118`](https://github.com/fireblocks/py-sdk/pull/118) - -## [v12.0.0](https://github.com/fireblocks/py-sdk/compare/v11.2.0...v12.0.0) - 2025-09-01 - -### Merged - -- Generated SDK #7741 [`#117`](https://github.com/fireblocks/py-sdk/pull/117) - -## [v11.2.0](https://github.com/fireblocks/py-sdk/compare/v11.1.0...v11.2.0) - 2025-08-18 - -### Merged - -- Generated SDK #3302 [`#116`](https://github.com/fireblocks/py-sdk/pull/116) - -## [v11.1.0](https://github.com/fireblocks/py-sdk/compare/v11.0.0...v11.1.0) - 2025-08-11 - -### Merged - -- Generated SDK #1782 [`#115`](https://github.com/fireblocks/py-sdk/pull/115) - -## [v11.0.0](https://github.com/fireblocks/py-sdk/compare/v10.4.0...v11.0.0) - 2025-07-15 - -### Merged - -- Generated SDK #5610 [`#114`](https://github.com/fireblocks/py-sdk/pull/114) - -## [v10.4.0](https://github.com/fireblocks/py-sdk/compare/v10.3.0...v10.4.0) - 2025-06-29 - -### Merged - -- Generated SDK #1492 [`#113`](https://github.com/fireblocks/py-sdk/pull/113) - -## [v10.3.0](https://github.com/fireblocks/py-sdk/compare/v10.2.0...v10.3.0) - 2025-06-18 - -### Merged - -- Generated SDK #4009 [`#112`](https://github.com/fireblocks/py-sdk/pull/112) - -## [v10.2.0](https://github.com/fireblocks/py-sdk/compare/v10.1.1...v10.2.0) - 2025-06-04 - -### Merged - -- Generated SDK #8912 [`#111`](https://github.com/fireblocks/py-sdk/pull/111) - -## [v10.1.1](https://github.com/fireblocks/py-sdk/compare/v10.1.0...v10.1.1) - 2025-05-18 - -### Merged - -- Generated SDK #5019 [`#110`](https://github.com/fireblocks/py-sdk/pull/110) - -## [v10.1.0](https://github.com/fireblocks/py-sdk/compare/v10.0.0...v10.1.0) - 2025-05-07 - -### Merged - -- Generated SDK #7076 [`#107`](https://github.com/fireblocks/py-sdk/pull/107) - -## [v10.0.0](https://github.com/fireblocks/py-sdk/compare/v9.0.1...v10.0.0) - 2025-04-20 - -### Merged - -- Generated SDK #4794 [`#105`](https://github.com/fireblocks/py-sdk/pull/105) - -## [v9.0.1](https://github.com/fireblocks/py-sdk/compare/v9.0.0...v9.0.1) - 2025-04-07 - -### Merged - -- Generated SDK #3065 [`#104`](https://github.com/fireblocks/py-sdk/pull/104) - -## [v9.0.0](https://github.com/fireblocks/py-sdk/compare/v8.0.0...v9.0.0) - 2025-03-27 - -### Merged - -- Generated SDK #619 [`#102`](https://github.com/fireblocks/py-sdk/pull/102) - -## [v8.0.0](https://github.com/fireblocks/py-sdk/compare/v7.1.0...v8.0.0) - 2025-03-17 - -### Merged - -- Generated SDK #645 [`#101`](https://github.com/fireblocks/py-sdk/pull/101) -- Generated SDK #726 [`#99`](https://github.com/fireblocks/py-sdk/pull/99) - -## [v7.1.0](https://github.com/fireblocks/py-sdk/compare/v7.0.1...v7.1.0) - 2025-02-25 - -### Merged - -- Generated SDK #9833 [`#96`](https://github.com/fireblocks/py-sdk/pull/96) - -## [v7.0.1](https://github.com/fireblocks/py-sdk/compare/v7.0.0...v7.0.1) - 2025-02-12 - -### Merged - -- Generated SDK #4262 [`#95`](https://github.com/fireblocks/py-sdk/pull/95) - -## [v7.0.0](https://github.com/fireblocks/py-sdk/compare/v6.0.0...v7.0.0) - 2025-02-02 - -### Merged - -- Generated SDK #538 [`#92`](https://github.com/fireblocks/py-sdk/pull/92) - -## [v6.0.0](https://github.com/fireblocks/py-sdk/compare/v5.0.0...v6.0.0) - 2025-01-08 - -### Merged - -- Generated SDK #8699 [`#89`](https://github.com/fireblocks/py-sdk/pull/89) - -## [v5.0.0](https://github.com/fireblocks/py-sdk/compare/v4.0.0...v5.0.0) - 2024-12-05 - -### Merged - -- Generated SDK #1430 [`#85`](https://github.com/fireblocks/py-sdk/pull/85) -- Update python-package.yml, deprecate macos-12 [`#86`](https://github.com/fireblocks/py-sdk/pull/86) - -## [v4.0.0](https://github.com/fireblocks/py-sdk/compare/v3.0.0...v4.0.0) - 2024-10-31 - -### Merged - -- Generated SDK #5184 [`#82`](https://github.com/fireblocks/py-sdk/pull/82) - -## [v3.0.0](https://github.com/fireblocks/py-sdk/compare/v2.1.0...v3.0.0) - 2024-09-17 - -### Merged - -- Generated SDK #237 [`#81`](https://github.com/fireblocks/py-sdk/pull/81) - -## [v2.1.0](https://github.com/fireblocks/py-sdk/compare/v2.0.0...v2.1.0) - 2024-07-25 - -### Merged - -- Generated SDK #6749 [`#78`](https://github.com/fireblocks/py-sdk/pull/78) - -## [v2.0.0](https://github.com/fireblocks/py-sdk/compare/v1.0.4...v2.0.0) - 2024-07-17 - -### Merged - -- Generated SDK #6152 [`#76`](https://github.com/fireblocks/py-sdk/pull/76) -- Generated SDK #7647 [`#73`](https://github.com/fireblocks/py-sdk/pull/73) -- Generated SDK #7984 [`#70`](https://github.com/fireblocks/py-sdk/pull/70) - -## [v1.0.4](https://github.com/fireblocks/py-sdk/compare/v1.0.3...v1.0.4) - 2024-06-26 - -### Merged - -- Generated SDK #5779 [`#69`](https://github.com/fireblocks/py-sdk/pull/69) -- Generated SDK #913 [`#68`](https://github.com/fireblocks/py-sdk/pull/68) -- Generated SDK #1353 [`#67`](https://github.com/fireblocks/py-sdk/pull/67) -- Generated SDK #9982 [`#66`](https://github.com/fireblocks/py-sdk/pull/66) -- Generated SDK #1362 [`#65`](https://github.com/fireblocks/py-sdk/pull/65) -- Generated SDK #3652 [`#64`](https://github.com/fireblocks/py-sdk/pull/64) - -## [v1.0.3](https://github.com/fireblocks/py-sdk/compare/v1.0.2...v1.0.3) - 2024-06-06 - -### Merged - -- Generated SDK #2648 [`#30`](https://github.com/fireblocks/py-sdk/pull/30) - -## [v1.0.2](https://github.com/fireblocks/py-sdk/compare/v0.0.2-beta...v1.0.2) - 2024-06-04 - -### Merged - -- version 1.0.2 [`#25`](https://github.com/fireblocks/py-sdk/pull/25) -- version 1.0.0 [`#24`](https://github.com/fireblocks/py-sdk/pull/24) - -## v0.0.2-beta - 2024-05-30 - -### Merged - -- version 0.0.2-beta [`#23`](https://github.com/fireblocks/py-sdk/pull/23) -- Update .bumpversion.cfg [`#14`](https://github.com/fireblocks/py-sdk/pull/14) -- Update setup.py [`#13`](https://github.com/fireblocks/py-sdk/pull/13) -- Bug Fixes [`#12`](https://github.com/fireblocks/py-sdk/pull/12) -- update support for beta in bumpversion [`#11`](https://github.com/fireblocks/py-sdk/pull/11) -- Update setup.py [`#10`](https://github.com/fireblocks/py-sdk/pull/10) -- Update setup.py [`#9`](https://github.com/fireblocks/py-sdk/pull/9) -- Added Idempotency & NCW headers support [`#7`](https://github.com/fireblocks/py-sdk/pull/7) -- Added Idempotency & NCW headers support [`#8`](https://github.com/fireblocks/py-sdk/pull/8) -- Update setup.py [`#5`](https://github.com/fireblocks/py-sdk/pull/5) -- API Support Updates [`#4`](https://github.com/fireblocks/py-sdk/pull/4) diff --git a/README.md b/README.md index 142930c6..0c5bb55d 100644 --- a/README.md +++ b/README.md @@ -329,7 +329,7 @@ Class | Method | HTTP request | Description *DeployedContractsApi* | [**get_deployed_contract_by_address**](docs/DeployedContractsApi.md#get_deployed_contract_by_address) | **GET** /tokenization/contracts/{assetId}/{contractAddress} | Return deployed contract data *DeployedContractsApi* | [**get_deployed_contract_by_id**](docs/DeployedContractsApi.md#get_deployed_contract_by_id) | **GET** /tokenization/contracts/{id} | Return deployed contract data by id *DeployedContractsApi* | [**get_deployed_contracts**](docs/DeployedContractsApi.md#get_deployed_contracts) | **GET** /tokenization/contracts | List deployed contracts data -*EarnBetaApi* | [**approve_terms_of_service**](docs/EarnBetaApi.md#approve_terms_of_service) | **POST** /earn/providers/{providerId}/approve_terms_of_service | Approve earn provider terms of service +*EarnBetaApi* | [**approve_terms_of_service**](docs/EarnBetaApi.md#approve_terms_of_service) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service *EarnBetaApi* | [**create_earn_action**](docs/EarnBetaApi.md#create_earn_action) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw) *EarnBetaApi* | [**get_earn_action**](docs/EarnBetaApi.md#get_earn_action) | **GET** /earn/actions/{id} | Get a single earn lending action *EarnBetaApi* | [**get_earn_actions**](docs/EarnBetaApi.md#get_earn_actions) | **GET** /earn/actions | List earn lending actions diff --git a/docs/EarnBetaApi.md b/docs/EarnBetaApi.md index fb7109c4..0ac78893 100644 --- a/docs/EarnBetaApi.md +++ b/docs/EarnBetaApi.md @@ -4,7 +4,7 @@ All URIs are relative to *https://api.fireblocks.io/v1* Method | HTTP request | Description ------------- | ------------- | ------------- -[**approve_terms_of_service**](EarnBetaApi.md#approve_terms_of_service) | **POST** /earn/providers/{providerId}/approve_terms_of_service | Approve earn provider terms of service +[**approve_terms_of_service**](EarnBetaApi.md#approve_terms_of_service) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service [**create_earn_action**](EarnBetaApi.md#create_earn_action) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw) [**get_earn_action**](EarnBetaApi.md#get_earn_action) | **GET** /earn/actions/{id} | Get a single earn lending action [**get_earn_actions**](EarnBetaApi.md#get_earn_actions) | **GET** /earn/actions | List earn lending actions @@ -14,13 +14,13 @@ Method | HTTP request | Description # **approve_terms_of_service** -> approve_terms_of_service(provider_id, idempotency_key=idempotency_key) +> approve_terms_of_service(idempotency_key=idempotency_key) Approve earn provider terms of service -Approves the lending provider's terms of service for this workspace. When -`isTermsApprovalRequired` is true on the provider (see list providers), -call this once before creating or executing earn actions with that provider. +Approves earn provider terms of service for this workspace (one-time per tenant). +When `isTermsApprovalRequired` is true on a provider (see list providers), +call this once before creating or executing earn actions with providers that require it. After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`. **Note:** This endpoint is currently in beta and might be subject to changes. @@ -49,12 +49,11 @@ configuration = ClientConfiguration( # Enter a context with an instance of the API client with Fireblocks(configuration) as fireblocks: - provider_id = 'provider_id_example' # str | Stable protocol identifier for the earn provider (`MORPHO` or `AAVE`). 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: # Approve earn provider terms of service - fireblocks.earn_beta.approve_terms_of_service(provider_id, idempotency_key=idempotency_key).result() + fireblocks.earn_beta.approve_terms_of_service(idempotency_key=idempotency_key).result() except Exception as e: print("Exception when calling EarnBetaApi->approve_terms_of_service: %s\n" % e) ``` @@ -66,7 +65,6 @@ with Fireblocks(configuration) as fireblocks: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **provider_id** | **str**| Stable protocol identifier for the earn provider (`MORPHO` or `AAVE`). | **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 diff --git a/docs/TransactionRequest.md b/docs/TransactionRequest.md index ef72c460..84143095 100644 --- a/docs/TransactionRequest.md +++ b/docs/TransactionRequest.md @@ -34,6 +34,7 @@ Name | Type | Description | Notes **network_staking** | [**TransactionRequestNetworkStaking**](TransactionRequestNetworkStaking.md) | | [optional] **cpu_staking** | [**TransactionRequestNetworkStaking**](TransactionRequestNetworkStaking.md) | | [optional] **use_gasless** | **bool** | - Override the default gasless configuration by sending true\\false | [optional] +**expires_after_seconds** | **float** | The number of seconds the transaction is valid for before it expires. After the specified duration, the transaction will expire if it has not been broadcasted. | [optional] ## Example diff --git a/docs/TransactionResponse.md b/docs/TransactionResponse.md index 722db0d6..cbe13740 100644 --- a/docs/TransactionResponse.md +++ b/docs/TransactionResponse.md @@ -30,6 +30,7 @@ Name | Type | Description | Notes **network_records** | [**List[NetworkRecord]**](NetworkRecord.md) | In case a single transaction resulted with multiple transfers, for example a result of a contract call, then this parameter specifies each transfer that took place on the blockchain. In case of a single transfer transaction, this parameter is empty. | [optional] **created_at** | **float** | The transaction’s creation date and time, in unix timestamp. | [optional] **last_updated** | **float** | The transaction’s last update date and time, in unix timestamp. | [optional] +**expires_at** | **float** | The transaction’s expiration date and time, in unix timestamp. Only returned for transactions that have an expiration set. | [optional] **created_by** | **str** | User ID of the initiator of the transaction. | [optional] **signed_by** | **List[str]** | User ID’s of the signers of the transaction. | [optional] **rejected_by** | **str** | User ID of the user that rejected the transaction (in case it was rejected). | [optional] diff --git a/docs/VaultsApi.md b/docs/VaultsApi.md index 827d80a6..2f47cfc7 100644 --- a/docs/VaultsApi.md +++ b/docs/VaultsApi.md @@ -128,10 +128,8 @@ No authorization required Activate a USDC Gateway wallet Activates the USDC Gateway wallet associated with the given vault account. If the wallet does not yet exist it is created in an activated state. - - **Note:** This endpoint is currently in beta and might be subject to changes. - -
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. +**Note:** This endpoint is currently in beta and might be subject to changes. +Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. ### Example @@ -786,10 +784,8 @@ No authorization required Deactivate a USDC Gateway wallet Deactivates the USDC Gateway wallet associated with the given vault account. - - **Note:** This endpoint is currently in beta and might be subject to changes. - -
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. +**Note:** This endpoint is currently in beta and might be subject to changes. +Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. ### Example @@ -1601,7 +1597,7 @@ Get USDC Gateway wallet info Returns the USDC Gateway wallet information associated with the given vault account. **Note:** This endpoint is currently in beta and might be subject to changes. -
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. +Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. ### Example diff --git a/docs/WebhookEvent.md b/docs/WebhookEvent.md index ff887830..cf8c12af 100644 --- a/docs/WebhookEvent.md +++ b/docs/WebhookEvent.md @@ -29,6 +29,8 @@ * `VAULT_ACCOUNT_DOT_ASSET_DOT_BALANCE_UPDATED` (value: `'vault_account.asset.balance_updated'`) +* `VAULT_ACCOUNT_DOT_NFT_DOT_BALANCE_UPDATED` (value: `'vault_account.nft.balance_updated'`) + * `EMBEDDED_WALLET_DOT_STATUS_DOT_UPDATED` (value: `'embedded_wallet.status.updated'`) * `EMBEDDED_WALLET_DOT_CREATED` (value: `'embedded_wallet.created'`) @@ -51,6 +53,56 @@ * `CONNECTION_DOT_REQUEST_DOT_REJECTED_BY_PEER` (value: `'connection.request.rejected_by_peer'`) +* `EXCHANGE_ACCOUNT_DOT_CONNECTED` (value: `'exchange_account.connected'`) + +* `FIAT_ACCOUNT_DOT_CONNECTED` (value: `'fiat_account.connected'`) + +* `CONNECTED_ACCOUNT_DOT_CONNECTED` (value: `'connected_account.connected'`) + +* `TICKET_DOT_CREATED` (value: `'ticket.created'`) + +* `TICKET_DOT_SUBMITTED` (value: `'ticket.submitted'`) + +* `TICKET_DOT_EXPIRED` (value: `'ticket.expired'`) + +* `TICKET_DOT_CANCELED` (value: `'ticket.canceled'`) + +* `TICKET_DOT_FULFILLED` (value: `'ticket.fulfilled'`) + +* `TICKET_DOT_COUNTERPARTY_DOT_ADDED` (value: `'ticket.counterparty.added'`) + +* `TICKET_DOT_COUNTERPARTY_EXTERNAL_ID_DOT_SET` (value: `'ticket.counterparty_external_id.set'`) + +* `TICKET_DOT_NOTE_DOT_ADDED` (value: `'ticket.note.added'`) + +* `TICKET_DOT_EXPIRES_AT_DOT_SET` (value: `'ticket.expires_at.set'`) + +* `TICKET_DOT_EXPIRES_IN_DOT_SET` (value: `'ticket.expires_in.set'`) + +* `TICKET_DOT_TERM_DOT_ADDED` (value: `'ticket.term.added'`) + +* `TICKET_DOT_TERM_DOT_UPDATED` (value: `'ticket.term.updated'`) + +* `TICKET_DOT_TERM_DOT_DELETED` (value: `'ticket.term.deleted'`) + +* `TICKET_DOT_TERM_DOT_FUNDED` (value: `'ticket.term.funded'`) + +* `TICKET_DOT_TERM_DOT_MANUALLY_FUNDED` (value: `'ticket.term.manually_funded'`) + +* `TICKET_DOT_TERM_DOT_FUNDING_CANCELED` (value: `'ticket.term.funding_canceled'`) + +* `TICKET_DOT_TERM_DOT_FUNDING_FAILED` (value: `'ticket.term.funding_failed'`) + +* `TICKET_DOT_TERM_DOT_FUNDING_COMPLETED` (value: `'ticket.term.funding_completed'`) + +* `TICKET_DOT_TERM_DOT_TRANSACTION_STATUS_CHANGED` (value: `'ticket.term.transaction_status_changed'`) + +* `SETTLEMENT_DOT_CREATED` (value: `'settlement.created'`) + +* `ORDER_DOT_UPDATED` (value: `'order.updated'`) + +* `AUTOMATION_EXECUTION_DOT_UPDATE` (value: `'automation_execution.update'`) + [[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 881f915e..2cb33bdd 100644 --- a/fireblocks/__init__.py +++ b/fireblocks/__init__.py @@ -15,7 +15,7 @@ """ # noqa: E501 -__version__ = "19.1.0" +__version__ = "0.0.0" # import apis into sdk package from fireblocks.api.api_user_api import ApiUserApi diff --git a/fireblocks/api/earn_beta_api.py b/fireblocks/api/earn_beta_api.py index 5d529192..b633ba64 100644 --- a/fireblocks/api/earn_beta_api.py +++ b/fireblocks/api/earn_beta_api.py @@ -51,7 +51,6 @@ def __init__(self, api_client=None) -> None: @validate_call def approve_terms_of_service( self, - provider_id: Annotated[StrictStr, Field(description="Stable protocol identifier for the earn provider (`MORPHO` or `AAVE`).")], 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, @@ -68,10 +67,8 @@ def approve_terms_of_service( ) -> Future[ApiResponse[None]]: """Approve earn provider terms of service - Approves the lending provider's terms of service for this workspace. When `isTermsApprovalRequired` is true on the provider (see list providers), call this once before creating or executing earn actions with that provider. After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`. **Note:** This endpoint is currently in beta and might be subject to changes. + Approves earn provider terms of service for this workspace (one-time per tenant). When `isTermsApprovalRequired` is true on a provider (see list providers), call this once before creating or executing earn actions with providers that require it. After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`. **Note:** This endpoint is currently in beta and might be subject to changes. - :param provider_id: Stable protocol identifier for the earn provider (`MORPHO` or `AAVE`). (required) - :type provider_id: str :param idempotency_key: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. :type idempotency_key: str :param _request_timeout: timeout setting for this request. If one @@ -96,10 +93,8 @@ def approve_terms_of_service( :return: Returns the result object. """ # noqa: E501 - validate_not_empty_string(function_name="approve_terms_of_service", param_name="provider_id", param_value=provider_id) _param = self._approve_terms_of_service_serialize( - provider_id=provider_id, idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, @@ -125,7 +120,6 @@ def approve_terms_of_service( def _approve_terms_of_service_serialize( self, - provider_id, idempotency_key, _request_auth, _content_type, @@ -148,8 +142,6 @@ def _approve_terms_of_service_serialize( _body_params: Optional[bytes] = None # process the path parameters - if provider_id is not None: - _path_params['providerId'] = provider_id # process the query parameters # process the header parameters if idempotency_key is not None: @@ -173,7 +165,7 @@ def _approve_terms_of_service_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/earn/providers/{providerId}/approve_terms_of_service', + resource_path='/earn/providers/approve_terms_of_service', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/fireblocks/api/vaults_api.py b/fireblocks/api/vaults_api.py index 2a599f87..f9adbdad 100644 --- a/fireblocks/api/vaults_api.py +++ b/fireblocks/api/vaults_api.py @@ -245,7 +245,7 @@ def activate_usdc_gateway_wallet_beta( ) -> Future[ApiResponse[UsdcGatewayWalletStatusResponse]]: """Activate a USDC Gateway wallet - Activates the USDC Gateway wallet associated with the given vault account. If the wallet does not yet exist it is created in an activated state. **Note:** This endpoint is currently in beta and might be subject to changes.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + Activates the USDC Gateway wallet associated with the given vault account. If the wallet does not yet exist it is created in an activated state. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. :param vault_account_id: The ID of the vault account (required) :type vault_account_id: str @@ -1463,7 +1463,7 @@ def deactivate_usdc_gateway_wallet_beta( ) -> Future[ApiResponse[UsdcGatewayWalletStatusResponse]]: """Deactivate a USDC Gateway wallet - Deactivates the USDC Gateway wallet associated with the given vault account. **Note:** This endpoint is currently in beta and might be subject to changes.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. + Deactivates the USDC Gateway wallet associated with the given vault account. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. :param vault_account_id: The ID of the vault account (required) :type vault_account_id: str @@ -2982,7 +2982,7 @@ def get_usdc_gateway_wallet_info_beta( ) -> Future[ApiResponse[UsdcGatewayWalletInfoResponse]]: """Get USDC Gateway wallet info - Returns the USDC Gateway wallet information associated with the given vault account. **Note:** This endpoint is currently in beta and might be subject to changes.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. + Returns the USDC Gateway wallet information associated with the given vault account. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. :param vault_account_id: The ID of the vault account (required) :type vault_account_id: str diff --git a/fireblocks/configuration.py b/fireblocks/configuration.py index 56cd632d..3f2e5962 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: 19.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/transaction_request.py b/fireblocks/models/transaction_request.py index 422002a6..bd7c1d3c 100644 --- a/fireblocks/models/transaction_request.py +++ b/fireblocks/models/transaction_request.py @@ -19,7 +19,8 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated from fireblocks.models.destination_transfer_peer_path import DestinationTransferPeerPath from fireblocks.models.extra_parameters import ExtraParameters from fireblocks.models.source_transfer_peer_path import SourceTransferPeerPath @@ -70,7 +71,8 @@ class TransactionRequest(BaseModel): network_staking: Optional[TransactionRequestNetworkStaking] = Field(default=None, alias="networkStaking") cpu_staking: Optional[TransactionRequestNetworkStaking] = Field(default=None, alias="cpuStaking") use_gasless: Optional[StrictBool] = Field(default=None, description="- Override the default gasless configuration by sending true\\false", alias="useGasless") - __properties: ClassVar[List[str]] = ["operation", "note", "externalTxId", "assetId", "source", "destination", "destinations", "amount", "treatAsGrossAmount", "forceSweep", "feeLevel", "fee", "priorityFee", "failOnLowFee", "maxFee", "maxTotalFee", "gasLimit", "gasPrice", "networkFee", "replaceTxByHash", "extraParameters", "utxoSelectionParams", "customerRefId", "travelRuleMessage", "travelRuleMessageId", "autoStaking", "networkStaking", "cpuStaking", "useGasless"] + expires_after_seconds: Optional[Union[Annotated[float, Field(le=86400, strict=True, ge=600)], Annotated[int, Field(le=86400, strict=True, ge=600)]]] = Field(default=None, description="The number of seconds the transaction is valid for before it expires. After the specified duration, the transaction will expire if it has not been broadcasted.", alias="expiresAfterSeconds") + __properties: ClassVar[List[str]] = ["operation", "note", "externalTxId", "assetId", "source", "destination", "destinations", "amount", "treatAsGrossAmount", "forceSweep", "feeLevel", "fee", "priorityFee", "failOnLowFee", "maxFee", "maxTotalFee", "gasLimit", "gasPrice", "networkFee", "replaceTxByHash", "extraParameters", "utxoSelectionParams", "customerRefId", "travelRuleMessage", "travelRuleMessageId", "autoStaking", "networkStaking", "cpuStaking", "useGasless", "expiresAfterSeconds"] @field_validator('fee_level') def fee_level_validate_enum(cls, value): @@ -207,7 +209,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "autoStaking": obj.get("autoStaking"), "networkStaking": TransactionRequestNetworkStaking.from_dict(obj["networkStaking"]) if obj.get("networkStaking") is not None else None, "cpuStaking": TransactionRequestNetworkStaking.from_dict(obj["cpuStaking"]) if obj.get("cpuStaking") is not None else None, - "useGasless": obj.get("useGasless") + "useGasless": obj.get("useGasless"), + "expiresAfterSeconds": obj.get("expiresAfterSeconds") }) return _obj diff --git a/fireblocks/models/transaction_response.py b/fireblocks/models/transaction_response.py index 26b87e99..9ba2b7c0 100644 --- a/fireblocks/models/transaction_response.py +++ b/fireblocks/models/transaction_response.py @@ -69,6 +69,7 @@ class TransactionResponse(BaseModel): network_records: Optional[List[NetworkRecord]] = Field(default=None, description="In case a single transaction resulted with multiple transfers, for example a result of a contract call, then this parameter specifies each transfer that took place on the blockchain. In case of a single transfer transaction, this parameter is empty.", alias="networkRecords") created_at: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The transaction’s creation date and time, in unix timestamp.", alias="createdAt") last_updated: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The transaction’s last update date and time, in unix timestamp.", alias="lastUpdated") + expires_at: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The transaction’s expiration date and time, in unix timestamp. Only returned for transactions that have an expiration set.", alias="expiresAt") created_by: Optional[StrictStr] = Field(default=None, description="User ID of the initiator of the transaction.", alias="createdBy") signed_by: Optional[List[StrictStr]] = Field(default=None, description="User ID’s of the signers of the transaction.", alias="signedBy") rejected_by: Optional[StrictStr] = Field(default=None, description="User ID of the user that rejected the transaction (in case it was rejected).", alias="rejectedBy") @@ -103,7 +104,7 @@ class TransactionResponse(BaseModel): replaced_tx_hash: Optional[StrictStr] = Field(default=None, description="if the transaction is a replace by fee (RBF) transaction, this is the hash of the transsaction that was replaced", alias="replacedTxHash") nonce: Optional[StrictStr] = Field(default=None, description="blockchain nonce for the transaction") blockchain_info: Optional[Dict[str, Any]] = Field(default=None, description="A JSON used to store additional data that is blockchain-specific.", alias="blockchainInfo") - __properties: ClassVar[List[str]] = ["id", "externalTxId", "status", "subStatus", "txHash", "operation", "note", "assetId", "assetType", "source", "sourceAddress", "tag", "destination", "destinations", "destinationAddress", "destinationAddressDescription", "destinationTag", "contractCallDecodedData", "amountInfo", "treatAsGrossAmount", "feeInfo", "feeCurrency", "networkRecords", "createdAt", "lastUpdated", "createdBy", "signedBy", "rejectedBy", "authorizationInfo", "exchangeTxId", "customerRefId", "travelRuleMessageId", "amlScreeningResult", "complianceResults", "notBroadcastByFireblocks", "dappUrl", "gasLimit", "blockchainIndex", "paidRent", "extraParameters", "signedMessages", "numOfConfirmations", "blockInfo", "index", "rewardInfo", "feePayerInfo", "systemMessages", "addressType", "requestedAmount", "amount", "netAmount", "amountUSD", "serviceFee", "fee", "networkFee", "errorDescription", "replacedTxHash", "nonce", "blockchainInfo"] + __properties: ClassVar[List[str]] = ["id", "externalTxId", "status", "subStatus", "txHash", "operation", "note", "assetId", "assetType", "source", "sourceAddress", "tag", "destination", "destinations", "destinationAddress", "destinationAddressDescription", "destinationTag", "contractCallDecodedData", "amountInfo", "treatAsGrossAmount", "feeInfo", "feeCurrency", "networkRecords", "createdAt", "lastUpdated", "expiresAt", "createdBy", "signedBy", "rejectedBy", "authorizationInfo", "exchangeTxId", "customerRefId", "travelRuleMessageId", "amlScreeningResult", "complianceResults", "notBroadcastByFireblocks", "dappUrl", "gasLimit", "blockchainIndex", "paidRent", "extraParameters", "signedMessages", "numOfConfirmations", "blockInfo", "index", "rewardInfo", "feePayerInfo", "systemMessages", "addressType", "requestedAmount", "amount", "netAmount", "amountUSD", "serviceFee", "fee", "networkFee", "errorDescription", "replacedTxHash", "nonce", "blockchainInfo"] @field_validator('address_type') def address_type_validate_enum(cls, value): @@ -260,6 +261,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "networkRecords": [NetworkRecord.from_dict(_item) for _item in obj["networkRecords"]] if obj.get("networkRecords") is not None else None, "createdAt": obj.get("createdAt"), "lastUpdated": obj.get("lastUpdated"), + "expiresAt": obj.get("expiresAt"), "createdBy": obj.get("createdBy"), "signedBy": obj.get("signedBy"), "rejectedBy": obj.get("rejectedBy"), diff --git a/fireblocks/models/webhook_event.py b/fireblocks/models/webhook_event.py index 90e89583..7e2ade7e 100644 --- a/fireblocks/models/webhook_event.py +++ b/fireblocks/models/webhook_event.py @@ -40,6 +40,7 @@ class WebhookEvent(str, Enum): VAULT_ACCOUNT_DOT_CREATED = 'vault_account.created' VAULT_ACCOUNT_DOT_ASSET_DOT_ADDED = 'vault_account.asset.added' VAULT_ACCOUNT_DOT_ASSET_DOT_BALANCE_UPDATED = 'vault_account.asset.balance_updated' + VAULT_ACCOUNT_DOT_NFT_DOT_BALANCE_UPDATED = 'vault_account.nft.balance_updated' EMBEDDED_WALLET_DOT_STATUS_DOT_UPDATED = 'embedded_wallet.status.updated' EMBEDDED_WALLET_DOT_CREATED = 'embedded_wallet.created' EMBEDDED_WALLET_DOT_ASSET_DOT_BALANCE_UPDATED = 'embedded_wallet.asset.balance_updated' @@ -51,6 +52,31 @@ class WebhookEvent(str, Enum): CONNECTION_DOT_REMOVED = 'connection.removed' CONNECTION_DOT_REQUEST_DOT_WAITING_PEER_APPROVAL = 'connection.request.waiting_peer_approval' CONNECTION_DOT_REQUEST_DOT_REJECTED_BY_PEER = 'connection.request.rejected_by_peer' + EXCHANGE_ACCOUNT_DOT_CONNECTED = 'exchange_account.connected' + FIAT_ACCOUNT_DOT_CONNECTED = 'fiat_account.connected' + CONNECTED_ACCOUNT_DOT_CONNECTED = 'connected_account.connected' + TICKET_DOT_CREATED = 'ticket.created' + TICKET_DOT_SUBMITTED = 'ticket.submitted' + TICKET_DOT_EXPIRED = 'ticket.expired' + TICKET_DOT_CANCELED = 'ticket.canceled' + TICKET_DOT_FULFILLED = 'ticket.fulfilled' + TICKET_DOT_COUNTERPARTY_DOT_ADDED = 'ticket.counterparty.added' + TICKET_DOT_COUNTERPARTY_EXTERNAL_ID_DOT_SET = 'ticket.counterparty_external_id.set' + TICKET_DOT_NOTE_DOT_ADDED = 'ticket.note.added' + TICKET_DOT_EXPIRES_AT_DOT_SET = 'ticket.expires_at.set' + TICKET_DOT_EXPIRES_IN_DOT_SET = 'ticket.expires_in.set' + TICKET_DOT_TERM_DOT_ADDED = 'ticket.term.added' + TICKET_DOT_TERM_DOT_UPDATED = 'ticket.term.updated' + TICKET_DOT_TERM_DOT_DELETED = 'ticket.term.deleted' + TICKET_DOT_TERM_DOT_FUNDED = 'ticket.term.funded' + TICKET_DOT_TERM_DOT_MANUALLY_FUNDED = 'ticket.term.manually_funded' + TICKET_DOT_TERM_DOT_FUNDING_CANCELED = 'ticket.term.funding_canceled' + TICKET_DOT_TERM_DOT_FUNDING_FAILED = 'ticket.term.funding_failed' + TICKET_DOT_TERM_DOT_FUNDING_COMPLETED = 'ticket.term.funding_completed' + TICKET_DOT_TERM_DOT_TRANSACTION_STATUS_CHANGED = 'ticket.term.transaction_status_changed' + SETTLEMENT_DOT_CREATED = 'settlement.created' + ORDER_DOT_UPDATED = 'order.updated' + AUTOMATION_EXECUTION_DOT_UPDATE = 'automation_execution.update' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/pyproject.toml b/pyproject.toml index 6677c4a6..08a27f53 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "fireblocks" -version = "19.1.0" +version = "0.0.0" description = "Fireblocks API" authors = ["Fireblocks "] license = "MIT License" diff --git a/setup.py b/setup.py index 7e378307..8e55f57b 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "fireblocks" -VERSION = "19.1.0" +VERSION = "0.0.0" PYTHON_REQUIRES = ">= 3.8" REQUIRES = [ "urllib3 >= 2.1.0, < 3.0.0", diff --git a/test/test_add_collateral_request_body.py b/test/test_add_collateral_request_body.py index e908f001..a79a1f09 100644 --- a/test/test_add_collateral_request_body.py +++ b/test/test_add_collateral_request_body.py @@ -206,7 +206,8 @@ def make_instance(self, include_optional) -> AddCollateralRequestBody: auto_staking = True, network_staking = null, cpu_staking = null, - use_gasless = True, ), + use_gasless = True, + expires_after_seconds = 3600, ), is_src_collateral = True ) else: diff --git a/test/test_remove_collateral_request_body.py b/test/test_remove_collateral_request_body.py index 365f77a7..c99c1411 100644 --- a/test/test_remove_collateral_request_body.py +++ b/test/test_remove_collateral_request_body.py @@ -206,7 +206,8 @@ def make_instance(self, include_optional) -> RemoveCollateralRequestBody: auto_staking = True, network_staking = null, cpu_staking = null, - use_gasless = True, ), + use_gasless = True, + expires_after_seconds = 3600, ), is_dst_collateral = True ) else: diff --git a/test/test_transaction_request.py b/test/test_transaction_request.py index e5e2a28a..f30c5f25 100644 --- a/test/test_transaction_request.py +++ b/test/test_transaction_request.py @@ -219,7 +219,8 @@ def make_instance(self, include_optional) -> TransactionRequest: auto_staking = True, network_staking = None, cpu_staking = None, - use_gasless = True + use_gasless = True, + expires_after_seconds = 3600 ) else: return TransactionRequest( diff --git a/test/test_transaction_response.py b/test/test_transaction_response.py index 49ffaf3d..c16acc7f 100644 --- a/test/test_transaction_response.py +++ b/test/test_transaction_response.py @@ -144,6 +144,7 @@ def make_instance(self, include_optional) -> TransactionResponse: ], created_at = 1.337, last_updated = 1.337, + expires_at = 1735689600000, created_by = '', signed_by = [ ''